Zofunikira za LXD - Linux zotengera makina

Zofunikira za LXD - Linux zotengera makina

Chithunzi cha LXD ndiye woyang'anira chidebe chotsatira cham'badwo wotsatira, ikutero gwero. Amapereka mawonekedwe ogwiritsira ntchito ofanana ndi makina enieni, koma amagwiritsa ntchito zotengera za Linux m'malo mwake.

Mtengo wapatali wa magawo LXD ndi daemon yamwayi (ntchito yomwe ikuyenda ndi maufulu a mizu) yomwe imapereka REST API kudzera pa socket ya unix, komanso kudzera pa netiweki ngati kasinthidwe koyenera kayikidwa. Makasitomala, monga chida cholamula choperekedwa ndi LXD, amapempha kudzera mu REST API iyi. Izi zikutanthauza kuti kaya mukupeza wolandila wamba kapena wolandila kutali, zonse zimagwira ntchito mofanana.

M'nkhaniyi, sitikhala mwatsatanetsatane pamalingaliro a LXD; sitingaganizire mphamvu zonse zomwe zafotokozedwa muzolemba, kuphatikizapo kukhazikitsidwa kwaposachedwa kwa LXD yothandizira makina a QEMU ofanana ndi zotengera. M'malo mwake, tingophunzira zoyambira pakuwongolera ziwiya - kukhazikitsa maiwe osungira, ma network, kuyendetsa chidebe, kugwiritsa ntchito malire azinthu, komanso momwe mungagwiritsire ntchito zithunzithunzi kuti mutha kumvetsetsa bwino za LXD ndikugwiritsa ntchito zotengera pa Linux.

Kuti mudziwe zambiri, chonde onani gwero lovomerezeka:

Kuyenda

Kukhazikitsa LXD ^

Kuyika LXD pamagawidwe a Ubuntu ^

Mu phukusi logawa la Ubuntu 19.10 lxd ali ndi wailesi snap paketi:

apt search lxd

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

Izi zikutanthauza kuti mapaketi awiri adzayikidwa nthawi imodzi, imodzi ngati phukusi ladongosolo ndipo inayo ngati phukusi lachidule. Kuyika mapaketi awiri pamakina kungayambitse vuto pomwe phukusi ladongosolo litha kukhala amasiye ngati phukusi la snap lichotsedwa ndi woyang'anira phukusi la snap.

Pezani phukusi lxd mu snap repository mutha kugwiritsa ntchito lamulo ili:

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

Poyendetsa lamulo list mukhoza kuonetsetsa kuti phukusi lxd sichinayikidwebe:

snap list

Name  Version    Rev   Tracking  Publisher   Notes
core  16-2.43.3  8689  stable    canonicalβœ“  core

Ngakhale kuti LXD ndi phukusi lachidule, liyenera kukhazikitsidwa kudzera mu phukusi ladongosolo lxd, yomwe idzapanga gulu lofananira mu dongosolo, zofunikira zofunika mu /usr/bin ndi zina zotero.

sudo apt update
sudo apt install lxd

Tiyeni tiwonetsetse kuti phukusili layikidwa ngati phukusi lachidule:

snap list

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

Kuyika LXD pa magawo a Arch Linux ^

Kuti muyike phukusi la LXD pamakina, muyenera kuyendetsa malamulo otsatirawa, choyamba chidzasintha mndandanda wa phukusi pa dongosolo lomwe likupezeka m'malo osungiramo zinthu, lachiwiri lidzayika phukusi mwachindunji:

sudo pacman -Syyu && sudo pacman -S lxd

Pambuyo kukhazikitsa phukusi, kuti muthe kuyang'anira LXD ndi wogwiritsa ntchito nthawi zonse, iyenera kuwonjezeredwa ku gulu la dongosolo lxd:

sudo usermod -a -G lxd user1

Tiyeni titsimikizire wosuta user1 owonjezera ku gulu lxd:

id -Gn user1

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

Ngati gulu lxd sichikuwoneka pamndandanda, ndiye muyenera kuyambitsanso gawo la ogwiritsa ntchito. Kuti muchite izi, muyenera kutuluka ndikulowa pansi pa wosuta yemweyo.

Yambitsani mkati systemd kutsitsa ntchito ya LXD pakuyambitsa dongosolo:

sudo systemctl enable lxd

Tiyeni tiyambe ntchito:

sudo systemctl start lxd

Kuyang'ana momwe ntchito ikuyendera:

sudo systemctl status lxd

Kusungirako LXD (Kusungira) ^

Kuyambitsa kusanayambe, tiyenera kumvetsetsa momwe kusungirako mu LXD kumakonzedweratu.

Kusungirako (yosungirako) ali kuchokera kwa mmodzi kapena angapo Dziwe Losungira yomwe imagwiritsa ntchito imodzi mwamafayilo omwe amathandizidwa monga ZFS, BTRFS, LVM kapena zolozera nthawi zonse. Aliyense Dziwe Losungira imagawidwa m'magulu (Yosungirako Volume) zomwe zili ndi zithunzi, zotengera, kapena data pazolinga zina.

  • Zithunzi - awa ndi magawo omwe amasonkhanitsidwa mwapadera opanda Linux kernel ndipo amapezeka kuchokera kunja
  • Zotengera - awa ndi magawidwe operekedwa kuchokera pazithunzi, okonzeka kugwiritsidwa ntchito
  • Zithunzi - awa ndizithunzithunzi za momwe mulili zotengera zomwe mutha kubwererako

Zofunikira za LXD - Linux zotengera makina

Kuti musamalire kusungirako mu LXD, gwiritsani ntchito lamulo lxc storage satifiketi yomwe mungapeze pofotokoza fungulo - lxc storage --help

Lamulo lotsatirali likuwonetsa mndandanda wa zonse Dziwe Losungira mu LXD yosungirako:

lxc storage list

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

Kuti muwone mndandanda wazonse Yosungirako Volume mu osankhidwa Dziwe Losungira amatumikira timu 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       |
+-----------+----------------------------------+-------------+---------+

Komanso, ngati kwa Dziwe Losungira Mukapanga, fayilo ya BTRFS idasankhidwa, kenako pezani mndandanda Yosungirako Volume kapena kugonjetsedwa pakutanthauzira kwa BTRFS, mutha kugwiritsa ntchito zida zamafayilo awa:

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

Kuyamba kwa LXD ^

Musanapange ndi kugwiritsa ntchito zotengera, muyenera kuchita zoyambira za LXD zomwe zimapanga ndikukonza netiweki ndi kusungirako. Izi zitha kuchitika pamanja pogwiritsa ntchito malamulo okhazikika a kasitomala omwe amapezeka pamndandanda poyimba lamulo lxc --help kapena kugwiritsa ntchito wizard yoyambira lxd init kuyankha mafunso angapo.

Kusankha dongosolo la mafayilo a Pool Pool ^

Poyambitsa, LXD imafunsa mafunso angapo, kuphatikiza kudziwa mtundu wamafayilo osasintha Dziwe Losungira. Mwachikhazikitso, fayilo ya fayilo ya BTRFS imasankhidwa. Zidzakhala zosatheka kusinthira ku FS ina pambuyo pa chilengedwe. Kuti musankhe FS ndizoyenera tebulo lofananiza:

mbali
Directory
Ma Btrf
LVM
ZFS
CEPH

Kusungidwa kwazithunzi kokwanira
ayi
inde
inde
inde
inde

Kupanga chitsanzo chokometsedwa
ayi
inde
inde
inde
inde

Kupanga chithunzithunzi chokometsedwa
ayi
inde
inde
inde
inde

Kusamutsa chithunzi chokongoletsedwa
ayi
inde
ayi
inde
inde

Kusamutsa chitsanzo chokometsedwa
ayi
inde
ayi
inde
inde

Koperani polemba
ayi
inde
inde
inde
inde

Block zochokera
ayi
ayi
inde
ayi
inde

Instant cloning
ayi
inde
inde
inde
inde

Dalaivala yosungira yogwiritsidwa ntchito mkati mwa chidebe
inde
inde
ayi
ayi
ayi

Bwezeretsani kuchokera kuzithunzi zakale (osati zaposachedwa)
inde
inde
inde
ayi
inde

Magawo osungira
inde(*)
inde
inde
inde
ayi

Kuyambitsa ma network ndi Storage Pool pogwiritsa ntchito wizard ^

Lamulo lotsatira lomwe tiwona likuwonetsa kukhazikitsa zigawo zazikulu za LXD poyankha mafunso osavuta pogwiritsa ntchito wizard yoyambira.

Thamangani lamulo lxc init ndipo lowetsani mayankho a mafunso pambuyo pa colon monga momwe zasonyezedwera mu chitsanzo pansipa kapena musinthe malinga ndi mikhalidwe yanu:

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

Kupanga Zina Zina Zosungirako ^

Mu sitepe yapitayi tinapanga Dziwe Losungira amene anapatsidwa dzina ssdpool ndi fayilo yomwe ili pa dongosolo langa pa /var/lib/lxd/disks/ssdpool.img. Adilesi yamafayilo iyi ikufanana ndi ma SSD akuthupi pa PC yanga.

Zochita zotsatirazi, kukulitsa kumvetsetsa kwa ntchito yomwe idasewera Dziwe Losungira m'malo osungirako, tidzapanga yachiwiri Dziwe Losungira yomwe idzakhala pamtundu wina wa disk, HDD. Vuto ndiloti LXD sikukulolani kuti mupange Dziwe Losungira kunja kwa adilesi /var/lib/lxd/disks/ ndipo ngakhale maulalo ophiphiritsa sangagwire ntchito, onani yankho la wopanga. Titha kudumpha izi pakuyambitsa / kupanga Dziwe Losungira pofotokoza mtengo wake ngati chipangizo chotchinga m'malo mwa njira yopita ku fayilo ya loopback pofotokoza izi mu kiyi source.

Choncho, pamaso kulenga Dziwe Losungira muyenera kufotokozera fayilo ya loopback kapena magawo omwe alipo pa fayilo yanu yomwe idzagwiritse ntchito. Kuti tichite izi, tipanga ndikugwiritsa ntchito fayilo yomwe tikhala nayo kukula mpaka 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

Tiyeni tilumikizane ndi fayilo ya loopback ku chipangizo chaulere cha loopback:

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

/dev/loop1

Chifukwa cha kiyi --show Kutsatira lamuloli kumabwereranso pazenera dzina la chipangizo chomwe fayilo yathu ya loopback imalumikizidwa. Ngati ndi kotheka, titha kuwonetsa mndandanda wa zida zonse zotanganidwa zamtunduwu kuti tiwonetsetse kuti zomwe tachita ndi zolondola:

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

Kuchokera mndandanda mungapeze kuti chipangizo ali /dev/loop1 loopback wapamwamba m'gulu /mnt/work/lxd/hddpool.img, ndi mu chipangizo /dev/loop0 loopback wapamwamba m'gulu /var/lib/lxd/disks/ssdpool.img zomwe zimagwirizana ndi zosasintha Dziwe Losungira.

Lamulo lotsatirali limapanga latsopano Dziwe Losungira mu LXD kutengera fayilo ya loopback yomwe tangokonzekera. LXD ipanga fayilo ya loopback /mnt/work/lxd/hddpool.img mu chipangizocho /dev/loop1 pa fayilo ya BTRFS:

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

Tiyeni tiwonetse mndandanda wazonse Dziwe Losungira ku skrini:

lxc storage list

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

Kuchulukitsa Kukula Kwa Dziwe Losungira ^

Pambuyo polenga Dziwe Losungira, ngati kuli kofunikira, ikhoza kukulitsidwa. Za Dziwe Losungira kutengera fayilo ya BTRFS, yendetsani malamulo awa:

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

Kulowetsa mokhazikika fayilo ya loopback mu kagawo kachipangizo ka loopback ^

Tili ndi vuto limodzi laling'ono, poyambitsanso makina osungira, fayilo /mnt/work/lxd/hddpool.img "kuwuluka" kunja kwa chipangizocho /dev/loop1 ndipo ntchito ya LXD idzawonongeka ikatsegula chifukwa sichiziwona mu chipangizochi. Kuti muthane ndi vutoli muyenera kupanga ntchito yamakina yomwe ingalowetse fayiloyi mu chipangizocho /dev/loop1 pamene dongosolo host host jombo.

Tiyeni tipange Unit mtundu wa fayilo utumiki Π² /etc/systemd/system/ kwa SystemD kuyambitsa dongosolo:

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

Yambitsani ntchito:

sudo systemctl enable lxd-hddpool

Created symlink /etc/systemd/system/local-fs.target.wants/lxd-hddpool.service β†’ /etc/systemd/system/lxd-hddpool.service.

Pambuyo poyambitsanso makina osungira, timayang'ana momwe ntchito ilili:

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

Kuchokera pazotuluka tikhoza kutsimikizira kuti ntchitoyo ili yogwira, ngakhale kuti script yathu kuchokera ku lamulo limodzi inamalizidwa, chisankhocho chinatilola kuchita izi. RemainAfterExit=true.

Chitetezo. Mwayi wa Container ^

Popeza njira zonse zotengera chidebe zimayendera paokha pamakina ogwiritsira ntchito pogwiritsa ntchito kernel yake, kuti atetezerenso mwayi wofikira pamakina opangira, LXD imapereka mwayi wantchito, pomwe:

  • Zotengera Zamwayi - awa ndi matumba omwe njira zokhala ndi UID ndi GID zimayenderana ndi eni ake omwe ali pamakina olandila. Mwachitsanzo, ndondomeko yomwe ikuyenda mu chidebe chokhala ndi UID ya 0 ili ndi ufulu wopeza wofanana ndi ndondomeko ya makina osungira omwe ali ndi UID ya 0. Mwa kuyankhula kwina, wogwiritsa ntchito mizu muchotengera ali ndi ufulu wonse osati mu chidebe, komanso pa dongosolo khamu ngati iye angakhoze kupita kunja kwa chidebe a akutali namespace.

  • Zotengera zopanda mwayi - awa ndi matumba omwe njira zake zimakhala za eni ake a UID ndi GID okhala ndi manambala kuyambira 0 mpaka 65535, koma pamakina ochitira mwiniwakeyo amabisika pogwiritsa ntchito ma bits a SubUID ndi SubGID, motsatana. Mwachitsanzo, wogwiritsa ntchito UID = 0 mu chidebe adzawoneka pamakina olandila ngati SubUID + UID. Izi zimateteza makina ochitira alendo chifukwa ngati njira iliyonse mu chidebe imatha kuthawa malo ake akutali, imatha kuyankhulana ndi makina osungira monga njira yosadziwika, UID / GID yapamwamba kwambiri.

Mwachikhazikitso, zotengera zomwe zangopangidwa kumene zili ndi mwayi wopanda pake chifukwa chake tiyenera kufotokozera SubUID ndi SubGID.

Tiyeni tipange mafayilo awiri osinthira momwe tidzakhazikitsira chigoba cha SubUID ndi SubGID, motsatana:

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

Kuti mugwiritse ntchito zosinthazi, ntchito ya LXD iyenera kuyambiranso:

sudo systemctl restart lxd

Kupanga kusintha kwa netiweki ^

Popeza tidayambitsa kale ma netiweki pogwiritsa ntchito wizard yoyambira lxd init ndipo adapanga chipangizo cha netiweki lxdbr0, ndiye m'chigawo chino tingodziwana ndi maukonde mu LXD ndi momwe mungapangire chosinthira (mlatho) pogwiritsa ntchito lamulo la kasitomala.

Chithunzi chotsatirachi chikuwonetsa momwe switch (mlatho) imalumikizira wolandila ndi zotengera mu netiweki:

Zofunikira za LXD - Linux zotengera makina

Zotengera zimatha kulumikizana kudzera pa netiweki ndi zotengera zina kapena malo omwe zotengerazi zimatumizidwa. Kuti muchite izi, muyenera kulumikiza makhadi a netiweki omwe ali ndi makina osinthira. Tipanga masinthidwe kaye, ndipo mawonekedwe a netiweki a chidebe adzalumikizidwa m'mitu yotsatira, chidebecho chikapangidwa.

Lamulo lotsatirali limapanga kusinthana ndi subnet 10.0.5.0/24 ndi IPv4 adilesi 10.0.5.1/24, komanso zikuphatikizapo ipv4.nat kotero kuti zotengera zitha kulowa pa intaneti kudzera mwa wolandirayo pogwiritsa ntchito ntchito ya NAT:

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

Kuyang'ana mndandanda wazida zamtaneti zomwe zikupezeka mu LXD:

lxc network list

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

Mutha kutsimikiziranso kuti chida cha netiweki chapangidwa pogwiritsa ntchito chida chokhazikika pakugawa kwa Linux - ip link kapena 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

Kusintha Mbiri ^

Chidebe chilichonse mu LXD chili ndi masinthidwe ake ndipo chimatha kuchikulitsa ndi masinthidwe olengezedwa padziko lonse lapansi otchedwa masinthidwe mbiri. Kugwiritsa ntchito machunidwe ku chidebe kumakhala ndi mtundu wa cascade, chitsanzo chotsatirachi chikuwonetsa izi:

Zofunikira za LXD - Linux zotengera makina

Muchitsanzo ichi, mbiri zitatu zapangidwa mu dongosolo la LXD: default, hddpool ΠΈ hostfs. Mbiri zonse zitatu zimagwiritsidwa ntchito pachidebe chomwe chili ndi masinthidwe am'deralo (dera la imvi). Mbiri default ali ndi chipangizo root yomwe ili ndi parameter pool ndizofanana ndi ssdpool, koma chifukwa cha mawonekedwe a cascade kasinthidwe kachitidwe, titha kugwiritsa ntchito mbiri pachidebe hddpool yomwe ili ndi parameter pool idzachotsa gawo lomwelo kuchokera pambiri default ndipo chidebe chidzalandira kasinthidwe kachipangizo root ndi parameter pool ofanana hddpool, ndi mbiri hostfs amangowonjezera chipangizo chatsopano ku chidebe.

Kuti muwone mndandanda wazosintha zomwe zilipo, gwiritsani ntchito lamulo ili:

lxc profile list

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

Mndandanda wathunthu wa malamulo omwe alipo ogwirira ntchito ndi mbiri angapezeke powonjezera fungulo --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

Kusintha mbiri yanu ^

Mbiri yosinthira yosasinthika default alibe kasinthidwe khadi maukonde kwa chidebe ndi onse amene analengedwa kumene alibe maukonde, kwa iwo m`pofunika kulenga m`dera (odzipereka) zipangizo maukonde ndi lamulo losiyana, koma tikhoza kupanga padziko lonse Intaneti chipangizo kasinthidwe. mbiri yomwe idzagawidwa pakati pa zotengera zonse pogwiritsa ntchito mbiriyi. Mwanjira iyi, atangolamula kuti apange chidebe chatsopano, adzakhala ndi netiweki yokhala ndi intaneti. Nthawi yomweyo, palibe zoletsa; nthawi zonse titha kupanga chida chapaintaneti chapafupi ngati kuli kofunikira.

Lamulo lotsatirali lidzawonjezera chipangizocho ku mbiri yokonzekera eth0 mtundu nic olumikizidwa ku netiweki lxdbr0:

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

Ndikofunikira kudziwa kuti popeza tidawonjezera chipangizochi pazithunzi zosinthira, ngati tidatchula adilesi ya IP pazida, ndiye kuti zotengera zonse zomwe zigwiritse ntchito mbiriyi zidzagawana adilesi ya IP yomweyo. Ngati pakufunika kupanga chidebe chokhala ndi adilesi ya IP yosasunthika yoperekedwa kwa chidebecho, ndiye kuti muyenera kupanga kasinthidwe ka chipangizo cha netiweki pamlingo wa chidebe (kusintha kwanuko) ndi adilesi ya IP, osati pamlingo wambiri.

Tiyeni tiwone mbiri yake:

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

Mu mbiriyi titha kuwona kuti pazotengera zonse zomwe zangopangidwa kumene zida ziwiri zidzapangidwa:

  • eth0 - Mtundu wa chipangizo nic cholumikizidwa ndi switch (network bridge) lxdbr0
  • root - Mtundu wa chipangizo disk yomwe imagwiritsa ntchito dziwe losungiramo zinthu ssdpool

Kupanga mbiri yatsopano ^

Kuti mugwiritse ntchito zomwe zidapangidwa kale Dziwe Losungira zotengera, pangani mbiri yosinthira ssdroot momwe tidzawonjezera chipangizo ngati disk ndi mount point / (mizu) pogwiritsa ntchito zomwe zidapangidwa kale Dziwe Losungira - ssdpool:

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

Mofananamo, timapanga chipangizo ngati disk, koma mu nkhani iyi ntchito Dziwe Losungira - hddpool:

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

Kuyang'ana ma profailo osinthira:

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

Malo osungirako zithunzi ^

Zotengera zimapangidwa kuchokera ku zithunzi zomwe zimagawidwa mwapadera zomwe zilibe kernel ya Linux. Choncho, musanagwiritse ntchito chidebecho, chiyenera kutumizidwa kuchokera ku chithunzichi. Gwero la zithunzi ndi malo am'deralo momwe zithunzi zimatsitsidwa kuchokera kumalo osungirako akunja.

Zosungira zithunzi zakutali ^

Mwachikhazikitso, LXD imakonzedwa kuti ilandire zithunzi kuchokera kumadera atatu akutali:

  • ubuntu: (kwa zithunzi zokhazikika za Ubuntu)
  • ubuntu-day: (kwa zithunzi za tsiku ndi tsiku za Ubuntu)
  • zithunzi: (kwa gulu la ma distros ena)

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

Mwachitsanzo, posungira ubuntu: ili ndi zithunzi izi:

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

Kuti tiwonetse chiwerengero chochepa cha mizati tinagwiritsa ntchito njirayo -c ndi magawo dasut, komanso kuchepetsa kutalika kwa mndandanda ndi lamulo head.

Kusefa kulipo kuti muwonetse mndandanda wazithunzi. Lamulo lotsatirali lilemba zolemba zonse zomwe zilipo zogawa 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        |
+------------------------------+--------------------------------------+--------------+

Malo osungirako zithunzi ^

Kuti muyambe kugwiritsa ntchito chidebecho, muyenera kuwonjezera chithunzi kuchokera kunkhokwe yapadziko lonse lapansi kupita kumalo komweko local:. Tsopano malo osungiramo malo alibe kanthu, lamulo lidzatsimikizira izi lxc image list. Ngati njira list musatchule malo osungira, ndiye kuti chosungirako chidzagwiritsidwa ntchito mwachisawawa - local:

lxc image list local:

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

Zithunzi zomwe zili munkhokwe zimayendetsedwa pogwiritsa ntchito njira izi:

timu
mafotokozedwe

lxc chithunzi alias
Konzani zilembo zazithunzi

lxc chithunzi munditumizire
Koperani zithunzi pakati pa maseva

lxc chithunzi chotsani
Chotsani zithunzi

lxc chithunzi Sinthani
Sinthani mawonekedwe azithunzi

lxc chithunzi katundu
Tumizani kunja ndikutsitsa zithunzi

lxc chithunzi inatha
Lowetsani zithunzi mu sitolo ya zithunzi

lxc chithunzi Dziwani
Onetsani zambiri zothandiza pazithunzi

lxc chithunzi mndandanda
Lembani zithunzi

lxc chithunzi kulunzanitsa
Tsitsaninso zithunzi

lxc chithunzi bwanji
Onetsani mawonekedwe azithunzi

Koperani chithunzichi kunkhokwe yapafupi kuchokera kudziko lonse lapansi images::

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

Image copied successfully!

Tiyeni tiwonetse mndandanda wazithunzi zonse zomwe zikupezeka munkhokwe yapafupi local::

lxc image -c lfdatsu list local:

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

Kusintha kwa LXD ^

Kuphatikiza pa njira yolumikizirana, LXD imathandiziranso njira yokhazikitsira yosasinthika, apa ndipamene kasinthidwe kamene kamafotokozedwera mu fayilo ya YAML, mawonekedwe apadera omwe amakulolani kuti muyike masinthidwe onse nthawi imodzi, kudutsa kuphedwa. mwa malamulo ambiri ochezera omwe adakambidwa pamwambapa m'nkhaniyi, kuphatikiza kasinthidwe ka netiweki, kupanga mbiri yosinthira, ndi zina zambiri. Sitikhudza gawoli pano, mutha kudziwonera nokha. mu zolembedwa.

Lamulo lotsatira lothandizira lxc config zomwe tiwona zimakulolani kuti muyike kasinthidwe. Mwachitsanzo, kuwonetsetsa kuti zithunzi zomwe zidatsitsidwa kunkhokwe zakumaloko sizisinthidwa zokha kuchokera kunkhokwe zapadziko lonse lapansi, titha kuchita izi ndi lamulo ili:

lxc config set images.auto_update_cached=false

Kupanga ndi kusamalira chotengera ^

Kuti mupange chidebe gwiritsani ntchito lamulo lxc init zomwe zimaperekedwa Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:ΠΎΠ±Ρ€Π°Π· ndiyeno ID yomwe mukufuna ya chidebecho. Chosungiracho chikhoza kufotokozedwa ngati chapafupi local: momwemonso dziko lililonse. Ngati chosungira sichinatchulidwe, ndiye kuti mwachisawawa chosungirako chimagwiritsidwa ntchito kufufuza chithunzicho. Ngati chithunzicho chatchulidwa kuchokera kunkhokwe yapadziko lonse lapansi, ndiye kuti chithunzicho chidzatsitsidwa kaye kunkhokwe ya komweko ndiyeno kugwiritsidwa ntchito popanga chidebecho.

Tiyeni tiyendetse lamulo ili kuti tipange chidebe chathu choyamba:

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

Tiyeni tiwone makiyi olamula omwe timagwiritsa ntchito pano kuti:

  • alpine3 - Chizindikiro (chidziwitso) chafotokozedwa pa chithunzi chomwe chidakwezedwa m'malo osungirako. Ngati alias sanalengedwe pa chithunzichi, ndiye kuti mutha kutchula chithunzicho ndi chake Zojambulajambula zomwe zikuwonetsedwa mu tebulo.
  • alp - Amakhazikitsa chizindikiritso cha chidebecho
  • --storage - Chinsinsi ichi chikusonyeza kuti Dziwe Losungira chidebe chidzapangidwa
  • --profile - Makiyi awa amasefukira akugwiritsa ntchito kasinthidwe kuchokera pamafayilo osinthidwa omwe adapangidwa kale kupita ku chidebe

Timakhazikitsa chidebe, chomwe chimayamba kuyambitsa init system yogawa:

lxc start alp

Mukhozanso kugwiritsa ntchito lamulo lxc launch zomwe zimakulolani kuti muphatikize magulu lxc init ΠΈ lxc start mu ntchito imodzi.

Kuyang'ana momwe chidebecho chilili:

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

Kuyang'ana kasinthidwe kachidebe:

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

Mu gawo profiles titha kuwonetsetsa kuti chidebechi chimagwiritsa ntchito mbiri zosinthira - default ΠΈ hddroot. Mu gawo devices tikhoza kuzindikira chipangizo chimodzi chifukwa chipangizo cha netiweki chinapangidwa pamlingo wambiri default. Kuti muwone zida zonse zomwe zimagwiritsidwa ntchito ndi chidebe muyenera kuwonjezera kiyi --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: ""

Kukhazikitsa adilesi ya IP yokhazikika ^

Ngati tiyesa kukhazikitsa adilesi ya IP ya chipangizo cha intaneti eth0 gulu lxc config device set alp cholinga chokonzekera chidebe, ndiye tidzalandira cholakwika chomwe chidzanene kuti chipangizocho kulibe chifukwa chipangizocho eth0 chomwe chimagwiritsidwa ntchito ndi chidebecho ndi cha mbiri default:

lxc config device set alp eth0 ipv4.address 10.0.5.5

Error: The device doesn't exist

Titha kukhazikitsa adilesi ya IP yokhazikika eth0 zida zomwe zili mumbiri, koma zikhala chimodzimodzi pazotengera zonse zomwe zigwiritse ntchito mbiriyi. Chifukwa chake, tiyeni tiwonjezere chipangizo choperekedwa ku chidebecho:

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

Kenako muyenera kuyambitsanso chidebe:

lxc restart alp

Ngati tiwona kasinthidwe kachidebe tsopano, sitiyenera kugwiritsa ntchito njirayo --expanded kuti muwone chipangizo cha netiweki eth0, popeza tidachipanga pamlingo wa chidebe ndipo chidatsika pachida chomwecho kuchokera pambiri 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: ""

Kuchotsa chidebe ^

Kuti muchotse chidebe, gwiritsani ntchito lamulo lxc delete, koma musanachotse chidebecho, chiyenera kuyimitsidwa pogwiritsa ntchito lamulo lxc stop:

lxc stop alp

lxc list

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

Titatsimikizira kuti momwe chidebecho chakhalira YOPHIDWA, ikhoza kuchotsedwa Dziwe Losungira:

lxc delete alp

Kufikira kotengera ^

Kuti mupereke malamulo mu chidebe mwachindunji, kudutsa maukonde a netiweki, gwiritsani ntchito lamulo lxc exec yomwe imapanga malamulo mu chidebe popanda kuyambitsa chipolopolo cha dongosolo. Ngati mukufuna kupereka lamulo mu chipolopolo pogwiritsa ntchito zipolopolo monga zosinthika, zolozera mafayilo (chitoliro), ndi zina zotero, ndiye kuti muyenera kutsegula chipolopolocho ndikupereka lamulo ngati kiyi, mwachitsanzo:

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

Lamuloli linagwiritsa ntchito khalidwe lapadera lothawa kwa khalidwe lapadera $ kuti kusintha $HOME sichinamasuliridwe pa makina osungira, koma chinatanthauziridwa mkati mwa chidebecho.

Ndizothekanso kuyambitsa njira yolumikizirana ya chipolopolo, ndikumaliza gawolo pochita hotkey CTRL+D:

lxc exec alp -- /bin/sh

Container Resource Management ^

Mu LXD, mutha kuyang'anira zotengera zotengera pogwiritsa ntchito masinthidwe apadera. Mndandanda wathunthu wamakonzedwe a chidebe ungapezeke mu zolembedwa.

Kuchepetsa kwazinthu za RAM ^

chizindikiro limits.memory imachepetsa kuchuluka kwa RAM yomwe ikupezeka pachidebe. Mtengo ndi nambala ndi chimodzi mwa ma suffixes omwe alipo.

Tiyeni tiyike malire a RAM a chidebecho kukhala 256 MB:

lxc config set alp limits.memory 256MB

Komanso, pali magawo ena ochepetsa kukumbukira:

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

timu lxc config show zimakupatsani mwayi wowonetsa masinthidwe a chidebe chonse, kuphatikiza malire omwe adayikidwa:

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

Malire azinthu za CPU ^

Pali njira zingapo zochepetsera zida za CPU. mitundu ya zoletsa:

  • limit.cpu - amamanga chidebe chimodzi kapena zingapo za CPU cores
  • limits.cpu.allowance - imayang'anira ma CFS scheduler quotas pomwe nthawi yadutsa, kapena njira yogawana zida zonse za CPU pomwe kuchuluka kwadutsa
  • limits.cpu.priority - Chofunika kwambiri pamwambo pamene maulendo angapo ogawana ma processor apatsidwa gawo limodzi la mapurosesa

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

Kuchepetsa malo a disk ^

Kuwonjezera zoletsa zimenezi limits.read, limits.write tithanso kuchepetsa kuchuluka kwa malo a disk omwe amadyedwa ndi chidebe (chimagwira ntchito ndi ZFS kapena BTRFS):

lxc config device set alp root size=2GB

Pambuyo unsembe, mu chizindikiro devices.root.size Titha kutsimikizira malire omwe adayikidwa:

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

Kuti muwone ma quotas a disk omwe agwiritsidwa ntchito titha kupeza kuchokera ku lamulo 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

Ngakhale kuti takhazikitsa malire a chipangizo muzu wa chidebe kwa 2GB, dongosolo zida monga df sindiwona chiletso ichi. Kuti tichite izi, tipanga mayeso ang'onoang'ono ndikupeza momwe zimagwirira ntchito.

Tiyeni tipange zotengera zatsopano ziwiri zofanana Dziwe Losungira (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         |
+------+---------+------------------+------+-----------+-----------+

Tiyeni tipange fayilo ya 1GB mu imodzi mwazotengerazo:

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

Tiyeni tiwonetsetse kuti fayilo idapangidwa:

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

Ngati tiyang'ana mu chidebe chachiwiri, fufuzani kuti pali fayilo pamalo omwewo, ndiye kuti fayiloyi siidzakhalapo, yomwe ikuyembekezeka, chifukwa zitsulo zimapangidwa mwazokha. Yosungirako Volume momwemonso Dziwe Losungira:

lxc exec alp2 -- ls -lh
total 0

Koma tiyeni tifanizire zomwe zimapanga df pa chidebe chimodzi ndi china:

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

chipangizo /dev/loop1 wokwezedwa monga kugawa mizu Dziwe Losungira zomwe zidazi zimagwiritsa ntchito, motero amagawana kuchuluka kwake pakati pa ziwiri.

Ziwerengero zogwiritsa ntchito zida ^

Mutha kuwona ziwerengero zamagwiritsidwe ntchito pa chidebe pogwiritsa ntchito lamulo ili:

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

Kugwira ntchito ndi zithunzi ^

LXD imatha kupanga zithunzithunzi ndikubwezeretsanso chidebe kuchokera kwa iwo.

Kuti mupange chithunzithunzi, yesani lamulo ili:

lxc snapshot alp snapshot1

Gulu lxc snapshot palibe kiyi yomwe ilipo list, kotero, kuti muwone mndandanda wazithunzi zomwe muyenera kugwiritsa ntchito lamulo lomwe likuwonetsa zambiri za chidebecho:

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

Mutha kubwezeretsa chidebe kuchokera pa chithunzithunzi pogwiritsa ntchito lamulo lxc restore kufotokozera chidebe chomwe kubwezeretsedwako kudzachitikire ndi chithunzithunzi chodziwika bwino:

lxc restore alp snapshot1

Lamulo lotsatirali limagwiritsidwa ntchito kufufuta chithunzithunzi. Chonde dziwani kuti mawu am'mawu sali ofanana ndi ena onse; apa muyenera kufotokoza slash yakutsogolo pambuyo pa dzina lachidebe. Ngati slash yasiyidwa, ndiye kuti lamulo lochotsa chithunzithunzi limatanthauziridwa ngati lamulo lochotsa chidebe!

lxc delete alp/snapshot1

Mu chitsanzo pamwambapa, tidayang'ana zomwe zimatchedwa zopanda malire. LXD ili ndi mtundu wina wazithunzi - zomveka, zomwe zimasunga momwe zinthu ziliri mu chidebecho. Pali zinthu zingapo zosangalatsa komanso zothandiza zomwe zimagwirizanitsidwa ndi zithunzi zodziwika bwino.

China ndi chiyani? ^

ZOCHITIKA 10.04.2020/15/00 XNUMX:XNUMX: Kuwonjezedwa kwakuyenda

Source: www.habr.com

Kuwonjezera ndemanga