Feartan bunaiteach LXD - siostaman container Linux

Feartan bunaiteach LXD - siostaman container Linux

LXD Is e manaidsear inneal siostam an ath ghinealach, mar sin tha e ag ràdh stòr. Tha e a’ tabhann eadar-aghaidh cleachdaiche coltach ri innealan brìgheil, ach a’ cleachdadh soithichean Linux nan àite.

LXD bunaiteach na dheamhan sochair (seirbheis a tha a’ ruith le còraichean freumha) a bheir seachad REST API tro socaid unix ionadail, a bharrachd air tron ​​lìonra ma tha an rèiteachadh iomchaidh air a chuir a-steach. Bidh teachdaichean, leithid an inneal loidhne-àithne a tha air a sholarachadh le LXD, a’ dèanamh iarrtasan tron ​​API REST seo. Tha seo a’ ciallachadh, ge bith a bheil thu a’ faighinn cothrom air aoigheachd ionadail no aoigheachd iomallach, bidh a h-uile dad ag obair mar an ceudna.

San artaigil seo cha bhith sinn a’ fuireach gu mionaideach air bun-bheachdan LXD, cha bheachdaich sinn air na comasan uile a tha rim faighinn a tha air am mìneachadh anns na sgrìobhainnean, a ’toirt a-steach buileachadh o chionn ghoirid anns na dreachan as ùire de LXD de thaic airson innealan brìgheil QEMU ann an co-shìnte ri soithichean. An àite sin, ionnsaichidh sinn dìreach bunaitean riaghladh shoithichean - a’ stèidheachadh amaran stòraidh, lìonrachadh, a’ ruith inneal-giùlain, a’ cur crìochan ghoireasan an sàs, agus mar a chleachdas tu dealbhan beaga gus am faigh thu tuigse bhunasach air LXD agus soithichean a chleachdadh air Linux.

Airson fiosrachadh iomlan, thoir sùil air an stòr oifigeil:

Seòladh

Stàladh LXD ^

A’ stàladh LXD air sgaoilidhean Ubuntu ^

Ann am pasgan cuairteachaidh Ubuntu 19.10 lxd tha craoladh air pasgan snap:

apt search lxd

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

Tha seo a’ ciallachadh gun tèid dà phacaid a chuir a-steach aig an aon àm, aon mar phasgan siostam agus am fear eile mar phasgan snap. Ma chuireas tu dà phacaid air siostam dh’ fhaodadh sin duilgheadas a chruthachadh far am faodadh pasgan an t-siostaim a dhol na dhìlleachd ma thèid am pasgan snap a thoirt air falbh leis a’ mhanaidsear pacaid snap.

Lorg pacaid lxd anns an stòr snap faodaidh tu an òrdugh a leanas a chleachdadh:

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

Le bhith a 'ruith an àithne list faodaidh tu dèanamh cinnteach gu bheil am pasgan lxd gun a stàladh fhathast:

snap list

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

A dh ’aindeoin gur e pasgan snap a th’ ann an LXD, feumar a chuir a-steach tro phasgan an t-siostaim lxd, a chruthaicheas am buidheann co-fhreagarrach san t-siostam, na goireasan riatanach ann an /usr/bin agus mar sin air adhart.

sudo apt update
sudo apt install lxd

Dèan cinnteach gu bheil am pasgan air a chuir a-steach mar phacaid snap:

snap list

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

A’ stàladh LXD air sgaoilidhean Arch Linux ^

Gus am pasgan LXD a chuir a-steach air an t-siostam, feumaidh tu na h-òrdughan a leanas a ruith, bheir a’ chiad fhear ùrachadh air liosta nam pasganan air an t-siostam a tha ri fhaighinn san stòr, cuiridh an dàrna fear am pasgan gu dìreach:

sudo pacman -Syyu && sudo pacman -S lxd

Às deidh dhut a ’phacaid a chuir a-steach, gus LXD a riaghladh le neach-cleachdaidh cunbhalach, feumar a chuir ris a’ bhuidheann siostam lxd:

sudo usermod -a -G lxd user1

Dèan cinnteach gu bheil an neach-cleachdaidh user1 air a chur ris a’ bhuidheann lxd:

id -Gn user1

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

Ma tha a' bhuidheann lxd chan eil seo ri fhaicinn air an liosta, feumaidh tu an seisean cleachdaiche a chuir an gnìomh a-rithist. Gus seo a dhèanamh, feumaidh tu logadh a-mach agus logadh a-steach fon aon neach-cleachdaidh.

Cuir an gnìomh a-steach systemd a’ luchdachadh an t-seirbheis LXD aig toiseach tòiseachaidh an t-siostaim:

sudo systemctl enable lxd

Feuch an tòisich sinn air an t-seirbheis:

sudo systemctl start lxd

A’ sgrùdadh inbhe na seirbheis:

sudo systemctl status lxd

Stòradh LXD (stòradh) ^

Mus tòisich tòiseachadh, feumaidh sinn tuigsinn mar a tha an stòradh ann an LXD air a rèiteachadh gu loidsigeach.

Stòradh (storage) air a dhèanamh suas de bho aon no barrachd Amar stòraidh a chleachdas aon de na siostaman faidhle le taic leithid ZFS, BTRFS, LVM no clàran cunbhalach. A h-uile Amar stòraidh air a roinn ann an tomhasan (Meud stòraidh) anns a bheil ìomhaighean, soithichean, no dàta airson adhbharan eile.

  • Na h-ìomhaighean - tha iad sin nan sgaoilidhean air an cruinneachadh gu sònraichte às aonais an kernel Linux agus rim faighinn bho stòran taobh a-muigh
  • Containers - tha iad sin nan sgaoilidhean bho ìomhaighean, deiseil airson an cleachdadh
  • Snap-dhealbhan - is e seo dealbhan de staid nan soithichean as urrainn dhut tilleadh

Feartan bunaiteach LXD - siostaman container Linux

Gus stòradh ann an LXD a riaghladh, cleachd an àithne lxc storage teisteanas a gheibh thu le bhith a’ sònrachadh an iuchair - lxc storage --help

Tha an àithne a leanas a’ taisbeanadh liosta de na h-uile Amar stòraidh ann an stòradh LXD:

lxc storage list

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

Gus liosta de na h-uile fhaicinn Meud stòraidh anns an taghadh Amar stòraidh a’ frithealadh na sgioba 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       |
+-----------+----------------------------------+-------------+---------+

Cuideachd, ma tha Amar stòraidh Nuair a chruthaicheas tu, chaidh siostam faidhle BTRFS a thaghadh, an uairsin faigh liosta Meud stòraidh no subvolumes ann an eadar-mhìneachadh BTRFS, faodaidh tu inneal an t-siostam faidhle seo a chleachdadh:

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

A’ tòiseachadh LXD ^

Mus cruthaich agus cleachdar soithichean, feumaidh tu tòiseachadh coitcheann LXD a chruthachadh a chruthaicheas agus a rèiticheas an lìonra agus an stòradh. Faodar seo a dhèanamh le làimh a’ cleachdadh òrdughan àbhaisteach teachdaiche a tha rim faighinn air an liosta le bhith a’ gairm an àithne lxc --help no a’ cleachdadh an draoidh tòiseachaidh lxd init a’ freagairt beagan cheistean.

A’ taghadh siostam faidhle airson Stòradh Pool ^

Aig àm tòiseachaidh, bidh LXD a’ faighneachd grunn cheistean, a’ gabhail a-steach a bhith a’ dearbhadh an seòrsa siostam faidhle airson an àbhaist Amar stòraidh. Gu gnàthach, tha siostam faidhle BTRFS air a thaghadh air a shon. Bidh e do-dhèanta atharrachadh gu FS eile às deidh cruthachadh. Gus FS a thaghadh tha e air a mholadh clàr coimeas feart:

feart
Directory
btrfs
LVM
ZFS
CEPH

Stòradh ìomhaigh as fheàrr
chan eil
tha
tha
tha
tha

Cruthachadh eisimpleir as fheàrr
chan eil
tha
tha
tha
tha

Cruthachadh dealbh làn-leasaichte
chan eil
tha
tha
tha
tha

Gluasad ìomhaigh as fheàrr
chan eil
tha
chan eil
tha
tha

Tionndadh eisimpleir as fheàrr
chan eil
tha
chan eil
tha
tha

Dèan lethbhreac air sgrìobhadh
chan eil
tha
tha
tha
tha

Stèidhichte bloc
chan eil
chan eil
tha
chan eil
tha

Clonadh sa bhad
chan eil
tha
tha
tha
tha

Dràibhear stòraidh a ghabhas cleachdadh taobh a-staigh soitheach
tha
tha
chan eil
chan eil
chan eil

Thoir air ais bho dhealbhan nas sine (chan e as ùire)
tha
tha
tha
chan eil
tha

Cuotathan stòraidh
Tha(*)
tha
tha
tha
chan eil

A 'tòiseachadh air an lìonra agus Stòradh Pool a' cleachdadh an draoidh ^

Tha an ath àithne a bheir sinn sùil air a’ moladh a bhith a’ stèidheachadh prìomh phàirtean LXD le bhith a’ freagairt cheistean sìmplidh a’ cleachdadh an draoidh tòiseachaidh.

Run àithne lxc init agus cuir a-steach freagairtean nan ceistean às deidh a’ choloin mar a chithear san eisimpleir gu h-ìosal no atharraich iad a rèir do chumhachan:

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

A’ cruthachadh amar-stòraidh a bharrachd ^

Anns a 'cheum roimhe chruthaich sinn Amar stòraidh air an tugadh an t-ainm ssdpool agus tha am faidhle aige suidhichte air an t-siostam agam aig /var/lib/lxd/disks/ssdpool.img. Tha an seòladh siostam faidhle seo a’ freagairt ris an draibhear SSD corporra sa PC agam.

Na gnìomhan a leanas, gus tuigse a leudachadh air a’ phàirt a th’ aig Amar stòraidh anns an ionad-tasgaidh, cruthaichidh sinn dàrna fear Amar stòraidh a bhios air a shuidheachadh gu corporra air seòrsa diosc eadar-dhealaichte, HDD. Is e an duilgheadas nach leig LXD leat cruthachadh Amar stòraidh a-mach à seòladh /var/lib/lxd/disks/ agus chan obraich eadhon ceanglaichean samhlachail, faic freagairt an leasaiche. Is urrainn dhuinn a dhol seachad air a’ chuingealachadh seo aig àm tòiseachaidh / cruth Amar stòraidh le bhith a 'sònrachadh an luach mar inneal bloca an àite an t-slighe chun an fhaidhle loopback le bhith a' sònrachadh seo san iuchair source.

Mar sin, mus cruthachadh Amar stòraidh feumaidh tu faidhle loopback a mhìneachadh no sgaradh a tha ann mu thràth air an t-siostam faidhle agad a chleachdas e. Gus seo a dhèanamh, cruthaichidh agus cleachdaidh sinn faidhle a chuireas sinn sìos ann am meud gu 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

Nach ceangail sinn am faidhle loopback ri inneal loopback an-asgaidh:

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

/dev/loop1

Taing don iuchair --show le bhith a’ cur an gnìomh an àithne a’ tilleadh chun sgrion ainm an inneil anns a bheil am faidhle loopback againn ceangailte. Ma tha feum air, is urrainn dhuinn liosta de gach inneal trang den t-seòrsa seo a thaisbeanadh gus dèanamh cinnteach gu bheil na gnìomhan againn ceart:

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

Bhon liosta gheibh thu a-mach gu bheil an inneal /dev/loop1 faidhle loopback air a thoirt a-steach /mnt/work/lxd/hddpool.img, agus anns an inneal /dev/loop0 faidhle loopback air a thoirt a-steach /var/lib/lxd/disks/ssdpool.img a fhreagras ris a’ bhun-bheachd Amar stòraidh.

Bidh an àithne a leanas a’ cruthachadh fear ùr Amar stòraidh ann an LXD stèidhichte air an fhaidhle loopback a tha sinn dìreach air ullachadh. Cuiridh LXD cruth air an fhaidhle loopback /mnt/work/lxd/hddpool.img anns an inneal /dev/loop1 airson siostam faidhle BTRFS:

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

Nach seall sinn liosta de na h-uile Amar stòraidh gu sgrion:

lxc storage list

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

Meudachadh meud an amar-stòraidh ^

Às deidh cruthachadh Amar stòraidh, ma tha sin riatanach, faodar a leudachadh. Airson Amar stòraidh stèidhichte air siostam faidhle BTRFS, ruith na h-òrdughan a leanas:

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

Cuir a-steach faidhle loopback gu fèin-ghluasadach ann an slot inneal loopback ^

Tha aon duilgheadas beag againn, nuair a bhios sinn ag ath-thòiseachadh an t-siostam aoigheachd, am faidhle /mnt/work/lxd/hddpool.img Thèid "itealaich" a-mach às an inneal /dev/loop1 agus tuitidh an t-seirbheis LXD nuair a thèid a luchdachadh oir chan fhaic e san inneal seo e. Gus an duilgheadas seo fhuasgladh feumaidh tu seirbheis siostam a chruthachadh a chuireas am faidhle seo a-steach don inneal /dev/loop1 nuair a thòisicheas an siostam aoigheachd.

Cruthaichidh sinn aonad seòrsa faidhle seirbheis в /etc/systemd/system/ airson siostam tòiseachaidh 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

Cuir an gnìomh an t-seirbheis:

sudo systemctl enable lxd-hddpool

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

Às deidh dhuinn an siostam aoigheachd ath-thòiseachadh, nì sinn sgrùdadh air inbhe na seirbheis:

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

Bhon toradh faodaidh sinn dearbhadh gu bheil an staid seirbheis gnìomhach, a dh 'aindeoin gun deach crìoch a chur air coileanadh ar sgriobt bho aon àithne, leig an roghainn dhuinn seo a dhèanamh RemainAfterExit=true.

Sàbhailteachd. Sochairean Container ^

Leis gu bheil a h-uile pròiseas soithichean a ’ruith leotha fhèin air an t-siostam aoigheachd a’ cleachdadh an kernel aige, gus tuilleadh dìon a chuir air ruigsinneachd phròiseasan soithichean don t-siostam aoigheachd, tha LXD a ’tabhann sochair pròiseas, far a bheil:

  • Soithichean sochairichte - is iad sin soithichean anns a bheil pròiseasan le UID agus GID a’ freagairt ris an aon neach-seilbh ris an t-siostam aoigheachd. Mar eisimpleir, tha na h-aon chòraichean-slighe aig pròiseas a tha a' ruith ann an soitheach le UID de 0 's a tha ann am pròiseas air an t-siostam aoigheachd le UID de 0. Ann am faclan eile, tha na còraichean uile aig a' chleachdaiche bunaiteach anns a' ghobhar, chan ann a-mhàin ann an an t-soithich, ach cuideachd air an t-siostam aoigheachd mas urrainn dha a dhol taobh a-muigh raon-ainm iomallach an t-soithich.

  • Soithichean gun fheum - is iad sin soithichean anns am buin pròiseasan le sealbhadair an UID agus GID le àireamh bho 0 gu 65535, ach airson an t-siostam aoigheachd tha an sealbhadair air a chuir am falach le bhith a’ cleachdadh na pìosan SubUID agus SubGID a bharrachd, fa leth. Mar eisimpleir, bidh cleachdaiche le UID = 0 ann an soitheach ri fhaicinn air an t-siostam aoigheachd mar SubUID + UID. Bidh seo a’ dìon an t-siostam aoigheachd oir ma tha pròiseas sam bith san t-soitheach comasach air faighinn seachad air an àite-ainm iomallach aige, chan urrainn dha ach conaltradh leis an t-siostam aoigheachd mar phròiseas le UID / GID neo-aithnichte, fìor àrd.

Gu gnàthach, tha inbhe neo-leasaichte aig soithichean a chaidh an cruthachadh às ùr agus mar sin feumaidh sinn SubUID agus SubGID a mhìneachadh.

Cruthaichidh sinn dà fhaidhle rèiteachaidh anns an suidhich sinn am masg airson SubUID agus SubGID, fa leth:

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

Gus na h-atharrachaidhean a chuir an sàs, feumar an t-seirbheis LXD ath-thòiseachadh:

sudo systemctl restart lxd

Cruthaich tionndadh lìonra mas-fhìor ^

Leis gun do thòisich sinn an lìonra roimhe seo a’ cleachdadh an draoidh tòiseachaidh lxd init agus chruthaich e inneal lìonraidh lxdbr0, an uairsin anns an earrainn seo bidh sinn dìreach a’ faighinn eòlas air lìonrachadh ann an LXD agus mar a chruthaicheas tu tionndadh brìgheil (drochaid) a ’cleachdadh an àithne teachdaiche.

Tha an diagram a leanas a’ sealltainn mar a cheanglas suidse (drochaid) an t-òstair agus na soithichean ri lìonra:

Feartan bunaiteach LXD - siostaman container Linux

Faodaidh soithichean conaltradh tro lìonra le soithichean eile no leis an aoigh air a bheil na soithichean sin air am frithealadh. Gus seo a dhèanamh, feumaidh tu na cairtean lìonra brìgheil de na soithichean a cheangal le tionndadh brìgheil. Cruthaichidh sinn suidse an toiseach, agus bidh eadar-aghaidh lìonra an t-soithich ceangailte anns na caibideilean às deidh sin, às deidh don ghobhar fhèin a bhith air a chruthachadh.

Bidh an àithne a leanas a’ cruthachadh suidse le subnet 10.0.5.0/24 agus seòladh IPv4 10.0.5.1/24, agus cuideachd a’ toirt a-steach ipv4.nat gus am faigh soithichean cothrom air an eadar-lìn tron ​​​​òstair a’ cleachdadh an t-seirbheis NAT:

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

A’ sgrùdadh liosta nan innealan lìonra a tha rim faighinn ann an LXD:

lxc network list

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

Faodaidh tu cuideachd dearbhadh gun deach inneal lìonraidh a chruthachadh a’ cleachdadh an inneal àbhaisteach den sgaoileadh Linux - ip link no 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

Pròifil rèiteachaidh ^

Tha a rèiteachadh fhèin aig gach soitheach ann an LXD agus faodaidh iad a leudachadh le rèiteachaidhean a chaidh ainmeachadh air feadh na cruinne ris an canar pròifilean rèiteachaidh. Le bhith a’ cur pròifilean rèiteachaidh gu soitheach tha modail cascade, tha an eisimpleir a leanas a’ sealltainn seo:

Feartan bunaiteach LXD - siostaman container Linux

San eisimpleir seo, chaidh trì pròifilean a chruthachadh san t-siostam LXD: default, hddpool и hostfs. Tha na trì pròifilean air an cur an sàs ann an soitheach aig a bheil rèiteachadh ionadail (sgìre liath). Pròifil default tha inneal root aig a bheil paramadair pool co-ionann ssdpool, ach le taing don mhodail tagraidh rèiteachaidh cascade, is urrainn dhuinn ìomhaigh a chuir a-steach don ghobhar hddpool aig a bheil paramadair pool bheir e seachad an aon paramadair bhon phròifil default agus gheibh an soitheach rèiteachadh an uidheim root le paramadair pool co-ionann hddpool, agus am pròifil hostfs dìreach cuir inneal ùr ris a’ ghobhar.

Gus an liosta de phròifil rèiteachaidh fhaicinn, cleachd an òrdugh a leanas:

lxc profile list

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

Gheibhear liosta iomlan de na h-òrdughan a tha rim faighinn airson obrachadh le pròifil le bhith a’ cur an iuchair ris --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

A’ deasachadh do phròifil ^

Pròifil rèiteachaidh bunaiteach default chan eil rèiteachadh cairt lìonraidh ann airson an t-soithich agus chan eil lìonra aig a h-uile soitheach a chaidh a chruthachadh às ùr, dhaibh feumar innealan lìonra ionadail (coisrigte) a chruthachadh le òrdugh air leth, ach is urrainn dhuinn inneal lìonra cruinne a chruthachadh anns an rèiteachadh pròifil a thèid a cho-roinn eadar na soithichean uile a’ cleachdadh a’ phròifil seo. San dòigh seo, dìreach às deidh an àithne inneal ùr a chruthachadh, bidh lìonra aca le ruigsinneachd lìonra. Aig an aon àm, chan eil bacadh sam bith ann; faodaidh sinn an-còmhnaidh inneal lìonra ionadail a chruthachadh nas fhaide air adhart ma tha sin riatanach.

Cuiridh an àithne a leanas an inneal ris a’ phròifil rèiteachaidh eth0 seòrsa nic ceangailte ris an lìonra lxdbr0:

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

Tha e cudromach toirt fa-near, leis gun do chuir sinn an inneal ris a’ phròifil rèiteachaidh, ma shònraich sinn seòladh IP statach san inneal, bidh an aon sheòladh IP aig a h-uile inneal a chleachdas am pròifil seo. Ma tha feum air soitheach a chruthachadh le seòladh IP statach air a shònrachadh airson an t-soithich, bu chòir dhut rèiteachadh inneal lìonra a chruthachadh aig ìre an t-soithich (rèiteachadh ionadail) le paramadair an t-seòlaidh IP, agus chan ann aig ìre na pròifil.

Feuch an toir sinn sùil air a’ phròifil:

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

Anns a’ phròifil seo chì sinn gun tèid dà inneal a chruthachadh airson a h-uile inneal ùr-chruthaichte:

  • eth0 - Seòrsa inneal nic ceangailte ri suidse (drochaid lìonra) lxdbr0
  • root - Seòrsa inneal disk a bhios a’ cleachdadh amar-stòraidh ssdpool

Cruthaich pròifilean ùra ^

Airson a chleachdadh a chaidh a chruthachadh roimhe Amar stòraidh soithichean, cruthaich pròifil rèiteachaidh ssdroot anns an cuir sinn inneal mar disk le puing sreap / (root) a’ cleachdadh an dreach a chaidh a chruthachadh roimhe Amar stòraidh - ssdpool:

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

San aon dòigh, bidh sinn a’ cruthachadh inneal mar disk, ach sa chùis seo a 'cleachdadh Amar stòraidh - hddpool:

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

A’ sgrùdadh pròifilean rèiteachaidh:

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

Stòr ìomhaigh ^

Tha soithichean air an cruthachadh bho ìomhaighean a tha nan sgaoilidhean cruinnichte sònraichte aig nach eil kernel Linux. Mar sin, mus ruith thu an soitheach, feumar a chuir a-steach bhon ìomhaigh seo. Is e stòr ìomhaighean stòr ionadail anns am bi ìomhaighean air an luchdachadh sìos bho stòran taobh a-muigh.

Stòran ìomhaighean iomallach ^

Gu gnàthach, tha LXD air a rèiteachadh gus ìomhaighean fhaighinn bho thrì stòran iomallach:

  • ubuntu: (airson dealbhan seasmhach Ubuntu)
  • ubuntu-làitheil: (airson dealbhan Ubuntu làitheil)
  • ìomhaighean: (airson dòrlach de distros eile)

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

Mar eisimpleir, stòr ubuntu: tha na dealbhan a leanas aige:

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

Gus àireamh cuibhrichte de cholbhan a thaisbeanadh chleachd sinn an roghainn -c le paramadairean dasut, agus cuideachd cuingealaich fad an liosta leis an àithne head.

Tha sìoladh ri fhaighinn gus liosta de dhealbhan a thaisbeanadh. Nì an àithne a leanas liosta de na h-ailtirean sgaoilidh a tha rim faighinn Linux Alpach:

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

Stòr ìomhaigh ionadail ^

Gus tòiseachadh air an t-soitheach a chleachdadh, feumaidh tu ìomhaigh bhon stòr chruinneil a chuir ris an fhear ionadail local:. A-nis gu bheil an stòr ionadail falamh, nì an àithne cinnteach à seo lxc image list. Ma tha an dòigh-obrach list na sònraich stòr-tasgaidh, an uairsin thèid an stòr ionadail a chleachdadh gu bunaiteach - local:

lxc image list local:

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

Tha dealbhan san stòr air an riaghladh a’ cleachdadh na dòighean a leanas:

sgioba
Tuairisgeul

Dealbh lxc alias
Stiùirich ailias ìomhaighean

Dealbh lxc leth-bhreac
Dèan lethbhreac de dhealbhan eadar frithealaichean

Dealbh lxc a sguabadh às
Cuir às do dhealbhan

Dealbh lxc deasaich an tùs
Deasaich feartan ìomhaigh

Dealbh lxc às-mhalairt
Às-mhalairt agus luchdaich sìos dealbhan

Dealbh lxc steach
Cuir a-steach ìomhaighean a-steach don stòr dhealbhan

Dealbh lxc info
Seall fiosrachadh feumail mu dhealbhan

Dealbh lxc liosta
Dèan liosta de dhealbhan

Dealbh lxc Ath-nuadhaich
Luchdaich a-nuas dealbhan

Dealbh lxc Seall
Seall feartan ìomhaigh

Dèan lethbhreac den dealbh chun stòr ionadail bhon fhear chruinneil images::

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

Image copied successfully!

Seallaidh sinn liosta de na h-ìomhaighean uile a tha rim faighinn an-dràsta san stòr ionadail local::

lxc image -c lfdatsu list local:

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

Rèiteachadh LXD ^

A bharrachd air a 'mhodh eadar-ghnìomhach, tha LXD cuideachd a' toirt taic do mhodh stàlaidh rèiteachaidh neo-eadar-ghnìomhach, seo nuair a tha an rèiteachadh air a shònrachadh ann an cruth faidhle YAML, cruth sònraichte a leigeas leat an rèiteachadh gu lèir a stàladh aig an aon àm, a 'dol seachad air a' choileanadh. de dh’ iomadh àithne eadar-ghnìomhach a chaidh a dheasbad gu h-àrd san artaigil seo, a’ toirt a-steach rèiteachadh lìonra, cruthachadh pròifilean rèiteachaidh, msaa. Cha bhith sinn a’ còmhdach na sgìre seo an seo, faodaidh tu sgrùdadh a dhèanamh leat fhèin. ann an sgrìobhainnean.

An ath òrdugh eadar-ghnìomhach lxc config a bheir sinn sùil air a leigeas leat an rèiteachadh a shuidheachadh. Mar eisimpleir, gus dèanamh cinnteach nach tèid ìomhaighean a chaidh a luchdachadh sìos chun stòr ionadail ùrachadh gu fèin-ghluasadach bho na stòran cruinne, is urrainn dhuinn an giùlan seo a chomasachadh leis an àithne a leanas:

lxc config set images.auto_update_cached=false

A 'cruthachadh agus a' stiùireadh soitheach ^

Gus soitheach a chruthachadh cleachd an àithne lxc init ris a bheil luachan air an toirt seachad репозиторий:образ agus an uairsin an ID a tha thu ag iarraidh airson an t-soithich. Faodar an stòr a shònrachadh mar ionadail local: mar sin tha fear cruinne sam bith. Mura h-eil an tasglann air a shònrachadh, mar as trice bidh an stòr ionadail air a chleachdadh gus an ìomhaigh a lorg. Ma tha an ìomhaigh air a shònrachadh bhon stòr chruinneil, thèid an ìomhaigh a luchdachadh sìos an toiseach chun stòr ionadail agus an uairsin a chleachdadh gus an soitheach a chruthachadh.

Ruith sinn an àithne a leanas gus a’ chiad soitheach againn a chruthachadh:

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

Bheir sinn sùil air na h-iuchraichean àithne a chleachdas sinn an seo ann an òrdugh:

  • alpine3 - Tha alias (alias) air a shònrachadh airson an ìomhaigh a chaidh a luchdachadh suas chun stòr ionadail roimhe seo. Mura deach an alias a chruthachadh airson an ìomhaigh seo, faodaidh tu an-còmhnaidh iomradh a thoirt air an ìomhaigh leis Meòir-lorg a tha air a thaisbeanadh sa chlàr.
  • alp - Suidhich an aithnichear airson an t-soithich
  • --storage - Tha an iuchair seo a’ nochdadh cò anns a bheil Amar stòraidh thèid soitheach a chruthachadh
  • --profile - Bidh na h-iuchraichean cascade seo a’ cur an sàs rèiteachadh bho phròifil rèiteachaidh a chaidh a chruthachadh roimhe seo chun t-soithich

Bidh sinn a 'cur air bhog an t-soithich, a tha a' tòiseachadh a 'cur air bhog an siostam cuairteachaidh a-steach:

lxc start alp

Faodaidh tu cuideachd an àithne a chleachdadh lxc launch a leigeas leat sgiobaidhean a chur còmhla lxc init и lxc start ann an aon obrachadh.

A’ sgrùdadh staid an t-soithich:

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

A’ sgrùdadh rèiteachadh an t-soithich:

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

Anns an earrainn profiles faodaidh sinn dèanamh cinnteach gu bheil an soitheach seo a’ cleachdadh dà phròifil rèiteachaidh - default и hddroot. Ann an earrann devices chan urrainn dhuinn ach aon inneal a lorg oir chaidh an inneal lìonraidh a chruthachadh aig ìre na pròifil default. Gus a h-uile inneal a chleachdas an soitheach fhaicinn feumaidh tu iuchair a chuir ris --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: ""

A 'suidheachadh seòladh IP statach ^

Ma dh'fheuchas sinn ri seòladh IP a shuidheachadh airson inneal lìonraidh eth0 sgioba lxc config device set alp an dùil airson rèiteachadh an t-soithich, an uairsin gheibh sinn mearachd a dh’ innseas nach eil an inneal ann leis gu bheil an inneal ann eth0 a tha air a chleachdadh leis a’ ghobhar a bhuineas don phròifil default:

lxc config device set alp eth0 ipv4.address 10.0.5.5

Error: The device doesn't exist

Is urrainn dhuinn gu dearbh seòladh IP statach a shuidheachadh airson eth0 innealan sa phròifil, ach bidh e an aon rud airson a h-uile inneal-giùlain a chleachdas am pròifil seo. Mar sin, cuiridh sinn inneal a tha coisrigte don ghobhar:

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

An uairsin feumaidh tu an soitheach ath-thòiseachadh:

lxc restart alp

Ma choimheadas sinn air rèiteachadh an t-soithich a-nis, chan fheum sinn an roghainn a chleachdadh --expanded gus an inneal lìonra fhaicinn eth0, bhon a chruthaich sinn e aig ìre an t-soithich agus chaidh e thairis air an aon inneal bhon phròifil 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: ""

A 'toirt air falbh container ^

Gus soitheach a thoirt air falbh, cleachd an àithne lxc delete, ach mus toir thu air falbh an soitheach, feumar stad a chuir air a bhith a’ cleachdadh an àithne lxc stop:

lxc stop alp

lxc list

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

Às deidh dhuinn dearbhadh gu bheil staid an t-soithich air fàs STOPPED, faodar a thoirt air falbh bho Amar stòraidh:

lxc delete alp

Container ruigsinneachd ^

Gus òrdughan a chuir an gnìomh gu dìreach ann an soitheach, a’ dol seachad air ceanglaichean lìonra, cleachd an àithne lxc exec a chuireas an gnìomh òrdughan anns a’ bhogsa gun a bhith a’ cur slige an t-siostaim air bhog. Ma dh’ fheumas tu àithne a chuir an gnìomh ann an slige a’ cleachdadh pàtrain shligean leithid caochladairean, ath-sheòlaidhean faidhle (pìob), msaa, feumaidh tu an t-slige a chuir air bhog gu soilleir agus an àithne a thoirt seachad mar iuchair, mar eisimpleir:

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

Chleachd an àithne caractar teicheadh ​​​​sònraichte airson caractar sònraichte $ gus am bi an caochlaideach $HOME cha deach a mhìneachadh air an inneal aoigheachd, ach chaidh a mhìneachadh a-mhàin taobh a-staigh an t-soithich.

Tha e comasach cuideachd am modh slige eadar-ghnìomhach a thòiseachadh, agus an uairsin crìoch a chuir air an t-seisean le bhith a’ cur an gnìomh hotkey CTRL+D:

lxc exec alp -- /bin/sh

Stiùireadh goireasan container ^

Ann an LXD, faodaidh tu goireasan soithichean a riaghladh a’ cleachdadh seata rèiteachaidh sònraichte. Gheibhear liosta iomlan de pharamadairean rèiteachaidh container ann an sgrìobhainnean.

Cuingealachadh stòras RAM ^

Parameter limits.memory a 'cuingealachadh na tha de RAM ri fhaighinn don ghobhar. Is e an luach àireamh agus aon de iar-leasachain rim faighinn.

Nach suidhich sinn crìoch RAM an t-soithich gu 256 MB:

lxc config set alp limits.memory 256MB

Cuideachd, tha crìochan eile ann airson cuimhne a chuingealachadh:

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

sgioba lxc config show a’ leigeil leat rèiteachadh an t-soithich gu lèir a thaisbeanadh, a’ gabhail a-steach a’ chrìoch ghoireasan gnìomhaichte a chaidh a shuidheachadh:

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

crìoch goireas CPU ^

Tha grunn dhòighean ann gus goireasan CPU a chuingealachadh. sheòrsaichean de chuingealachaidhean:

  • limit.cpu - a’ ceangal soitheach ri aon no barrachd de choraichean CPU
  • limits.cpu.allowance - a’ riaghladh an dàrna cuid cuotathan clàr-ama CFS nuair a tha an ùine seachad, no an uidheamachd roinneadh ghoireasan CPU uile-choitcheann nuair a tha an àireamh sa cheud seachad
  • limits.cpu.priority - prìomhachas clàr-ama nuair a thèid an aon cheudad de phròiseasan a thoirt do ghrunn chùisean a bhith a’ roinneadh seata de phròiseasan

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

Cuingealachadh àite diosc ^

A bharrachd air cuingealachaidhean leithid limits.read, limits.write is urrainn dhuinn cuideachd an àireamh de dh’ àite diosc a bhios an soitheach ag ithe a chuingealachadh (ag obair le ZFS no BTRFS a-mhàin):

lxc config device set alp root size=2GB

Às deidh an stàladh, anns a 'pharamadair devices.root.size Is urrainn dhuinn a’ chrìoch stèidhichte a dhearbhadh:

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

Gus sùil a thoirt air na cuotathan diosc cleachdte a gheibh sinn bhon àithne 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

A dh’ aindeoin gu bheil sinn air crìoch a chuir air inneal freumh an t-soithich gu 2GB, tha goireasan siostam leithid df chan fhaic an cuingealachadh seo. Gus seo a dhèanamh, nì sinn deuchainn beag agus faigh a-mach mar a tha e ag obair.

Cruthaichidh sinn 2 shoitheach co-ionann ùr san aon rud Amar stòraidh (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         |
+------+---------+------------------+------+-----------+-----------+

Nach cruthaich sinn faidhle 1GB ann an aon de na soithichean:

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

Dèan cinnteach gu bheil am faidhle air a chruthachadh:

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

Ma choimheadas sinn san dàrna soitheach, dèan cinnteach gu bheil faidhle ann san aon àite, cha bhith am faidhle seo ann, ris a bheil dùil, leis gu bheil soithichean air an cruthachadh annta fhèin Meud stòraidh anns an aon Amar stòraidh:

lxc exec alp2 -- ls -lh
total 0

Ach dèanamaid coimeas eadar na luachan a tha e a 'dèanamh df air aon agus an soitheach eile:

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

Inneal /dev/loop1 air a chuir suas mar a tha am pàirt bunaiteach Amar stòraidh a bhios na soithichean sin a’ cleachdadh, agus mar sin bidh iad a’ roinn an tomhas-lìonaidh eadar dhà.

Staitistig caitheamh stòrais ^

Chì thu staitistig caitheamh ghoireasan airson soitheach leis an àithne:

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

Ag obair le dealbhan-camara ^

Tha comas aig LXD dealbhan-camara a chruthachadh agus staid nan soithichean a thoirt air ais bhuapa.

Gus dealbh a chruthachadh, ruith an òrdugh a leanas:

lxc snapshot alp snapshot1

An sgioba lxc snapshot chan eil iuchair ri fhaighinn list, mar sin, airson liosta nan dealbhan fhaicinn feumaidh tu an àithne a chleachdadh a sheallas fiosrachadh coitcheann mun t-soitheach:

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

Faodaidh tu soitheach a thoirt air ais bho dhealbh leis an àithne lxc restore a’ sònrachadh an t-soithich airson an tèid an ath-nuadhachadh a dhèanamh agus an alias dealbh:

lxc restore alp snapshot1

Tha an àithne a leanas air a chleachdadh gus dealbh a sguabadh às. Thoir an aire nach eil an co-chòrdadh àithne coltach ris a h-uile càil eile; an seo feumaidh tu slash air adhart a shònrachadh às deidh ainm an t-soithich. Ma thèid an slash fhàgail a-mach, tha an àithne airson dealbh a sguabadh às air a mhìneachadh mar àithne airson soitheach a sguabadh às!

lxc delete alp/snapshot1

Anns an eisimpleir gu h-àrd, thug sinn sùil air dealbhan gun stàit ris an canar. Tha seòrsa eile de dhealbhan aig LXD - stàiteil, a shàbhaileas staid làithreach a h-uile pròiseas anns a’ ghobhar. Tha grunn fheartan inntinneach agus feumail co-cheangailte ri dealbhan stàiteil.

Dè eile? ^

  • Tha modal ri fhaighinn airson luchd-leasachaidh Python PyLXD a bheir seachad API gu LXD

ÙRACHADH 10.04.2020/15/00 XNUMX:XNUMX: Seòladh a bharrachd

Source: www.habr.com

Cuir beachd ann