Akụkụ bụ isi nke LXD - Sistemụ akpa Linux

Akụkụ bụ isi nke LXD - Sistemụ akpa Linux

LXD bụ ọgbọ na-esote usoro akpa njikwa, otú ahụ ka ọ na-ekwu isi iyi. Ọ na-enye interface onye ọrụ yiri igwe mebere, mana ọ na-eji igbe Linux kama.

LXD isi bụ daemon nwere ohere (ọrụ na-agba ọsọ na ikike mgbọrọgwụ) nke na-enye REST API site na oghere unix mpaghara, yana site na netwọk ma ọ bụrụ na arụnyere nhazi kwesịrị ekwesị. Ndị ahịa, dị ka ngwá ọrụ ahịrị iwu nyere na LXD, na-arịọ arịrịọ site na API REST a. Nke a pụtara na ma ị na-enweta onye nnabata mpaghara ma ọ bụ onye ọbịa dịpụrụ adịpụ, ihe niile na-arụ otu ihe.

N'isiokwu a, anyị agaghị ebi n'ụzọ zuru ezu na echiche nke LXD, anyị agaghị atụle niile dị ike depụtara na akwụkwọ, gụnyere na-adịbeghị anya mmejuputa atumatu na ọhụrụ nsụgharị nke LXD nke nkwado maka QEMU mebere igwe n'otu n'otu na containers. Kama, anyị ga-amụta naanị isi ihe dị na njikwa akpa - ịtọlite ​​ọdọ mmiri nchekwa, ịkparịta ụka n'Ịntanet, ịgbasa akpa, itinye oke akụrụngwa, yana otu esi eji snapshots ka ị nweta nghọta bụ isi nke LXD wee jiri arịa na Linux.

Maka ozi zuru oke, biko rụtụ aka na isi mmalite gọọmentị:

Навигация

Nwụnye LXD ^

Ịwụnye LXD na nkesa Ubuntu ^

Na ngwugwu nkesa Ubuntu 19.10 lxd nwere mgbasa ozi na ngwugwu snap:

apt search lxd

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

Nke a pụtara na a ga-etinye ngwugwu abụọ n'otu oge, otu dịka ngwugwu sistemu na nke ọzọ dị ka ngwugwu ọnyà. Ịwụnye ngwugwu abụọ na sistemụ nwere ike ịmepụta ụfọdụ nsogbu ebe ngwugwu sistemụ nwere ike ịghọ nwa mgbei ma ọ bụrụ na onye njikwa ngwugwu snap wepụrụ ngwugwu snap.

Chọta ngwugwu lxd N'ime ebe nchekwa snap ị nwere ike iji iwu a:

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

Site n'ịgba iwu list ị nwere ike ijide n'aka na ngwugwu ahụ lxd etinyebeghị ya:

snap list

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

N'agbanyeghị na LXD bụ ngwugwu ọnyà, a ga-etinyerịrị ya site na ngwugwu sistemụ lxd, nke ga-emepụta otu kwekọrọ na usoro ahụ, ihe ndị dị mkpa dị mkpa na /usr/bin na ihe ndị ọzọ.

sudo apt update
sudo apt install lxd

Ka anyị hụ na arụnyere ngwungwu a ka ọ bụrụ ngwungwu snap:

snap list

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

Ịwụnye LXD na nkesa Arch Linux ^

Iji wụnye ngwugwu LXD na sistemụ, ịkwesịrị ịme iwu ndị a, nke mbụ ga-emelite ndepụta ngwugwu na sistemụ dị na ebe nchekwa, nke abụọ ga-etinye ngwugwu ahụ ozugbo:

sudo pacman -Syyu && sudo pacman -S lxd

Mgbe ị wụnye ngwugwu ahụ, iji jikwaa LXD site na onye ọrụ mgbe niile, a ga-agbakwunye ya na otu usoro lxd:

sudo usermod -a -G lxd user1

Ka anyị hụ na onye ọrụ user1 agbakwunyere na otu lxd:

id -Gn user1

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

Ọ bụrụ na otu lxd A naghị ahụ ya na listi ahụ, mgbe ahụ ịkwesịrị ịmegharị oge onye ọrụ ọzọ. Iji mee nke a, ịkwesịrị ịpụ ma banye n'okpuru otu onye ọrụ.

Tinye n'ime systemd na-ebunye ọrụ LXD na mmalite sistemụ:

sudo systemctl enable lxd

Ka anyị malite ọrụ:

sudo systemctl start lxd

Na-elele ọkwa ọrụ:

sudo systemctl status lxd

Nchekwa LXD (Nchekwa) ^

Tupu mmalite mmalite, anyị kwesịrị ịghọta ka esi hazie nchekwa na LXD n'ụzọ ezi uche dị na ya.

Nchekwa (nchekwa) mejupụtara site na otu ma ọ bụ karịa Ọdọ mmiri nchekwa nke na-eji otu sistemụ faịlụ akwadoro dịka ZFS, BTRFS, LVM ma ọ bụ akwụkwọ ndekọ aha oge niile. Nke ọ bụla Ọdọ mmiri nchekwa kewara n'ime mpịakọta (Mpịakọta Nchekwa) nwere onyonyo, arịa, ma ọ bụ data maka ebumnuche ndị ọzọ.

  • Foto - Ndị a bụ nkesa kpọkọtara pụrụ iche na-enweghị kernel Linux ma dị site na isi mmalite
  • .Онтейнеры - A na-ekesa ihe ndị a site na onyonyo, dị njikere maka ojiji
  • Ihe onyonyo - Ndị a bụ nseta ihuenyo nke steeti arịa ị nwere ike ịlaghachi na ya

Akụkụ bụ isi nke LXD - Sistemụ akpa Linux

Iji jikwaa nchekwa na LXD, jiri iwu ahụ lxc storage asambodo nke ị nwere ike nweta site na ịkọwa igodo - lxc storage --help

Iwu a na-egosiputa ndepụta niile Ọdọ mmiri nchekwa na nchekwa LXD:

lxc storage list

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

Ka ilele ndepụta niile Mpịakọta Nchekwa na ahọpụtara Ọdọ mmiri nchekwa na-eje ozi otu 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       |
+-----------+----------------------------------+-------------+---------+

Ọzọkwa, ọ bụrụ maka Ọdọ mmiri nchekwa Mgbe ị na-eke, ahọpụtara sistemụ faịlụ BTRFS, wee nweta ndepụta Mpịakọta Nchekwa ma ọ bụ ndepụta okwu na nkọwa BTRFS, ị nwere ike iji ngwa ngwa nke sistemụ faịlụ a:

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

Na-amalite LXD ^

Tupu ịmepụta na iji arịa, ị ga-emerịrị mmalite LXD izugbe nke na-emepụta ma na-ahazi netwọk na nchekwa. Enwere ike iji aka mee nke a site na iji iwu ndị ahịa ọkọlọtọ dị na listi site na ịkpọ iwu ahụ lxc --help ma ọ bụ na-eji ọkachamara mmalite lxd init na-aza ajụjụ ole na ole.

Ịhọrọ usoro faịlụ maka ọdọ mmiri nchekwa ^

N'oge mbido, LXD na-ajụ ọtụtụ ajụjụ, gụnyere ikpebi ụdị sistemụ faịlụ maka ndabara Ọdọ mmiri nchekwa. Site na ndabara, a na-ahọrọ sistemụ faịlụ BTRFS maka ya. Ọ gaghị ekwe omume ịgbanwe gaa na FS ọzọ mgbe okike gasịrị. Ka ịhọrọ FS ọ tụrụ aro table ntụnyere atụmatụ:

atụmatụ
Directory
Btrfs
LVM
ZFS
CEPH

Nchekwa onyonyo kachasị mma
Ee e
ee
ee
ee
ee

Ekepụta ihe atụ kachasị
Ee e
ee
ee
ee
ee

Ekepụta foto foto kachasị mma
Ee e
ee
ee
ee
ee

Nbufe onyonyo kachasị mma
Ee e
ee
Ee e
ee
ee

Nyefe ihe atụ kachasị mma
Ee e
ee
Ee e
ee
ee

Detuo na dee
Ee e
ee
ee
ee
ee

Dabere na ngọngọ
Ee e
Ee e
ee
Ee e
ee

Ngwa ngwa cloning
Ee e
ee
ee
ee
ee

Ọkwọ ụgbọala nchekwa enwere ike iji n'ime akpa
ee
ee
Ee e
Ee e
Ee e

Weghachite site na foto nke ochie (ọ bụghị nke ọhụrụ)
ee
ee
ee
Ee e
ee

Oke nchekwa
ee(*)
ee
ee
ee
Ee e

Ịmalite netwọk na ọdọ mmiri nchekwa site na iji ọkachamara ^

Iwu na-esote anyị ga-eleba anya na-atụ aro ịtọlite ​​ihe ndị bụ isi nke LXD site na ịza ajụjụ dị mfe site na iji ọkachamara mmalite.

Gbaa iwu lxc init ma tinye azịza nke ajụjụ ndị ahụ mgbe colon dị ka egosiri na ihe atụ dị n'okpuru ma ọ bụ gbanwee ha dịka ọnọdụ gị si dị:

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

Ịmepụta ọdọ mmiri nchekwa agbakwunyere ^

Na aga nzọụkwụ anyị kere Ọdọ mmiri nchekwa nke e nyere aha ahụ ssdpool na faịlụ nke dị na sistemụ m na /var/lib/lxd/disks/ssdpool.img. Adreesị sistemụ faịlụ a dabara na draịva SSD anụ ahụ dị na PC m.

Omume ndị a, iji gbasaa nghọta nke ọrụ na-arụ Ọdọ mmiri nchekwa na ebe nchekwa, anyị ga-emepụta nke abụọ Ọdọ mmiri nchekwa nke ga-adị n'anụ ahụ n'ụdị diski dị iche, HDD. Nsogbu bụ na LXD anaghị ekwe ka ịmepụta Ọdọ mmiri nchekwa na adreesị /var/lib/lxd/disks/ na ọbụna njikọ ihe atụ agaghị arụ ọrụ, hụ nzaghachi onye nrụpụta. Anyị nwere ike gafere mmachi a n'oge mbido/ịhazi Ọdọ mmiri nchekwa site n'ịkọwa uru dị ka ngwaọrụ ngọngọ kama ụzọ na faịlụ loopback site na ịkọwa nke a na igodo. source.

Ya mere, tupu ịmepụta Ọdọ mmiri nchekwa ịkwesịrị ịkọwapụta faịlụ loopback ma ọ bụ akụkụ dị na sistemụ faịlụ gị nke ọ ga-eji. Iji mee nke a, anyị ga-emepụta ma jiri faịlụ anyị ga-ejedebe na nha 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

Ka anyị jikọọ faịlụ loopback na ngwaọrụ loopback efu:

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

/dev/loop1

Daalụ maka igodo --show ime iwu na-alaghachi na ihuenyo aha ngwaọrụ nke ejikọrọ faịlụ loopback n'ime ya. Ọ bụrụ na ọ dị mkpa, anyị nwere ike igosipụta ndepụta ụdị ngwaọrụ niile na-arụsi ọrụ ike iji hụ na omume anyị ziri ezi:

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

Site na ndepụta ị nwere ike ịhụ na ngwaọrụ ahụ nwere /dev/loop1 loopback faịlụ gụnyere /mnt/work/lxd/hddpool.img, na na ngwaọrụ /dev/loop0 loopback faịlụ gụnyere /var/lib/lxd/disks/ssdpool.img nke kwekọrọ na ndabara Ọdọ mmiri nchekwa.

Iwu na-esonụ na-emepụta nke ọhụrụ Ọdọ mmiri nchekwa na LXD dabere na faịlụ loopback anyị kwadobere. LXD ga-ahazi faịlụ loopback /mnt/work/lxd/hddpool.img na ngwaọrụ /dev/loop1 maka sistemụ faịlụ BTRFS:

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

Ka anyị gosipụta ndepụta niile Ọdọ mmiri nchekwa iji lelee:

lxc storage list

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

Na-abawanye nha ọdọ mmiri nchekwa ^

Mgbe e kere eke Ọdọ mmiri nchekwa, ọ bụrụ na ọ dị mkpa, enwere ike ịgbasa ya. Maka Ọdọ mmiri nchekwa dabere na sistemụ faịlụ BTRFS, mee iwu ndị a:

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

Ntinye akpaaka nke faịlụ loopback n'ime oghere ngwaọrụ loopback ^

Anyị nwere otu obere nsogbu, mgbe ị na-emegharị usoro nnabata, faịlụ ahụ /mnt/work/lxd/hddpool.img ga-esi na ngwaọrụ ahụ 'fepụ' /dev/loop1 na ọrụ LXD ga-adaba mgbe a na-ebunye ya n'ihi na ọ gaghị ahụ ya na ngwaọrụ a. Iji dozie nsogbu a, ịkwesịrị ịmepụta ọrụ sistemụ ga-etinye faịlụ a n'ime ngwaọrụ /dev/loop1 mgbe sistemu eji arụ ọrụ na-agba ọsọ.

Ka anyị mepụta unit ụdị faịlụ ọrụ в /etc/systemd/system/ Maka usoro mmalite SystemD:

cat << EOF | sudo tee -a /etc/systemd/system/lxd-hddpool.service
[Unit]
Description=Losetup LXD Storage Pool (hddpool)
After=local-fs.target

[Service]
Type=oneshot
ExecStart=/sbin/losetup /dev/loop1 /mnt/work/lxd/hddpool.img
RemainAfterExit=true

[Install]
WantedBy=local-fs.target
EOF

Mee ka ọrụ ahụ rụọ ọrụ:

sudo systemctl enable lxd-hddpool

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

Mgbe ịmalitegharịrị sistemụ nnabata, anyị na-elele ọkwa ọrụ:

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

Site na mmepụta anyị nwere ike ịchọpụta na steeti ọrụ bụ arụsi ọrụ ike, n'agbanyeghị na e mezuru ogbugbu nke edemede anyị site n'otu iwu, nhọrọ ahụ nyere anyị ohere ime nke a. RemainAfterExit=true.

Nchekwa. Ihe ùgwù akpa ^

Ebe ọ bụ na usoro akpa niile na-agba ọsọ na iche na sistemụ nnabata na-eji kernel ya, iji chekwaa ohere nke usoro akpa na sistemụ nnabata, LXD na-enye ohere usoro, ebe:

  • Ngwa ndị nwere ihe ùgwù - Ndị a bụ akpa nke usoro nwere UID na GID kwekọrọ na otu onye nwe ya dị na sistemụ nnabata. Dịka ọmụmaatụ, usoro na-agba ọsọ n'ime akpa nwere UID nke 0 nwere ikike ịnweta niile dị ka usoro na usoro nhazi na UID nke 0. N'ikwu ya n'ụzọ ọzọ, onye ọrụ mgbọrọgwụ n'ime akpa ahụ nwere ikike niile ọ bụghị naanị na. akpa ahụ, kamakwa na sistemụ nnabata ma ọ bụrụ na ọ nwere ike ịpụ n'èzí aha aha dịpụrụ adịpụ nke akpa ahụ.

  • Akpa na-enweghị ohere - Ndị a bụ akpa nke usoro nke onye nwe UID na GID nwere ọnụọgụ sitere na 0 ruo 65535, mana maka sistemụ nnabata onye nwe ya na-eji ihe mgbakwunye SubGID na SubGID agbakwunyere n'otu n'otu. Dịka ọmụmaatụ, onye ọrụ nwere UID=0 n'ime akpa ka a ga-ahụ na sistemụ nnabata dịka SubUID + UID. Nke a na-echebe usoro nnabata n'ihi na ọ bụrụ na usoro ọ bụla dị na akpa nwere ike ịgbanarị aha aha ya dịpụrụ adịpụ, ọ nwere ike ịkparịta ụka na sistemụ nnabata dị ka usoro na-amaghị ama, UID/GID dị elu.

Site na ndabara, akpa ndị emepụtara ọhụrụ nwere ọkwa enweghị ohere ya mere anyị ga-akọwarịrị SubUID na SubGID.

Ka anyị mepụta faịlụ nhazi abụọ nke anyị ga-edobe nkpuchi maka SuBUID na SubGID, n'otu n'otu:

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

Iji tinye mgbanwe ndị a, a ga-amalitegharị ọrụ LXD:

sudo systemctl restart lxd

Ịmepụta ngbanwe netwọkụ mebere ^

Ebe ọ bụ na anyị bu ụzọ malite netwọk site na iji ọkachamara mmalite lxd init ma mepụta ngwaọrụ netwọkụ lxdbr0, mgbe ahụ, na ngalaba a, anyị ga-amata nke ọma na ịkparịta ụka n'Ịntanet na LXD na otu esi emepụta virtual switch (bridge) site na iji iwu ndị ahịa.

Eserese na-esonụ na-egosi otú mgba ọkụ (akwa) si ejikọta onye ọbịa na arịa n'ime netwọk:

Akụkụ bụ isi nke LXD - Sistemụ akpa Linux

Ngwa nwere ike ịkparịta ụka site na netwọk na arịa ndị ọzọ ma ọ bụ onye ọbịa nke a na-ebunye arịa ndị a. Iji mee nke a, ịkwesịrị ijikọ kaadị netwọkụ mebere nke arịa na mgba ọkụ mebere. Anyị ga-ebu ụzọ mepụta mgba ọkụ, a ga-ejikọkwa oghere netwọkụ nke akpa na isiakwụkwọ ndị na-esote, mgbe emechara akpa ahụ n'onwe ya.

Iwu na-esonụ na-emepụta ngbanwe na subnet 10.0.5.0/24 na adreesị IPv4 10.0.5.1/24, ma gụnyekwara ipv4.nat ka arịa wee nweta ịntanetị site na onye ọbịa site na iji ọrụ NAT:

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

Na-elele ndepụta ngwaọrụ netwọk dị na LXD:

lxc network list

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

Ị nwekwara ike ịchọpụta na emepụtara ngwaọrụ netwọk site na iji ngwa nkesa Linux - ip link ma ọ bụ 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

Profaịlụ nhazi ^

Akpa ọ bụla dị na LXD nwere nhazi nke ya ma nwee ike ịgbatị ya site na nhazi ọkwa zuru ụwa ọnụ nke akpọrọ profaịlụ nhazi. Itinye profaịlụ nhazi na akpa nwere ụdị cascade, ihe atụ na-egosi nke a:

Akụkụ bụ isi nke LXD - Sistemụ akpa Linux

N'ọmụmaatụ a, emepụtara profaịlụ atọ na sistemụ LXD: default, hddpool и hostfs. A na-etinye profaịlụ atọ ahụ na akpa nke nwere nhazi mpaghara (mpaghara isi awọ). Profaịlụ default nwere ngwaọrụ root nke nwere oke pool ha nhata ssdpool, mana ekele maka ụdị nhazi ngwa ngwa cascade, anyị nwere ike itinye profaịlụ na akpa ahụ hddpool nke nwere oke pool ga-ewepụ otu oke ahụ na profaịlụ default na akpa ga-enweta nhazi ngwaọrụ root na oke pool nhata hddpool, na profaịlụ hostfs nanị na-agbakwụnye a ọhụrụ ngwaọrụ na akpa.

Ka ịhụ ndepụta profaịlụ nhazi dị, jiri iwu a:

lxc profile list

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

Enwere ike nweta ndepụta zuru oke nke iwu dị maka ịrụ ọrụ na profaịlụ site na ịgbakwunye igodo --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

Na-edezi profaịlụ gị ^

Profaịlụ nhazi nke ọma default enweghị nhazi kaadị netwọk maka akpa na ihe niile emepụtara ọhụrụ enweghị netwọk, maka ha ọ dị mkpa ịmepụta ngwaọrụ netwọk mpaghara (raara onwe ya nye) na iwu dị iche, ma anyị nwere ike ịmepụta ngwaọrụ netwọk ụwa na nhazi nhazi. profaịlụ nke a ga-ekekọrịta n'etiti arịa niile site na iji profaịlụ a. N'ụzọ dị otú a, ozugbo iwu ka ịmepụta akpa ọhụrụ, ha ga-enwe netwọk nwere ohere netwọk. N'otu oge ahụ, enweghị ihe mgbochi; anyị nwere ike ịmepụta ngwaọrụ netwọk mpaghara mgbe ọ bụla ma ọ bụrụ na ọ dị mkpa.

Iwu na-esote ga-agbakwunye ngwaọrụ na profaịlụ nhazi eth0 ụdị nic ejikọrọ na netwọk lxdbr0:

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

Ọ dị mkpa iburu n'obi na ebe ọ bụ na anyị gbakwunyere ngwaọrụ ahụ na profaịlụ nhazi, ọ bụrụ na anyị akọwapụtara adreesị IP static na ngwaọrụ ahụ, mgbe ahụ ihe niile ga-eji profaịlụ a ga-ekekọrịta otu adreesị IP ahụ. Ọ bụrụ na ọ dị mkpa ịmepụta akpa nwere adreesị IP static ekenyela maka akpa ahụ, mgbe ahụ, ị ​​​​ga-emepụta nhazi ngwaọrụ netwọk na ọkwa akpa (nhazi mpaghara) na paramita adreesị IP, ọ bụghị na ọkwa profaịlụ.

Ka anyị lelee profaịlụ:

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

Na profaịlụ a, anyị nwere ike ịhụ na maka igbe niile emepụtara ọhụrụ, a ga-emepụta ngwaọrụ abụọ:

  • eth0 - Ụdị ngwaọrụ nic ejikọrọ na mgba ọkụ (akwa netwọk) lxdbr0
  • root - Ụdị ngwaọrụ disk nke na-eji ọdọ mmiri nchekwa ssdpool

Ịmepụta profaịlụ ọhụrụ ^

Iji mepụta mbụ Ọdọ mmiri nchekwa akpa, mepụta profaịlụ nhazi ssdroot nke anyị ga-agbakwunye ngwaọrụ dị ka disk na ebe ugwu / (mgbọrọgwụ) na-eji nke mbụ emepụtara Ọdọ mmiri nchekwa - ssdpool:

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

N'otu aka ahụ, anyị na-emepụta ngwaọrụ dị ka disk, ma na nke a na-eji Ọdọ mmiri nchekwa - hddpool:

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

Na-enyocha profaịlụ nhazi:

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

Ebe nchekwa foto ^

A na-emepụta akpa site na onyonyo achịkọtara nke ọma nke na-enweghị kernel Linux. Ya mere, tupu ịgbanye akpa ahụ, a ga-ebuga ya na foto a. Isi mmalite ihe onyonyo bụ ebe a na-edebe ihe onyonyo na mpaghara ebe a na-ebudata onyonyo site na ebe nchekwa mpụga.

Ebe nchekwa onyonyo dịpụrụ adịpụ ^

Site na ndabara, ahaziri LXD ka ọ nweta onyonyo sitere na isi mmalite atọ:

  • ubuntu: (maka onyonyo Ubuntu kwụsiri ike)
  • ubuntu-kwa ụbọchị: (maka onyonyo Ubuntu kwa ụbọchị)
  • foto: (maka ụyọkọ distros ndị ọzọ)

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

Dịka ọmụmaatụ, ebe nchekwa ubuntu: nwere foto ndị a:

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

Iji gosipụta ọnụ ọgụgụ ogidi ndị nwere oke anyị jiri nhọrọ ahụ -c na parameters dasut, ma jiri iwu ahụ kpachie ogologo ndepụta ahụ head.

Nzacha dị iji gosipụta ndepụta onyonyo. Iwu na-esonụ ga-edepụta ụlọ ọrụ nkesa niile dị Alpine Linux:

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

Ebe nchekwa ihe onyonyo mpaghara ^

Iji malite iji akpa ahụ, ịkwesịrị ịgbakwunye onyonyo sitere na ebe nchekwa zuru ụwa ọnụ na nke mpaghara local:. Ugbu a ebe nchekwa mpaghara abaghị uru, iwu ahụ ga-ejide n'aka na nke a lxc image list. Ọ bụrụ na usoro list akọwapụtala ebe nchekwa, mgbe ahụ, a ga-eji ebe nchekwa mpaghara na ndabara - local:

lxc image list local:

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

A na-eji usoro ndị a na-ejikwa foto dị na ebe nchekwa ahụ:

otu
Nkowasi

foto lxc utu aha
Jikwaa utu aha onyonyo

foto lxc oyiri
Detuo onyonyo n'etiti sava

foto lxc hichapụ
Hichapụ ihe oyiyi

foto lxc edit
Dezie njirimara onyonyo

foto lxc mbupụ
Bupụ ma budata onyonyo

foto lxc mbubata
Bubata onyonyo n'ime ụlọ ahịa ihe onyonyo

foto lxc Ama
Gosi ozi bara uru gbasara onyonyo

foto lxc ndepụta
Depụta onyonyo

foto lxc tuondu
Weghachite onyonyo

foto lxc show
Gosi njirimara onyonyo

Detuo onyonyo a na ebe nchekwa mpaghara site na nke zuru ụwa ọnụ images::

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

Image copied successfully!

Ka anyị gosipụta ndepụta onyonyo niile dị ugbu a na ebe nchekwa mpaghara local::

lxc image -c lfdatsu list local:

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

Nhazi LXD ^

Na mgbakwunye na ọnọdụ mmekọrịta, LXD na-akwadokwa ọnọdụ nhazi nhazi nke na-adịghị emekọrịta ihe, nke a bụ mgbe a na-akọwapụta nhazi ahụ n'ụdị faịlụ YAML, usoro pụrụ iche nke na-enye gị ohere ịwụnye nhazi ahụ n'otu oge, na-agafe na njedebe. nke ọtụtụ iwu mmekọrịta ndị a tụlere n'elu n'isiokwu a, gụnyere nhazi netwọk, ịmepụta profaịlụ nhazi, wdg. Anyị agaghị ekpuchi mpaghara a ebe a, ị nwere ike lelee ya n'onwe gị. na akwụkwọ.

Iwu mmekọrịta na-esote lxc config nke anyị ga-ele anya na-enye gị ohere ịtọ nhazi ahụ. Dịka ọmụmaatụ, iji hụ na anaghị emelite onyonyo ebudatara na ebe nchekwa mpaghara na-akpaghị aka site na ebe nchekwa zuru ụwa ọnụ, anyị nwere ike iji iwu na-esonụ mee omume a:

lxc config set images.auto_update_cached=false

Ịmepụta na ijikwa akpa ^

Iji mepụta akpa jiri iwu lxc init nke ụkpụrụ na-gafere репозиторий:образ wee nweta ID achọrọ maka akpa ahụ. Enwere ike ịkọwa ebe nchekwa dị ka mpaghara local: otú ahụ ka ọ dị nke ọ bụla zuru ụwa ọnụ. Ọ bụrụ na akọwapụtaghị ebe nchekwa ahụ, mgbe ahụ site na ndabara, a na-eji ebe nchekwa mpaghara chọọ ihe onyonyo a. Ọ bụrụ na akọwapụtara ihe oyiyi ahụ site na ebe nchekwa zuru ụwa ọnụ, mgbe ahụ, a ga-ebu ụzọ budata ihe oyiyi ahụ na ebe nchekwa mpaghara wee jiri ya mepụta akpa ahụ.

Ka anyị gbaa iwu a ka imepụta akpa mbụ anyị:

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

Ka anyị lelee igodo iwu anyị na-eji ebe a n'usoro:

  • alpine3 - Ezipụta utu aha (utu aha) maka onyonyo ebugoro na mbụ na ebe nchekwa mpaghara. Ọ bụrụ na emeghị utu aha maka ihe oyiyi a, mgbe ahụ ị nwere ike na-ezo aka na ihe oyiyi mgbe niile site na ya Mpempe akwụkwọ nke egosiri na tebụl.
  • alp - Na-edobe ihe nchọpụta maka akpa
  • --storage - Nke a igodo na-egosi na nke Ọdọ mmiri nchekwa a ga-eke akpa
  • --profile - Igodo ndị a na-etinye nhazi site na profaịlụ nhazi nke emeburu na akpa

Anyị na-amalite akpa ahụ, nke na-amalite ịmalite usoro init nke nkesa:

lxc start alp

Ị nwekwara ike iji iwu ahụ lxc launch nke na-enye gị ohere ijikọta otu lxc init и lxc start n'otu ọrụ.

Na-enyocha ọnọdụ akpa ahụ:

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

Na-enyocha nhazi akpa ahụ:

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

Na ngalaba profiles anyị nwere ike ijide n'aka na akpa a na-eji profaịlụ nhazi abụọ - default и hddroot. Na ngalaba devices anyị nwere ike ịchọpụta naanị otu ngwaọrụ n'ihi na emepụtara ngwaọrụ netwọk na ọkwa profaịlụ default. Iji hụ ngwaọrụ niile ejiri akpa, ịkwesịrị ịgbakwunye igodo --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: ""

Ịtọlite ​​adreesị IP kwụ ọtọ ^

Ọ bụrụ na anyị na-agbalị ịtọ adreesị IP maka ngwaọrụ netwọk eth0 otu lxc config device set alp ezubere maka nhazi akpa, mgbe ahụ, anyị ga-enweta njehie nke ga-akọ na ngwaọrụ adịghị adị n'ihi na ngwaọrụ ahụ eth0 nke a na-eji akpa bụ nke profaịlụ default:

lxc config device set alp eth0 ipv4.address 10.0.5.5

Error: The device doesn't exist

Anyị nwere ike n'ezie ịtọ a static adreesị IP maka eth0 ngwaọrụ dị na profaịlụ, mana ọ ga-abụ otu maka arịa niile ga-eji profaịlụ a. Ya mere, ka anyị gbakwunye ngwaọrụ a raara nye na akpa:

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

Mgbe ahụ ịkwesịrị ịmalitegharị akpa ahụ:

lxc restart alp

Ọ bụrụ na anyị eleba anya na nhazi akpa ugbu a, anyị adịghị mkpa iji nhọrọ ahụ --expanded ịhụ ngwaọrụ netwọk eth0, ebe ọ bụ na anyị kere ya na ọkwa akpa ma ọ na-agbanye n'otu ngwaọrụ ahụ site na profaịlụ 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: ""

Iwepu akpa ^

Iji wepu akpa, jiri iwu a lxc delete, ma tupu iwepu akpa ahụ, a ghaghị ịkwụsị iji iwu ahụ lxc stop:

lxc stop alp

lxc list

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

Mgbe anyị kwuchara na ọnọdụ nke akpa ahụ aghọwo Nọgidere, enwere ike wepu ya Ọdọ mmiri nchekwa:

lxc delete alp

Nweta akpa ^

Iji mezuo iwu n'ime akpa ozugbo, gafere njikọ netwọkụ, jiri iwu ahụ lxc exec nke na-emezu iwu n'ime akpa na-enweghị mmalite shei usoro. Ọ bụrụ na ịchọrọ ịme iwu na shei site na iji usoro shei dị ka mgbanwe, redirections faịlụ (pipe), wdg, mgbe ahụ ịkwesịrị ịmalite shei ahụ n'ụzọ doro anya ma nyefee iwu ahụ dị ka igodo, dịka ọmụmaatụ:

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

Iwu ahụ ji agwa mgbapụ pụrụ iche maka agwa pụrụ iche $ nke mere na mgbanwe $HOME Asụgharịghị ya na igwe nnabata, mana a tụgharịrị ya naanị n'ime akpa ahụ.

Ọ ga-ekwe omume ịmalite ọnọdụ shei mmekọrịta, wee mechie nnọkọ ahụ site na ịme hotkey CTRL+D:

lxc exec alp -- /bin/sh

Njikwa akụrụngwa akpa ^

Na LXD, ị nwere ike ijikwa akụrụngwa akpa site na iji nhazi nhazi pụrụ iche. Enwere ike ịchọta ndepụta zuru oke nke nhazi nhazi akpa na akwụkwọ.

Mmachi akụrụngwa RAM ^

Ogologo limits.memory na-amachi ọnụ ọgụgụ RAM dị na akpa ahụ. Uru bụ ọnụọgụ na otu n'ime suffixes dị.

Ka anyị debe oke RAM nke akpa ahụ ka ọ bụrụ 256 MB:

lxc config set alp limits.memory 256MB

Ọzọkwa, enwere paramita ndị ọzọ maka ịmachi ebe nchekwa:

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

otu lxc config show na-enye gị ohere igosipụta nhazi akpa niile, gụnyere oke akụrụngwa etinyere nke edobere:

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

Oke akụrụngwa CPU ^

Enwere ụzọ dị iche iche iji gbochie akụrụngwa CPU. ụdị mgbochi:

  • limit.cpu - na-ejikọta akpa na otu cores CPU ma ọ bụ karịa
  • limits.cpu.allowance - na-ejikwa ma ọ bụ CFS nhazi quotas mgbe njedebe oge gafere, ma ọ bụ usoro nkekọrịta ihe akụrụngwa CPU zuru ụwa ọnụ mgbe pasent agafeela.
  • limits.cpu.priority - onye nhazi ihe kacha mkpa mgbe ọtụtụ oge na-ekerịta otu nhazi nke ndị na-arụ ọrụ na-ekenye otu pasent nke ndị nhazi

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

Mmachi oghere diski ^

Na mgbakwunye na mgbochi ndị dị otú ahụ limits.read, limits.write anyị nwekwara ike belata oke ohere diski nke akpa ahụ na-eri (naanị ZFS ma ọ bụ BTRFS na-arụ ọrụ):

lxc config device set alp root size=2GB

Mgbe echichi, na paramita devices.root.size Anyị nwere ike nyochaa oke atọrọ:

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

Ka ilele oke diski ejiri mee ihe anyị nwere ike nweta site na iwu ahụ 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

N'agbanyeghị eziokwu na anyị setịpụrụ ịgba maka mgbọrọgwụ ngwaọrụ nke akpa 2GB, usoro utilities dị ka df agaghị ahụ mmachi a. Iji mee nke a, anyị ga-eduzi obere ule ma chọpụta otú o si arụ ọrụ.

Ka anyị mepụta arịa ọhụrụ abụọ yiri ya n'otu Ọdọ mmiri nchekwa (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         |
+------+---------+------------------+------+-----------+-----------+

Ka anyị mepụta faịlụ 1GB n'ime otu akpa:

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

Ka anyị hụ na emepụtara faịlụ a:

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

Ọ bụrụ na anyị elee anya na akpa nke abụọ, lelee maka ịdị adị nke faịlụ n'otu ebe ahụ, mgbe ahụ faịlụ a agaghị adị, nke a na-atụ anya ya, ebe ọ bụ na a na-emepụta ihe n'ime onwe ha. Mpịakọta Nchekwa n'otu aka ahụ Ọdọ mmiri nchekwa:

lxc exec alp2 -- ls -lh
total 0

Ma ka anyị tụlere ụkpụrụ ọ na-arụpụta df na otu na akpa nke ọzọ:

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

Ngwaọrụ /dev/loop1 ndokwasa dị ka mgbọrọgwụ nkebi bụ Ọdọ mmiri nchekwa nke arịa ndị a na-eji, ya mere, ha na-ekerịta olu ya n'etiti abụọ.

Ọnụọgụ oriri akụrụngwa ^

Ị nwere ike ịlele ọnụ ọgụgụ oriri akụrụngwa maka akpa site na iji iwu:

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

Na-arụ ọrụ na snapshots ^

LXD nwere ike ịmepụta snapshots wee weghachi ọnọdụ akpa ahụ n'aka ha.

Ka ịmepụta foto, mee iwu a:

lxc snapshot alp snapshot1

Otu ahụ lxc snapshot enweghị igodo dị list, ya mere, ka ịlele ndepụta nke snapshots ị ga-eji iwu na-egosipụta ozi izugbe gbasara akpa:

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

Ị nwere ike weghachite akpa site na foto foto site na iji iwu ahụ lxc restore Ezipụta akpa nke a ga-arụ ọrụ mweghachi na foto nke utu aha:

lxc restore alp snapshot1

A na-eji iwu na-esonụ ihichapụ foto. Biko mara na syntax iwu ahụ adịghị ka ndị ọzọ niile; ebe a ịkwesịrị ịkọwapụta slash n'ihu mgbe aha akpa ahụ gasịrị. Ọ bụrụ na ewepụrụ slash, mgbe ahụ, a na-atụgharị iwu ka ihichapụ foto dị ka iwu ka ihichapụ akpa!

lxc delete alp/snapshot1

N'ihe atụ dị n'elu, anyị lere anya na ihe a na-akpọ snapshots enweghị obodo. LXD nwekwara ụdị foto ọzọ - steeti, nke na-echekwa ọnọdụ usoro niile dị ugbu a na akpa. Enwere ọtụtụ atụmatụ na-adọrọ mmasị na nke bara uru jikọtara ya na foto nke steeti.

Kedu ihe ọzọ? ^

  • Modul dị maka ndị nrụpụta Python PylXD nke na-enye API na LXD

emelitere 10.04.2020/15/00 XNUMX:XNUMX: agbakwunyere igodo

isi: www.habr.com

Tinye a comment