Astaamaha aasaasiga ah ee LXD - nidaamyada weelka Linux

Astaamaha aasaasiga ah ee LXD - nidaamyada weelka Linux

LXD waa maamulaha weelka nidaamka jiilka soo socda, sidaas ayuu yidhi ilaha. Waxay bixisaa interface user la mid ah mashiinada farsamada, laakiin waxay isticmaashaa weelasha Linux.

Xuddunta LXD waa daemon mudnaan leh (adeeg ku shaqeeya xuquuqda xididka) kaas oo bixiya REST API iyada oo loo sii marayo godad unix maxalli ah, iyo sidoo kale shabakadda haddii qaabeynta ku habboon lagu rakibo. Macaamiisha, sida aalada khadka taliska ee LXD, waxay codsi ku sameeyaan API REST. Tani waxay ka dhigan tahay haddii aad gelayso martigeliyaha degaanka ama martigeliyaha fog, wax walbaa waxay u shaqeeyaan si isku mid ah.

Maqaalkani ma si faahfaahsan uga hadli doono fikradaha LXD, ma tixgelin doonno dhammaan awoodaha la heli karo ee lagu qeexay dukumeentiyada, oo ay ku jiraan hirgelinta dhawaanahan ee noocyadii ugu dambeeyay ee LXD ee taageerada mashiinnada farsamada QEMU ee barbar socda weelasha. Taa baddalkeeda, waxaan baran doonaa kaliya aasaaska maaraynta weelka - dejinta barkadaha kaydinta, isku xidhka, socodsiinta weelka, adeegsiga xadka khayraadka, iyo sida loo isticmaalo sawir-qaadista si aad u hesho faham aasaasi ah oo LXD ah oo aad u isticmaasho weelasha Linux.

Macluumaad dhammaystiran, fadlan tixraac isha rasmiga ah:

Jihada

Rakibaadda LXD ^

Ku rakibida LXD qaybinta Ubuntu ^

Ku jira xirmada qaybinta Ubuntu 19.10 lxd wuxuu leeyahay baahinta xirmo degdeg ah:

apt search lxd

lxd/eoan 1:0.7 all
  Transitional package - lxd -> snap (lxd)

Tani waxay ka dhigan tahay in laba baakidh lagu rakibi doono hal mar, mid sida baakad nidaamka iyo tan kale sida xirmo degdeg ah. Ku rakibida laba baakidh ee nidaamka waxa laga yaabaa inay abuurto dhibaato halkaas oo xidhmada nidaamku noqon karto agoon haddii xidhmada snap-ka uu saaro maareeyaha xidhmada degdega ah.

Soo hel xirmo lxd gudaha kaydka snap waxaad isticmaali kartaa amarka soo socda:

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

Adigoo ordaya amarka list waxaad hubin kartaa in xirmada lxd wali lama rakibin:

snap list

Name  Version    Rev   Tracking  Publisher   Notes
core  16-2.43.3  8689  stable    canonical✓  core

In kasta oo xaqiiqda ah in LXD ay tahay xirmo degdeg ah, waa in lagu rakibaa xirmada nidaamka lxd, kaas oo abuuri doona kooxda u dhiganta nidaamka, tamarta lagama maarmaanka ah ee gudaha /usr/bin iyo wixii la mid ah.

sudo apt update
sudo apt install lxd

Aan hubino in baakadda loo rakibay sidii xirmo degdeg ah:

snap list

Name  Version    Rev    Tracking  Publisher   Notes
core  16-2.43.3  8689   stable    canonical✓  core
lxd   3.21       13474  stable/…  canonical✓  -

Ku rakibida LXD qaybinta Arch Linux ^

Si aad ugu rakibto xirmada LXD ee nidaamka, waxaad u baahan tahay inaad socodsiiso amarada soo socda, kan ugu horreeya wuxuu cusbooneysiin doonaa liiska xirmooyinka nidaamka laga heli karo bakhaarka, kan labaad wuxuu si toos ah u rakibi doonaa xirmada:

sudo pacman -Syyu && sudo pacman -S lxd

Kadib rakibidda xirmada, si loo maareeyo LXD isticmaale caadi ah, waa in lagu daraa kooxda nidaamka lxd:

sudo usermod -a -G lxd user1

Aynu hubino isticmaaluhu user1 lagu daray kooxda lxd:

id -Gn user1

user1 adm dialout cdrom floppy sudo audio dip video plugdev netdev lxd

Hadii kooxda lxd kuma muuqanayo liiska, markaas waxaad u baahan tahay inaad mar kale kiciso fadhiga isticmaalaha. Si tan loo sameeyo, waxaad u baahan tahay inaad ka baxdo oo aad gasho isla isticmaaleha hoostiisa.

Daar geli systemd ku shubida adeega LXD marka nidaamka bilawga ah:

sudo systemctl enable lxd

Aan bilowno adeega:

sudo systemctl start lxd

Hubinta heerka adeegga:

sudo systemctl status lxd

Kaydinta LXD (Kaydinta) ^

Kahor intaan bilaabin bilawga, waxaan u baahanahay inaan fahanno sida kaydinta LXD si macquul ah loo habeeyey.

Kaydinta (kaydinta) wuxuu ka kooban yahay ka mid ah ama ka badan Barkadda Kaydinta kaas oo adeegsada mid ka mid ah nidaamyada faylka la taageeray sida ZFS, BTRFS, LVM ama hagaha caadiga ah. Mid kasta Barkadda Kaydinta waxa loo qaybiyaa muga (Mugga Kaydinta) oo ka kooban sawirro, weel, ama xog ujeeddooyin kale ah.

  • Sawirro - kuwani waa qaybin gaar ah oo la soo ururiyey oo aan lahayn kernel Linux waxaana laga heli karaa ilo dibadda ah
  • Konteenarada - Kuwani waa qaybinta sawirada, diyaar u ah isticmaalka
  • Sawir qaade - kuwani waa sawiro muujinaya xaaladda weelasha oo aad ku noqon karto

Astaamaha aasaasiga ah ee LXD - nidaamyada weelka Linux

Si aad u maamusho kaydinta LXD, adeegso amarka lxc storage shahaado aad ku heli karto adigoo tilmaamaya furaha - lxc storage --help

Amarka soo socdaa wuxuu muujinayaa liiska dhammaan Barkadda Kaydinta Kaydinta LXD:

lxc storage list

+---------+-------------+--------+--------------------------------+---------+
|  NAME   | DESCRIPTION | DRIVER |             SOURCE             | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| hddpool |             | btrfs  | /dev/loop1                     | 2       |
+---------+-------------+--------+--------------------------------+---------+
| ssdpool |             | btrfs  | /var/lib/lxd/disks/ssdpool.img | 4       |
+---------+-------------+--------+--------------------------------+---------+

Si aad u aragto liiska oo dhan Mugga Kaydinta ee la doortay Barkadda Kaydinta u adeega kooxda 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       |
+-----------+----------------------------------+-------------+---------+

Sidoo kale, haddii loogu talagalay Barkadda Kaydinta Marka la abuurayo, nidaamka faylka BTRFS ayaa la doortay, ka dibna hel liis Mugga Kaydinta ama hoosaadyo tarjumaadda BTRFS, waxaad isticmaali kartaa qalabka nidaamka faylkan:

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

Bilaabida LXD ^

Kahor intaadan abuurin oo isticmaalin weelasha, waa inaad samaysaa bilawga guud ee LXD kaas oo abuura oo habeeya shabakada iyo kaydinta. Tan waxaa lagu samayn karaa gacanta iyadoo la isticmaalayo amarada macmiilka caadiga ah ee laga heli karo liiska adiga oo wacaya amarka lxc --help ama isticmaalaya saaxir bilowga lxd init isagoo ka jawaabaya dhowr su'aalood.

Doorashada nidaamka faylka ee Barkadda Kaydinta ^

Inta lagu jiro bilawga, LXD waxay waydiisaa su'aalo dhowr ah, oo ay ku jiraan go'aaminta nooca nidaamka faylka ee asalka ah Barkadda Kaydinta. Sida caadiga ah, nidaamka faylka BTRFS ayaa loo doortay. Ma noqon doonto wax aan suurtagal ahayn in loo beddelo FS kale ka dib abuurista. Si loo doorto FS waa la soo jeedinayaa miiska isbarbardhigga muuqaalada:

feature
Directory
btrfs
LVM
ZFS
CEPH

Kaydinta sawirka la hagaajiyay
maya
haa
haa
haa
haa

abuur tusaale la wanaajiyey
maya
haa
haa
haa
haa

Abuur sawir sawir la wanaajiyey
maya
haa
haa
haa
haa

wareejinta sawirka la hagaajiyay
maya
haa
maya
haa
haa

wareejinta tusaalaha la wanaajiyey
maya
haa
maya
haa
haa

Nuqul ku qor
maya
haa
haa
haa
haa

Block ku salaysan
maya
maya
haa
maya
haa

xinjiraynta degdega ah
maya
haa
haa
haa
haa

Darawalka kaydinta ee lagu isticmaali karo gudaha weelka
haa
haa
maya
maya
maya

Ka soo celi sawiradii hore (ma aha kii ugu dambeeyay)
haa
haa
haa
maya
haa

Kootada kaydinta
haa(*)
haa
haa
haa
maya

Bilaabida shabakada iyo Barkadda Kaydinta iyadoo la isticmaalayo saaxir ^

Amarka soo socda ee aan eegi doono wuxuu soo jeedinayaa dejinta qaybaha ugu muhiimsan ee LXD iyadoo laga jawaabayo su'aalaha fudud iyadoo la adeegsanayo saaxir bilawga ah.

Orod amarka lxc init oo geli jawaabaha su'aalaha xiidanka ka dib sida ku cad tusaalaha hoose ama u beddel shuruudahaaga:

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]: 

Abuuritaanka Barkad Kaydinta Dheeraadka ah ^

Talaabadii hore ee aynu ku abuurnay Barkadda Kaydinta kaas oo loo bixiyay magaca ssdpool iyo faylka kaas oo ku yaala nidaamkayga at /var/lib/lxd/disks/ssdpool.img. Cinwaanka nidaamka faylkani waxa uu u dhigma wadaha SSD-ga ee kombayutarkayga.

Ficilada soo socda, si loo ballaariyo fahamka doorka uu ciyaaray Barkadda Kaydinta Kaydka, waxaan abuuri doonaa mid labaad Barkadda Kaydinta kaas oo jir ahaan ku yaal nooc ka duwan diskooga, HDD. Dhibaatadu waxay tahay LXD kuma ogola inaad abuurto Barkadda Kaydinta ka baxay ciwaanka /var/lib/lxd/disks/ iyo xitaa xiriirinta calaamaduhu ma shaqeyn doonaan, arag jawaabta horumariyaha. Waxaan ka gudbi karnaa xaddidan inta lagu jiro bilowga/qaabaynta Barkadda Kaydinta adoo qeexaya qiimaha sida qalabka xannibaadda halkii aad ka heli lahayd dariiqa faylka loopback adiga oo ku qeexaya tan furaha source.

Markaa, ka hor inta aan la abuurin Barkadda Kaydinta waxaad u baahan tahay inaad qeexdo faylka loopback ama qayb ka mid ah nidaamka faylkaaga oo uu isticmaali doono. Si tan loo sameeyo, waxaan abuuri doonaa oo isticmaaleynaa fayl aan ku xaddidi doono cabbirka 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

Aan ku xidhno faylka loopback qalab loopback ah oo bilaash ah:

sudo losetup --find --show /mnt/work/lxd/hddpool.img

/dev/loop1

Waad ku mahadsan tahay furaha --show fulinta amarka waxay ku soo celinaysaa shaashadda magaca aaladda uu ku xiran yahay faylka loopback. Haddii loo baahdo, waxaan soo bandhigi karnaa liiska dhammaan aaladaha mashquulka badan ee noocaan ah si aan u hubinno in ficiladeena ay sax yihiin:

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

Laga soo bilaabo liiska waxaad ka heli kartaa in qalabku leeyahay /dev/loop1 loopback ayaa lagu daray /mnt/work/lxd/hddpool.img, iyo qalabka /dev/loop0 loopback ayaa lagu daray /var/lib/lxd/disks/ssdpool.img taas oo u dhiganta default Barkadda Kaydinta.

Amarka soo socda ayaa abuuraya mid cusub Barkadda Kaydinta gudaha LXD oo ku salaysan faylka loopback ee aan hadda diyaarinay. LXD waxay qaabayn doontaa faylka loopback /mnt/work/lxd/hddpool.img qalabka ku jira /dev/loop1 ee nidaamka faylka BTRFS:

lxc storage create hddpool btrfs size=10GB source=/dev/loop1

Aynu soo bandhigno liiska dhammaan Barkadda Kaydinta si loo baaro:

lxc storage list

+---------+-------------+--------+--------------------------------+---------+
|  NAME   | DESCRIPTION | DRIVER |             SOURCE             | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| hddpool |             | btrfs  | /dev/loop1                     | 0       |
+---------+-------------+--------+--------------------------------+---------+
| ssdpool |             | btrfs  | /var/lib/lxd/disks/ssdpool.img | 0       |
+---------+-------------+--------+--------------------------------+---------+

Kordhinta Cabirka Barkadda Kaydka ^

Abuurid kadib Barkadda Kaydinta, haddii loo baahdo, waa la ballaarin karaa. Waayo Barkadda Kaydinta Iyada oo ku saleysan nidaamka faylka BTRFS, socodsii amarrada soo socda:

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

Si otomaatig ah u gelinta faylka loopback ee booska loopback ^

Waxaan leenahay hal dhibaato yar, marka dib loo bilaabo nidaamka martida loo yahay, faylka /mnt/work/lxd/hddpool.img ka duuli doona qalabka /dev/loop1 iyo adeegga LXD wuu shilmi doonaa marka la shubayo sababtoo ah kuma arki doono qalabkan. Si loo xalliyo dhibaatadan waxaad u baahan tahay inaad abuurto adeeg nidaam kaas oo geli doona faylkan qalabka /dev/loop1 marka nidaamka martida loo yahay kabaha.

Aan abuurno unit nooca faylka adeegga в /etc/systemd/system/ ee nidaamka bilowga 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

Daar adeega:

sudo systemctl enable lxd-hddpool

Created symlink /etc/systemd/system/local-fs.target.wants/lxd-hddpool.service → /etc/systemd/system/lxd-hddpool.service.

Ka dib markii aan dib u bilownay nidaamka martida loo yahay, waxaan hubineynaa heerka adeegga:

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).

Laga soo bilaabo wax soo saarka waxaan ku xaqiijin karnaa in gobolka adeeggu yahay firfircoon, inkastoo xaqiiqda ah in fulinta qoraalladayada hal amar la dhammeeyey, ikhtiyaarka ayaa noo oggolaaday inaan tan sameyno. RemainAfterExit=true.

Badbaadada Mudnaanta Koonteenarada ^

Maadaama dhammaan hababka weelku ay si dhab ah ugu socdaan si gooni-gooni ah nidaamka martida loo yahay iyadoo la adeegsanayo kernel-keeda, si loo sii ilaaliyo gelitaanka hababka weelka ee nidaamka martida loo yahay, LXD waxay bixisaa mudnaanta nidaamka, halkaasoo:

  • Konteenarada mudnaanta leh - Kuwani waa weelal ay ku jiraan hababka UID iyo GID u dhigma isla milkiilaha sida nidaamka martida loo yahay. Tusaale ahaan, habka ku dhex jira weelka leh UID 0 wuxuu leeyahay dhammaan xuquuqaha gelitaanka ee habka nidaamka martida loo yahay UID ee 0. Si kale haddii loo dhigo, xididka isticmaalaha weelka wuxuu leeyahay dhammaan xuquuqda ma aha oo kaliya weelka, laakiin sidoo kale nidaamka martida loo yahay haddii uu ka bixi karo meel ka baxsan magaca go'doonsan ee weelka.

  • Weelasha aan mudnaanta lahayn - kuwani waa weelal ay ku jiraan habab ay iska leeyihiin mulkiilaha UID iyo GID oo leh nambar ka bilaabma 0 ilaa 65535, laakiin nidaamka martida loo yahay mulkiiluhu waa la daboolaa iyada oo la adeegsanayo subagaga SubGID ee lagu daray, siday u kala horreeyaan. Tusaale ahaan, isticmaalaha UID=0 ku jira weel waxaa lagu arki doonaa nidaamka martida loo yahay SubUID + UID. Tani waxay ilaalinaysaa nidaamka martida loo yahay sababtoo ah haddii hannaan kasta oo ku jira weelka uu awoodo inuu ka baxsado meelihiisa go'doonsan, waxay kaliya la xiriiri kartaa nidaamka martida loo yahay hab aan la garanayn, UID/GID aad u sarreeya.

Sida caadiga ah, weelasha cusub ee la sameeyay waxay leeyihiin xaalad aan mudnayn sidaas darteed waa inaan qeexnaa SubUID iyo SubGID.

Aynu abuurno laba faylal oo habayn ah kuwaas oo aanu u dejin doono maaskaro SuBUID iyo SubGID, siday u kala horreeyaan:

sudo touch /etc{/subuid,/subgid}
sudo usermod --add-subuids 1000000-1065535 root 
sudo usermod --add-subgids 1000000-1065535 root

Si loo dabaqo isbeddelada, adeegga LXD waa in dib loo bilaabo:

sudo systemctl restart lxd

Abuuritaanka beddelka shabakad toos ah ^

Maadaama aan hore u bilownay shabakadda anagoo adeegsanayna saaxirka bilowga lxd init oo abuuray qalab shabakadeed lxdbr0, ka dib qaybtan waxaan si fudud u baran doonaa isku xirka LXD iyo sida loo abuuro beddelka farsamada (buundo) adoo isticmaalaya amarka macmiilka.

Jaantuska soo socdaa wuxuu muujinayaa sida beddelka (buundo) ugu xidho martida loo yahay iyo weelasha shabakad:

Astaamaha aasaasiga ah ee LXD - nidaamyada weelka Linux

Konteenarada waxa ay ku wada xidhiidhi karaan shabakad weel kale leh ama martigeliyaha weelashan lagu soo shubay. Si aad tan u sameyso, waxaad u baahan tahay inaad ku xirto kaararka shabakada farsamada ee weelasha leh beddelka farsamada. Waxaan marka hore abuuri doonaa bedel, iyo isku xirka shabakada weelka waxaa lagu xiri doonaa cutubyada xiga, ka dib marka weelka laftiisa la sameeyo.

Amarka soo socdaa waxa uu abuuraa beddelka subnet 10.0.5.0/24 iyo cinwaanka IPv4 10.0.5.1/24, waxaana ka mid ah ipv4.nat si ay weelku u galaan internetka iyada oo loo marayo martigeliyaha isticmaalaya adeegga NAT:

lxc network create lxdbr0 ipv4.address=10.0.5.1/24 ipv4.nat=true ipv6.address=none

Hubinta liiska aaladaha shabakada ee laga heli karo LXD:

lxc network list

+--------+----------+---------+-------------+---------+
|  NAME  |   TYPE   | MANAGED | DESCRIPTION | USED BY |
+--------+----------+---------+-------------+---------+
| eno1   | physical | NO      |             | 0       |
+--------+----------+---------+-------------+---------+
| lxdbr0 | bridge   | YES     |             | 0       |
+--------+----------+---------+-------------+---------+

Waxaad sidoo kale xaqiijin kartaa in aaladda shabakad la abuuray iyadoo la adeegsanayo aaladda caadiga ah ee qaybinta Linux - ip link ama 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

Xogta Habaynta ^

Weel kasta oo ku yaal LXD waxa uu leeyahay qaabayn u gaar ah oo waxa uu ku kordhin karaa habayn caalami ah oo lagu dhawaaqay profiles qaabeynta. Codsashada xogta qaabeynta weelka waxay leedahay qaab cascade ah, tusaalaha soo socda ayaa tan tusaya:

Astaamaha aasaasiga ah ee LXD - nidaamyada weelka Linux

Tusaalahan, saddex nooc ayaa lagu sameeyay nidaamka LXD: default, hddpool и hostfs. Dhammaan saddexda muuqaalba waxa lagu dabaqaa weel leh qaabayn maxalli ah (meel cawlan). Profile default wuxuu leeyahay qalab root kaas oo leh halbeeg pool waa loo siman yahay ssdpool, laakiin mahadsanid qaabka codsiga qaabeynta cascade, waxaan codsan karnaa astaanta weelka hddpool kaas oo leh halbeeg pool waxay meesha ka saaraysaa isla halbeeggii profile-ka default weelkuna wuxuu heli doonaa habaynta qalabka root oo leh halbeeg pool siman hddpool, iyo profile hostfs si fudud ugu darayaa qalab cusub weelka.

Si aad u aragto liiska qaababka qaabeynta ee diyaarsan, adeegso amarka soo socda:

lxc profile list

+---------+---------+
|  NAME   | USED BY |
+---------+---------+
| default | 1       |
+---------+---------+
| hddroot | 0       |
+---------+---------+
| ssdroot | 1       |
+---------+---------+

Liis dhamaystiran oo ah amarada la heli karo ee la shaqaynta profile waxaa lagu heli karaa adigoo ku daraya furaha --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

Tafatirka astaantaada ^

Qaabeynta asalka ah default ma laha qaabeynta kaararka shabakada ee weelka iyo dhammaan weelasha cusub ee la abuuray ma laha shabakad, iyaga waxaa lagama maarmaan ah in la abuuro qalab shabakadeed (go'an) oo leh amar gooni ah, laakiin waxaan abuuri karnaa qalab shabakad caalami ah qaabeynta. astaanta guud ee la wadaagi doono dhammaan weelasha iyadoo la isticmaalayo astaantan. Sidan, isla markiiba ka dib amarka lagu abuurayo weel cusub, waxay yeelan doonaan shabakad leh marin shabakad. Isla mar ahaantaana, ma jiraan wax xannibaado ah; waxaan had iyo jeer abuuri karnaa aaladda shabakadda maxalliga ah mar dambe haddii loo baahdo.

Amarka soo socdaa wuxuu ku dari doonaa qalabka qaabka qaabeynta eth0 nooca nic ku xiran shabakada lxdbr0:

lxc profile device add default eth0 nic network=lxdbr0 name=eth0

Waxaa muhiim ah in la ogaado in tan iyo markii aan dhab ahaantii ku darnay qalabka qaabka qaabeynta, haddii aan ku qeexnay cinwaanka IP-ga ee qalabka, markaa dhammaan weelasha isticmaali doona astaantan ayaa wadaagi doona isla cinwaanka IP-ga. Haddii ay jirto baahi loo qabo in la abuuro weel leh ciwaanka IP static ee loo qoondeeyay weelka, markaa waa inaad abuurtaa qaabaynta aaladda shabakadda ee heerka weelka (qaabaynta maxalliga ah) oo leh cabbirka ciwaanka IP-ga, oo aan ahayn heerka astaanta.

Aan hubino profile-ka:

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: []

Muuqaalkan waxaan ku arki karnaa in dhammaan weelasha cusub ee la abuuray laba qalab ayaa loo abuuri doonaa:

  • eth0 - Nooca aaladda nic ku xiran daaran (buundo shabakad) lxdbr0
  • root - Nooca aaladda disk kaas oo isticmaala barkada kaydinta ssdpool

Abuuritaanka muuqaallo cusub ^

Si loo isticmaalo hore loo sameeyay Barkadda Kaydinta weelasha, samee profile qaabeynta ssdroot kaas oo aan ku dari doono qalab sida disk oo leh barta buurta / (xididka) adoo isticmaalaya kii hore loo abuuray Barkadda Kaydinta - ssdpool:

lxc profile create ssdroot
lxc profile device add ssdroot root disk path=/ pool=ssdpool

Sidoo kale, waxaan abuurnaa qalab sida disk, laakiin kiiskan la isticmaalayo Barkadda Kaydinta - hddpool:

lxc profile create hddroot
lxc profile device add hddroot root disk path=/ pool=hddpool

Hubinta qaabka qaabeynta:

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: []

Kaydka sawirka ^

Weelasha waxaa laga sameeyay sawirro si gaar ah loo qeybiyay oo aan lahayn kernel Linux ah. Sidaa darteed, ka hor inta aanad socodsiin weelka, waa in laga soo qaadaa sawirkan. Isha sawiradu waa kayd maxalli ah kaas oo sawirada laga soo dejiyo meelaha dibadda ah.

Goobaha sawirka fog ^

Sida caadiga ah, LXD waxaa loo habeeyey inuu ka helo sawirada saddex ilo fog:

  • ubuntu: (Sawirada Ubuntu xasiloon)
  • ubuntu-maalinle: (Sawirada Ubuntu maalinlaha ah)
  • sawirro: (oo loogu talagalay farabadan distros kale)

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    |
+-----------------+------------------------------------------+--------+--------+

Tusaale ahaan, kaydka ubuntu: ayaa leh sawirada soo socda:

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  |
+----------------------------------------------+--------------+----------+------------+

Si loo muujiyo tiro xaddidan oo tiirar ah waxaan isticmaalnay ikhtiyaarka -c oo leh xuduudo dasut, iyo sidoo kale xaddiday dhererka liiska oo leh amarka head.

Shaandhaynta ayaa diyaar ah si loo muujiyo liiska sawirada. Amarka soo socdaa wuxuu taxayaa dhammaan qaab-dhismeedka qaybinta ee la heli karo AlpineLinux:

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        |
+------------------------------+--------------------------------------+--------------+

Kaydka sawirka maxalliga ah ^

Si aad u bilowdo isticmaalka weelka, waxaad u baahan tahay inaad ku darto sawirka kaydka caalamiga ah midda maxaliga ah local:. Hadda bakhaarka maxalliga ahi waa faaruq, amarku wuxuu hubin doonaa tan lxc image list. Haddi habka list Ha qeexin meel kayd ah, ka dib kaydka maxaliga ah waxa loo isticmaali doonaa si caadi ah - local:

lxc image list local:

+-------+-------------+--------+-------------+--------------+------+------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE |
+-------+-------------+--------+-------------+--------------+------+------+

Sawirada ku jira kaydka waxaa lagu maamulaa iyadoo la isticmaalayo hababka soo socda:

kooxda
Description

sawirka lxc alias
Maamul sawirada magacyadooda

sawirka lxc nuqul
Nuqul ka samee sawirada u dhexeeya server-yada

sawirka lxc tirtirto
Tirtir sawirada

sawirka lxc edit
Wax ka beddel sifooyinka sawirka

sawirka lxc dhoofinta
Dhoofinta oo soo deji sawirada

sawirka lxc dejinta
Soo rar sawirada dukaanka sawirka

sawirka lxc info
Muuji macluumaad faa'iido leh oo ku saabsan sawirada

sawirka lxc liiska
Liiska sawirada

sawirka lxc helid
Dib u cusboonaysii sawirada

sawirka lxc show
Muuji sifooyinka sawirka

Ku koobbi sawirka kaydka maxaliga ah ee caalamiga ah images::

lxc image copy images:alpine/3.11/amd64 local: --alias=alpine3

Image copied successfully!

Aynu soo bandhigno liiska dhammaan sawirada hadda laga heli karo kaydka deegaanka local::

lxc image -c lfdatsu list local:

+---------+--------------+------------------------------------+--------------+
|  ALIAS  | FINGERPRINT  |            DESCRIPTION             | ARCHITECTURE |
+---------+--------------+------------------------------------+--------------+
| alpine3 | 73a3093d4a5c | Alpine 3.11 amd64 (20200220_13:00) | x86_64       |
+---------+--------------+------------------------------------+--------------+

Habaynta LXD ^

Marka lagu daro habka is-dhexgalka, LXD sidoo kale waxay taageertaa habka rakibaadda qaabeynta qaabeynta aan isdhexgalka lahayn, tani waa marka qaabeynta lagu qeexo qaabka faylka YAML, qaab gaar ah oo kuu ogolaanaya inaad ku rakibto dhammaan qaabeynta hal mar, adigoo ka gudbaya fulinta. amarro badan oo is-dhexgal ah oo looga hadlay kor ku xusan qodobkan, oo ay ku jiraan qaabeynta shabakada, abuurista profiles qaabeynta, iwm. Kuma dabooli doono aaggan halkan, adiga ayaa iska hubin kara. dukumentiyada.

Amarka isdhexgalka ee xiga lxc config kaas oo aan eegi doono waxay kuu ogolaaneysaa inaad dejiso qaabeynta. Tusaale ahaan, si loo hubiyo in sawirada la soo dejiyay ee kaydka maxalliga ah aan si toos ah looga cusboonaysiin kaydadka caalamiga ah, waxaan awood u siin karnaa habdhaqankan amarkan soo socda:

lxc config set images.auto_update_cached=false

Samaynta iyo maaraynta weelka ^

Si aad u abuurto weel adeegso amarka lxc init kuwaas oo qiyamka loo gudbiyo репозиторий:образ ka dibna aqoonsiga la rabo weelka. Kaydka waxa lagu tilmaami karaa mid maxali ah local: sidoo kale mid kasta oo caalami ah. Haddii kaydka aan la cayimin, ka dib marka la eego kaydinta maxalliga ah ayaa loo isticmaalaa in lagu raadiyo sawirka. Haddii sawirka laga soo xigtay kaydka caalamiga ah, ka dibna sawirka ayaa marka hore lagu soo dejin doonaa kaydka degaanka ka dibna loo isticmaalo si loo abuuro weelka.

Aan socodsiino amarka soo socda si aan u abuurno weelkayaga ugu horreeya:

lxc init alpine3 alp --storage=hddpool --profile=default --profile=hddroot

Aynu eegno furayaasha amarka ee aan halkan u isticmaalno sida ay u kala horreeyaan:

  • alpine3 - Magac loo yaqaan (lias) ayaa loo cayimay sawirka markii hore lagu shubay kaydka deegaanka. Haddii magaca aan loo abuurin sawirkan, markaa waxaad had iyo jeer tixraaci kartaa sawirka iyada Fingerprint kaas oo lagu soo bandhigay shaxda.
  • alp - Waxay dejisaa aqoonsiga weelka
  • --storage - Furahani waxa uu tilmaamayaa kaas Barkadda Kaydinta weel ayaa la abuuri doonaa
  • --profile - Furayaashani waxay ku daboolan yihiin qaabaynta qaab-dhismeedka hore ee loo sameeyay weelka

Waxaan bilaabaynaa weelka, kaas oo bilaabaya inuu bilaabo nidaamka init ee qaybinta:

lxc start alp

Waxaad sidoo kale isticmaali kartaa amarka lxc launch kaas oo kuu ogolaanaya inaad isku geyso kooxaha lxc init и lxc start hal qalliin.

Hubinta xaaladda weelka:

lxc list -c ns46tb
+------+---------+------------------+------+-----------+--------------+
| NAME |  STATE  |       IPV4       | IPV6 |   TYPE    | STORAGE POOL |
+------+---------+------------------+------+-----------+--------------+
| alp  | RUNNING | 10.0.5.46 (eth0) |      | CONTAINER | hddpool      |
+------+---------+------------------+------+-----------+--------------+

Hubinta qaabeynta weelka:

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: ""

Qaybta profiles Waxaan hubin karnaa in weelkani isticmaalo laba qaabeynta profile - default и hddroot. Qaybta devices waxaan ogaan karnaa hal qalab sababtoo ah qalabka shabakada waxaa lagu abuuray heerka profile default. Si aad u aragto dhammaan aaladaha loo isticmaalo weelka waxaad u baahan tahay inaad furaha ku darto --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: ""

Dejinta ciwaanka IP ee taagan ^

Haddii aan isku dayno inaan u dejino cinwaanka IP-ga aaladda shabakadda eth0 kooxda lxc config device set alp loogu talagalay qaabeynta weelka, ka dibna waxaan heli doonaa qalad kaas oo sheegi doona in qalabku aanu jirin sababtoo ah qalabka eth0 kaas oo loo isticmaalo weelka ayaa iska leh profile default:

lxc config device set alp eth0 ipv4.address 10.0.5.5

Error: The device doesn't exist

Waxaan dabcan u samayn karnaa cinwaan IP ah oo taagan eth0 Qalabka ku jira profile-ka, laakiin waxay la mid noqon doontaa dhammaan weelasha isticmaali doona astaantan. Sidaa darteed, aan ku darno qalab u gaar ah weelka:

lxc config device add alp eth0 nic name=eth0 nictype=bridged parent=lxdbr0 ipv4.address=10.0.5.5

Markaa waxaad u baahan tahay inaad dib u bilowdo weelka:

lxc restart alp

Haddii aan hadda eegno qaabeynta weelka, uma baahnid inaan isticmaalno ikhtiyaarka --expanded si aad u aragto qalabka shabakada eth0, tan iyo markii aan ku abuurnay heerka weelka oo ay ka soo dusisay isla qalabkii profile-ka 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: ""

Ka saarida weelka ^

Si aad uga saarto weelka, isticmaal amarka lxc delete, laakiin ka hor inta aanad qaadin weelka, waa in la joojiyo isticmaalka amarka lxc stop:

lxc stop alp

lxc list

+------+---------+-------------------+------+-----------+-----------+
| NAME |  STATE  |       IPV4        | IPV6 |   TYPE    | SNAPSHOTS |
+------+---------+-------------------+------+-----------+-----------+
| alp  | STOPPED | 10.0.5.10 (eth0)  |      | CONTAINER | 0         |
+------+---------+-------------------+------+-----------+-----------+

Ka dib markii aanu hubinay in xaalada weelku uu noqday JOOJINTA, waa laga saari karaa Barkadda Kaydinta:

lxc delete alp

gelitaanka weelka ^

Si aad si toos ah ugu fuliso amarada weelka dhexdiisa, adigoo ka gudbaya isku xirka shabakada, isticmaal amarka lxc exec kaas oo fulinaya amarrada ku jira weelka iyada oo aan la furin qolofka nidaamka. Haddii aad u baahan tahay inaad ku fuliso amar qolof adigoo isticmaalaya qaababka qolofka sida doorsoomayaasha, wareejinta faylka (tuubo), iwm, waxaad u baahan tahay inaad si cad u furto qolofka oo aad u gudbiso amarka furaha, tusaale ahaan:

lxc exec alp -- /bin/sh -c "echo $HOME"

Amarku wuxuu adeegsaday dabeecad baxsad ah oo gaar ah dabeecad gaar ah $ si doorsoomuhu $HOME laguma tarjumin mashiinka martida loo yahay, laakiin waxaa lagu turjumay oo keliya gudaha weelka.

Waxa kale oo suurtogal ah in la bilaabo habka qolofka isdhexgalka, ka dibna ku dhammayso fadhiga adoo fulinaya hotkey CTRL+D:

lxc exec alp -- /bin/sh

Maamulka kheyraadka weelka ^

LXD gudaheeda, waxaad ku maareyn kartaa agabka weelka adigoo isticmaalaya habayn gaar ah. Liis dhammaystiran oo cabirrada qaabeynta weelka ayaa la heli karaa dukumentiyada.

Xaddidaadda kheyraadka RAM ^

Xildhibaan limits.memory waxay xadidaysaa xadiga RAM ee weelka ku jira. Qiimuhu waa tiro iyo mid ka mid ah dabacyada la heli karo.

Aynu ka dhigno xadka konteenarka RAM-ka ilaa 256 MB:

lxc config set alp limits.memory 256MB

Sidoo kale, waxaa jira xadayn kale oo lagu xaddidayo xusuusta:

  • limits.memory.enforce
  • limits.memory.hugepages
  • limits.memory.swap
  • limits.memory.swap.priority

kooxda lxc config show Waxay kuu ogolaanaysaa inaad muujiso dhammaan qaabaynta weelka, oo ay ku jiraan xadka khayraadka la dabaqay ee la dejiyay:

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: ""

Xadka khayraadka CPU ^

Waxaa jira dhowr siyaabood oo lagu xaddido ilaha CPU. noocyada xayiraadaha:

  • limit.cpu - waxay weel ku xidhaa hal ama in ka badan oo CPUs ah
  • limits.cpu.allowance - waxay maamushaa kootooyinka jadwalka CFS marka waqtiga xaddidan uu dhaafo, ama habka wadaagga kheyraadka CPU ee caalamiga ah marka boqolkiiba ay dhaafto
  • limits.cpu.priority - mudnaanta jadwaleeyaha marka marar badan oo la wadaago qayb-soo-saareyaal la qaybiyo boqolkiiba isku mid ah soo-saareyaasha

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: ""

Xaddidaadda booska diskka ^

Waxa intaa dheer xayiraadaha sida limits.read, limits.write Waxaan sidoo kale xaddidi karnaa cadadka booska diskka ee uu isticmaalo weelka (kaliya wuxuu la shaqeeyaa ZFS ama BTRFS):

lxc config device set alp root size=2GB

Ka dib markii la rakibo, ee parameterka devices.root.size Waxaan xaqiijin karnaa xadka go'an:

lxc config show alp
...
devices:
  root:
    path: /
    pool: hddpool
    size: 2GB
    type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""

Si loo eego kootada diskka ee la isticmaalay waxaan ka heli karnaa amarka 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

Inkastoo xaqiiqda ah in aan xaddidnay qalabka xididka weelka ilaa 2GB, qalabka nidaamka sida df ma arki doono xaddidan. Si tan loo sameeyo, waxaanu samayn doonaa imtixaan yar oo aan ogaano sida ay u shaqeyso.

Aynu abuurno 2 weel oo isku mid ah oo isku mid ah Barkadda Kaydinta (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         |
+------+---------+------------------+------+-----------+-----------+

Aan ku abuurno fayl 1GB ah mid ka mid ah weelasha:

lxc exec alp1 -- dd if=/dev/urandom of=file.img bs=1M count=1000

Aan hubino in faylka la sameeyay:

lxc exec alp1 -- ls -lh
total 1000M  
-rw-r--r--    1 root     root     1000.0M Mar 27 10:16 file.img

Haddii aan eegno weelka labaad, hubi jiritaanka feyl isku mid ah, ka dibna faylkani ma jiri doono, taas oo la filayo, tan iyo weelasha iyaga ayaa la abuuray. Mugga Kaydinta isku mid ah Barkadda Kaydinta:

lxc exec alp2 -- ls -lh
total 0

Laakiin aan is barbar dhigno qiyamka ay soo saarto df mid iyo weelka kale:

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% /
...

Qalabka /dev/loop1 ku rakiban tahay sida qaybta xididku yahay Barkadda Kaydinta kuwaas oo weelashani isticmaalaan, si ay muggeeda u wadaagaan laba.

Tirakoobka isticmaalka kheyraadka ^

Waxaad ka arki kartaa xisaabaadka isticmaalka kheyraadka weelka adigoo isticmaalaya amarka:

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

Ku shaqaynta sawir qaade ^

LXD waxay awood u leedahay inay abuurto sawir qaade oo ay ka soo celiso xaaladda weelka iyaga.

Si aad u abuurto sawir sawir leh, socodsii amarka soo socda:

lxc snapshot alp snapshot1

Kooxda lxc snapshot furaha lama hayo list, sidaas darteed, si aad u aragto liiska sawir-qaadista waxaad u baahan tahay inaad isticmaasho amarka muujinaya macluumaadka guud ee ku saabsan weelka:

lxc info alp
...
...
Snapshots:
  snapshot1 (taken at 2020/04/08 18:18 UTC) (stateless)

Waxaad ku soo celin kartaa weelka sawir sawir leh adoo isticmaalaya amarka lxc restore qeexida weelka dib u soo celinta lagu samayn doono iyo sawirka sawirka:

lxc restore alp snapshot1

Amarka soo socda ayaa loo isticmaalaa in lagu tirtiro sawir sawir leh. Fadlan ogow in ereyga amarku aanu la mid ahayn kuwa kale oo dhan; halkan waxaad u baahan tahay inaad ku qeexdo jeexjeex hore ka dib magaca weelka. Haddii jeex-jeexa la dhaafay, markaa amarka tirtirida sawir-qaadista waxaa loo tarjumay amar lagu tirtirayo weelka!

lxc delete alp/snapshot1

Tusaalaha kore, waxaan eegnay waxa loogu yeero sawir-qaade aan waddan lahayn. LXD waxay leedahay nooc kale oo sawir qaade ah - stateful, kaas oo badbaadiya xaalada hadda jirta ee dhammaan hababka ku jira weelka. Waxa jira tiro sifooyin xiiso leh oo faa'iido leh oo la xidhiidha sawir-qaadid dawladeed.

Maxaa kale? ^

  • Qayb ayaa diyaar u ah soosaarayaasha Python PylXD kaas oo siiya API-ga LXD

Cusbooneysii 10.04.2020/15/00 XNUMX:XNUMX: lagu daray navigation

Source: www.habr.com

Add a comment