Nā hiʻohiʻona kumu o LXD - nā ʻōnaehana pahu Linux

Nā hiʻohiʻona kumu o LXD - nā ʻōnaehana pahu Linux

LXD ʻo ia ka mana o ka ʻōnaehana ʻōnaehana hou aʻe, no laila ke ʻōlelo nei kumu. Hāʻawi ia i kahi mea hoʻohana e like me nā mīkini virtual, akā hoʻohana i nā ipu Linux ma kahi.

LXD kumu he daemon hanohano (he lawelawe e holo ana me nā kuleana kumu) e hāʻawi ana i kahi API REST ma o kahi kumu unix kūloko, a ma o ka pūnaewele inā hoʻokomo ʻia ka hoʻonohonoho kūpono. ʻO nā mea kūʻai aku, e like me ka mea hana laina kauoha i hāʻawi ʻia me LXD, e noi i kēia REST API. ʻO ia ke ʻano inā ʻoe e komo ana i kahi host kūloko a i ʻole kahi host mamao, hana like nā mea āpau.

Ma kēia ʻatikala ʻaʻole mākou e noʻonoʻo kikoʻī i nā manaʻo o LXD, ʻaʻole mākou e noʻonoʻo i nā mea hiki ke loaʻa i hōʻike ʻia i loko o ka palapala, me ka hoʻokō hou ʻana i nā mana hou o LXD o ke kākoʻo no nā mīkini virtual QEMU e like me nā ipu. Akā, e aʻo mākou i nā kumu kumu o ka hoʻokele ipu - hoʻonohonoho i nā loko waihona, ka pūnaewele, ka holo ʻana i kahi pahu, ka noi ʻana i nā palena waiwai, a pehea e hoʻohana ai i nā kiʻi paʻi i hiki iā ʻoe ke loaʻa ka ʻike kumu o LXD a hoʻohana i nā ipu ma Linux.

No ka ʻike piha, e ʻoluʻolu e nānā i ke kumu kumu:

ʻO nā mea

Hoʻokomo LXD ^

Ke hoʻouka nei i ka LXD ma nā māhele ʻo Ubuntu ^

Ma ka pūʻolo hoʻolaha ʻo Ubuntu 19.10 lxd he hoʻolaha ma pūʻolo paʻi:

apt search lxd

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

ʻO ia hoʻi, e hoʻokomo ʻia ʻelua pūʻolo i ka manawa hoʻokahi, ʻo kekahi ma ke ʻano he pūʻolo ʻōnaehana a ʻo kekahi ma ke ʻano he pūʻolo paʻi. Hiki i ka hoʻokomo ʻana i ʻelua pūʻolo ma kahi ʻōnaehana ke hana i kekahi pilikia kahi e lilo ai ka pūʻolo ʻōnaehana i makua ʻole inā hoʻoneʻe ʻia ka pūʻolo pahele e ka luna pūʻolo snap.

Huli pūʻolo lxd i ka waihona snap hiki iā ʻoe ke hoʻohana i kēia kauoha:

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

Ma ka holo ʻana i ke kauoha list hiki iā ʻoe ke hōʻoia i ka pūʻolo lxd ʻaʻole i hoʻokomo ʻia:

snap list

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

ʻOiai ʻo ka LXD he pōkole pōkole, pono e hoʻokomo ʻia ma o ka ʻōnaehana ʻōnaehana lxd, ka mea e hana i ka hui pili i ka ʻōnaehana, nā pono pono i /usr/bin a pēlā aku nō.

sudo apt update
sudo apt install lxd

E hōʻoia kākou ua hoʻokomo ʻia ka pūʻolo ma ke ʻano he pūʻolo paʻi:

snap list

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

Ke hoʻouka nei i ka LXD ma nā māhele Arch Linux ^

No ka hoʻokomoʻana i ka pūʻolo LXD ma ka pūnaewele, ponoʻoe e holo i kēia mau kauoha, e hoʻololi ka mea mua i ka papa inoa o nā pūʻolo ma ka pūnaewele i loaʻa i loko o ka waihona, aʻo ka lua e hoʻokomo pono i ka pūʻolo:

sudo pacman -Syyu && sudo pacman -S lxd

Ma hope o ka hoʻokomo ʻana i ka pōʻai, i mea e hoʻokele ai i ka LXD e ka mea hoʻohana maʻamau, pono e hoʻohui ʻia i ka hui ʻōnaehana lxd:

sudo usermod -a -G lxd user1

E hōʻoia i ka mea hoʻohana user1 hoʻohui ʻia i ka hui lxd:

id -Gn user1

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

Inā ʻo ka hui lxd ʻAʻole ʻike ʻia ma ka papa inoa, a laila pono ʻoe e hoʻāla hou i ka hui mea hoʻohana. No ka hana ʻana i kēia, pono ʻoe e haʻalele a komo i lalo o ka mea hoʻohana hoʻokahi.

Ho'ā i loko systemd ke hoʻouka ʻana i ka lawelawe LXD i ka hoʻomaka ʻana o ka ʻōnaehana:

sudo systemctl enable lxd

E hoʻomaka kākou i ka lawelawe:

sudo systemctl start lxd

Ke nānā nei i ke kūlana lawelawe:

sudo systemctl status lxd

Waihona LXD (Storage) ^

Ma mua o ka hoʻomaka ʻana o ka hoʻomaka ʻana, pono mākou e hoʻomaopopo i ka hoʻonohonoho pono ʻana o ka waiho ʻana ma LXD.

Waihona (pūnaewele) i loko o mai hoʻokahi a ʻoi aku paha Waihona Waiwai e hoʻohana ana i kekahi o nā ʻōnaehana faila i kākoʻo ʻia e like me ZFS, BTRFS, LVM a i ʻole nā ​​papa kuhikuhi maʻamau. ʻO kēlā me kēia Waihona Waiwai ua maheleia i mau volumes (Volume mālama) i loaʻa nā kiʻi, nā pahu, a i ʻole ka ʻikepili no nā kumu ʻē aʻe.

  • Nā kiʻi - ʻo kēia nā māhele i hui pū ʻia me ka ʻole o ka Linux kernel a loaʻa mai nā kumu waho
  • Nā pahu pahu - ua hoʻoili ʻia kēia mau māhele mai nā kiʻi, mākaukau no ka hoʻohana
  • Kiʻi kiʻi - he mau paʻi kiʻi kēia o ke kūlana o nā ipu e hiki ai iā ʻoe ke hoʻi

Nā hiʻohiʻona kumu o LXD - nā ʻōnaehana pahu Linux

No ka mālama ʻana i kahi waihona ma LXD, e hoʻohana i ke kauoha lxc storage he palapala hōʻoia e hiki ke loaʻa iā ʻoe ma ke kuhikuhi ʻana i ke kī - lxc storage --help

Hōʻike kēia kauoha i ka papa inoa o nā mea a pau Waihona Waiwai ma ka waihona LXD:

lxc storage list

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

E nānā i ka papa inoa o nā mea a pau Volume mālama ma ka mea i kohoia Waihona Waiwai lawelawe i ka hui 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       |
+-----------+----------------------------------+-------------+---------+

Eia kekahi, inā no Waihona Waiwai I ka hana ʻana, ua koho ʻia ka ʻōnaehana faila BTRFS, a laila loaʻa kahi papa inoa Volume mālama ai ole ia, subuwaawe i ka wehewehe BTRFS, hiki iā ʻoe ke hoʻohana i ka pahu hana o kēia ʻōnaehana 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

Hoʻomaka LXD ^

Ma mua o ka hana ʻana a me ka hoʻohana ʻana i nā ipu, pono ʻoe e hana i kahi hoʻomaka LXD maʻamau e hana a hoʻonohonoho i ka pūnaewele a me ka waiho ʻana. Hiki ke hana me ka lima me ka hoʻohana ʻana i nā kauoha mea kūʻai maʻamau i loaʻa i ka papa inoa ma ke kāhea ʻana i ke kauoha lxc --help a i ʻole ka hoʻohana ʻana i ka wizard hoʻomaka lxd init pane ana i kekahi mau ninau.

Ke koho ʻana i kahi ʻōnaehana waihona no ka Pool Storage ^

I ka wā hoʻomaka, nīnau ʻo LXD i nā nīnau he nui, me ka hoʻoholo ʻana i ke ʻano o ka ʻōnaehana faila no ka paʻamau Waihona Waiwai. Ma ka maʻamau, koho ʻia ka ʻōnaehana faila BTRFS no ia. ʻAʻole hiki ke hoʻololi i kekahi FS ma hope o ka hana ʻana. No ke koho ʻana i kahi FS ua manaʻo ʻia papa hoʻohālikelike hiʻona:

hiʻona
Papa Kuhikuhi
Nā Btrfs
LVM
ZFS
CEPH

Hoʻopaʻa kiʻi ʻoi loa
ʻaʻole
ʻae
ʻae
ʻae
ʻae

Hana ʻia ka laʻana i hoʻopaʻa ʻia
ʻaʻole
ʻae
ʻae
ʻae
ʻae

Hana ʻia ka paʻi kiʻi ʻoi loa
ʻaʻole
ʻae
ʻae
ʻae
ʻae

Hoʻololi kiʻi ʻoi loa
ʻaʻole
ʻae
ʻaʻole
ʻae
ʻae

ʻO ka hoʻololi ʻana i ka laʻana i hoʻoikaika ʻia
ʻaʻole
ʻae
ʻaʻole
ʻae
ʻae

Kope ma ka palapala
ʻaʻole
ʻae
ʻae
ʻae
ʻae

Ma muli o ka poloka
ʻaʻole
ʻaʻole
ʻae
ʻaʻole
ʻae

Hoʻopili koke
ʻaʻole
ʻae
ʻae
ʻae
ʻae

Hiki ke hoʻohana ʻia ka mea hoʻokele mālama i loko o kahi pahu
ʻae
ʻae
ʻaʻole
ʻaʻole
ʻaʻole

Hoʻihoʻi hou mai nā kiʻi paʻi kahiko (ʻaʻole hou loa)
ʻae
ʻae
ʻae
ʻaʻole
ʻae

ʻO nā helu hoʻopaʻa
ʻAe(*)
ʻae
ʻae
ʻae
ʻaʻole

Ke hoʻomaka nei i ka pūnaewele a me ka Pool Storage me ka hoʻohana ʻana i ka wizard ^

ʻO ke kauoha aʻe a mākou e nānā ai, manaʻo e hoʻonohonoho i nā mea nui o LXD ma ka pane ʻana i nā nīnau maʻalahi me ka hoʻohana ʻana i ka wizard hoʻomaka.

Kauoha holo lxc init a komo i nā pane i nā nīnau ma hope o ke kolonā e like me ka hōʻike ʻana ma ka laʻana ma lalo a i ʻole e hoʻololi iā lākou e like me kāu mau kūlana:

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

Ke hana ʻana i kahi waihona waihona waihona hou ^

Ma ka hana mua a mākou i hana ai Waihona Waiwai i kapaia ka inoa ssdpool a aia ka faila ma ka'u pūnaewele ma /var/lib/lxd/disks/ssdpool.img. Hoʻopili kēia ʻōlelo ʻōnaehana faila i ka drive SSD kino i kaʻu PC.

ʻO nā hana ma lalo nei, e hoʻonui i ka ʻike i ke kuleana i pāʻani ʻia e Waihona Waiwai i loko o ka waihona, e hana mākou i ka lua Waihona Waiwai e loaʻa kino ana ma kahi ʻano diski ʻē aʻe, HDD. ʻO ka pilikia, ʻaʻole ʻae ʻo LXD iā ʻoe e hana Waihona Waiwai waho o ka helu wahi /var/lib/lxd/disks/ a ʻaʻole e holo nā loulou hōʻailona, ʻike i ka pane a ka mea hoʻomohala. Hiki iā mākou ke kāʻalo i kēia palena i ka wā hoʻomaka/hōpili Waihona Waiwai ma ke kuhikuhi ʻana i ka waiwai ma ke ʻano he mea poloka ma kahi o ke ala i ka faila loopback ma ke kuhikuhi ʻana i kēia ma ke kī source.

No laila, ma mua o ka hana ʻana Waihona Waiwai pono ʻoe e wehewehe i kahi faila loopback a i ʻole kahi ʻāpana i loaʻa i kāu ʻōnaehana faila e hoʻohana ai. No ka hana ʻana i kēia, hana mākou a hoʻohana i kahi faila a mākou e kaupalena ai i ka nui i 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

E hoʻohui kākou i ka faila loopback i kahi hāmeʻa loopback manuahi:

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

/dev/loop1

Mahalo i ke kī --show ke hoʻokō nei i ke kauoha e hoʻihoʻi i ka pale i ka inoa o ka mea i hoʻopili ʻia ai kā mākou faila loopback. Inā pono, hiki iā mākou ke hōʻike i kahi papa inoa o nā mea hana a pau o kēia ʻano e hōʻoia i ka pololei o kā mākou hana:

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 ka papa inoa hiki iā ʻoe ke ʻike i ka mea i loaʻa /dev/loop1 Ua hoʻokomo ʻia ka faila loopback /mnt/work/lxd/hddpool.img, a ma ka mea hana /dev/loop0 Ua hoʻokomo ʻia ka faila loopback /var/lib/lxd/disks/ssdpool.img e pili ana i ka paʻamau Waihona Waiwai.

Hoʻokumu kēia kauoha i kahi hou Waihona Waiwai ma LXD e pili ana i ka faila loopback a mākou i hoʻomākaukau ai. LXD e hōʻano i ka faila loopback /mnt/work/lxd/hddpool.img i loko o ka mea hana /dev/loop1 no ka ʻōnaehana waihona BTRFS:

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

E hōʻike mākou i kahi papa inoa o nā mea a pau Waihona Waiwai e nānā:

lxc storage list

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

Hoʻonui i ka nui o ka waihona waihona ^

Ma hope o ka hana ʻana Waihona Waiwai, inā pono, hiki ke hoʻonui ʻia. No ka mea Waihona Waiwai e pili ana i ka ʻōnaehana faila BTRFS, e holo i kēia mau kauoha:

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

Hoʻokomo ʻokoʻa i kahi faila loopback i loko o kahi slot hāmeʻa loopback ^

Loaʻa iā mākou hoʻokahi pilikia liʻiliʻi, i ka wā e hoʻomaka hou ai i ka ʻōnaehana host, ka faila /mnt/work/lxd/hddpool.img e "lele" i waho o ka mea hana /dev/loop1 a e hāʻule ka lawelawe LXD i ka wā e hoʻouka ai no ka mea ʻaʻole ia e ʻike iā ia ma kēia hāmeʻa. No ka hoʻoponopono i kēia pilikia, pono ʻoe e hana i kahi lawelawe ʻōnaehana e hoʻokomo i kēia faila i loko o ka hāmeʻa /dev/loop1 i ka wā e hoʻomaka ai ka ʻōnaehana hoʻokipa.

E hana kākou Ho'okahi ʻano waihona hana в /etc/systemd/system/ no ka ʻōnaehana hoʻomaka 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

E ho'ā i ka lawelawe:

sudo systemctl enable lxd-hddpool

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

Ma hope o ka hoʻomaka hou ʻana i ka ʻōnaehana hoʻokipa, nānā mākou i ke kūlana lawelawe:

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 ka hopena hiki iā mākou ke hōʻoia i ke kūlana lawelawe ʻeleu, ʻoiai ua pau ka hoʻokō ʻana i kā mākou palapala mai kahi kauoha, ua ʻae ke koho iā mākou e hana i kēia RemainAfterExit=true.

Palekana. Nā Pono Mea Paʻa ^

Ma muli o ka holo kaʻawale ʻana o nā kaʻina hana pahu a pau ma ka ʻōnaehana hoʻokipa me ka hoʻohana ʻana i kāna kernel, no ka pale ʻana i ke komo ʻana o nā kaʻina hana ipu i ka ʻōnaehana hoʻokipa, hāʻawi ʻo LXD i ka pono hana, kahi:

  • Na Mea Pono - he mau ipu kēia e pili ana nā kaʻina hana me UID a me GID me ka mea nona ka ʻōnaehana hoʻokipa. Eia kekahi laʻana,ʻo kahi kaʻina hana e holo ana i loko o kahi pahu me ka UID o 0 loaʻa nā kuleana āpau e like me ke kaʻina hana ma ka pūnaewele hoʻokipa me kahi UID o 0. ʻO ia hoʻi, loaʻa i ka mea hoʻohana kumu i loko o ka pahu nā kuleana a pauʻaʻole i loko wale nō. ka ipu, akā ma ka ʻōnaehana hoʻokipa inā hiki iā ia ke hele ma waho o ka inoa inoa kaʻawale o ka ipu.

  • ʻO nā pahu pono ʻole - he mau pahu kēia i ka mea nona ka UID a me GID me kahi helu mai 0 a 65535, akā no ka ʻōnaehana hoʻokipa ua uhi ʻia ka mea nona ka hoʻohana ʻana i nā SubUID a me SubGID bits, kēlā me kēia. No ka laʻana, ʻike ʻia kahi mea hoʻohana me UID=0 i loko o kahi pahu ma ka ʻōnaehana hoʻokipa e like me SubUID + UID. Mālama kēia i ka ʻōnaehana hoʻokipa no ka mea inā hiki i kekahi kaʻina hana i loko o ka pahu ke pakele i kāna inoa inoa kaʻawale, hiki iā ia ke kamaʻilio me ka ʻōnaehana host ma ke ʻano he kaʻina me kahi UID/GID kiʻekiʻe loa.

ʻO ka maʻamau, loaʻa i nā pahu i hana hou ʻia kahi kūlana pono ʻole a no laila pono mākou e wehewehe i kahi SubUID a me SubGID.

E hana mākou i ʻelua faila hoʻonohonoho kahi e hoʻonoho ai mākou i ka mask no SubUID a me SubGID, kēlā me kēia:

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

No ka hoʻohana ʻana i nā loli, pono e hoʻomaka hou ka lawelawe LXD:

sudo systemctl restart lxd

Ke hana ʻana i kahi hoʻololi pūnaewele virtual ^

No ka mea ua hoʻomaka mua mākou i ka pūnaewele me ka hoʻohana ʻana i ka wizard hoʻomaka lxd init a ua hana i kahi mea hana pūnaewele lxdbr0, a laila ma kēia ʻāpana e kamaʻilio wale mākou me ka pūnaewele ma LXD a pehea e hana ai i kahi hoʻololi virtual (alahaka) me ka hoʻohana ʻana i ke kauoha a ka mea kūʻai aku.

Hōʻike ke kiʻikuhi aʻe i ke ʻano o ka hoʻopili ʻana o ke kuapo (alahaka) i ka mea hoʻokipa a me nā ipu i loko o kahi pūnaewele:

Nā hiʻohiʻona kumu o LXD - nā ʻōnaehana pahu Linux

Hiki i nā pahu ke kamaʻilio ma o ka pūnaewele me nā ipu ʻē aʻe a i ʻole ka mea hoʻokipa e lawelawe ʻia ai kēia mau ipu. No ka hana ʻana i kēia, pono ʻoe e hoʻopili i nā kāleka pūnaewele virtual o nā ipu me kahi hoʻololi virtual. E hana mua mākou i kahi hoʻololi, a e hoʻopili ʻia nā pilina pūnaewele o ka ipu i nā mokuna aʻe, ma hope o ka hana ʻana o ka ipu.

Hoʻokumu kēia kauoha i kahi hoʻololi me kahi subnet 10.0.5.0/24 a me ka helu IPv4 10.0.5.1/24, a komo pu ipv4.nat i hiki i nā pahu ke komo i ka Pūnaewele ma o ka mea hoʻokipa e hoʻohana ana i ka lawelawe NAT:

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

Ke nānā nei i ka papa inoa o nā hāmeʻa pūnaewele i loaʻa ma LXD:

lxc network list

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

Hiki iā ʻoe ke hōʻoia i ka hana ʻana o kahi ʻenehana pūnaewele me ka hoʻohana ʻana i ka mea hana maʻamau o ka hoʻohele Linux - ip link ai ole ia, 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

Palapala Hoʻonohonoho ^

Loaʻa i kēlā me kēia pahu i LXD kona hoʻonohonoho ponoʻī a hiki ke hoʻonui iā ia me nā hoʻonohonoho hoʻolaha honua i kapa ʻia nā ʻaoʻao hoʻonohonoho. ʻO ka hoʻohana ʻana i nā ʻaoʻao hoʻonohonoho i kahi pahu he kumu hoʻohālike koʻikoʻi, e hōʻike ana kēia hiʻohiʻona:

Nā hiʻohiʻona kumu o LXD - nā ʻōnaehana pahu Linux

Ma kēia laʻana, ua hana ʻia ʻekolu ʻaoʻao ma ka ʻōnaehana LXD: default, hddpool и hostfs. Hoʻopili ʻia nā ʻaoʻao ʻekolu i kahi pahu i loaʻa kahi hoʻonohonoho kūloko (wahi hina). Pilikino default he mea hana root nona ka palena pool e like me ssdpool, akā hoʻomaikaʻi i ke kumu hoʻohālikelike hoʻonohonoho cascade, hiki iā mākou ke hoʻopili i kahi ʻaoʻao i ka ipu hddpool nona ka palena pool e hoʻopau i ka ʻāpana like mai ka ʻaoʻao default a e loaʻa i ka pahu ka hoʻonohonoho hoʻonohonoho root me ka palena pool kaulike hddpool, a me ka moolelo hostfs hoʻohui wale i kahi mea hou i ka ipu.

No ka ʻike ʻana i ka papa inoa o nā profile hoʻonohonoho i loaʻa, e hoʻohana i kēia kauoha:

lxc profile list

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

Hiki ke loaʻa kahi papa inoa piha o nā kauoha i loaʻa no ka hana ʻana me kahi ʻaoʻao ma ka hoʻohui ʻana i ke kī --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

Ke hoʻoponopono nei i kāu ʻaoʻao ^

Kiʻi hoʻonohonoho paʻamau default ʻaʻole i loaʻa kahi hoʻonohonoho kāleka pūnaewele no ka ipu a ʻaʻole i loaʻa i nā pahu hou i hana ʻia, no lākou pono e hana i nā ʻenehana pūnaewele kūloko (i hoʻolaʻa ʻia) me kahi kauoha ʻokoʻa, akā hiki iā mākou ke hana i kahi ʻenehana pūnaewele honua i ka hoʻonohonoho. ʻaoʻao e kaʻana like ʻia ma waena o nā pahu āpau e hoʻohana ana i kēia ʻaoʻao. ʻO kēia ala, ma hope koke o ke kauoha e hana i kahi pahu hou, e loaʻa iā lākou kahi pūnaewele me ke komo pūnaewele. Ma ka manawa like, ʻaʻohe palena; hiki iā mākou ke hana mau i kahi ʻoihana pūnaewele kūloko ma hope inā pono.

ʻO kēia kauoha e hoʻohui i ka hāmeʻa i ka ʻaoʻao hoʻonohonoho eth0 ʻano nic pili i ka pūnaewele lxdbr0:

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

He mea nui ia e hoʻomaopopo ʻoiai ua hoʻohui maoli mākou i ka hāmeʻa i ka ʻaoʻao hoʻonohonoho, inā mākou i kuhikuhi i kahi helu IP static i ka hāmeʻa, a laila e kaʻana like nā pahu āpau e hoʻohana i kēia ʻaoʻao i ka leka uila IP like. Inā pono e hana i kahi pahu me kahi helu IP static i hoʻokaʻawale ʻia no ka ipu, a laila pono ʻoe e hana i kahi hoʻonohonoho hoʻonohonoho pūnaewele ma ka pae pahu (hoʻonohonoho kūloko) me ka helu IP address, ʻaʻole ma ka pae profile.

E nānā kākou i ka moʻolelo:

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

Ma kēia ʻaoʻao hiki iā mākou ke ʻike e hana ʻia nā mea hana ʻelua no nā ipu hou a pau:

  • eth0 — Ke ʻano mea hana nic hoʻopili ʻia i kahi kī (alahaka pūnaewele) lxdbr0
  • root — Ke ʻano mea hana disk ka mea e hoʻohana ana i kahi waihona waihona ssdpool

Ke hana nei i nā moʻolelo hou ^

E hoʻohana i ka mea i hana mua ʻia Waihona Waiwai nā ipu, e hana i kahi ʻaoʻao hoʻonohonoho ssdroot kahi e hoʻohui ai mākou i kahi mea like disk me ka lae mauna / (root) me ka hoʻohana ʻana i ka mea i hana mua ʻia Waihona Waiwai - ssdpool:

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

Pēlā nō, hana mākou i kahi mea like disk, akā i kēia hihia e hoʻohana ana Waihona Waiwai - hddpool:

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

Ke nānā nei i nā moʻolelo hoʻonohonoho:

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

Waihona kiʻi ^

Hana ʻia nā pahu mai nā kiʻi i hui pū ʻia me ka ʻole o ka kernel Linux. No laila, ma mua o ka holo ʻana i ka ipu, pono e hoʻoili ʻia mai kēia kiʻi. ʻO ke kumu o nā kiʻi he waihona kūloko kahi e hoʻoiho ʻia ai nā kiʻi mai nā waihona waho.

Nā waihona kiʻi mamao ^

Ma ka paʻamau, ua hoʻonohonoho ʻia ʻo LXD e loaʻa nā kiʻi mai ʻekolu kumu mamao:

  • ubuntu: (no nā kiʻi Ubuntu paʻa)
  • ubuntu-lā: (no nā kiʻi Ubuntu i kēlā me kēia lā)
  • kiʻi: (no ka hui o nā distros ʻē aʻe)

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

No ka laʻana, waihona ubuntu: loaʻa nā kiʻi penei:

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

No ka hōʻike ʻana i ka helu palena o nā kolamu ua hoʻohana mākou i ke koho -c me nā palena dasut, a kaupalena pū i ka lōʻihi o ka papa inoa me ke kauoha head.

Loaʻa ke kānana e hōʻike i kahi papa inoa o nā kiʻi. ʻO ke kauoha ma lalo nei e papa inoa i nā hale hoʻohele āpau i loaʻa 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        |
+------------------------------+--------------------------------------+--------------+

Waihona kiʻi kūloko ^

No ka hoʻomaka ʻana i ka hoʻohana ʻana i ka ipu, pono ʻoe e hoʻohui i kahi kiʻi mai ka waihona honua i kahi kūloko local:. I kēia manawa ua nele ka waihona kūloko, na ke kauoha e hōʻoia i kēia lxc image list. Inā ʻo ke ʻano list mai kuhikuhi i kahi waihona, a laila e hoʻohana ʻia ka waihona kūloko e ka paʻamau - local:

lxc image list local:

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

Mālama ʻia nā kiʻi i loko o ka waihona me ka hoʻohana ʻana i kēia mau ʻano:

hui
hōʻikeʻano

lxc kii Alia
Mālama i nā inoa inoa kiʻi

lxc kii kope
E kope i nā kiʻi ma waena o nā kikowaena

lxc kii e kāpae i
Holoi i nā kiʻi

lxc kii paukū
Hoʻoponopono i nā waiwai kiʻi

lxc kii mea hoʻolilo
Hoʻokuʻu aku a hoʻoiho i nā kiʻi

lxc kii kekahi waiwai i
Hoʻokomo i nā kiʻi i loko o ka hale kūʻai kiʻi

lxc kii 'īpuka komo
Hōʻike i ka ʻike pono e pili ana i nā kiʻi

lxc kii papa
E papa inoa i nā kiʻi

lxc kii Ho'omaha
Hōʻano hou i nā kiʻi

lxc kii hoike
Hōʻike i nā waiwai kiʻi

E kope i ke kiʻi i ka waihona kūloko mai ka honua images::

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

Image copied successfully!

E hōʻike mākou i kahi papa inoa o nā kiʻi āpau i loaʻa i kēia manawa ma ka waihona kūloko local::

lxc image -c lfdatsu list local:

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

LXD Hoʻonohonoho ^

Ma waho aʻe o ka mode interactive, kākoʻo pū ʻo LXD i kahi ʻano hoʻonohonoho hoʻonohonoho non-interactive, ʻo ia ka manawa i hōʻike ʻia ka hoʻonohonoho ʻana ma ke ʻano o kahi faila YAML, kahi ʻano kūikawā e hiki ai iā ʻoe ke hoʻokomo i ka hoʻonohonoho holoʻokoʻa i ka manawa hoʻokahi, e kāpae i ka hoʻokō. ʻO nā kauoha pili i kūkākūkā ʻia ma luna o kēia ʻatikala, me ka hoʻonohonoho pūnaewele, ka hana ʻana i nā profile hoʻonohonoho, etc. ʻAʻole mākou e uhi i kēia wahi ma ʻaneʻi, hiki iā ʻoe ke nānā iā ʻoe iho. ma ka palapala.

Kauoha pāʻani hou lxc config a mākou e nānā ai e hiki iā ʻoe ke hoʻonohonoho i ka hoʻonohonoho. No ka laʻana, no ka hōʻoia ʻana ʻaʻole i hoʻonui ʻia nā kiʻi i hoʻoiho ʻia i ka waihona kūloko mai nā waihona waihona honua, hiki iā mākou ke hana i kēia ʻano me kēia kauoha:

lxc config set images.auto_update_cached=false

Ka hana ʻana a me ka mālama ʻana i kahi pahu ^

No ka hana ʻana i kahi pahu e hoʻohana i ke kauoha lxc init i hāʻawi ʻia nā waiwai репозиторий:образ a laila ka ID makemake no ka ipu. Hiki ke kuhikuhi ʻia ka waihona ma ke ʻano he kūloko local: pela no kekahi honua. Inā ʻaʻole i kuhikuhi ʻia ka waihona, a laila hoʻohana ʻia ka waihona kūloko e ʻimi i ke kiʻi. Inā hōʻike ʻia ke kiʻi mai ka waihona honua, a laila e hoʻoiho mua ʻia ke kiʻi i ka waihona kūloko a laila hoʻohana ʻia e hana i ka ipu.

E holo kāua i kēia kauoha e hana i kā mākou pahu mua:

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

E nānā kākou i nā kī kauoha a mākou e hoʻohana nei ma ke ʻano:

  • alpine3 — Ua kuhikuhi ʻia kahi inoa inoa (alias) no ke kiʻi i hoʻouka mua ʻia i ka waihona kūloko. Inā ʻaʻole i hana ʻia ka alias no kēia kiʻi, a laila hiki iā ʻoe ke kuhikuhi mau i ke kiʻi ma kāna ʻO ke kaha kiʻi i hoikeia ma ka papa.
  • alp — Hoʻonohonoho i ka mea ʻike no ka ipu
  • --storage — Hōʻike kēia kī i kahi Waihona Waiwai e hana ʻia kahi pahu
  • --profile - Hoʻopili kēia mau kī i ka hoʻonohonoho ʻana mai nā ʻaoʻao hoʻonohonoho i hana mua ʻia i ka ipu

Hoʻomaka mākou i ka ipu, e hoʻomaka ana e hoʻomaka i ka ʻōnaehana init o ka hoʻohele:

lxc start alp

Hiki iā ʻoe ke hoʻohana i ke kauoha lxc launch hiki iā ʻoe ke hoʻohui i nā hui lxc init и lxc start i hoʻokahi hana.

Ke nānā nei i ke kūlana o ka ipu:

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

Ke nānā nei i ka hoʻonohonoho pahu:

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

Ma ka pauku profiles hiki iā mākou ke hōʻoia i ka hoʻohana ʻana o kēia pahu i ʻelua mau kikoʻī hoʻonohonoho − default и hddroot. Ma ka pauku devices hiki iā mākou ke ʻike i hoʻokahi mea wale nō no ka mea ua hana ʻia ka ʻenehana pūnaewele ma ka pae kiʻekiʻe default. I mea e ʻike ai i nā mea hana a pau i hoʻohana ʻia e ka ipu, pono ʻoe e hoʻohui i kahi kī --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: ""

Ke hoʻonohonoho ʻana i kahi helu IP paʻa ^

Inā mākou e ho'āʻo e hoʻonohonoho i kahi IP address no kahi pūnaewele pūnaewele eth0 hui lxc config device set alp i manaʻo ʻia no ka hoʻonohonoho pahu, a laila e loaʻa iā mākou kahi hewa e hōʻike ana ʻaʻole i loaʻa ka hāmeʻa no ka mea eth0 ka mea i hoʻohana ʻia e ka ipu no ka ʻaoʻao default:

lxc config device set alp eth0 ipv4.address 10.0.5.5

Error: The device doesn't exist

Hiki iā mākou ke hoʻonohonoho i kahi helu IP static no eth0 nā mea i loko o ka ʻaoʻao, akā e like ia no nā ipu āpau e hoʻohana i kēia ʻaoʻao. No laila, e hoʻohui i kahi mea hoʻolaʻa i ka ipu:

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

A laila pono ʻoe e hoʻomaka hou i ka ipu:

lxc restart alp

Inā mākou e nānā i ka hoʻonohonoho pahu i kēia manawa, ʻaʻole pono mākou e hoʻohana i ke koho --expanded e ʻike i ka hāmeʻa pūnaewele eth0, no ka mea, ua hana mākou ma ka pae pahu a ua hoʻokuʻu ʻia ma luna o ka hāmeʻa like mai ka ʻaoʻao 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: ""

Ke wehe ʻana i kahi pahu ^

No ka wehe ʻana i kahi pahu, e hoʻohana i ke kauoha lxc delete, akā ma mua o ka wehe ʻana i ka ipu, pono e hoʻōki i ka hoʻohana ʻana i ke kauoha lxc stop:

lxc stop alp

lxc list

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

Ma hope o kā mākou hōʻoia ʻana ua lilo ke kūlana o ka ipu ʻOPʻEDʻED, hiki ke wehe ia mai Waihona Waiwai:

lxc delete alp

Loaʻa i ka pahu ^

No ka hoʻokō pololei ʻana i nā kauoha i loko o kahi pahu, kaʻalo ʻana i nā pili pūnaewele, e hoʻohana i ke kauoha lxc exec ka mea e hoʻokō i nā kauoha i loko o ka pahu me ka hoʻokuʻu ʻole ʻana i ka shell system. Inā pono ʻoe e hoʻokō i kahi kauoha i loko o kahi pūpū me ka hoʻohana ʻana i nā ʻano shell e like me nā mea hoʻololi, nā hoʻihoʻi faila (pipe), a me nā mea ʻē aʻe, a laila pono ʻoe e hoʻomaka i ka pūpū a hāʻawi i ke kauoha ma ke ʻano he kī, no ka laʻana:

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

Ua hoʻohana ke kauoha i kahi ʻano pakele kūikawā no ke ano kūikawā $ no laila ka loli $HOME ʻAʻole i unuhi ʻia ma ka mīkini hoʻokipa, akā ua unuhi ʻia i loko wale nō o ka ipu.

Hiki nō hoʻi ke hoʻomaka i ke ʻano shell interactive, a laila hoʻopau i ke kau ma ka hoʻokō ʻana i ke kī wela CTRL+D:

lxc exec alp -- /bin/sh

Hooponopono waiwai waihona ^

Ma LXD, hiki iā ʻoe ke hoʻokele i nā kumuwaiwai pahu me ka hoʻohana ʻana i kahi hoʻonohonoho kūikawā. Hiki ke loaʻa kahi papa inoa piha o nā ʻāpana hoʻonohonoho pahu ma ka palapala.

Ka palena waiwai o RAM ^

ʻO ka pākuhi limits.memory palena i ka nui o ka RAM i loaʻa i ka ipu. He helu a hoʻokahi o ka waiwai loaʻa nā suffixes.

E hoʻonoho i ka palena RAM o ka pahu i 256 MB:

lxc config set alp limits.memory 256MB

Eia kekahi, aia nā ʻāpana ʻē aʻe no ka hoʻopaʻa ʻana i ka hoʻomanaʻo:

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

hui lxc config show hiki iā ʻoe ke hōʻike i ka hoʻonohonoho pahu holoʻokoʻa, me ka palena kumu waiwai i hoʻonohonoho ʻia:

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

palena waiwai CPU ^

Nui nā ala e kaupalena ai i nā kumuwaiwai CPU. ʻano kapu:

  • limit.cpu - hoʻopaʻa i kahi pahu i hoʻokahi a ʻoi aku paha nā cores CPU
  • limits.cpu.allowance - hoʻokele i nā puʻupuʻu CFS mea hoʻonohonoho i ka wā i hala ai ka palena manawa, a i ʻole ke ʻano kaʻana like ʻana o nā kumuwaiwai CPU āpau ke hala ka pākēneka.
  • limits.cpu.priority - ka mea nui o ka mea hoʻonohonoho i ka manawa e hāʻawi ʻia ai nā manawa he nui e kaʻana like ana i kahi pūʻulu o nā kaʻina hana i ka pākēneka like o nā kaʻina hana

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

Ka palena wahi disk ^

Ma waho aʻe o nā kapu e like me limits.read, limits.write hiki iā mākou ke hoʻopaʻa i ka nui o ka wahi disk i hoʻopau ʻia e ka ipu (hana wale me ZFS a i ʻole BTRFS):

lxc config device set alp root size=2GB

Ma hope o ka hoʻouka ʻana, ma ka ʻāpana devices.root.size Hiki iā mākou ke hōʻoia i ka palena i hoʻonohonoho ʻia:

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

No ka nānā ʻana i nā quotas disk i hoʻohana ʻia hiki iā mākou ke loaʻa mai ke kauoha 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

ʻOiai ua hoʻonohonoho mākou i kahi palena no ke kumu aʻa o ka pahu i 2GB, nā pono pūnaewele e like me df ʻaʻole e ʻike i kēia kapu. No ka hana ʻana i kēia, e hana mākou i kahi hoʻokolohua liʻiliʻi a ʻike pehea e hana ai.

E hana kākou i 2 mau pahu like hou ma ka like Waihona Waiwai (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         |
+------+---------+------------------+------+-----------+-----------+

E hana mākou i kahi faila 1GB i kekahi o nā pahu:

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

E hōʻoia i ka hana ʻana o ka faila:

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

Inā mākou e nānā i ka lua o ka pahu, e nānā i ka noho ʻana o kahi faila ma ka wahi like, a laila ʻaʻole e loaʻa kēia faila, ka mea i manaʻo ʻia, no ka mea, ua hana ʻia nā ipu i kā lākou iho. Volume mālama ma ka like Waihona Waiwai:

lxc exec alp2 -- ls -lh
total 0

Akā e hoʻohālikelike kākou i nā waiwai i hana ʻia df ma kekahi ipu a me kekahi:

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

Device /dev/loop1 kau ʻia e like me ka pā kumu Waihona Waiwai ka mea i hoʻohana ʻia e kēia mau ipu, no laila ke kaʻana like lākou i kona leo ma waena o ʻelua.

Helu helu hoohana waiwai ^

Hiki iā ʻoe ke ʻike i nā helu hoʻohana waiwai no kahi pahu me ke kauoha:

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

Ke hana nei me nā kiʻi paʻi kiʻi ^

Hiki iā LXD ke hana i nā kiʻi paʻi kiʻi a hoʻihoʻi i ke kūlana pahu mai ia mau mea.

No ka hana ʻana i kahi snapshot, e holo i kēia kauoha:

lxc snapshot alp snapshot1

ʻO ka hui lxc snapshot ʻaʻohe kī i loaʻa list, no laila, e nānā i ka papa inoa o nā snapshots pono ʻoe e hoʻohana i ke kauoha e hōʻike ana i ka ʻike maʻamau e pili ana i ka ipu:

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

Hiki iā ʻoe ke hoʻihoʻi i kahi pahu mai kahi kiʻi kiʻi me ke kauoha lxc restore e hōʻike ana i ka pahu kahi e hana ʻia ai ka hoʻihoʻi ʻana a me ka inoa snapshot:

lxc restore alp snapshot1

Hoʻohana ʻia kēia kauoha e holoi i kahi kiʻi. E ʻoluʻolu, ʻaʻole like ka syntax kauoha me nā mea ʻē aʻe a pau; pono ʻoe e kuhikuhi i kahi slash i mua ma hope o ka inoa pahu. Inā haʻalele ʻia ka slash, a laila ua unuhi ʻia ke kauoha e holoi i kahi kiʻi kiʻi ma ke ʻano he kauoha e holoi i kahi pahu!

lxc delete alp/snapshot1

Ma ka laʻana ma luna, ua nānā mākou i nā mea i kapa ʻia ʻo stateless snapshots. Loaʻa iā LXD kekahi ʻano paʻi kiʻi - stateful, e mālama i ke kūlana o kēia manawa o nā kaʻina hana a pau i loko o ka ipu. Aia kekahi mau hiʻohiʻona hoihoi a pono e pili ana i nā kiʻi kiʻi mokuʻāina.

He aha hou aʻe? ^

  • Loaʻa kahi module no nā mea hoʻomohala Python PyLXD e hāʻawi ana i kahi API i LXD

KAU KAU 10.04.2020/15/00 XNUMX:XNUMX: Hoʻohui ʻia ka hoʻokele

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka