Vaega autu o LXD - Linux container systems

Vaega autu o LXD - Linux container systems

LXD o le isi augatupulaga system container manager, o lea e fai mai ai punavai. E ofoina atu se faʻaoga faʻaoga tutusa ma masini masini, ae faʻaaoga pusa Linux nai lo.

LXD autu o se daemon fa'apitoa (o se 'au'aunaga o lo'o fa'agaoioia ma aia tatau) e maua ai le REST API e ala i se socket unix i le lotoifale, fa'apea fo'i ma le feso'ota'iga pe a fa'apipi'i le fa'atulagaga talafeagai. O tagata fa'atau, e pei o le mea faigaluega laina fa'atonu e tu'uina atu i le LXD, fai talosaga e ala i lenei REST API. O lona uiga pe o e ulufale atu i se tagata talimalo i le lotoifale poʻo se talimalo mamao, e tutusa mea uma.

I totonu o lenei tusiga o le a tatou le nonofo auiliili i mataupu o le LXD, o le a tatou le mafaufau i mea gafatia uma o loʻo faʻamatalaina i totonu o faʻamaumauga, e aofia ai le faʻatinoga talu ai nei i lomiga lata mai o le LXD o le lagolago mo QEMU masini masini e tutusa ma pusa. Nai lo lena, o le a matou aʻoaʻoina naʻo le faʻavae o le puleaina o pusa - faʻatulagaina o vaitaele e teu ai, networking, faʻaogaina o se atigipusa, faʻaogaina tapulaʻa punaoa, ma pe faʻapefea ona faʻaogaina ata ina ia mafai ai ona e maua se malamalamaga autu o le LXD ma faʻaoga pusa ile Linux.

Mo faʻamatalaga atoatoa, faʻamolemole faʻafesoʻotaʻi le puna aloaia:

Faʻasalaga

Fa'apipi'i LXD ^

Faʻapipiʻi LXD i faʻasalalauga Ubuntu ^

I le Ubuntu 19.10 fa'asoa fa'asoa lxd o lo'o iai se fa'asalalauga fa'apipi'i afifi:

apt search lxd

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

O lona uiga e lua afifi o le a faʻapipiʻi i le taimi e tasi, tasi o se pusa faʻapipiʻi ma le isi o se pusa faʻapipiʻi. O le fa'apipi'iina o afifi e lua i luga o se faiga e ono tula'i mai ai se fa'afitauli e ono matua'i matuaoti ai le afifi o le polokalama pe a aveese le afifi fa'apipi'i e le pule o pusa fa'apipi'i.

Su'e afifi lxd i totonu o le snap repository e mafai ona e faʻaogaina le poloaiga lenei:

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

E ala i le faʻatinoina o le faʻatonuga list e mafai ona e mautinoa o le afifi lxd e le'i fa'apipi'iina:

snap list

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

E ui i le mea moni o le LXD o se pusa faʻapipiʻi, e tatau ona faʻapipiʻi e ala i le pusa polokalama lxd, lea o le a fatuina ai le vaega tutusa i totonu o le faiga, mea aoga talafeagai i /usr/bin ma isi.

sudo apt update
sudo apt install lxd

Sei o tatou mautinoa o loʻo faʻapipiʻiina le afifi o se pusa faʻapipiʻi:

snap list

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

Fa'apipi'i LXD i fa'asoaga Arch Linux ^

Ina ia faʻapipiʻi le pusa LXD i luga o le polokalama, e tatau ona e faʻatinoina tulafono nei, o le muamua o le a faʻafouina le lisi o afifi i luga o le polokalama o loʻo maua i le fale teu oloa, o le lona lua o le a faʻapipiʻi saʻo le afifi:

sudo pacman -Syyu && sudo pacman -S lxd

A maeʻa ona faʻapipiʻi le afifi, ina ia faʻatautaia le LXD e se tagata faʻaoga masani, e tatau ona faʻaopoopo i le vaega o le polokalama lxd:

sudo usermod -a -G lxd user1

Sei o tatou mautinoa le tagata faʻaoga user1 faaopoopo i vaega lxd:

id -Gn user1

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

Afai o le vaega lxd e le o vaaia i le lisi, ona e manaʻomia lea e toe faʻagaoioia le tagata faʻaoga. Ina ia faia lenei mea, e tatau ona e alu i fafo ma saini i lalo o le tagata lava e tasi.

Fa'agaoioi i totonu systemd utaina le auaunaga LXD i le amataga faiga:

sudo systemctl enable lxd

Tatou amata le auaunaga:

sudo systemctl start lxd

Siaki le tulaga o auaunaga:

sudo systemctl status lxd

Teuga LXD (Teuga) ^

Aʻo leʻi amataina le amataina, e tatau ona tatou malamalama pe faʻafefea ona faʻatulagaina lelei le teuina i le LXD.

Teuina (teuina o Meaai) e aofia ai mai le tasi pe sili atu Ta'ele'ele'ele lea e fa'aogaina ai se tasi o faiga faila faila e pei ole ZFS, BTRFS, LVM po'o fa'amaumauga masani. Ta'itasi Ta'ele'ele'ele ua vaevaeina i voluma (Volume teuina) e iai ata, pusa, poʻo faʻamaumauga mo isi faʻamoemoega.

  • Ata - o fa'asalalauga fa'apitoa fa'atasia nei e aunoa ma le fatu Linux ma maua mai fa'apogai mai fafo
  • Koneteina - o lo'o tu'uina atu fa'asoa mai ata, ua sauni mo le fa'aoga
  • Ata - o ata ia o le tulaga o koneteina e mafai ona e toe fo'i iai

Vaega autu o LXD - Linux container systems

Ina ia pulea le teuina i le LXD, faʻaaoga le poloaiga lxc storage se tusi faamaonia e mafai ona e mauaina e ala i le faʻamaonia o le ki - lxc storage --help

O le fa'atonuga lea e fa'aalia ai se lisi o mea uma Ta'ele'ele'ele i LXD teuina:

lxc storage list

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

E matamata i se lisi o mea uma Volume teuina i le filifilia Ta'ele'ele'ele tautua le au 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       |
+-----------+----------------------------------+-------------+---------+

E le gata i lea, afai mo Ta'ele'ele'ele Pe a fatuina, na filifilia le faila faila BTRFS, ona maua lea o se lisi Volume teuina poʻo vailaau i le BTRFS faʻamatalaga, e mafai ona e faʻaogaina le meafaigaluega o lenei faila faila:

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

Amataina LXD ^

Aʻo leʻi faia ma faʻaogaina koneteina, e tatau ona e faia se faʻasalalauga lautele LXD e fatuina ma faʻapipiʻi le fesoʻotaʻiga ma le teuina. E mafai ona faia ma le lima e fa'aaoga ai tulafono masani a tagata o tausia o lo'o avanoa i le lisi e ala i le vala'au i le fa'atonuga lxc --help po'o le fa'aogaina o le fa'ailoga amata lxd init tali i nai fesili.

Filifilia o se faiga faila mo le Fale Teuina ^

I le taimi o le amataga, e fesiligia ai e LXD ni fesili, e aofia ai le fuafuaina o le ituaiga faila faila mo le faaletonu Ta'ele'ele'ele. Ona o le faaletonu, ua filifilia le faila faila a le BTRFS. O le a le mafai ona sui i se isi FS pe a uma le foafoaga. E fautuaina le filifilia o se FS laulau fa'atusa:

fōliga
aufaʻatonu
Btrfs
LVM
ZFS
CEPH

Fa'atonuina le teuina o ata
leai
ioe
ioe
ioe
ioe

Fa'atonu fa'ata'ita'iga fatuga
leai
ioe
ioe
ioe
ioe

Fa'ata'ita'iina le faia o ata
leai
ioe
ioe
ioe
ioe

Fa'aliliuina ata lelei
leai
ioe
leai
ioe
ioe

Fa'ata'ita'iga fa'aliliuga fa'atusa
leai
ioe
leai
ioe
ioe

Kopi ile tusi
leai
ioe
ioe
ioe
ioe

Fa'avae poloka
leai
leai
ioe
leai
ioe

Fa'ato'a fa'acloning
leai
ioe
ioe
ioe
ioe

Avetaavale teuina e mafai ona fa'aoga i totonu o se koneteina
ioe
ioe
leai
leai
leai

Toe fa'afo'i mai ata tuai (e le'o lata mai)
ioe
ioe
ioe
leai
ioe

Fa'atauga o le teuina
ioe(*)
ioe
ioe
ioe
leai

Fa'amataina le feso'ota'iga ma le Va'a Teuina e fa'aaoga ai le wizard ^

O le isi poloaiga o le a tatou vaʻavaʻai i ai o loʻo fautua mai ai le faʻatulagaina o vaega autu o le LXD e ala i le taliina o fesili faigofie e faʻaaoga ai le wizard faʻauluuluga.

Fa'atonu le fa'atonu lxc init ma ulufale tali i fesili pe a uma le koluma e pei ona faʻaalia i le faʻataʻitaʻiga o loʻo i lalo pe suia e tusa ai ma ou tulaga:

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

Fausiaina o se vaita'ele e teu ai ^

I le laasaga muamua na matou faia Ta'ele'ele'ele lea na faaigoa ai ssdpool ma le faila o loʻo i luga o laʻu polokalama i /var/lib/lxd/disks/ssdpool.img. O lenei tuatusi faakomepiuta faila e fetaui ma le SSD faaletino i laʻu PC.

O gaioiga nei, e fa'alautele ai le malamalama i le matafaioi o lo'o faia e Ta'ele'ele'ele i totonu o le fale teu oloa, o le a tatou faia se lona lua Ta'ele'ele'ele lea o le a maua faaletino i luga o se isi ituaiga o tisiki, HDD. O le fa'afitauli o le LXD e le fa'atagaina oe e fai Ta'ele'ele'ele ese mai le tuatusi /var/lib/lxd/disks/ ma e oo lava i sootaga faafaatusa o le a le aoga, va'ai le tali a le tagata atia'e. E mafai ona tatou pasia lenei tapula'a a'o amataina/fa'atulagaina Ta'ele'ele'ele e ala i le faʻamalamalamaina o le tau o se masini poloka nai lo le ala i le faila loopback e ala i le faʻamaonia o lenei mea i le ki source.

O lea, aʻo leʻi faia Ta'ele'ele'ele e tatau ona e fa'amalamalamaina se faila loopback po'o se vaeluaga o lo'o i ai i luga o lau faila faila o le a fa'aaogaina. Ina ia faia lenei mea, matou te fatuina ma faʻaoga se faila matou te faʻatapulaʻaina le tele i le 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

Sei o tatou fa'afeso'ota'i le faila loopback i se masini loopback e leai se totogi:

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

/dev/loop1

Faafetai i le ki --show O le fa'atinoina o le fa'atonuga e toe fo'i atu i le lau le igoa o le masini lea e fa'afeso'ota'i ai le tatou faila fa'asolo. Afai e manaʻomia, e mafai ona matou faʻaalia se lisi o masini pisi uma o lenei ituaiga e faʻamautinoa ai e saʻo a matou gaioiga:

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

Mai le lisi e mafai ona e mauaina o loʻo iai le masini /dev/loop1 loopback faila aofia ai /mnt/work/lxd/hddpool.img, ma i totonu o le masini /dev/loop0 loopback faila aofia ai /var/lib/lxd/disks/ssdpool.img lea e fetaui ma le faaletonu Ta'ele'ele'ele.

O le fa'atonuga o lo'o mulimuli mai e fatuina ai se mea fou Ta'ele'ele'ele i LXD faʻavae i luga o le faila loopback na matou saunia. LXD o le a faʻapipiʻi le faila loopback /mnt/work/lxd/hddpool.img i totonu o le masini /dev/loop1 mo le faila faila BTRFS:

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

Sei o tatou faaali atu se lisi o mea uma Ta'ele'ele'ele e fa'aali:

lxc storage list

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

Fa'ateleina le Vaita'ele Teuina ^

Ina ua uma le foafoaga Ta'ele'ele'ele, pe a manaʻomia, e mafai ona faʻalauteleina. Mo Ta'ele'ele'ele faʻavae i luga o le faila faila a le BTRFS, faʻatautaia tulafono nei:

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

Otometi fa'aofiina o se faila fa'asaga i tua i totonu o se masini fa'asolo i tua ^

E tasi a matou faʻafitauli itiiti, pe a toe faʻafouina le polokalama talimalo, le faila /mnt/work/lxd/hddpool.img o le a "lele" mai le masini /dev/loop1 ma o le auaunaga LXD o le a paʻu pe a utaina aua o le a le vaʻaia i totonu o lenei masini. Ina ia foia lenei faafitauli e te manaʻomia le fatuina o se auaunaga faʻapipiʻi e faʻapipiʻi ai lenei faila i totonu o le masini /dev/loop1 pe a fa'asee le faiga o le talimalo.

Tatou fatu iunite ituaiga faila tautua в /etc/systemd/system/ mo le SystemD initialization system:

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

Fa'agaoioia le tautua:

sudo systemctl enable lxd-hddpool

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

A maeʻa ona toe amataina le polokalama talimalo, matou te siakiina le tulaga o le tautua:

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

Mai le gaioiga e mafai ona matou faʻamaonia o le tulaga o le tautua tiotio, e ui lava i le mea moni na maeʻa le faʻatinoina o la matou tusitusiga mai le tasi poloaiga, o le filifiliga na mafai ai ona matou faia lenei mea RemainAfterExit=true.

Saogalemu. Tulaga Fa'apitoa ^

Talu ai o fa'agasologa uma o atigipusa o lo'o tamo'e moni lava i luga o le 'au talimalo e fa'aaoga ai lona fatu, e puipuia atili ai le avanoa o fa'agasologa o atigipusa i le faiga talimalo, LXD ofo atu avanoa fa'agasologa, lea:

  • Koneteina Fa'apitoa - o pusa ia o loʻo faʻaogaina ai le UID ma le GID e fetaui ma le tagata lava e tasi e pei o luga ole polokalama talimalo. Mo se faʻataʻitaʻiga, o se faʻagasologa o loʻo taʻavale i totonu o se atigipusa ma se UID o le 0 o loʻo i ai uma aia tatau avanoa tutusa e pei o se faʻagasologa i luga o le host system ma se UID o le 0. I se isi faaupuga, o le tagata faʻaoga aʻa i totonu o le container ei ai aia uma e le gata i totonu. le atigipusa, ae faʻapea foʻi i luga o le host system pe afai e mafai ona ia alu i fafo o le igoa tuʻufua o le container.

  • Koneteina le lelei - o pusa ia o loʻo faʻaogaina e le pule o le UID ma le GID ma se numera mai le 0 i le 65535, ae mo le faʻaogaina o le tagata e faʻapipiʻiina le faʻaogaina o le SubUID ma le SubGID bits, i le faasologa. Mo se faʻataʻitaʻiga, o se tagata faʻaoga UID = 0 i totonu o se koneteina o le a vaʻaia i luga o le host system as SubUID + UID. O lenei mea e puipuia ai le polokalama talimalo aua afai e mafai e soʻo se faagasologa i totonu o le pusa ona sola ese mai lona igoa tuʻufua, e mafai ona naʻo le fesoʻotaʻiga ma le host system e pei o se faʻagasologa ma se UID / GID e le iloa, maualuga tele.

Ona o le faaletonu, o koneteina fou e iai se tulaga le taualoa ma o lea e tatau ai ona tatou faʻamalamalamaina se SubUID ma le SubGID.

Sei o tatou fatuina faila faila se lua o le a tatou seti ai le mask mo SubUID ma SubGID, i le faasologa:

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

Ina ia faʻaoga suiga, e tatau ona toe amataina le auaunaga LXD:

sudo systemctl restart lxd

Fausia o se feso'ota'iga feso'otaiga vavave ^

Talu ai na matou amataina muamua le fesoʻotaʻiga e faʻaaoga ai le faʻasologa o le wizard lxd init ma fatuina se masini fesoʻotaʻiga lxdbr0, ona i ai lea i lenei vaega o le a na ona tatou masani i networking i le LXD ma pe faʻafefea ona fatuina se kili (laupapa) e faʻaaoga ai le faʻatonuga o le kalani.

O le ata o loʻo i lalo o loʻo faʻaalia ai pe faʻafefea e se ki (alalaupapa) ona faʻafesoʻotaʻi le talimalo ma pusa i totonu o se fesoʻotaʻiga:

Vaega autu o LXD - Linux container systems

Container e mafai ona feso'ota'i e ala i se feso'ota'iga ma isi koneteina po'o le talimalo e tu'uina atu ai nei koneteina. Ina ia faia lenei mea, e tatau ona e faʻafesoʻotaʻi kata fesoʻotaʻiga virtual o koneteina ma se ki faʻaoga. O le a matou faia muamua se ki, ma o fesoʻotaʻiga fesoʻotaʻiga a le koneteina o le a fesoʻotaʻi i mataupu mulimuli ane, pe a uma ona faia le koneteina lava ia.

O le fa'atonuga o lo'o mulimuli mai e fa'atupuina ai se ki ma se subnet 10.0.5.0/24 ma le tuatusi IPv4 10.0.5.1/24, ma e aofia ai foi ipv4.nat ina ia mafai e pusa ona maua le Initaneti e ala i le talimalo e faʻaaoga ai le NAT service:

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

Siaki le lisi o masini fesoʻotaʻiga o loʻo maua ile LXD:

lxc network list

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

E mafai foi ona e faʻamaonia na faia se masini fesoʻotaʻiga e faʻaaoga ai le meafaigaluega masani o le tufatufaina atu o Linux - ip link poʻo 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

Fa'ailoga Fa'atonu ^

O koneteina ta'itasi i le LXD ei ai lana lava fa'atulagaga ma e mafai ona fa'alautele atu i fa'asalalauga fa'asalalau fa'asalalau e ta'ua fa'asologa o fa'amatalaga. O le fa'aogaina o fa'amatalaga fa'atulagaina i se atigipusa ei ai se fa'ata'ita'iga fa'asolo, o le fa'ata'ita'iga lea e fa'aalia ai lenei mea:

Vaega autu o LXD - Linux container systems

I lenei faʻataʻitaʻiga, e tolu faʻamatalaga na faia i le LXD system: default, hddpool и hostfs. O fa'amatalaga uma e tolu e fa'aoga i se atigipusa o lo'o i ai se fa'alapotopotoga fa'apitonu'u (vaega efuefu). Tala'aga default ei ai se masini root lea e iai se parakalafa pool tutusa ssdpool, ae faʻafetai i le faʻataʻitaʻiga o le faʻaogaina o le cascade, e mafai ona matou faʻaogaina se faʻamatalaga i le pusa hddpool lea e iai se parakalafa pool o le a fa'amalo le parakalafa tutusa mai le fa'amatalaga default ma o le atigipusa o le a maua le faʻatulagaina o masini root fa'atasi pool tutusa hddpool, ma le talaaga hostfs na'o le fa'aopoopoina o se masini fou i le koneteina.

Ina ia vaʻai i le lisi o faʻamatalaga faʻatulagaina avanoa, faʻaaoga le poloaiga lenei:

lxc profile list

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

E mafai ona maua se lisi atoa o tulafono avanoa mo le galue i se talaaga otooto e ala i le faʻaopoopoina o le ki --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

Fa'atonu lau talaaga ^

Fa'ailoga fa'atulagaina masani default e leai se faʻatulagaga kata fesoʻotaʻiga mo le atigipusa ma o koneteina fou uma e leai se fesoʻotaʻiga, mo i latou e manaʻomia le fatuina o masini fesoʻotaʻiga faʻapitonuʻu (faʻapitoa) faʻatasi ai ma se isi poloaiga, ae e mafai ona tatou fatuina se masini fesoʻotaiga i le lalolagi i le faʻatulagaga fa'amatalaga o le a fa'asoa i va o koneteina uma e fa'aoga ai lenei fa'amatalaga. I lenei auala, i le taimi lava e maeʻa ai le faʻatonuga e fai se atigipusa fou, o le a latou maua se fesoʻotaʻiga ma fesoʻotaʻiga. I le taimi lava e tasi, e leai ni tapulaʻa; e mafai lava ona matou fatuina se masini fesoʻotaʻiga i le lotoifale mulimuli ane pe a manaʻomia.

O le faʻatonuga o loʻo mulimuli mai o le a faʻaopoopoina le masini i le faʻasologa o faʻamatalaga eth0 ituaiga nic feso'ota'i ile feso'ota'iga lxdbr0:

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

E taua le maitauina talu ai na matou faʻaopoopoina le masini i le faʻasologa o faʻamatalaga, pe a matou faʻamaonia se tuatusi IP faʻapitoa i totonu o le masini, ona faʻasoa uma ai lea o pusa o loʻo faʻaogaina lenei faʻamatalaga le tuatusi IP tutusa. Afai ei ai se manaʻoga e fai se atigipusa ma se tuatusi IP faʻapitoa e tuʻuina atu mo le koneteina, ona tatau lea ona e fatuina se faʻaogaina o masini fesoʻotaʻiga i le tulaga o le koneteina (faʻalapotopotoga faʻapitonuʻu) faʻatasi ai ma le tuatusi IP, ae le o le tulaga faʻamatalaga.

Sei o tatou siaki le talaaga:

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

I lenei faʻamatalaga e mafai ona tatou vaʻai i ai mo koneteina fou uma o le a faia ni masini se lua:

  • eth0 — Ituaiga masini nic feso'ota'i i se ki (alalaupapa feso'ota'iga) lxdbr0
  • root — Ituaiga masini disk lea e fa'aogaina ai se vaita'ele e teu ai ssdpool

Fausia tala'aga fou ^

E faʻaaoga muamua na faia Ta'ele'ele'ele atigipusa, fai se fa'ailoga fa'atulagaina ssdroot lea o le a tatou faaopoopo ai se masini e pei o disk ma le pito mauga / (aʻa) faʻaaogaina le mea na faia muamua Ta'ele'ele'ele - ssdpool:

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

I se tulaga talitutusa, matou te fatuina se masini e pei o disk, ae i lenei tulaga faʻaaogaina Ta'ele'ele'ele - hddpool:

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

Siaki fa'amatalaga fa'atulagaina:

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

Teuga ata ^

O atigipusa e faia mai ata o loʻo faʻapipiʻiina faʻapitoa faʻasalalauga e leai se fatu Linux. O le mea lea, aʻo leʻi faʻaogaina le pusa, e tatau ona faʻapipiʻiina mai lenei ata. O le fa'apogai o ata ose faleteuoloa fa'apitonu'u lea e la'u mai ai ata mai fale teu oloa i fafo.

Fale teu ata mamao ^

Ona o le faaletonu, LXD ua faatulagaina e maua ata mai punaoa mamao e tolu:

  • ubuntu: (mo ata Ubuntu mautu)
  • ubuntu-aso: (mo ata Ubuntu i aso uma)
  • ata: (mo le tele o isi distros)

lxc remote list

+-----------------+------------------------------------------+--------+--------+
|      NAME       |                   URL                    | PUBLIC | STATIC |
+-----------------+------------------------------------------+--------+--------+
| images          | https://images.linuxcontainers.org       | YES    | NO     |
+-----------------+------------------------------------------+--------+--------+
| local (default) | unix://                                  | NO     | YES    |
+-----------------+------------------------------------------+--------+--------+
| ubuntu          | https://cloud-images.ubuntu.com/releases | YES    | YES    |
+-----------------+------------------------------------------+--------+--------+
| ubuntu-daily    | https://cloud-images.ubuntu.com/daily    | YES    | YES    |
+-----------------+------------------------------------------+--------+--------+

Mo se faʻataʻitaʻiga, fale teu oloa ubuntu: e iai ata nei:

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

Ina ia faʻaalia se numera faʻatapulaʻa o koluma na matou faʻaogaina le filifiliga -c fa'atasi dasut, ma faʻatapulaʻaina le umi o le lisi ma le faʻatonuga head.

E avanoa le filiga e fa'aali ai se lisi o ata. O le fa'atonuga o lo'o i lalo o le a lisiina uma fa'asoa fa'asoa avanoa 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        |
+------------------------------+--------------------------------------+--------------+

fale teu ata fa'apitonu'u ^

Ina ia amata faʻaaoga le atigipusa, e tatau ona e faʻaopoopoina se ata mai le fale teu oloa i le lotoifale local:. O lea ua avanoa le fale teu oloa i le lotoifale, o le a mautinoa e le poloaiga lenei mea lxc image list. Afai o le auala list aua le faʻamaonia se fale teu oloa, ona faʻaaogaina lea o le fale teu oloa i le lotoifale - local:

lxc image list local:

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

O ata i totonu o le fale teu oloa e pulea e ala i auala nei:

au
faʻamatalaga

lxc ata igoa pepelo
Pulea igoa igoa

lxc ata ata
Kopi ata i le va o sapalai

lxc ata tape
Aveese ata

lxc ata faʻatonutonu
Fa'asa'o meatotino ata

lxc ata auina ese atu
Lafo i fafo ma la'u mai ata

lxc ata laʻu mai
Auina mai ata i totonu o le faleoloa ata

lxc ata nisi faʻamatalaga
Faaali atu faamatalaga aoga e uiga i ata

lxc ata lisi
Lisi ata

lxc ata toe faʻafou
Toe faafou ata

lxc ata faaalia
Fa'aali meatotino ata

Kopi le ata i le fale teu oloa mai le lalolagi images::

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

Image copied successfully!

Sei o tatou fa'aali se lisi o ata uma o lo'o avanoa nei ile fale teu oloa local::

lxc image -c lfdatsu list local:

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

LXD Fa'atonuga ^

I le faʻaopoopoga i le faʻaogaina o fesoʻotaʻiga, e lagolagoina foi e le LXD se faiga faʻapipiʻi faʻapipiʻi e le o fesoʻotaʻi, o le taimi lea e faʻamaonia ai le faʻatulagaga i le tulaga o se faila YAML, o se faʻapitoa faʻapitoa e mafai ai e oe ona faʻapipiʻi le faʻatulagaga atoa i le taimi e tasi, e ala i le faʻataunuʻuina. o le tele o fesoʻotaʻiga faʻatonuga na talanoaina i luga i lenei tusiga, e aofia ai fesoʻotaʻiga fesoʻotaʻiga, fatuina o faʻamatalaga faʻasologa, ma isi. O le a matou le ufiufiina lenei vaega iinei, e mafai ona e siakiina na o oe. i totonu o fa'amaumauga.

O le isi poloaiga fegalegaleai lxc config lea o le a matou vaʻai i ai e mafai ai ona e setiina le faʻatulagaga. Mo se faʻataʻitaʻiga, ina ia faʻamautinoa e le otometi ona faʻafouina ata o loʻo siiina i le fale teu oloa mai fale teu oloa i le lalolagi, e mafai ona matou faʻatagaina lenei amio i le poloaiga lenei:

lxc config set images.auto_update_cached=false

Fausia ma pulea se atigipusa ^

Ina ia fatuina se koneteina faʻaaoga le poloaiga lxc init lea e ave i ai tulaga taua репозиторий:образ ona sosoo ai lea ma le ID manaomia mo le koneteina. O le fale teu oloa e mafai ona faʻamaonia o le lotoifale local: e faapena foi i soo se lalolagi. Afai e le o faʻamaonia le faleoloa, ona faʻaaogaina lea o le fale teu oloa i le lotoifale e suʻe ai le ata. Afai o le ata o loʻo faʻamaonia mai le faleoloa o le lalolagi, o le ata o le a muamua ona sii mai i le fale teu oloa ma faʻaaoga e fatu ai le pusa.

Sei o tatou faʻataʻitaʻiina le poloaiga lenei e fai ai la tatou pusa muamua:

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

Se'i o tatou va'ai i ki fa'atonu tatou te fa'aogaina iinei i le fa'asologa:

  • alpine3 - O se igoa (alias) ua faʻamaonia mo le ata na tuʻuina muamua i le fale teu oloa. Afai e leʻi faia le igoa mo lenei ata, ona mafai lea ona e vaʻai i le ata e ala i lona Mamatamailima lea e fa'aalia i le laulau.
  • alp — Seti le mea e iloagofie ai le koneteina
  • --storage — O lenei ki ua faailoa mai ai po o fea Ta'ele'ele'ele o le a faia se atigipusa
  • --profile - O nei ki fa'asolo e fa'aoga le fa'atonuga mai fa'amatalaga fa'atulagaina muamua i le koneteina

Matou te faʻalauiloaina le atigipusa, lea e amata ai ona faʻalauiloa le init system o le tufatufaina:

lxc start alp

E mafai foi ona e faaaogaina le poloaiga lxc launch lea e mafai ai ona e tuufaatasia 'au lxc init и lxc start i se taotoga e tasi.

Siaki le tulaga o le container:

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

Siaki le fa'atulagaina o pusa:

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

I le vaega profiles e mafai ona matou mautinoa o loʻo faʻaogaina e lenei koneteina ni faʻamatalaga faʻatulagaina e lua − default и hddroot. I le vaega devices e na o le tasi le masini e mafai ona matou iloa ona o le masini fesoʻotaʻiga na faia i le tulaga faʻamatalaga default. Ina ia mafai ona vaʻai i masini uma e faʻaogaina e le koneteina e te manaʻomia le faʻaopopoina o se ki --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: ""

Seti se tuatusi IP tumau ^

Afai tatou te taumafai e seti se tuatusi IP mo se masini fesoʻotaʻiga eth0 'au lxc config device set alp faamoemoe mo le faatulagaga o pusa, ona tatou maua ai lea o se mea sese o le a lipotia e le o iai le masini ona o le masini eth0 lea o lo'o fa'aogaina e le koneteina e patino i le fa'amatalaga default:

lxc config device set alp eth0 ipv4.address 10.0.5.5

Error: The device doesn't exist

E mafai ona tatou setiina se tuatusi IP tumau mo eth0 masini i totonu o le talaaga, ae o le a tutusa mo pusa uma o le a faʻaaogaina lenei talaaga. O le mea lea, seʻi o tatou faʻaopoopoina se masini faʻapitoa i le pusa:

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

Ona e manaʻomia lea e toe amata le koneteina:

lxc restart alp

Afai tatou te vaʻavaʻai i le faʻatulagaina o pusa i le taimi nei, tatou te le manaʻomia le faʻaogaina o le filifiliga --expanded e va'ai le masini feso'ota'iga eth0, talu ai na matou faia i le tulaga o pusa ma faʻafefe i luga o le masini lava e tasi mai le talaaga 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: ""

Aveese se koneteina ^

Ina ia aveese se atigipusa, faaaoga le poloaiga lxc delete, ae aʻo leʻi aveese le atigipusa, e tatau ona taofi le faʻaaogaina o le poloaiga lxc stop:

lxc stop alp

lxc list

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

A maeʻa ona matou faʻamaonia ua avea le tulaga o le pusa TAOFI, e mafai ona aveese mai Ta'ele'ele'ele:

lxc delete alp

Avanoa i pusa ^

Ina ia fa'atino fa'atonuga i totonu o se atigipusa sa'o, fa'asaga i feso'ota'iga feso'ota'iga, fa'aoga le fa'atonuga lxc exec lea e fa'atino ai fa'atonuga i totonu o le koneteina e aunoa ma le fa'alauiloaina o le atigi faiga. Afai e te manaʻomia le faʻatinoina o se faʻatonuga i totonu o se atigi e faʻaaoga ai mamanu atigi e pei o fesuiaiga, faila faila (paipa), ma isi mea, ona e manaʻomia lea e faʻaalia manino le atigi ma pasi le poloaiga o se ki, mo se faʻataʻitaʻiga:

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

Na fa'aaogaina e le fa'atonu se uiga fa'apitoa e sola ese ai mo uiga faapitoa $ ina ia fesuisuiai $HOME e leʻi faʻamatalaina i luga o le masini talimalo, ae na faʻamatalaina i totonu o le koneteina.

E mafai fo'i ona amata le faiga o atigi feso'ota'iga, ona fa'auma lea o le sauniga e ala i le fa'atinoina o le hotkey CTRL+D:

lxc exec alp -- /bin/sh

Puleaina o puna'oa ^

I le LXD, e mafai ona e pulea punaoa pusa e faʻaaoga ai se seti faʻapitoa o faʻatulagaga. E mafai ona maua se lisi atoa o fa'aputuga o pusa i totonu o fa'amaumauga.

RAM fa'atapula'a puna'oa ^

Parakalafa limits.memory faʻatapulaʻa le aofaʻi o le RAM o loʻo avanoa i le pusa. O le tau o se numera ma le tasi o suffix maua.

Se'i tatou seti le tapula'a RAM ole koneteina ile 256 MB:

lxc config set alp limits.memory 256MB

E le gata i lea, o loʻo i ai isi taʻiala mo le faʻatapulaʻaina o le manatua:

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

au lxc config show e fa'atagaina oe e fa'aali le fa'aputuga atoa o koneteina, e aofia ai le fa'atapula'aina o puna'oa na fa'atulagaina:

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

tapula'a puna'oa CPU ^

E tele auala e fa'agata ai punaoa CPU. ituaiga o tapu:

  • limit.cpu - nonoa se atigipusa i se tasi pe sili atu CPU cores
  • limits.cpu.allowance - pulea le CFS fa'asologa o quota pe a mae'a le taimi fa'atapula'a, po'o le fa'aogaina o punaoa fa'asoa a le CPU pe a pasia le pasene
  • limits.cpu.priority - fa'amuamua le fa'atulagaina pe a fa'asoa fa'atasia se seti o fa'agaioiga e tu'uina atu i le pasene tutusa o fa'agaioiga

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

Fa'atapula'a avanoa tisiki ^

E le gata i tapulaa faapea limits.read, limits.write e mafai fo'i ona tatou fa'atapula'aina le aofa'i o va'a va'ava'a e fa'aaogaina e le koneteina (na'o le ZFS po'o le BTRFS e galue ai):

lxc config device set alp root size=2GB

A maeʻa faʻapipiʻi, i le parakalafa devices.root.size E mafai ona matou faʻamaonia le tapulaa faʻatulagaina:

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

Ina ia vaʻai i le faʻaaogaina o le disk quotas e mafai ona tatou maua mai le poloaiga 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

E ui lava i le mea moni ua matou setiina se tapulaʻa mo le aʻa o le atigipusa i le 2GB, faʻaoga faʻaoga e pei o df o le a le vaai i lenei tapulaa. Ina ia faia lenei mea, o le a matou faia se suʻega laʻititi ma suʻe pe faʻafefea.

Se'i tatou faia ni atigipusa fou se 2 i le mea lava e tasi Ta'ele'ele'ele (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         |
+------+---------+------------------+------+-----------+-----------+

Sei o tatou faia se faila 1GB i se tasi o koneteina:

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

Sei o tatou mautinoa ua faia le faila:

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

Afai tatou te vaʻavaʻai i le koneteina lona lua, siaki le i ai o se faila i le nofoaga lava e tasi, o le a le i ai lea faila, lea e faʻamoemoeina, talu ai o pusa e faia i latou lava. Volume teuina i le mea lava e tasi Ta'ele'ele'ele:

lxc exec alp2 -- ls -lh
total 0

Ae seʻi o tatou faʻatusatusa tau e maua mai ai df i luga o le tasi ma le isi pusa:

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

Meafaigaluega /dev/loop1 fa'apipi'i e pei o le vaeluaga o le a'a Ta'ele'ele'ele lea e fa'aogaina e nei koneteina, o lea e fa'asoa ai lona voluma i le va o le lua.

Fa'amaumauga o le fa'aaogaina o punaoa ^

E mafai ona e vaʻai i fuainumera faʻaaogaina o punaoa mo se atigipusa e faʻaaoga ai le faʻatonuga:

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

Galue ma ata ^

LXD ei ai le malosi e fatu ai ata ma toe faʻaleleia le tulaga o pusa mai ia i latou.

Ina ia fatuina se ata, faʻataʻitaʻi le poloaiga lenei:

lxc snapshot alp snapshot1

Le au lxc snapshot leai se ki e maua list, o le mea lea, e vaʻai i le lisi o ata e te manaʻomia e faʻaaoga ai le faʻatonuga e faʻaalia ai faʻamatalaga lautele e uiga i le pusa:

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

E mafai ona e toe fa'afo'i se atigipusa mai se ata fa'aaoga le fa'atonuga lxc restore fa'amaonia le koneteina o le a faia ai le toe fa'afo'isia ma le igoa fa'atusa:

lxc restore alp snapshot1

O le fa'atonuga lea e fa'aaoga e tape ai se ata. Faamolemole ia matau o le syntax o le poloaiga e le tutusa ma isi uma; iinei e te manaʻomia le faʻamaonia o se faʻailoga i luma pe a uma le igoa pusa. Afai e le maua le slash, o le poloaiga e tape se ata e faauigaina o se poloaiga e tape se pusa!

lxc delete alp/snapshot1

I le faʻataʻitaʻiga o loʻo i luga, na matou vaʻavaʻai i mea e taʻua o ata e leai ni setete. LXD e iai foʻi se isi ituaiga ata - faʻamatalaga, lea e faʻasaoina ai le tulaga o loʻo i ai nei o faiga uma i totonu o le pusa. O lo'o i ai le tele o mea manaia ma aoga e feso'ota'i ma ata fa'atusa.

O le'a lesi mea? ^

  • O loʻo avanoa se module mo Python atiaʻe PyLXD lea e maua ai se API i le LXD

FUAFUAGA 10.04.2020/15/00 XNUMX:XNUMX: Faʻaopoopo le faʻasalalauga

puna: www.habr.com

Faaopoopo i ai se faamatalaga