Basic maficha eLXD - Linux mudziyo masisitimu

Basic maficha eLXD - Linux mudziyo masisitimu

LXD ndiye anotevera chizvarwa system mudziyo maneja, saka inodaro tsime. Inopa mushandisi interface yakafanana nemashini chaiwo, asi inoshandisa Linux midziyo panzvimbo.

LXD musimboti idhimoni rakaropafadzwa (sevhisi inoshanda nemidzi ine kodzero) inopa REST API kuburikidza neyemuno unix socket, pamwe nenetiweki kana iyo yakakodzera gadziriso yakaiswa. Vatengi, senge yekuraira mutsara chishandiso chakapihwa neLXD, ita zvikumbiro kuburikidza neiyi REST API. Izvi zvinoreva kuti kunyangwe iwe uri kuwana mubati wenzvimbo kana mubati ari kure, zvese zvinoshanda zvakafanana.

Muchinyorwa chino hatisi kuzogara zvakadzama pamusoro pepfungwa dzeLXD, hatizotarise zvese zviripo zvinotsanangurwa mugwaro, kusanganisira kuitwa munguva pfupi yapfuura mushanduro dzichangoburwa dzeLXD dzerutsigiro rweQEMU chaiwo muchina wakafanana nemidziyo. Panzvimbo iyoyo, isu tinongo dzidza izvo zvekutanga zvekutarisira midziyo - kumisikidza madziva ekuchengetera, network, kumhanyisa mudziyo, kushandisa zviwanikwa zvekushandisa, uye mashandisiro ezvimedu kuti iwe ugone kuwana nzwisiso yekutanga yeLXD uye kushandisa midziyo paLinux.

Kuti uwane ruzivo rwakakwana, ndapota tarisa kune iyo official source:

Navigation

Kuiswa LXD ^

Kuisa LXD pane Ubuntu kugovera ^

Mune Ubuntu 19.10 yekugovera package lxd ine nhepfenyuro snap package:

apt search lxd

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

Izvi zvinoreva kuti mapakeji maviri anozoiswa kamwechete, imwe senge system package uye imwe seye snap package. Kuisa mapakeji maviri pane system kunogona kuunza rimwe dambudziko uko system package inogona kuita nherera kana snap package ikabviswa ne snap package maneja.

Tsvaga pasuru lxd mune snap repository unogona kushandisa murairo unotevera:

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

Nekumhanyisa murairo list unogona kuita chokwadi chekuti pasuru lxd haisati yaiswa:

snap list

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

Kunyangwe ichokwadi chekuti LXD iri snap package, inofanirwa kuiswa kuburikidza neiyo system package lxd, iyo ichagadzira boka rinoenderana muhurongwa, izvo zvinodiwa zvinoshandiswa mukati /usr/bin uye zvakadaro.

sudo apt update
sudo apt install lxd

Ngative nechokwadi chekuti pasuru yacho yakaiswa se snap package:

snap list

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

Kuisa LXD pane Arch Linux kugovera ^

Kuti uise iyo LXD package pane system, unofanirwa kumhanyisa inotevera mirairo, yekutanga ichagadzirisa rondedzero yemapakeji pane iyo system inowanikwa mune repository, yechipiri ichaisa zvakananga package:

sudo pacman -Syyu && sudo pacman -S lxd

Mushure mekuisa pasuru, kuitira kubata LXD nemushandisi wenguva dzose, inofanirwa kuwedzerwa kuboka rehurongwa lxd:

sudo usermod -a -G lxd user1

Ngative nechokwadi mushandisi user1 akawedzerwa kuboka lxd:

id -Gn user1

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

Kana boka lxd haisi kuoneka mune rondedzero, saka iwe unofanirwa kumisa iyo mushandisi chikamu zvakare. Kuti uite izvi, unofanirwa kubuda uye kupinda pasi pemushandisi mumwe chete.

Activate mukati systemd kurodha sevhisi yeLXD pakutanga system:

sudo systemctl enable lxd

Ngatitangei sevhisi:

sudo systemctl start lxd

Kutarisa mamiriro ebasa:

sudo systemctl status lxd

Kuchengeta LXD (Kuchengeta) ^

Kusati kwatanga, isu tinofanirwa kunzwisisa kuti chengetedzo muLXD inorongeka sei.

Kuchengetera (chengetedzo) inosanganisira kubva kune imwe kana kupfuura Storage Dziva iyo inoshandisa imwe yemafaira anotsigirwa masisitimu akadai seZFS, BTRFS, LVM kana madhairekitori akajairwa. Every Storage Dziva yakakamurwa kuita mavhoriyamu (Kuchengetedza Vhoriyamu) ine mifananidzo, midziyo, kana data kune zvimwe zvinangwa.

  • Mifananidzo -aya akanyatso kuunganidzwa kugovera pasina iyo Linux kernel uye inowanikwa kubva kunze kwekunze
  • Containers - izvi zvakatumirwa kugoverwa kubva kumifananidzo, yakagadzirira kushandiswa
  • Snapshots - aya ndiwo mapfupi emamiriro emidziyo yaunogona kudzokera kwairi

Basic maficha eLXD - Linux mudziyo masisitimu

Kugadzirisa kuchengetedza muLXD, shandisa iwo murairo lxc storage chitupa chaunogona kuwana nekutsanangura kiyi - lxc storage --help

Murairo unotevera unoratidza runyoro rwezvose Storage Dziva muLXD kuchengetedza:

lxc storage list

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

Kuti uone rondedzero yezvose Kuchengetedza Vhoriyamu mune zvakasarudzwa Storage Dziva anoshandira timu lxc storage volume list:

lxc storage volume list hddpool

+-------+----------------------------------+-------------+---------+
| TYPE  |          NAME                    | DESCRIPTION | USED BY |
+-------+----------------------------------+-------------+---------+
| image | ebd565585223487526ddb3607f515... |             | 1       |
+-------+----------------------------------+-------------+---------+

lxc storage volume list ssdpool

+-----------+----------------------------------+-------------+---------+
|   TYPE    |            NAME                  | DESCRIPTION | USED BY |
+-----------+----------------------------------+-------------+---------+
| container | alp3                             |             | 1       |
+-----------+----------------------------------+-------------+---------+
| container | jupyter                          |             | 1       |
+-----------+----------------------------------+-------------+---------+
| image     | ebd565585223487526ddb3607f515... |             | 1       |
+-----------+----------------------------------+-------------+---------+

Uyezve, kana nokuda Storage Dziva Paunenge uchigadzira, iyo BTRFS faira system yakasarudzwa, wobva watora runyorwa Kuchengetedza Vhoriyamu kana subvolume mukududzirwa kweBTRFS, unogona kushandisa kit yeiyi faira system:

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

Kutanga LXD ^

Usati wagadzira uye kushandisa midziyo, iwe unofanirwa kuita yakajairika LXD yekutanga iyo inogadzira uye inogadzirisa network uye kuchengetedza. Izvi zvinogona kuitwa nemaoko uchishandisa yakajairwa mirairo yevatengi inowanikwa mune iyo runyorwa nekudaidza murairo lxc --help kana kushandisa iyo yekutanga wizard lxd init kupindura mibvunzo mishoma.

Kusarudza faira system yeStore Pool ^

Panguva yekutanga, LXD inobvunza mibvunzo yakati wandei, kusanganisira kuona iyo faira system mhando yeiyo default Storage Dziva. Nekutadza, iyo BTRFS faira system inosarudzirwa iyo. Zvichave zvisingabviri kuchinja kune imwe FS mushure mekusikwa. Kusarudza FS inokurudzirwa tafura yekuenzanisa:

mamiriro
dhairetori
btrfs
LVM
ZFS
CEPH

Yakagadziridzwa mufananidzo kuchengetedza
kwete
ehe
ehe
ehe
ehe

Yakagadziridzwa muenzaniso kugadzira
kwete
ehe
ehe
ehe
ehe

Optimized snapshot kugadzira
kwete
ehe
ehe
ehe
ehe

Yakakwenenzverwa kuendesa mufananidzo
kwete
ehe
kwete
ehe
ehe

Optimized muenzaniso kutamiswa
kwete
ehe
kwete
ehe
ehe

Kopa pakunyora
kwete
ehe
ehe
ehe
ehe

Block based
kwete
kwete
ehe
kwete
ehe

Instant cloning
kwete
ehe
ehe
ehe
ehe

Mutyairi wekuchengetedza unoshandiswa mukati memudziyo
ehe
ehe
kwete
kwete
kwete

Dzosera kubva kumifananidzo yekare (kwete yazvino)
ehe
ehe
ehe
kwete
ehe

Storage quotas
Ehe(*)
ehe
ehe
ehe
kwete

Kutanga network uye Kuchengeta Dziva uchishandisa wizard ^

Murairo unotevera watichatarisa unoratidza kumisikidza zvikamu zvikuru zveLXD nekupindura mibvunzo iri nyore uchishandisa yekutanga wizard.

Run command lxc init uye isa mhinduro kumibvunzo mushure mecolon sezvakaratidzwa mumuenzaniso pazasi kana shandura iwo zvinoenderana nemamiriro ako:

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

Kugadzira imwe yekuwedzera Dziva rekuchengeta ^

Muchikamu chekare takagadzira Storage Dziva iyo yakapiwa zita ssdpool uye iyo faira iri pane yangu system pa /var/lib/lxd/disks/ssdpool.img. Iyi kero yefaira system inoenderana neyemuviri SSD drive muPC yangu.

Zviito zvinotevera, kuwedzera kunzwisisa kwebasa rakaitwa Storage Dziva mune repository, isu tichagadzira yechipiri Storage Dziva iyo ichave iri mumuviri pane imwe mhando yedhisiki, HDD. Dambudziko nderekuti LXD haikubvumidze iwe kugadzira Storage Dziva kunze kwekero /var/lib/lxd/disks/ uye kunyange zviratidzo zvinongedzo hazvishande, ona mhinduro yemugadziri. Isu tinokwanisa kudarika ichi chinogumira panguva yekutanga/mafomati Storage Dziva nekutsanangura kukosha sechivharo chemudziyo panzvimbo yenzira inoenda kune loopback faira nekutsanangura izvi mukiyi source.

Saka, usati wagadzira Storage Dziva iwe unofanirwa kutsanangura loopback faira kana chikamu chiripo pane yako faira system yachaishandisa. Kuti tiite izvi, isu tichagadzira nekushandisa faira yatinozoganhura muhukuru kusvika ku10GB:

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

Ngatibatanidzei loopback faira kune yemahara loopback mudziyo:

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

/dev/loop1

Kutenda kukiyi --show kuita murairo kunodzosera kuchidzitiro zita remudziyo umo loopback faira yedu yakabatana. Kana zvichidikanwa, tinogona kuratidza runyorwa rwezvese zvakabatikana zvishandiso zverudzi urwu kuti tive nechokwadi chekuti zviito zvedu ndezvechokwadi:

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

Kubva pane rondedzero unogona kuwana kuti mudziyo une /dev/loop1 loopback faira inosanganisirwa /mnt/work/lxd/hddpool.img, uye mumudziyo /dev/loop0 loopback faira inosanganisirwa /var/lib/lxd/disks/ssdpool.img iyo inoenderana neyakagadzika Storage Dziva.

Murairo unotevera unogadzira mutsva Storage Dziva muLXD zvichibva pane loopback faira yatakangogadzira. LXD ichafomati iyo loopback faira /mnt/work/lxd/hddpool.img mumudziyo /dev/loop1 yeBTRFS faira system:

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

Ngatiratidzei runyorwa rwezvose Storage Dziva ku skrini:

lxc storage list

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

Kuwedzera Kuchengetedza Dziva Saizi ^

Mushure mekusika Storage Dziva, kana zvichidiwa, inogona kuwedzerwa. For Storage Dziva zvichibva paiyo BTRFS faira system, mhanyisa inotevera mirairo:

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

Kuisa otomatiki kwefaira re loopback mu loopback mudziyo slot ^

Tine dambudziko rimwe diki, kana uchitangazve iyo host system, iyo faira /mnt/work/lxd/hddpool.img icha "bhururuka" kunze kwemudziyo /dev/loop1 uye sevhisi yeLXD ichaparara kana ichirodha nekuti haizoione muchishandiso ichi. Kuti ugadzirise dambudziko iri iwe unofanirwa kugadzira sevhisi system iyo inoisa iyi faira mumudziyo /dev/loop1 apo iyo host system boots.

Ngatigadzirei chikwata file type sevhisi Π² /etc/systemd/system/ yeSystemD yekutanga system:

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

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

[Install]
WantedBy=local-fs.target
EOF

Shandisa sevhisi:

sudo systemctl enable lxd-hddpool

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

Mushure mekutangazve iyo host system, tinotarisa mamiriro ebasa:

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

Kubva pane zvakabuda tinogona kuona kuti sevhisi mamiriro ari achishingaira, zvisinei nekuti kuitiswa kwechinyorwa chedu kubva kune mumwe murairo kwakapedzwa, sarudzo yakatibvumira kuita izvi. RemainAfterExit=true.

Safety. Ropafadzo dzemuContainer ^

Sezvo ese magadzirirwo emidziyo achinyatso mhanya ari ega pane iyo host system ichishandisa kernel yayo, kuti ienderere mberi nekuchengetedza kuwanikwa kwemidziyo yemidziyo kune iyo host system, LXD inopa rombo rekuita, uko:

  • Yakaropafadzwa Containers - Aya ndiwo midziyo umo maitiro ane UID neGID anowirirana nemuridzi mumwechete sepaiyo host system. Semuyenzaniso, maitiro ekushanda mumudziyo ane UID ye0 ane kodzero dzekuwana dzakafanana semaitiro ari pagadziriro yepasiti ine UID ye0. Nemamwe manzwi, mudzi wemudzi mumudziyo une kodzero dzese kwete mu. mudziyo, asiwo pane iyo host system kana achigona kuenda kunze kwegaba remazita rega.

  • Zvigaba zvisina mwero - Aya ndiwo midziyo umo maitiro ndeemuridzi weUID neGID ine nhamba kubva pa0 kusvika 65535, asi kune iyo host system muridzi anovharirwa achishandisa iyo yakawedzera SubUID uye SubGID bits, zvichiteerana. Semuenzaniso, mushandisi ane UID = 0 mumudziyo anozoonekwa pane iyo host system se SubUID + UID. Izvi zvinodzivirira iyo host system nekuti kana chero maitiro ari mugaba achikwanisa kutiza nzvimbo yaro yezita, inogona chete kutaurirana neiyo host system senzira ine isingazivikanwe, yakakwirira kwazvo UID/GID.

Nekumisikidza, midziyo ichangogadzirwa ine chimiro chisina kurongeka uye saka tinofanira kutsanangura SubUID uye SubGID.

Ngatigadzire mafaera maviri ekugadzirisa umo isu tichaisa mask ye SubUID uye SubGID, zvichiteerana:

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

Kuisa shanduko, sevhisi yeLXD inofanirwa kutangwazve:

sudo systemctl restart lxd

Kugadzira virtual network switch ^

Sezvo isu takambotanga network tichishandisa iyo yekutanga wizard lxd init uye yakagadzira network network lxdbr0, zvino muchikamu chino isu tichango zivana nezve networking muLXD uye maitiro ekugadzira chaiyo switch (bhiriji) uchishandisa kuraira kwevatengi.

Dhiagiramu inotevera inoratidza kuti switch (bhiriji) inobatanidza sei mugadziri uye midziyo kuita network:

Basic maficha eLXD - Linux mudziyo masisitimu

Macontainer anogona kutaurirana kuburikidza netiweki nemamwe macontainer kana muenzi panoshandirwa midziyo iyi. Kuti uite izvi, unofanirwa kubatanidza iyo chaiyo network makadhi emidziyo ine chaiyo switch. Isu tichagadzira switch kutanga, uye iyo network network network inobatanidzwa muzvitsauko zvinotevera, mushure mekunge mudziyo pachawo wagadzirwa.

Murairo unotevera unogadzira switch ine subnet 10.0.5.0/24 uye IPv4 kero 10.0.5.1/24, uye inosanganisirawo ipv4.nat kuitira kuti midziyo ikwanise kuwana iyo Internet kuburikidza nemugamuchiri uchishandisa iyo NAT sevhisi:

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

Kutarisa rondedzero yetiweki zvishandiso zviripo muLXD:

lxc network list

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

Iwe unogona zvakare kuona kuti network mudziyo wakagadzirwa uchishandisa yakajairwa chishandiso chekugovera Linux - ip link kana 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

Configuration Profile ^

Chigaba chega chega chiri muLXD chine gadziriso chayo uye chinogona kuchiwedzera nemagadzirirwo akaziviswa pasi rose anonzi configuration profiles. Kushandisa mafirita ekugadzirisa kumudziyo ane cascade modhi, muenzaniso unotevera unoratidza izvi:

Basic maficha eLXD - Linux mudziyo masisitimu

Mumuenzaniso uyu, maprofile matatu akagadzirwa muLXD system: default, hddpool ΠΈ hostfs. Ese maprofiles matatu anoiswa kune mudziyo une gadziriso yenzvimbo (grey nzvimbo). Profile default ine mudziyo root iyo ine parameter pool yakaenzana ssdpool, asi nekuda kweiyo cascade yekumisikidza application modhi, tinogona kuisa chimiro kune mudziyo hddpool iyo ine parameter pool ichapfuura iyo yakafanana parameter kubva kuprofile default uye mudziyo uchagamuchira gadziriso yemudziyo root ine parameter pool kuenzana hddpool, uye nhoroondo hostfs inongowedzera mudziyo mutsva mugaba.

Kuti uone rondedzero yeanowanikwa maprofile profiles, shandisa murairo unotevera:

lxc profile list

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

Rondedzero yakazara yemirairo iripo yekushanda neprofile inogona kuwanikwa nekuwedzera kiyi --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

Kugadzirisa chimiro chako ^

Default configuration profile default haina network kadhi gadziriso yemudziyo uye zvese zvichangobva kugadzirwa midziyo haina network, kwavari zvakakosha kugadzira emuno (yakatsaurirwa) network zvishandiso neyakasiyana kuraira, asi isu tinogona kugadzira yepasirese network mudziyo mukugadzirisa. chimiro chinozogovaniswa pakati pemidziyo yese uchishandisa iyi mbiri. Nenzira iyi, pakarepo mushure mekuraira kugadzira mudziyo mutsva, ivo vanozove netiweki ine network yekuwana. Panguva imwecheteyo, hapana zvirambidzo; isu tinogona kugara tichigadzira yemuno network mudziyo gare gare kana zvichidikanwa.

Uyu unotevera murairo uchawedzera chigadziro kuprofairi yekugadzirisa eth0 chimiro nic yakabatana kune network lxdbr0:

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

Izvo zvakakosha kuti uzive kuti sezvo isu takanyatso wedzera mudziyo kune yekumisikidza chimiro, kana isu takatsanangura static IP kero mumudziyo, ipapo midziyo yese ichashandisa iyi mbiri ichagovana yakafanana IP kero. Kana paine kudikanwa kwekugadzira mudziyo une static IP kero yakagoverwa mugaba, saka iwe unofanirwa kugadzira network yekumisikidza mudziyo padanho remudziyo (kugadziriswa kwenzvimbo) neiyo IP kero parameter, uye kwete padanho reprofile.

Ngatitarisei chimiro:

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

Mune iyi mbiri tinogona kuona kuti kune ese achangogadzirwa midziyo miviri ichagadzirwa:

  • eth0 - Chishandiso mhando nic yakabatana kune switch (network bridge) lxdbr0
  • root - Chishandiso mhando disk iyo inoshandisa dziva rekuchengetedza ssdpool

Kugadzira ma profiles matsva ^

Kushandisa kare yakagadzirwa Storage Dziva midziyo, gadzira chimiro chekugadzirisa ssdroot umo isu tichawedzera mudziyo wakafanana disk ine mount point / (mudzi) uchishandisa zvakambosikwa Storage Dziva - ssdpool:

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

Saizvozvo, isu tinogadzira mudziyo senge disk, asi munyaya iyi kushandisa Storage Dziva - hddpool:

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

Kutarisa magadzirirwo profiles:

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

Image repository ^

Midziyo inogadzirwa kubva kumifananidzo yakanyatso kuunganidzwa kugovera iyo isina Linux kernel. Naizvozvo, usati wamhanyisa mudziyo, unofanirwa kuiswa kubva pamufananidzo uyu. Kwanobva mifananidzo inzvimbo yenzvimbo umo mifananidzo inotorwa kubva kunze kwezvinyorwa.

Remote image repositories ^

Nekumisikidza, LXD inogadziriswa kuti igamuchire mifananidzo kubva kunzvimbo nhatu dziri kure:

  • ubuntu: (yemifananidzo yakagadzikana yeUbuntu)
  • ubuntu-daily: (yemazuva ese Ubuntu mifananidzo)
  • mifananidzo: (kune boka remamwe distros)

lxc remote list

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

Somuenzaniso, repository ubuntu: ine mifananidzo inotevera:

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

Kuratidza nhamba shoma yemakoramu takashandisa sarudzo -c pamwe parameters dasut, uye zvakare akaganhura kureba kwechinyorwa nemurairo head.

Kusefa kunowanikwa kuratidza runyoro rwemifananidzo. Iwo unotevera kuraira unonyora ese aripo ekugovera zvivakwa 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        |
+------------------------------+--------------------------------------+--------------+

Nzvimbo yemifananidzo inochengeterwa ^

Kuti utange kushandisa mudziyo, unofanirwa kuwedzera mufananidzo kubva kune yepasirese repository kune yemuno local:. Iye zvino nzvimbo yenzvimbo haina chinhu, murairo uchaita chokwadi cheizvi lxc image list. Kana nzira list usatsanangure nzvimbo, ipapo repository yemunharaunda ichashandiswa nekusingaperi - local:

lxc image list local:

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

Mifananidzo iri mu repository inotungamirirwa uchishandisa nzira dzinotevera:

chikwata
tsananguro

lxc mufananidzo zita remadunhurirwa
Ronga maaliases emifananidzo

lxc mufananidzo mufananidzo
Kopa mifananidzo pakati pemaseva

lxc mufananidzo kuidzima
Delete mifananidzo

lxc mufananidzo pepeta
Rongedza mufananidzo zvivakwa

lxc mufananidzo ekisipoti
Export uye dhawunirodha mifananidzo

lxc mufananidzo imupota
Pinza mifananidzo muchitoro chemifananidzo

lxc mufananidzo Info
Ratidza ruzivo rwakakosha nezvemifananidzo

lxc mufananidzo Pamazita
Nyora mifananidzo

lxc mufananidzo dzozorodza
Nyoresa mifananidzo

lxc mufananidzo ratidza
Ratidza zvimiro zvemufananidzo

Kopa mufananidzo kune repository yemunharaunda kubva kune yepasi rose images::

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

Image copied successfully!

Ngatiratidze runyoro rwemifananidzo yese iripo mudura renzvimbo local::

lxc image -c lfdatsu list local:

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

LXD Configuration ^

Pamusoro peiyo inopindirana modhi, LXD inotsigirawo isina-inopindirana yekumisikidza yekumisikidza modhi, apa ndipo painotaridzwa muchimiro cheYAML faira, yakasarudzika fomati iyo inokutendera iwe kuti uise iyo yese dhizaini kamwechete, nekupfuura kuuraya. yemirairo yakawanda inopindirana iyo yakakurukurwa pamusoro apa muchinyorwa ichi, kusanganisira network kumisikidzwa, kusikwa kwemaprofile ekugadzirisa, nezvimwe. Hatisi kuzovhara nzvimbo iyi pano, unogona kuzvitarisa wega. muzvinyorwa.

Next interactive command lxc config izvo zvatichatarisa zvinokutendera kuti uise gadziriro. Semuyenzaniso, kuti ive nechokwadi chekuti mifananidzo yakadhawunirodherwa kunzvimbo yekuchengetera yemuno haingogadziriswe otomatiki kubva kumatura epasi rose, tinogona kugonesa maitiro aya nemurairo unotevera:

lxc config set images.auto_update_cached=false

Kugadzira uye kugadzirisa mudziyo ^

Kugadzira mudziyo shandisa murairo lxc init uko ukoshi hunopfuudzwa Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:ΠΎΠ±Ρ€Π°Π· uyezve ID yaunoda yemudziyo. Iyo repository inogona kutsanangurwa seyenzvimbo local: ndizvo zvakaita chero yepasi rose. Kana iyo repository isina kutsanangurwa, saka nekusarudzika iyo repository yenzvimbo inoshandiswa kutsvaga mufananidzo. Kana mufananidzo wacho watsanangurwa kubva mudura repasi rose, ipapo mufananidzo wacho unozotanga kudhawunirodha kunzvimbo yenzvimbo inochengeterwa uye wozoshandiswa kugadzira mudziyo.

Ngatimhanyei murairo unotevera kuti tigadzire mudziyo wedu wekutanga:

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

Ngatitarisei makiyi ekuraira atinoshandisa pano mukurongeka:

  • alpine3 -Alias ​​(alias) inotsanangurwa kumufananidzo uyo wakamboiswa kunzvimbo yenzvimbo. Kana iyo alias isina kusikwa yemufananidzo uyu, saka iwe unogona kugara uchinongedzera kumufananidzo nawo Fingerprint iyo inoratidzwa patafura.
  • alp - Inoisa identifier yemudziyo
  • --storage β€” Kiyi iyi inoratidza kuti ndeipi Storage Dziva mudziyo uchagadzirwa
  • --profile - Aya makiyi anotsvedza anoshandisa gadziriso kubva kune yakambogadzirwa gadziriso profiles kumudziyo

Isu tinovhura mudziyo, unotanga kuvhura iyo init system yekugovera:

lxc start alp

Unogonawo kushandisa murairo lxc launch iyo inokubvumira kuti ubatanidze zvikwata lxc init ΠΈ lxc start mukuvhiya kumwe.

Kuongorora mamiriro egaba:

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

Kutarisa gadziriso yemudziyo:

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

Muchikamu profiles tinogona kuve nechokwadi chekuti mudziyo uyu unoshandisa mbiri yekumisikidza profiles - default ΠΈ hddroot. Muchikamu devices tinogona kungoona mudziyo mumwe chete nekuti network network yakagadzirwa padanho reprofile default. Kuti uone zvese zvinoshandiswa nemudziyo unofanirwa kuwedzera kiyi --expanded:

lxc config show alp --expanded

architecture: x86_64
config:
  image.architecture: amd64
  image.description: Alpine 3.11 amd64 (20200326_13:39)
  image.os: Alpine
  image.release: "3.11"
  image.serial: "20200326_13:39"
  image.type: squashfs
  volatile.base_image: ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
  volatile.eth0.host_name: vethb1fe71d8
  volatile.eth0.hwaddr: 00:16:3e:5f:73:3e
  volatile.idmap.base: "0"
  volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
  volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
  volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":65536}]'
  volatile.last_state.power: RUNNING
devices:
  eth0:
    name: eth0
    network: lxdbr0
    type: nic
  root:
    path: /
    pool: hddpool
    type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""

Kuseta static IP kero ^

Kana tikaedza kuseta IP kero kune network network eth0 team lxc config device set alp yakanangana negadziriso yemudziyo, tobva tagamuchira chikanganiso chinozotaura kuti mudziyo haupo nekuti mudziyo eth0 iyo inoshandiswa nemudziyo ndeye profil default:

lxc config device set alp eth0 ipv4.address 10.0.5.5

Error: The device doesn't exist

Tinogona zvechokwadi kuseta static IP kero ye eth0 zvishandiso zviri muprofile, asi zvichave zvakafanana kune ese midziyo inoshandisa iyi mbiri. Naizvozvo, ngatiwedzerei mudziyo wakatsaurirwa kune mudziyo:

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

Ipapo iwe unofanirwa kutangazve mudziyo:

lxc restart alp

Kana tikatarisa kugadziridzwa kwemudziyo ikozvino, isu hatifanire kushandisa sarudzo --expanded kuona network network eth0, sezvo isu takaigadzira padanho remudziyo uye yakadonha pamusoro pechishandiso chimwechete kubva kuprofile 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: ""

Kubvisa mudziyo ^

Kuti ubvise mudziyo, shandisa murairo lxc delete, asi usati wabvisa mudziyo, unofanirwa kumiswa uchishandisa murairo lxc stop:

lxc stop alp

lxc list

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

Mushure mekunge taona kuti mamiriro egaba rave YAKOPA, inogona kubviswa kubva Storage Dziva:

lxc delete alp

Container access ^

Kuti uite mirairo mumudziyo zvakananga, uchipfuura netiweki yekubatanidza, shandisa murairo lxc exec iyo inoita mirairo mumudziyo pasina kuvhura system shell. Kana iwe uchida kuita rairo mugoko uchishandisa magoko mapeteni akadai seachinja, faira redirections (pombi), nezvimwewo, saka unofanirwa kuburitsa pachena goko uye kupfuudza rairo sekiyi, semuenzaniso:

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

Murairo wakashandisa hunhu hunokosha hwekupukunyuka kumunhu akakosha $ kuitira kuti musiyano $HOME haina kududzirwa pamushini wekutambira, asi yakadudzirwa chete mukati memudziyo.

Izvo zvakare zvinogoneka kutanga iyo inopindirana shell modhi, uye wozopedzisa chikamu nekuita hotkey CTRL+D:

lxc exec alp -- /bin/sh

Container resource management ^

MuLXD, unogona kubata zviwanikwa zvemidziyo uchishandisa yakakosha seti yekumisikidza. Rondedzero yakazara yemidziyo yekumisikidza paramita inogona kuwanikwa muzvinyorwa.

RAM resource kudzikiswa ^

Parameter limits.memory inodzikamisa huwandu hwe RAM inowanikwa kune mudziyo. Kukosha inhamba uye imwe ye zvinowanika suffixes.

Ngatiisei RAM yemudziyo muganho kusvika 256 MB:

lxc config set alp limits.memory 256MB

Zvakare, kune mamwe ma parameter ekudzikamisa ndangariro:

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

chikwata lxc config show inokutendera iwe kuti uratidze iyo yese gadziriso yemudziyo, kusanganisira iyo inoshandiswa resource muganho yakaiswa:

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

CPU zviwanikwa muganho ^

Pane nzira dzinoverengeka dzekudzikamisa CPU zviwanikwa. marudzi ezvirambidzo:

  • limit.cpu - inosungira mudziyo kune imwe kana anopfuura eCPU cores
  • limits.cpu.allowance - inobata chero CFS scheduler quotas kana nguva yadarika, kana iyo yepasirese CPU yekugovera zviwanikwa kana chikamu chapfuura.
  • limits.cpu.priority - scheduler pamberi apo akawanda zviitiko kugovera seti yema processor anopihwa yakafanana muzana yema processor

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

Disk nzvimbo yekugumira ^

Mukuwedzera kune zvirambidzo zvakadaro limits.read, limits.write isu tinogona zvakare kudzikisira huwandu hwedhisiki nzvimbo inopedzwa nemudziyo (inongoshanda neZFS kana BTRFS):

lxc config device set alp root size=2GB

Mushure mekuiswa, mune parameter devices.root.size Tinogona kuonesa muganhu wakaiswa:

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

Kuti titarise yakashandiswa disk quotas isu tinogona kuwana kubva kumurairo 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

Kunyangwe isu takaisa muganho wemudzi wemudziyo wemudziyo kusvika ku2GB, zvishandiso zvehurongwa senge df hausi kuona kurambidzwa uku. Kuti tiite izvi, tichaitisa bvunzo diki toona kuti inoshanda sei.

Ngatigadzire midziyo miviri mitsva yakafanana mune imwe chete Storage Dziva (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         |
+------+---------+------------------+------+-----------+-----------+

Ngatigadzire faira re1GB mune imwe yemidziyo:

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

Ngative nechokwadi chekuti faira yakagadzirwa:

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

Kana tikatarisa mumudziyo wechipiri, tarisa kuvepo kwefaira munzvimbo imwechete, saka iyi faira haizovepo, inotarisirwa, sezvo midziyo inogadzirwa pachayo. Kuchengetedza Vhoriyamu mune zvimwe chetezvo Storage Dziva:

lxc exec alp2 -- ls -lh
total 0

Asi ngatienzanise hunhu hwainoburitsa df pane imwe uye imwe mudziyo:

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 yakaiswa sechikamu chemudzi Storage Dziva izvo zvinoshandiswa nemidziyo iyi, saka vanogovana huwandu hwayo pakati pembiri.

Zviwanikwa zvekushandisa statistics ^

Iwe unogona kuona zviwanikwa zvekushandisa statistics yemudziyo uchishandisa murairo:

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

Kushanda nemifananidzo ^

LXD ine kugona kugadzira snapshots uye kudzoreredza mamiriro emudziyo kubva kwavari.

Kugadzira snapshot, mhanya unotevera kuraira:

lxc snapshot alp snapshot1

Chikwata lxc snapshot hapana kiyi iripo list, saka, kuti utarise rondedzero yezvipfupi iwe unofanirwa kushandisa murairo unoratidza ruzivo rwese nezve mudziyo:

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

Unogona kudzoreredza mudziyo kubva pamufananidzo uchishandisa murairo lxc restore kutsanangura mudziyo uchaitirwa kudzoreredza uye snapshot alias:

lxc restore alp snapshot1

Murairo unotevera unoshandiswa kudzima snapshot. Ndokumbira utarise kuti iyo syntax yekuraira haina kufanana nevamwe vese; pano iwe unofanirwa kutsanangura kumberi slash mushure mezita remudziyo. Kana iyo slash ikasiiwa, saka murairo wekudzima snapshot unodudzirwa semurairo wekudzima mudziyo!

lxc delete alp/snapshot1

Mumuenzaniso uri pamusoro apa, takatarisa izvo zvinonzi snapshots dzisina nyika. LXD ine imwe mhando yezvipfupi - stateful, iyo inochengetedza ikozvino mamiriro ezvese maitiro mumudziyo. Kune akati wandei anonakidza uye anobatsira maficha ane hukama neane snapshots.

Chii chimwe? ^

  • A module inowanikwa kune vanogadzira Python PyLXD iyo inopa API kuLXD

UPDATE 10.04.2020/15/00 XNUMX:XNUMX: Yakawedzerwa kufamba

Source: www.habr.com

Voeg