I-LXD ungumphathi weziqukathi zesistimu yesizukulwane esilandelayo, ngakho-ke kusho
Inani eliphakeme kakhulu lama-LXD iyi-daemon enelungelo (isevisi esebenza ngamalungelo ezimpande) ehlinzeka nge-REST API ngesokhethi yasendaweni ye-unix, kanye nangenethiwekhi uma ukucushwa okufanele kufakiwe. Amaklayenti, njengethuluzi lomugqa womyalo elinikezwe i-LXD, enza izicelo ngale REST API. Lokhu kusho ukuthi noma ngabe ufinyelela kumsingathi wendawo noma umsingathi okude, yonke into isebenza ngendlela efanayo.
Kulesi sihloko ngeke sihlale ngokuningiliziwe emicabangweni ye-LXD, ngeke sicabangele wonke amakhono atholakalayo achazwe emibhalweni, kuhlanganise nokuqaliswa kwakamuva ezinguqulweni zakamuva ze-LXD zokusekelwa kwemishini ebonakalayo ye-QEMU ngokuhambisana neziqukathi. Esikhundleni salokho, sizofunda izisekelo zokuphathwa kweziqukathi - ukusetha amachibi okugcina, ukunethiwekha, ukusebenzisa isiqukathi, ukusebenzisa imikhawulo yezinsiza, kanye nendlela yokusebenzisa izifinyezo ukuze uthole ukuqonda okuyisisekelo kwe-LXD nokusebenzisa iziqukathi ku-Linux.
Ukuze uthole ulwazi oluphelele, sicela ubheke umthombo osemthethweni:
Ukuzula
Ukufakwa kwe-LXD Isitoreji se-LXD (Isitoreji) Iqalisa i-LXD Ukudala nokuphatha isitsha
Ukufakwa kwe-LXD ^
Ukufaka i-LXD ekusatshalalisweni kwe-Ubuntu ^
Kuphakheji yokusabalalisa ye-Ubuntu 19.10 lxd
inokusakaza
apt search lxd
lxd/eoan 1:0.7 all
Transitional package - lxd -> snap (lxd)
Lokhu kusho ukuthi amaphakheji amabili azofakwa ngesikhathi esisodwa, eyodwa njengephakheji yesistimu kanti enye njengephakheji ye-snap. Ukufaka amaphakheji amabili kusistimu kungase kudale inkinga lapho iphakheji yesistimu ingase ibe intandane uma iphakheji ye-snap isuswa umphathi wephakheji ye-snap.
Thola iphakheji lxd
ku-snap repository ungasebenzisa umyalo olandelayo:
snap find lxd
Name Version Summary
lxd 3.21 System container manager and API
lxd-demo-server 0+git.6d54658 Online software demo sessions using LXD
nova ocata OpenStack Compute Service (nova)
nova-hypervisor ocata OpenStack Compute Service - KVM Hypervisor (nova)
distrobuilder 1.0 Image builder for LXC and LXD
fabrica 0.1 Build snaps by simply pointing a web form to...
satellite 0.1.2 Advanced scalable Open source intelligence platform
Ngokusebenzisa umyalo list
ungaqiniseka ukuthi iphakethe lxd
akukafakwa:
snap list
Name Version Rev Tracking Publisher Notes
core 16-2.43.3 8689 stable canonicalβ core
Ngaphandle kweqiniso lokuthi i-LXD iyiphakheji ye-snap, kufanele ifakwe ngephakheji yesistimu lxd
, okuzodala iqembu elihambisanayo ohlelweni, izinsiza ezidingekayo ku /usr/bin
nokunye.
sudo apt update
sudo apt install lxd
Masiqinisekise ukuthi iphakheji ifakiwe njengephakheji ye-snap:
snap list
Name Version Rev Tracking Publisher Notes
core 16-2.43.3 8689 stable canonicalβ core
lxd 3.21 13474 stable/β¦ canonicalβ -
Ukufaka i-LXD ekusakazweni kwe-Arch Linux ^
Ukufaka iphakheji ye-LXD ohlelweni, udinga ukusebenzisa imiyalo elandelayo, eyokuqala izobuyekeza uhlu lwamaphakheji ohlelweni olutholakala endaweni yokugcina impahla, eyesibili izofaka iphakheji ngokuqondile:
sudo pacman -Syyu && sudo pacman -S lxd
Ngemva kokufaka iphakheji, ukuze uphathe i-LXD ngumsebenzisi ojwayelekile, kufanele yengezwe eqenjini lesistimu lxd
:
sudo usermod -a -G lxd user1
Masiqinisekise umsebenzisi user1
kwengezwe eqenjini lxd
:
id -Gn user1
user1 adm dialout cdrom floppy sudo audio dip video plugdev netdev lxd
Uma iqembu lxd
ayibonakali ohlwini, bese udinga ukwenza kusebenze isikhathi somsebenzisi futhi. Ukuze wenze lokhu, udinga ukuphuma futhi ungene ngaphansi komsebenzisi ofanayo.
Yenza kusebenze ku systemd
ukulayisha isevisi ye-LXD ekuqaleni kwesistimu:
sudo systemctl enable lxd
Asiqale isevisi:
sudo systemctl start lxd
Ihlola isimo sesevisi:
sudo systemctl status lxd
Isitoreji se-LXD (Isitoreji) ^
Ngaphambi kokuthi ukuqalisa kuqale, sidinga ukuqonda ukuthi isitoreji ku-LXD sihlelwa ngokunengqondo kanjani.
Isitoreji (Storage)
- Izithombe - lokhu ukusatshalaliswa okuqoqwe ngokukhethekile ngaphandle kwe-Linux kernel futhi kuyatholakala emithonjeni yangaphandle
- Izitsha - lezi zinsaba ezisatshalalisiwe ezivela ezithombeni, ezilungele ukusetshenziswa
- Izifinyezo - lezi yizifinyezo zesimo seziqukathi ongabuyela kuzo
Ukuze uphathe isitoreji ku-LXD, sebenzisa umyalo lxc storage
isitifiketi ongasithola ngokucacisa ukhiye - lxc storage --help
Umyalo olandelayo ubonisa uhlu lwakho konke Ichibi Lokugcina kusitoreji se-LXD:
lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| hddpool | | btrfs | /dev/loop1 | 2 |
+---------+-------------+--------+--------------------------------+---------+
| ssdpool | | btrfs | /var/lib/lxd/disks/ssdpool.img | 4 |
+---------+-------------+--------+--------------------------------+---------+
Ukuze ubuke uhlu lwakho konke Isitoreji Ivolumu kokukhethiwe Ichibi Lokugcina usebenzela iqembu lxc storage volume list
:
lxc storage volume list hddpool
+-------+----------------------------------+-------------+---------+
| TYPE | NAME | DESCRIPTION | USED BY |
+-------+----------------------------------+-------------+---------+
| image | ebd565585223487526ddb3607f515... | | 1 |
+-------+----------------------------------+-------------+---------+
lxc storage volume list ssdpool
+-----------+----------------------------------+-------------+---------+
| TYPE | NAME | DESCRIPTION | USED BY |
+-----------+----------------------------------+-------------+---------+
| container | alp3 | | 1 |
+-----------+----------------------------------+-------------+---------+
| container | jupyter | | 1 |
+-----------+----------------------------------+-------------+---------+
| image | ebd565585223487526ddb3607f515... | | 1 |
+-----------+----------------------------------+-------------+---------+
Futhi, uma for Ichibi Lokugcina Lapho udala, kwakhethwa uhlelo lwefayela le-BTRFS, bese uthola uhlu Isitoreji Ivolumu noma izihlokwana ekutolikweni kwe-BTRFS, ungasebenzisa ikhithi yamathuluzi yalolu hlelo lwefayela:
sudo btrfs subvolume list -p /var/lib/lxd/storage-pools/hddpool
ID 257 gen 818 parent 5 top level 5 path images/ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
sudo btrfs subvolume list -p /var/lib/lxd/storage-pools/ssdpool
ID 257 gen 1820 parent 5 top level 5 path images/ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
ID 260 gen 1819 parent 5 top level 5 path containers/jupyter
ID 263 gen 1820 parent 5 top level 5 path containers/alp3
Iqalisa i-LXD ^
Ngaphambi kokudala nokusebenzisa iziqukathi, kufanele wenze ukuqaliswa okujwayelekile kwe-LXD okudala futhi kulungiselele inethiwekhi nokugcina. Lokhu kungenziwa ngesandla kusetshenziswa imiyalo yeklayenti ejwayelekile etholakala ohlwini ngokushayela umyalo lxc --help
noma usebenzisa iwizadi yokuqalisa lxd init
ukuphendula imibuzo embalwa.
Ukukhetha isistimu yefayela Yephuli Yesitoreji ^
Ngesikhathi sokuqalisa, i-LXD ibuza imibuzo embalwa, okuhlanganisa nokuthola uhlobo lwesistimu yefayela lokuzenzakalelayo Ichibi Lokugcina. Ngokuzenzakalelayo, isistimu yefayela ye-BTRFS ikhethelwa yona. Ngeke kwenzeke ukushintshela kwenye i-FS ngemuva kokudalwa. Ukukhetha i-FS kuyaphakanyiswa
Isici
Directory
Ama-Btrfs
I-LVM
I-ZFS
CEPH
Isitoreji sesithombe esilungiselelwe
cha
Yebo
Yebo
Yebo
Yebo
Ukudalwa kwesibonelo okulungiselelwe
cha
Yebo
Yebo
Yebo
Yebo
Ukudalwa kwesifinyezo okulungiselelwe
cha
Yebo
Yebo
Yebo
Yebo
Ukudluliswa kwesithombe okulungiselelwe
cha
Yebo
cha
Yebo
Yebo
Ukudluliswa kwesibonelo okulungiselelwe
cha
Yebo
cha
Yebo
Yebo
Kopisha ekubhaleni
cha
Yebo
Yebo
Yebo
Yebo
I-block based
cha
cha
Yebo
cha
Yebo
I-Cloning esheshayo
cha
Yebo
Yebo
Yebo
Yebo
Umshayeli wesitoreji uyasebenziseka ngaphakathi kwesitsha
Yebo
Yebo
cha
cha
cha
Buyisela kusuka kuzifinyezo ezindala (hhayi zakamuva)
Yebo
Yebo
Yebo
cha
Yebo
Izilinganiso zesitoreji
yebo(*)
Yebo
Yebo
Yebo
cha
Ukuqalisa inethiwekhi kanye Nephuli Yesitoreji usebenzisa iwizadi ^
Umyalo olandelayo esizowubheka uphakamisa ukumisa izingxenye eziyinhloko ze-LXD ngokuphendula imibuzo elula kusetshenziswa iwizadi yokuqalisa.
Qalisa umyalo lxc init
bese ufaka izimpendulo zemibuzo elandela ikholoni njengoba kukhonjisiwe esibonelweni esingezansi noma uziguqule ngokuya ngemibandela yakho:
lxd init
Would you like to use LXD clustering? (yes/no) [default=no]:
Do you want to configure a new storage pool? (yes/no) [default=yes]:
Name of the new storage pool [default=default]: ssdpool
Name of the storage backend to use (lvm, btrfs, dir) [default=btrfs]:
Create a new BTRFS pool? (yes/no) [default=yes]:
Would you like to use an existing block device? (yes/no) [default=no]:
Size in GB of the new loop device (1GB minimum) [default=15GB]: 10GB
Would you like to connect to a MAAS server? (yes/no) [default=no]:
Would you like to create a new local network bridge? (yes/no) [default=yes]:
What should the new bridge be called? [default=lxdbr0]:
What IPv4 address should be used? (CIDR subnet notation, βautoβ or βnoneβ) [default=auto]: 10.0.5.1/24
Would you like LXD to NAT IPv4 traffic on your bridge? [default=yes]:
What IPv6 address should be used? (CIDR subnet notation, βautoβ or βnoneβ) [default=auto]: none
Would you like LXD to be available over the network? (yes/no) [default=no]:
Would you like stale cached images to be updated automatically? (yes/no) [default=yes] no
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:
Ukudala Iphuli Yesitoreji eyengeziwe ^
Esinyathelweni esedlule esisidalile Ichibi Lokugcina eyanikezwa igama ssdpool
kanye nefayela elitholakala ohlelweni lwami kokuthi /var/lib/lxd/disks/ssdpool.img
. Leli kheli lesistimu yefayela lihambisana nedrayivu ye-SSD yangempela ku-PC yami.
Izenzo ezilandelayo, ukwandisa ukuqonda iqhaza elibanjwe Ichibi Lokugcina endaweni yokugcina, sizodala eyesibili Ichibi Lokugcina ezotholakala ngokoqobo ohlotsheni oluhlukile lwediski, i-HDD. Inkinga ukuthi i-LXD ayikuvumeli ukuthi udale Ichibi Lokugcina ngaphandle kwekheli /var/lib/lxd/disks/
ngisho nezixhumanisi ezingokomfanekiso ngeke zisebenze, source
.
Ngakho, ngaphambi kokudala Ichibi Lokugcina udinga ukuchaza ifayela le-loopback noma ukwahlukanisa okukhona ohlelweni lwakho lwefayela elizolisebenzisa. Ukuze senze lokhu, sizodala futhi sisebenzise ifayela esizolikhawula ngosayizi libe ngu-10GB:
dd if=/dev/zero of=/mnt/work/lxd/hddpool.img bs=1MB count=10000
10000+0 records in
10000+0 records out
10000000000 bytes (10 GB, 9,3 GiB) copied, 38,4414 s, 260 MB/s
Masixhume ifayela le-loopback kudivayisi yamahhala ye-loopback:
sudo losetup --find --show /mnt/work/lxd/hddpool.img
/dev/loop1
Siyabonga ukhiye --show
ukwenza umyalo kubuyisela esikrinini igama ledivayisi lapho ifayela lethu le-loopback lixhumeke khona. Uma kudingeka, singabonisa uhlu lwazo zonke izisetshenziswa ezimatasa zalolu hlobo ukuze siqiniseke ukuthi izenzo zethu zilungile:
losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC
/dev/loop1 0 0 0 0 /mnt/work/lxd/hddpool.img 0 512
/dev/loop0 0 0 1 0 /var/lib/lxd/disks/ssdpool.img 0 512
Kusukela ohlwini ungathola ukuthi idivayisi inakho /dev/loop1
ifayela le-loopback lifakiwe /mnt/work/lxd/hddpool.img
, futhi kudivayisi /dev/loop0
ifayela le-loopback lifakiwe /var/lib/lxd/disks/ssdpool.img
okuhambisana nokuzenzakalelayo Ichibi Lokugcina.
Umyalo olandelayo udala omusha Ichibi Lokugcina ku-LXD ngokusekelwe kufayela le-loopback esisanda kulilungisa. I-LXD izofometha ifayela le-loopback /mnt/work/lxd/hddpool.img
kudivayisi /dev/loop1
ngohlelo lwefayela le-BTRFS:
lxc storage create hddpool btrfs size=10GB source=/dev/loop1
Ake sibonise uhlu lwakho konke Ichibi Lokugcina kusikrini:
lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| hddpool | | btrfs | /dev/loop1 | 0 |
+---------+-------------+--------+--------------------------------+---------+
| ssdpool | | btrfs | /var/lib/lxd/disks/ssdpool.img | 0 |
+---------+-------------+--------+--------------------------------+---------+
Ukwandisa Usayizi Wechibi Lesitoreji ^
Ngemva kokudala Ichibi Lokugcina, uma kunesidingo, inganwetshwa. Ngoba Ichibi Lokugcina ngokusekelwe ohlelweni lwefayela le-BTRFS, sebenzisa imiyalo elandelayo:
sudo truncate -s +5G /mnt/work/lxd/hddpool.img
sudo losetup -c /dev/loop1
sudo btrfs filesystem resize max /var/lib/lxd/storage-pools/hddpool
Ukufaka ngokuzenzakalelayo ifayela le-loopback endaweni yedivayisi ye-loopback ^
Sinenkinga eyodwa encane, lapho siqalisa kabusha uhlelo lomsingathi, ifayela /mnt/work/lxd/hddpool.img
"izondiza" iphume kudivayisi /dev/loop1
futhi isevisi ye-LXD izophahlazeka uma ilayisha ngoba ngeke iyibone kule divayisi. Ukuze uxazulule le nkinga udinga ukudala isevisi yesistimu ezofaka leli fayela kudivayisi /dev/loop1
lapho isistimu yokusingatha iqala.
Asidale Iyunithi uhlobo lwefayela service Π² /etc/systemd/system/
kusistimu yokuqalisa ye-SystemD:
cat << EOF | sudo tee -a /etc/systemd/system/lxd-hddpool.service
[Unit]
Description=Losetup LXD Storage Pool (hddpool)
After=local-fs.target
[Service]
Type=oneshot
ExecStart=/sbin/losetup /dev/loop1 /mnt/work/lxd/hddpool.img
RemainAfterExit=true
[Install]
WantedBy=local-fs.target
EOF
Yenza isevisi isebenze:
sudo systemctl enable lxd-hddpool
Created symlink /etc/systemd/system/local-fs.target.wants/lxd-hddpool.service β /etc/systemd/system/lxd-hddpool.service.
Ngemva kokuqala kabusha isistimu yokusingatha, sihlola isimo sesevisi:
systemctl status lxd-hddpool.service
β lxd-hddpool.service - Losetup LXD Storage Pool (hddpool)
Loaded: loaded (/etc/systemd/system/lxd-hddpool.service; enabled; vendor preset: disabled)
Active: active (exited) since Wed 2020-04-08 03:43:53 MSK; 1min 37s ago
Process: 711 ExecStart=/sbin/losetup /dev/loop1 /mnt/work/lxd/hddpool.img (code=exited, status=0/SUCCESS)
Main PID: 711 (code=exited, status=0/SUCCESS)
Π°ΠΏΡ 08 03:43:52 manjaro systemd[1]: Starting Losetup LXD Storage Pool (hddpool)...
Π°ΠΏΡ 08 03:43:53 manjaro systemd[1]: Finished Losetup LXD Storage Pool (hddpool).
Kokuphumayo singaqinisekisa ukuthi isimo sesevisi sinjalo asebenzayo, naphezu kweqiniso lokuthi ukukhishwa kweskripthi sethu esivela kumyalo owodwa kuqediwe, inketho isivumele ukuthi senze lokhu. RemainAfterExit=true
.
Ukuphepha. Amalungelo Esiqukathi ^
Njengoba zonke izinqubo zeziqukathi zisebenza zodwa kuhlelo lomsingathi lisebenzisa i-kernel yalo, ukuze kuqhutshekwe nokuvikela ukufinyelela kwezinqubo zesiqukathi ohlelweni lomsingathi, i-LXD inikeza ilungelo lenqubo, lapho:
-
Iziqukathi Ezikhethekile - lezi iziqukathi lapho izinqubo ezine-UID ne-GID zihambelana nomnikazi ofanayo njengakusistimu yokusingatha. Isibonelo, inqubo esebenza esitsheni esine-UID engu-0 inamalungelo afanayo okufinyelela njengenqubo yesistimu yokusingatha ene-UID engu-0. Ngamanye amazwi, umsebenzisi oyimpande esiqukathi unawo wonke amalungelo hhayi nje ku- isiqukathi, kodwa nasohlelweni lokusingatha uma ekwazi ukuphuma ngaphandle kwendawo yamagama yesiqukathi engayodwa.
-
Iziqukathi ezingenamalungelo - lezi iziqukathi lapho izinqubo kungezomnikazi we-UID ne-GID enenombolo esuka ku-0 kuye ku-65535, kodwa ohlelweni lomsingathi umnikazi ufihlwa kusetshenziswa amabhithi e-SubUID engeziwe kanye ne-SubGID, ngokulandelana. Isibonelo, umsebenzisi one-UID=0 esitsheni uzobonakala kusistimu yokusingatha njenge
SubUID + UID
. Lokhu kuvikela isistimu yomsingathi ngoba uma noma iyiphi inqubo esiqukathi ikwazi ukubalekela indawo yayo yegama ehlukile, ingaxhumana nesistimu yomsingathi njengenqubo ene-UID/GID engaziwa, ephezulu kakhulu.
Ngokuzenzakalelayo, iziqukathi ezisanda kwakhiwa zinesimo esingesihle ngakho-ke kufanele sichaze i-SubUID ne-SubGID.
Ake sakhe amafayela amabili okumisa lapho sizosetha khona imaski ye-SubUID ne-SubGID, ngokulandelana:
sudo touch /etc{/subuid,/subgid}
sudo usermod --add-subuids 1000000-1065535 root
sudo usermod --add-subgids 1000000-1065535 root
Ukuze usebenzise izinguquko, isevisi ye-LXD kufanele iqalwe kabusha:
sudo systemctl restart lxd
Idala iswishi yenethiwekhi ebonakalayo ^
Njengoba siqale inethiwekhi ngaphambilini sisebenzisa iwizadi yokuqalisa lxd init
futhi udale idivayisi yenethiwekhi lxdbr0, khona-ke kulesi sigaba sizomane sijwayelane nenethiwekhi ku-LXD kanye nendlela yokudala ukushintshwa okubonakalayo (ibhuloho) usebenzisa umyalo weklayenti.
Umdwebo olandelayo ubonisa ukuthi iswishi (ibhuloho) ixhuma kanjani umsingathi neziqukathi kunethiwekhi:
Iziqukathi zingaxhumana ngenethiwekhi nezinye iziqukathi noma umsingathi lapho lezi ziqukathi zinikezwa khona. Ukuze wenze lokhu, udinga ukuxhumanisa amakhadi enethiwekhi abonakalayo eziqukathi ngokushintsha okubonakalayo. Sizodala iswishi kuqala, futhi izixhumanisi zenethiwekhi yesiqukathi zizoxhunywa ezahlukweni ezilandelayo, ngemva kokuthi isiqukathi sidaliwe.
Umyalo olandelayo udala iswishi nge-subnet 10.0.5.0/24
kanye nekheli le-IPv4 10.0.5.1/24
, futhi kuhlanganisa ipv4.nat
ukuze iziqukathi zikwazi ukufinyelela ku-inthanethi ngomsingathi zisebenzisa isevisi ye-NAT:
lxc network create lxdbr0 ipv4.address=10.0.5.1/24 ipv4.nat=true ipv6.address=none
Ihlola uhlu lwamadivayisi enethiwekhi atholakala ku-LXD:
lxc network list
+--------+----------+---------+-------------+---------+
| NAME | TYPE | MANAGED | DESCRIPTION | USED BY |
+--------+----------+---------+-------------+---------+
| eno1 | physical | NO | | 0 |
+--------+----------+---------+-------------+---------+
| lxdbr0 | bridge | YES | | 0 |
+--------+----------+---------+-------------+---------+
Ungaqinisekisa futhi ukuthi idivayisi yenethiwekhi idaliwe kusetshenziswa ithuluzi elijwayelekile lokusabalalisa i-Linux - ip link
noma ip addr
:
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether bc:ee:7b:5a:6b:44 brd ff:ff:ff:ff:ff:ff
altname enp0s25
inet6 fe80::9571:11f3:6e0c:c07b/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: lxdbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether c2:38:90:df:cb:59 brd ff:ff:ff:ff:ff:ff
inet 10.0.5.1/24 scope global lxdbr0
valid_lft forever preferred_lft forever
inet6 fe80::c038:90ff:fedf:cb59/64 scope link
valid_lft forever preferred_lft forever
5: veth3ddab174@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master lxdbr0 state UP group default qlen 1000
link/ether ca:c3:5c:1d:22:26 brd ff:ff:ff:ff:ff:ff link-netnsid 0
Iphrofayela yokucushwa ^
Isiqukathi ngasinye ku-LXD sinokucushwa kwaso futhi singasinweba ngokucushwa okumenyezelwe emhlabeni jikelele okubizwa amaphrofayili wokumisa. Ukusebenzisa amaphrofayili wokumisa esitsheni kunemodeli ye-cascade, isibonelo esilandelayo sibonisa lokhu:
Kulesi sibonelo, amaphrofayili amathathu adaliwe ohlelweni lwe-LXD: default
, hddpool
ΠΈ hostfs
. Womathathu amaphrofayili asetshenziswa esitsheni esinokucushwa kwendawo (indawo empunga). Iphrofayela default
inomshini root
enepharamitha pool
ilingana ne ssdpool
, kodwa ngenxa yemodeli yokucushwa kwe-cascade, singafaka iphrofayela esitsheni hddpool
enepharamitha pool
izokhipha ipharamitha efanayo kuphrofayela default
futhi isiqukathi sizothola ukucushwa kwedivayisi root
ngepharamitha pool
kulingana hddpool
, kanye nephrofayili hostfs
uvele wengeze idivayisi entsha esitsheni.
Ukubona uhlu lwamaphrofayili okucushwa atholakalayo, sebenzisa umyalo olandelayo:
lxc profile list
+---------+---------+
| NAME | USED BY |
+---------+---------+
| default | 1 |
+---------+---------+
| hddroot | 0 |
+---------+---------+
| ssdroot | 1 |
+---------+---------+
Uhlu oluphelele lwemiyalo etholakalayo yokusebenza ngephrofayili lungatholakala ngokungeza ukhiye --help
:
lxc profile --help
Description:
Manage profiles
Usage:
lxc profile [command]
Available Commands:
add Add profiles to instances
assign Assign sets of profiles to instances
copy Copy profiles
create Create profiles
delete Delete profiles
device Manage instance devices
edit Edit profile configurations as YAML
get Get values for profile configuration keys
list List profiles
remove Remove profiles from instances
rename Rename profiles
set Set profile configuration keys
show Show profile configurations
unset Unset profile configuration keys
Ukuhlela iphrofayela yakho ^
Iphrofayela yokucushwa ezenzakalelayo default
ayinakho ukucushwa kwekhadi lenethiwekhi yesiqukathi futhi zonke iziqukathi ezisanda kwakhiwa azinayo inethiwekhi, kubo kuyadingeka ukudala amadivaysi enethiwekhi wendawo (ezinikezelwe) ngomyalo ohlukile, kodwa singakha idivayisi yenethiwekhi yomhlaba wonke ekucushweni. iphrofayela ezokwabelwa kuzo zonke iziqukathi kusetshenziswa le phrofayela. Ngale ndlela, ngokushesha ngemva komyalo wokudala isitsha esisha, bazoba nenethiwekhi enokufinyelela kwenethiwekhi. Ngesikhathi esifanayo, ayikho imikhawulo; singahlala sidala idivayisi yenethiwekhi yasendaweni ngokuhamba kwesikhathi uma kunesidingo.
Umyalo olandelayo uzongeza idivayisi kuphrofayela yokucushwa eth0
thayipha nic
ixhumeke kunethiwekhi lxdbr0
:
lxc profile device add default eth0 nic network=lxdbr0 name=eth0
Kubalulekile ukuqaphela ukuthi njengoba singeze idivayisi kuphrofayela yokucushwa, uma sicacise ikheli le-IP elimile kudivayisi, zonke iziqukathi ezizosebenzisa le phrofayela zizokwabelana ngekheli le-IP elifanayo. Uma kunesidingo sokudala isiqukathi esinekheli le-IP elingashintshi elibekelwe isiqukathi, kufanele udale ukucushwa kwedivayisi yenethiwekhi ezingeni lesiqukathi (ukulungiselelwa kwendawo) ngepharamitha yekheli le-IP, hhayi ezingeni lephrofayela.
Ake sihlole iphrofayili:
lxc profile show default
config: {}
description: Default LXD profile
devices:
eth0:
name: eth0
network: lxdbr0
type: nic
root:
path: /
pool: ssdpool
type: disk
name: default
used_by: []
Kule phrofayela singabona ukuthi kuzo zonke iziqukathi ezisanda kwakhiwa kuzokwakhiwa amadivayisi amabili:
eth0
β Uhlobo lwedivayisinic
ixhunywe kusishintshi (ibhuloho lenethiwekhi)lxdbr0
root
β Uhlobo lwedivayisidisk
esebenzisa ichibi lokugcinassdpool
Idala amaphrofayili amasha ^
Ukusebenzisa okudalwe ngaphambilini Ichibi Lokugcina iziqukathi, dala iphrofayili yokucushwa ssdroot
lapho sizofaka khona idivayisi efana disk
nge-mount point /
(impande) usebenzisa okudalwe ngaphambilini Ichibi Lokugcina - ssdpool
:
lxc profile create ssdroot
lxc profile device add ssdroot root disk path=/ pool=ssdpool
Ngokufanayo, sakha idivayisi efana disk
, kodwa kulokhu usebenzisa Ichibi Lokugcina - hddpool
:
lxc profile create hddroot
lxc profile device add hddroot root disk path=/ pool=hddpool
Ihlola amaphrofayili wokumisa:
lxc profile show ssdroot
config: {}
description: ""
devices:
root:
path: /
pool: ssdpool
type: disk
name: ssdroot
used_by: []
lxc profile show hddroot
config: {}
description: ""
devices:
root:
path: /
pool: hddpool
type: disk
name: hddroot
used_by: []
Inqolobane yesithombe ^
Iziqukathi zenziwa kusukela ezithombeni ezisatshalaliswa ngokukhethekile ezingenayo i-Linux kernel. Ngakho-ke, ngaphambi kokusebenzisa isitsha, kufanele sitshalwe kusuka kulesi sithombe. Umthombo wezithombe uyinqolobane yendawo lapho izithombe zilandwa khona kumakhosombe angaphandle.
Amaqoqo ezithombe akude ^
Ngokuzenzakalelayo, i-LXD ilungiselelwe ukuthola izithombe ezivela emithonjeni emithathu ekude:
- ubuntu: (yezithombe zobuntu ezizinzile)
- ubuntu-daily: (yezithombe ze-Ubuntu zansuku zonke)
- izithombe: (ngenqwaba yamanye ama-distros)
lxc remote list
+-----------------+------------------------------------------+--------+--------+
| NAME | URL | PUBLIC | STATIC |
+-----------------+------------------------------------------+--------+--------+
| images | https://images.linuxcontainers.org | YES | NO |
+-----------------+------------------------------------------+--------+--------+
| local (default) | unix:// | NO | YES |
+-----------------+------------------------------------------+--------+--------+
| ubuntu | https://cloud-images.ubuntu.com/releases | YES | YES |
+-----------------+------------------------------------------+--------+--------+
| ubuntu-daily | https://cloud-images.ubuntu.com/daily | YES | YES |
+-----------------+------------------------------------------+--------+--------+
Ngokwesibonelo, inqolobane ubuntu:
inezithombe ezilandelayo:
lxc image -c dasut list ubuntu: | head -n 11
+----------------------------------------------+--------------+----------+------------+
| DESCRIPTION | ARCHITECTURE | SIZE | TYPE |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150728) | x86_64 | 153.72MB | CONTAINER |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150819) | x86_64 | 152.91MB | CONTAINER |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150906) | x86_64 | 154.69MB | CONTAINER |
+----------------------------------------------+--------------+----------+------------+
| ubuntu 12.04 LTS amd64 (release) (20150930) | x86_64 | 153.86MB | CONTAINER |
+----------------------------------------------+--------------+----------+------------+
Ukuze sibonise inani elilinganiselwe lamakholomu sisebenzise inketho -c
namapharamitha dasut
, futhi ikhawulele ubude bohlu ngomyalo head
.
Ukuhlunga kuyatholakala ukuze kuboniswe uhlu lwezithombe. Umyalo olandelayo uzoklelisa zonke izakhiwo ezitholakalayo zokusabalalisa
lxc image -c ldast list images:alpine/3.11
+------------------------------+--------------------------------------+--------------+
| ALIAS | DESCRIPTION | ARCHITECTURE |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11 (3 more) | Alpine 3.11 amd64 (20200220_13:00) | x86_64 |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/arm64 (1 more) | Alpine 3.11 arm64 (20200220_13:00) | aarch64 |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/armhf (1 more) | Alpine 3.11 armhf (20200220_13:00) | armv7l |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/i386 (1 more) | Alpine 3.11 i386 (20200220_13:01) | i686 |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/ppc64el (1 more) | Alpine 3.11 ppc64el (20200220_13:00) | ppc64le |
+------------------------------+--------------------------------------+--------------+
| alpine/3.11/s390x (1 more) | Alpine 3.11 s390x (20200220_13:00) | s390x |
+------------------------------+--------------------------------------+--------------+
Indawo yokugcina izithombe ^
Ukuze uqale ukusebenzisa isiqukathi, udinga ukwengeza isithombe esisuka endaweni yokugcina umhlaba kuya kwesasendaweni local:
. Manje inqolobane yendawo ayinalutho, umyalo uzoqinisekisa lokhu lxc image list
. Uma indlela list
ungacacisi indawo yokugcina, lapho-ke inqolobane yasendaweni izosetshenziswa ngokuzenzakalelayo - local:
lxc image list local:
+-------+-------------+--------+-------------+--------------+------+------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE |
+-------+-------------+--------+-------------+--------------+------+------+
Izithombe endaweni yokugcina ziphathwa kusetshenziswa izindlela ezilandelayo:
Ithimba
Incazelo
lxc isithombe alias
Phatha iziteketiso zesithombe
lxc isithombe ikhophi
Kopisha izithombe phakathi kwamaseva
lxc isithombe Susa
Susa izithombe
lxc isithombe hlela
Hlela izakhiwo zesithombe
lxc isithombe ukuthekelisa
Khipha futhi ulande izithombe
lxc isithombe ukungenisa
Ngenisa izithombe esitolo sezithombe
lxc isithombe ulwazi
Bonisa ulwazi oluwusizo mayelana nezithombe
lxc isithombe uhlu
Faka ohlwini izithombe
lxc isithombe ukuvuselela
Vuselela izithombe
lxc isithombe show
Bonisa izakhiwo zesithombe
Kopishela isithombe kunqolobane yasendaweni kusukela kweyomhlaba wonke images:
:
lxc image copy images:alpine/3.11/amd64 local: --alias=alpine3
Image copied successfully!
Masibonise uhlu lwazo zonke izithombe ezitholakalayo njengamanje endaweni yokugcina izinto local:
:
lxc image -c lfdatsu list local:
+---------+--------------+------------------------------------+--------------+
| ALIAS | FINGERPRINT | DESCRIPTION | ARCHITECTURE |
+---------+--------------+------------------------------------+--------------+
| alpine3 | 73a3093d4a5c | Alpine 3.11 amd64 (20200220_13:00) | x86_64 |
+---------+--------------+------------------------------------+--------------+
Ukucushwa kwe-LXD ^
Ngaphezu kwemodi yokusebenzisana, i-LXD iphinde isekele imodi yokumisa engahlangani, yilapho ukucushwa kucaciswa ngendlela yefayela le-YAML, ifomethi ekhethekile ekuvumela ukuthi ufake konke ukucushwa ngesikhathi esisodwa, weqe ukwenza. yemiyalo eminingi esebenzisanayo okuxoxwe ngayo ngenhla kulesi sihloko, okuhlanganisa ukucushwa kwenethiwekhi, ukudalwa kwamaphrofayili wokumisa, njll. Ngeke sihlanganise le ndawo lapha, ungazihlolela wena.
Umyalo osebenzayo olandelayo lxc config
esizoyibheka ikuvumela ukuthi usethe ukucushwa. Isibonelo, ukuze uqinisekise ukuthi izithombe ezilandiwe endaweni yokugcina izinto azibuyekezwa ngokuzenzakalelayo kusuka kumakhosombe omhlaba, singakwazi ukunika amandla lokhu kuziphatha ngomyalo olandelayo:
lxc config set images.auto_update_cached=false
Ukudala nokuphatha isitsha ^
Ukwakha isiqukathi sebenzisa umyalo lxc init
lapho amanani adluliselwa khona ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:ΠΎΠ±ΡΠ°Π·
bese kuba ne-ID oyifunayo yesiqukathi. Inqolobane ingacaciswa njengendawo local:
kanjalo nanoma yimuphi umhlaba jikelele. Uma inqolobane ingacacisiwe, khona-ke ngokuzenzakalelayo inqolobane yasendaweni isetshenziselwa ukusesha isithombe. Uma isithombe sishiwo kunqolobane yomhlaba wonke, isithombe sizoqale silandwe endaweni yokugcina yendawo bese sisetshenziselwa ukwakha isiqukathi.
Masisebenzise umyalo olandelayo ukuze sakhe isiqukathi sethu sokuqala:
lxc init alpine3 alp --storage=hddpool --profile=default --profile=hddroot
Ake sibheke okhiye bomyalo esibasebenzisa lapha ngokulandelana:
alpine3
- Isibizo (isibizo) sicacisiwe esithombeni esilayishwe ngaphambilini endaweni yokugcina yendawo. Uma isiteketiso singadalelwanga lesi sithombe, ungahlala ubhekisela esithombeni ngaso I-fingerprint elivezwa etafuleni.alp
β Isetha isihlonzi sesitsha--storage
β Lo khiye ukhombisa ukuthi kukuphi Ichibi Lokugcina kuzokwenziwa isitsha--profile
β Lawa makhi adlalayo asebenzisa ukucupha kusuka kumaphrofayili wokumisa adalwe ngaphambilini esitsheni
Sethula isitsha, esiqala ukwethula uhlelo lwe-init lokusatshalaliswa:
lxc start alp
Ungasebenzisa futhi umyalo lxc launch
okuvumela ukuthi uhlanganise amaqembu lxc init
ΠΈ lxc start
ekusebenzeni okukodwa.
Ihlola isimo sesiqukathi:
lxc list -c ns46tb
+------+---------+------------------+------+-----------+--------------+
| NAME | STATE | IPV4 | IPV6 | TYPE | STORAGE POOL |
+------+---------+------------------+------+-----------+--------------+
| alp | RUNNING | 10.0.5.46 (eth0) | | CONTAINER | hddpool |
+------+---------+------------------+------+-----------+--------------+
Ihlola ukumiswa kwesiqukathi:
lxc config show alp
architecture: x86_64
config:
image.architecture: amd64
image.description: Alpine 3.11 amd64 (20200326_13:39)
image.os: Alpine
image.release: "3.11"
image.serial: "20200326_13:39"
image.type: squashfs
volatile.base_image: ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
volatile.eth0.host_name: vethb1fe71d8
volatile.eth0.hwaddr: 00:16:3e:5f:73:3e
volatile.idmap.base: "0"
volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.last_state.power: RUNNING
devices:
root:
path: /
pool: hddpool
type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""
Esigabeni profiles
singaqiniseka ukuthi lesi sitsha sisebenzisa amaphrofayili wokumisa amabili - default
ΠΈ hddroot
. Esigabeni devices
singathola idivayisi eyodwa kuphela ngoba idivayisi yenethiwekhi yakhiwe ezingeni lephrofayela default
. Ukuze ubone wonke amadivaysi asetshenziswa isiqukathi udinga ukwengeza ukhiye --expanded
:
lxc config show alp --expanded
architecture: x86_64
config:
image.architecture: amd64
image.description: Alpine 3.11 amd64 (20200326_13:39)
image.os: Alpine
image.release: "3.11"
image.serial: "20200326_13:39"
image.type: squashfs
volatile.base_image: ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
volatile.eth0.host_name: vethb1fe71d8
volatile.eth0.hwaddr: 00:16:3e:5f:73:3e
volatile.idmap.base: "0"
volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.last_state.power: RUNNING
devices:
eth0:
name: eth0
network: lxdbr0
type: nic
root:
path: /
pool: hddpool
type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""
Ukusetha ikheli le-IP elimile ^
Uma sizama ukusetha ikheli le-IP ledivayisi yenethiwekhi eth0
iqembu lxc config device set alp
okuhloselwe ukulungiselelwa kwesiqukathi, bese sizothola iphutha elizobika ukuthi idivayisi ayikho ngenxa yokuthi idivayisi eth0
esetshenziswa isiqukathi ingeyephrofayili default
:
lxc config device set alp eth0 ipv4.address 10.0.5.5
Error: The device doesn't exist
Yebo singasethela ikheli le-IP elimile eth0
amadivayisi kuphrofayela, kodwa kuzofana kuzo zonke iziqukathi ezizosebenzisa le phrofayela. Ngakho-ke, ake sengeze idivayisi enikezelwe esitsheni:
lxc config device add alp eth0 nic name=eth0 nictype=bridged parent=lxdbr0 ipv4.address=10.0.5.5
Bese udinga ukuqala kabusha isiqukathi:
lxc restart alp
Uma sibheka ukucushwa kwesiqukathi manje, asikho isidingo sokusebenzisa inketho --expanded
ukubona idivayisi yenethiwekhi eth0
, njengoba siyidale ezingeni lesiqukathi futhi yehlela phezu kwedivayisi efanayo kusukela kuphrofayela default
:
lxc config show alp
architecture: x86_64
config:
image.architecture: amd64
image.description: Alpine 3.11 amd64 (20200326_13:39)
image.os: Alpine
image.release: "3.11"
image.serial: "20200326_13:39"
image.type: squashfs
volatile.base_image: ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
volatile.eth0.host_name: veth2a1dc59d
volatile.eth0.hwaddr: 00:16:3e:0e:e2:71
volatile.idmap.base: "0"
volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
volatile.last_state.power: RUNNING
devices:
eth0:
ipv4.address: 10.0.5.5
name: eth0
nictype: bridged
parent: lxdbr0
type: nic
root:
path: /
pool: hddpool
type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""
Ukukhipha isitsha ^
Ukuze ususe isiqukathi, sebenzisa umyalo lxc delete
, kodwa ngaphambi kokukhipha isitsha, kufanele kumiswe ukusebenzisa umyalo lxc stop
:
lxc stop alp
lxc list
+------+---------+-------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+-------------------+------+-----------+-----------+
| alp | STOPPED | 10.0.5.10 (eth0) | | CONTAINER | 0 |
+------+---------+-------------------+------+-----------+-----------+
Ngemva kokuqinisekisa ukuthi isimo se-container sesishintshile IQHAWE, ingasuswa kuyo Ichibi Lokugcina:
lxc delete alp
Ukufinyelela kwesitsha ^
Ukuze ukhiphe imiyalo esitsheni ngokuqondile, udlule ukuxhumana kwenethiwekhi, sebenzisa umyalo lxc exec
ekhipha imiyalo esitsheni ngaphandle kokuqalisa igobolondo lesistimu. Uma udinga ukwenza umyalo kugobolondo usebenzisa amaphethini egobolondo afana nokuguquguqukayo, ukuqondiswa kabusha kwefayela (ipayipi), njll., lapho-ke udinga ukwethula igobolondo ngokucacile futhi udlulise umyalo njengokhiye, isibonelo:
lxc exec alp -- /bin/sh -c "echo $HOME"
Umyalo usebenzise uhlamvu olukhethekile lokuphunyuka ngohlamvu olukhethekile
$
ukuze okuguquguqukayo $HOME
akuhunyushwanga emshinini wokusingathwa, kodwa kwatolikwa ngaphakathi kwesitsha kuphela.
Kuyenzeka futhi ukuthi uqale imodi yegobolondo esebenzisanayo, bese uqeda iseshini ngokwenza i-hotkey CTRL+D
:
lxc exec alp -- /bin/sh
Ukuphathwa kwensiza yesiqukathi ^
Ku-LXD, ungaphatha izinsiza zesiqukathi usebenzisa isethi ekhethekile yokucushwa. Uhlu oluphelele lwemingcele yokucushwa kwesiqukathi lungatholakala
Umkhawulo wensiza ye-RAM ^
Ipharamitha limits.memory
ikhawulela inani le-RAM elitholakala esitsheni. Inani yinombolo kanye nokukodwa kwayo
Masisethe umkhawulo we-RAM yesiqukathi ube ngu-256 MB:
lxc config set alp limits.memory 256MB
Futhi, kuneminye imingcele yokukhawulela inkumbulo:
limits.memory.enforce
limits.memory.hugepages
limits.memory.swap
limits.memory.swap.priority
Ithimba lxc config show
ikuvumela ukuthi ubonise konke ukucushwa kwesiqukathi, okuhlanganisa umkhawulo wensiza esetshenzisiwe owawusethiwe:
lxc config show alp
architecture: x86_64
config:
image.architecture: amd64
image.description: Alpine 3.11 amd64 (20200220_13:00)
image.os: Alpine
image.release: "3.11"
image.serial: "20200220_13:00"
image.type: squashfs
limits.memory: 256MB
volatile.base_image: 73a3093d4a5ce0148fd84b95369b3fbecd19a537ddfd2e2d20caa2eef0e8fd60
volatile.eth0.host_name: veth75b6df07
volatile.eth0.hwaddr: 00:16:3e:a1:e7:46
volatile.idmap.base: "0"
volatile.idmap.current: '[]'
volatile.idmap.next: '[]'
volatile.last_state.idmap: '[]'
volatile.last_state.power: RUNNING
devices: {}
ephemeral: false
profiles:
- default
stateful: false
description: ""
Umkhawulo wensiza ye-CPU ^
Kunezindlela ezimbalwa zokukhawulela izinsiza ze-CPU.
limit.cpu
- ibophezela isiqukathi ku-CPU cores eyodwa noma ngaphezululimits.cpu.allowance
- ilawula ama-quota womhleli we-CFS lapho umkhawulo wesikhathi usudlulile, noma indlela yokwabelana yensiza ye-CPU yendawo yonke lapho iphesenti selidlulilelimits.cpu.priority
- Okubalulekile kumhleli lapho izimo eziningi zokwabelana ngesethi yamaphrosesa zinikezwa amaphesenti afanayo amaphrosesa
lxc config set alp limits.cpu.allowance 40%
lxc config show alp
architecture: x86_64
config:
image.architecture: amd64
image.description: Alpine 3.11 amd64 (20200220_13:00)
image.os: Alpine
image.release: "3.11"
image.serial: "20200220_13:00"
image.type: squashfs
limits.cpu.allowance: 40%
limits.memory: 256MB
volatile.base_image: 73a3093d4a5ce0148fd84b95369b3fbecd19a537ddfd2e2d20caa2eef0e8fd60
volatile.eth0.host_name: veth75b6df07
volatile.eth0.hwaddr: 00:16:3e:a1:e7:46
volatile.idmap.base: "0"
volatile.idmap.current: '[]'
volatile.idmap.next: '[]'
volatile.last_state.idmap: '[]'
volatile.last_state.power: RUNNING
devices: {}
ephemeral: false
profiles:
- default
stateful: false
description: ""
Umkhawulo wesikhala sediski ^
Ngaphezu kwemikhawulo enjalo limits.read
, limits.write
futhi singakhawulela inani lesikhala sediski esidliwe yisitsha (sisebenza kuphela ne-ZFS noma i-BTRFS):
lxc config device set alp root size=2GB
Ngemva kokufaka, kupharamitha devices.root.size
Singaqinisekisa umkhawulo obekiwe:
lxc config show alp
...
devices:
root:
path: /
pool: hddpool
size: 2GB
type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""
Ukubuka ama-quota ediski asetshenzisiwe singawathola kumyalo lxc info
:
lxc info alp
...
Resources:
Processes: 5
Disk usage:
root: 1.05GB
CPU usage:
CPU usage (in seconds): 1
Memory usage:
Memory (current): 5.46MB
Network usage:
eth0:
Bytes received: 802B
Bytes sent: 1.59kB
Packets received: 4
Packets sent: 14
lo:
Bytes received: 0B
Bytes sent: 0B
Packets received: 0
Packets sent: 0
Naphezu kweqiniso lokuthi sibeke umkhawulo wedivayisi yempande yesitsha ku-2GB, izinsiza zesistimu ezifana df
ngeke ngiwubone lo mkhawulo. Ukuze senze lokhu, sizokwenza ukuhlolwa okuncane futhi sithole ukuthi kusebenza kanjani.
Masidale iziqukathi ezintsha ezi-2 ezifanayo Ichibi Lokugcina (i-hddpool):
lxc init alpine3 alp1 --storage=hddpool --profile=default --profile=hddroot
lxc init alpine3 alp2 --storage=hddpool --profile=default --profile=hddroot
lxc list
+------+---------+------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+------------------+------+-----------+-----------+
| alp1 | RUNNING | 10.0.5.46 (eth0) | | CONTAINER | 0 |
+------+---------+------------------+------+-----------+-----------+
| alp2 | RUNNING | 10.0.5.30 (eth0) | | CONTAINER | 0 |
+------+---------+------------------+------+-----------+-----------+
Masidale ifayela elingu-1GB kwesinye seziqukathi:
lxc exec alp1 -- dd if=/dev/urandom of=file.img bs=1M count=1000
Masiqinisekise ukuthi ifayela lidaliwe:
lxc exec alp1 -- ls -lh
total 1000M
-rw-r--r-- 1 root root 1000.0M Mar 27 10:16 file.img
Uma sibheka esitsheni sesibili, hlola ukuthi kukhona ifayela endaweni efanayo, khona-ke leli fayela ngeke libe khona, okulindelekile, ngoba iziqukathi zenziwa ngokwazo. Isitoreji Ivolumu ngokufanayo Ichibi Lokugcina:
lxc exec alp2 -- ls -lh
total 0
Kodwa ake siqhathanise amanani eliwakhiqizayo df
kwesinye isitsha nakwesinye:
lxc exec alp1 -- df -hT
Filesystem Type Size Used Available Use% Mounted on
/dev/loop1 btrfs 9.3G 1016.4M 7.8G 11% /
...
lxc exec alp2 -- df -hT
Filesystem Type Size Used Available Use% Mounted on
/dev/loop1 btrfs 9.3G 1016.4M 7.8G 11% /
...
Idivayisi /dev/loop1
ifakwe njengoba i-root partition injalo Ichibi Lokugcina ezisetshenziswa lezi zitsha, ngakho zabelana ngevolumu yayo phakathi kokubili.
Izibalo zokusetshenziswa kwezinsiza ^
Ungabuka izibalo zokusetshenziswa kwezinsiza zesiqukathi usebenzisa umyalo:
lxc info alp
Name: alp
Location: none
Remote: unix://
Architecture: x86_64
Created: 2020/04/08 18:05 UTC
Status: Running
Type: container
Profiles: default, hddroot
Pid: 19219
Ips:
eth0: inet 10.0.5.5 veth2a1dc59d
eth0: inet6 fe80::216:3eff:fe0e:e271 veth2a1dc59d
lo: inet 127.0.0.1
lo: inet6 ::1
Resources:
Processes: 5
Disk usage:
root: 495.62kB
CPU usage:
CPU usage (in seconds): 1
Memory usage:
Memory (current): 4.79MB
Network usage:
eth0:
Bytes received: 730B
Bytes sent: 1.59kB
Packets received: 3
Packets sent: 14
lo:
Bytes received: 0B
Bytes sent: 0B
Packets received: 0
Packets sent: 0
Ukusebenza nezifinyezo ^
I-LXD inamandla okwenza izifinyezo futhi ibuyisele isimo sesiqukathi sisuka kuzo.
Ukwakha isifinyezo, sebenzisa umyalo olandelayo:
lxc snapshot alp snapshot1
Iqembu lxc snapshot
awukho ukhiye otholakalayo list
, ngakho-ke, ukuze ubuke uhlu lwezifinyezo udinga ukusebenzisa umyalo obonisa ulwazi olujwayelekile mayelana nesiqukathi:
lxc info alp
...
...
Snapshots:
snapshot1 (taken at 2020/04/08 18:18 UTC) (stateless)
Ungakwazi ukubuyisela isiqukathi kusuka kusifinyezo usebenzisa umyalo lxc restore
icacisa isiqukathi okuzokwenzelwa kuso ukubuyiselwa kanye nesifinyezo:
lxc restore alp snapshot1
Umyalo olandelayo usetshenziswa ukususa isifinyezo. Sicela uqaphele ukuthi i-syntax yomyalo ayifani nazo zonke ezinye; lapha udinga ukucacisa isileshi esiya phambili ngemva kwegama lesiqukathi. Uma i-slash ishiywe, khona-ke umyalo wokususa isifinyezo uchazwa njengomyalelo wokususa isiqukathi!
lxc delete alp/snapshot1
Esibonelweni esingenhla, sibheke lokho okubizwa ngokuthi izifinyezo ezingenasimo. I-LXD inolunye uhlobo lwezifinyezo - ezichazayo, ezilondoloza isimo samanje sazo zonke izinqubo esitsheni. Kunenombolo yezici ezithakazelisayo nezilusizo ezihlotshaniswa nezifinyezo ezinhle.
Yini enye? ^
- Imojula iyatholakala kubathuthukisi bePython
I-PyLXD ehlinzeka nge-API ku-LXD
Isibuyekezo 10.04.2020/15/00 XNUMX:XNUMX: Ukuzulazula okungeziwe
Source: www.habr.com