Likarolo tsa mantlha tsa LXD - Sistimi ea lijana tsa Linux

Likarolo tsa mantlha tsa LXD - Sistimi ea lijana tsa Linux

LXD ke mookameli oa tsamaiso ea tsamaiso ea moloko o latelang, kahoo e re mohloli. E fana ka sebopeho sa mosebelisi se ts'oanang le mechini ea sebele, empa e sebelisa lijana tsa Linux sebakeng sa eona.

LXD ea mantlha ke daemon e nang le tokelo (tšebeletso e nang le litokelo tsa metso) e fanang ka REST API ka sokete ea unix ea sebakeng seo, hammoho le ka marang-rang haeba ho kenyelitsoe tlhophiso e nepahetseng. Bareki, joalo ka sesebelisoa sa mola oa taelo se fanoeng le LXD, ba etsa likopo ka REST API ena. Sena se bolela hore ho sa tsotellehe hore na u fumana moamoheli oa lehae kapa moamoheli ea hole, tsohle li sebetsa ka mokhoa o ts'oanang.

Sehloohong sena re ke ke ra lula ka ho qaqileng ka likhopolo tsa LXD, re ke ke ra nahana ka bokhoni bohle bo teng bo hlalositsoeng litokomaneng, ho kenyelletsa le ts'ebetsong ea morao-rao liphetolelong tsa morao-rao tsa LXD tsa tšehetso bakeng sa mechine ea sebele ea QEMU ka ho bapisa le lijana. Sebakeng seo, re tla ithuta metheo ea taolo ea lijana - ho theha matamo a polokelo, marang-rang, ho tsamaisa setshelo, ho sebelisa meeli ea lisebelisoa, le mokhoa oa ho sebelisa linepe hore o tle o fumane kutloisiso ea mantlha ea LXD le ho sebelisa lijana ho Linux.

Ho fumana leseli le felletseng, ka kopo sheba mohloli oa semmuso:

Navigation

Ho kenya LXD ^

Ho kenya LXD ho li-distributions tsa Ubuntu ^

Ka har'a sephutheloana sa kabo ea Ubuntu 19.10 lxd e na le khaso snap sephutheloana:

apt search lxd

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

Sena se bolela hore liphutheloana tse peli li tla kenngoa hang-hang, e 'ngoe e le sephutheloana sa tsamaiso 'me e' ngoe e le sephutheloana sa snap. Ho kenya liphutheloana tse peli ho sistimi ho ka baka bothata moo sephutheloana sa sistimi se ka fetohang likhutsana haeba sephutheloana sa snap se tlosoa ke mookameli oa sephutheloana sa snap.

Fumana sephutheloana lxd ka snap repository u ka sebelisa taelo e latelang:

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

Ka ho tsamaisa taelo list u ka etsa bonnete ba hore sephutheloana lxd ha e so kengoe:

snap list

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

Leha taba ea hore LXD ke sephutheloana sa snap, e tlameha ho kenngoa ka har'a sephutheloana sa sistimi lxd, e tla theha sehlopha se tsamaisanang tsamaisong, lisebelisoa tse hlokahalang ho /usr/bin joalo-joalo.

sudo apt update
sudo apt install lxd

Ha re etse bonnete ba hore sephutheloana se kentsoe joalo ka sephutheloana sa snap:

snap list

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

Ho kenya LXD ho lipehelo tsa Arch Linux ^

Ho kenya sephutheloana sa LXD tsamaisong, o hloka ho tsamaisa litaelo tse latelang, ea pele e tla ntlafatsa lenane la liphutheloana tsamaisong e fumanehang sebakeng sa polokelo, ea bobeli e tla kenya sephutheloana ka ho toba:

sudo pacman -Syyu && sudo pacman -S lxd

Kamora ho kenya sephutheloana, e le hore u tsamaise LXD ke mosebelisi ea tloaelehileng, e tlameha ho eketsoa sehlopheng sa sistimi lxd:

sudo usermod -a -G lxd user1

Ha re etse bonnete ba hore mosebelisi user1 e kenyelelitsoe sehlopheng lxd:

id -Gn user1

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

Haeba sehlopha lxd ha e bonahale lenaneng, joale o hloka ho kenya tšebetsong nako ea mosebelisi hape. Ho etsa sena, o hloka ho tsoa le ho kena tlas'a mosebelisi a le mong.

Kenya tshebetsong ho systemd ho kenya ts'ebeletso ea LXD qalong ea sistimi:

sudo systemctl enable lxd

Ha re qale tšebeletso:

sudo systemctl start lxd

E hlahloba boemo ba tšebeletso:

sudo systemctl status lxd

Bobolokelo LXD (Bobolokelo) ^

Pele ho qala ho qala, re hloka ho utloisisa hore na polokelo ea LXD e hlophisitsoe joang ka mokhoa o utloahalang.

Polokelo (Storage) e na le ho tloha ho le le leng kapa ho feta Letamo la polokelo e sebelisang e 'ngoe ea litsamaiso tsa faele tse tšehelitsoeng joalo ka ZFS, BTRFS, LVM kapa li-directory tse tloaelehileng. Emong le emong Letamo la polokelo e arotsoe ka meqolo (Bolumo ea polokelo) e nang le litšoantšo, lijana, kapa data bakeng sa merero e meng.

  • Litšoantšo - tsena ke liphaello tse bokelletsoeng ka ho khetheha ntle le Linux kernel mme li fumaneha mehloling e kantle
  • Lijana - tsena ke liphatlalatso tse tsoang litšoantšong, tse loketseng ho sebelisoa
  • Lits'oants'o - tsena ke li-snapshots tsa boemo ba lijana tseo u ka khutlelang ho tsona

Likarolo tsa mantlha tsa LXD - Sistimi ea lijana tsa Linux

Ho laola polokelo ho LXD, sebelisa taelo lxc storage setifikeiti seo u ka se fumanang ka ho totobatsa senotlolo - lxc storage --help

Taelo e latelang e bontša lenane la tsohle Letamo la polokelo polokelong ea LXD:

lxc storage list

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

Ho sheba lenane la tsohle Bolumo ea polokelo ho e khethiloeng Letamo la polokelo e sebeletsa sehlopha 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       |
+-----------+----------------------------------+-------------+---------+

Hape, haeba bakeng sa Letamo la polokelo Ha u theha, sistimi ea faele ea BTRFS e khethiloe, ebe u fumana lenane Bolumo ea polokelo kapa subvolume ka tlhaloso ea BTRFS, u ka sebelisa lisebelisoa tsa tsamaiso ena ea faele:

sudo btrfs subvolume list -p /var/lib/lxd/storage-pools/hddpool

ID 257 gen 818 parent 5 top level 5 path images/ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3

sudo btrfs subvolume list -p /var/lib/lxd/storage-pools/ssdpool

ID 257 gen 1820 parent 5 top level 5 path images/ebd565585223487526ddb3607f5156e875c15a89e21b61ef004132196da6a0a3
ID 260 gen 1819 parent 5 top level 5 path containers/jupyter
ID 263 gen 1820 parent 5 top level 5 path containers/alp3

Ho qala LXD ^

Pele o theha le ho sebelisa lijana, o tlameha ho etsa qalo e akaretsang ea LXD e etsang le ho hlophisa marang-rang le polokelo. Sena se ka etsoa ka letsoho ho sebelisa litaelo tse tloaelehileng tsa bareki tse fumanehang lethathamong ka ho letsetsa taelo lxc --help kapa ho sebedisa wizate ya ho qala lxd init ho araba dipotso tse mmalwa.

Ho khetha sistimi ea faele bakeng sa Letamo la polokelo ^

Nakong ea ho qala, LXD e botsa lipotso tse 'maloa, ho kenyelletsa le ho khetholla mofuta oa sistimi ea faele bakeng sa kamehla Letamo la polokelo. Ka kamehla, sistimi ea faele ea BTRFS e khetheloa eona. Ho ke ke ha khoneha ho fetohela ho FS e 'ngoe ka mor'a pōpo. Ho khetha FS ho khothaletsoa tšobotsi papiso tafole:

Feature
Directory
Btrfs
LVM
ZFS
CEPH

Sebaka sa polokelo ea litšoantšo se ntlafalitsoeng
Che
e
e
e
e

Tlhahiso ea mohlala e ntlafalitsoeng
Che
e
e
e
e

Tlhahiso ea senepe e ntlafalitsoeng
Che
e
e
e
e

Phetiso e ntlafalitsoeng ea litšoantšo
Che
e
Che
e
e

Phetiso ea mohlala e ntlafalitsoeng
Che
e
Che
e
e

Kopitsa ka mongolo
Che
e
e
e
e

Block e thehiloeng
Che
Che
e
Che
e

Instant cloning
Che
e
e
e
e

Mokhanni oa polokelo o ka sebelisoang ka har'a setshelo
e
e
Che
Che
Che

Khutlisa ho tsoa ho linepe tsa khale (eseng tsa morao-rao)
e
e
e
Che
e

Likhetho tsa polokelo
ho joalo(*)
e
e
e
Che

Ho qala netweke le Pool Pool ka ho sebedisa wizate ^

Taelo e latelang eo re tla e sheba e fana ka maikutlo a ho theha likarolo tsa mantlha tsa LXD ka ho araba lipotso tse bonolo ho sebelisa wizate ea ho qala.

Matha taelo lxc init 'me u kenye likarabo tsa lipotso ka mor'a colone joalokaha ho bontšitsoe mohlaleng o ka tlase kapa u li fetole ho latela maemo a hau:

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

Ho theha Letamo le eketsehileng la polokelo ^

Mohato o fetileng oo re o entseng Letamo la polokelo e neng e filoe lebitso ssdpool le faele ea eona e teng tsamaisong ea ka ho /var/lib/lxd/disks/ssdpool.img. Aterese ena ea sistimi ea faele e lumellana le drive ea 'mele ea SSD ho PC ea ka.

Liketso tse latelang, ho atolosa kutloisiso ea karolo e phethoang ke Letamo la polokelo sebakeng sa polokelo, re tla theha ea bobeli Letamo la polokelo e tla be e fumaneha ka mofuta o fapaneng oa disk, HDD. Bothata ke hore LXD ha e u lumelle ho etsa Letamo la polokelo ntle le aterese /var/lib/lxd/disks/ esita le lihokelo tsa tšoantšetso li ke ke tsa sebetsa, bona karabo ea moqapi. Re ka tlola moeli ona nakong ea ho qala / ho fometa Letamo la polokelo ka ho hlakisa boleng joalo ka sesebelisoa sa block ho fapana le tsela ea faele ea loopback ka ho hlakisa sena senotlolo source.

Kahoo, pele o etsa Letamo la polokelo o hloka ho hlalosa faele ea loopback kapa karohano e teng ho sistimi ea hau eo e tla e sebelisa. Ho etsa sena, re tla theha le ho sebelisa faele eo re tla e fokotsa ka boholo ho 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

Ha re hokeleng faele ea loopback ho sesebelisoa sa loopback sa mahala:

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

/dev/loop1

Ke leboha senotlolo --show ho phethahatsa taelo ho khutlisetsa skrineng lebitso la sesebelisoa seo faele ea rona ea loopback e hokahaneng ho eona. Haeba ho hlokahala, re ka hlahisa lethathamo la lisebelisoa tsohle tse maphathaphathe tsa mofuta ona ho etsa bonnete ba hore liketso tsa rona li nepahetse:

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

Ho tsoa lethathamong u ka fumana hore sesebelisoa se na le /dev/loop1 faele ea loopback e kenyelelitsoe /mnt/work/lxd/hddpool.img, le sesebelisoa /dev/loop0 faele ea loopback e kenyelelitsoe /var/lib/lxd/disks/ssdpool.img e tsamaellanang le ya kamehla Letamo la polokelo.

Taelo e latelang e theha e ncha Letamo la polokelo ho LXD e ipapisitse le faele ea loopback eo re sa tsoa e lokisa. LXD e tla fomata faele ea loopback /mnt/work/lxd/hddpool.img ka sesebelisoa /dev/loop1 bakeng sa sistimi ea faele ea BTRFS:

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

Ha re hlahise lenane la bohle Letamo la polokelo ho skrine:

lxc storage list

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

Ho eketsa boholo ba Letamo la polokelo ^

Ka mora tlholeho Letamo la polokelo, haeba ho hlokahala, e ka atolosoa. Bakeng sa Letamo la polokelo ho latela sistimi ea faele ea BTRFS, tsamaisa litaelo tse latelang:

sudo truncate -s +5G /mnt/work/lxd/hddpool.img
sudo losetup -c /dev/loop1
sudo btrfs filesystem resize max /var/lib/lxd/storage-pools/hddpool

Ho kenya faele ea loopback ka boits'oaro sebakeng sa sesebelisoa sa loopback ^

Re na le bothata bo le bong bo bonyenyane, ha re tsosolosa tsamaiso ea moeti, faele /mnt/work/lxd/hddpool.img e tla "fofa" ka ntle ho sesebelisoa /dev/loop1 mme ts'ebeletso ea LXD e tla senyeha ha e kenya hobane e ke ke ea e bona sesebelisoa sena. Ho rarolla bothata bona o hloka ho theha ts'ebeletso ea sistimi e tla kenya faele ena sesebelisoa /dev/loop1 ha tsamaiso ea moeti e qala.

Ha re bopeng unit mofuta oa faele tšebeletso ea в /etc/systemd/system/ bakeng sa sistimi ea ho qala ea 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

Kenya tshebeletso tshebetsong:

sudo systemctl enable lxd-hddpool

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

Kamora ho qala sistimi ea moamoheli, re sheba boemo ba ts'ebeletso:

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

Ho tsoa sephethong re ka netefatsa hore boemo ba ts'ebeletso bo a sebetsang a, ho sa tsotellehe taba ea hore ts'ebetso ea script ea rona ho tsoa taelong e le 'ngoe e phethiloe, khetho e ile ea re lumella ho etsa sena. RemainAfterExit=true.

Polokeho. Litokelo tsa setshelo ^

Kaha lits'ebetso tsohle tsa setshelo li hlile li sebetsa ka thoko ho sistimi e amohelang batho e sebelisa kernel ea eona, ho sireletsa phihlello ea lits'ebetso tsa setshelo ho sistimi e amohelang, LXD e fana ka tokelo ea ts'ebetso, moo:

  • Lijana tse Hlomphehang - tsena ke lijana tseo lits'ebetso tse nang le UID le GID li tsamaellanang le mong'a tsona joalo ka sistimi ea moamoheli. Mohlala, ts'ebetso e sebetsang ka har'a sets'oants'o se nang le UID ea 0 e na le litokelo tse ts'oanang tsa phihlello joalo ka ts'ebetso ho sistimi e amohelang ka UID ea 0. Ka mantsoe a mang, mosebelisi oa sets'oants'o o na le litokelo tsohle eseng feela ho. setshelo, empa hape le tsamaisong ea moamoheli haeba a ka tsoela ka ntle ho sebaka sa mabitso se ikhethileng sa setshelo.

  • Lijana tse hlokang maemo - tsena ke lijana tseo lits'ebetso e leng tsa mong'a UID le GID tse nang le nomoro ho tloha ho 0 ho isa ho 65535, empa bakeng sa sistimi e amohelang mong'a ntlo o sirelelitsoe a sebelisa li-bits tsa SubUID le SubGID ka ho latellana. Mohlala, mosebelisi ea nang le UID=0 ka har'a sets'oants'o o tla bonoa ho sistimi ea moamoheli joalo ka SubUID + UID. Sena se sireletsa tsamaiso ea moeti hobane haeba ts'ebetso leha e le efe e ka har'a setshelo e khona ho baleha sebaka sa eona sa mabitso se ka thōko, e ka buisana feela le tsamaiso ea moeti e le mokhoa o nang le UID / GID e sa tsejoeng, e phahameng haholo.

Ka mokhoa o ikhethileng, lijana tse sa tsoa etsoa li na le maemo a sa tsitsang, kahoo re tlameha ho hlalosa SubUID le SubGID.

Ha re theheng lifaele tse peli tsa tlhophiso moo re tla beha mask bakeng sa SubUID le SubGID, ka ho latellana:

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

Ho sebelisa liphetoho, ts'ebeletso ea LXD e tlameha ho qalisoa bocha:

sudo systemctl restart lxd

Ho theha switch ea marang-rang e fumanehang ^

Kaha re kile ra qala marang-rang re sebelisa wizate ea ho qala lxd init mme o thehile sesebelisoa sa marang-rang lxdbr0, joale karolong ena re tla tloaelana le marang-rang ho LXD le mokhoa oa ho etsa phetoho ea sebele (borokho) ho sebelisa taelo ea bareki.

Sets'oants'o se latelang se bonts'a hore na switch (borokho) e hokela moamoheli le lisebelisoa joang marang-rang:

Likarolo tsa mantlha tsa LXD - Sistimi ea lijana tsa Linux

Li-container li ka buisana ka marang-rang le lijana tse ling kapa moeti eo lijana tsena li fanoang ho eena. Ho etsa sena, o hloka ho hokahanya likarete tsa marang-rang tsa li-container tse nang le switch ea sebele. Re tla theha switch pele, 'me likhokahano tsa marang-rang tsa setshelo li tla hokahana likhaolong tse latelang, kamora hore setshelo ka bosona se thehoe.

Taelo e latelang e theha switjha e nang le subnet 10.0.5.0/24 le aterese ea IPv4 10.0.5.1/24, hape e kenyelletsa ipv4.nat e le hore lijana li khone ho kena Marang-rang ka moamoheli ka ts'ebeletso ea NAT:

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

Ho hlahloba lenane la lisebelisoa tsa marang-rang tse fumanehang ho LXD:

lxc network list

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

U ka boela ua netefatsa hore sesebelisoa sa marang-rang se entsoe ho sebelisoa sesebelisoa se tloaelehileng sa kabo ea Linux - ip link kapa 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

Boemo ba tlhophiso ^

Sets'oants'o se seng le se seng sa LXD se na le tlhophiso ea sona 'me se ka se atolosa ka litlhophiso tse phatlalalitsoeng lefatšeng ka bophara tse bitsoang liprofaele tsa tlhophiso. Ho sebelisa li-profiles tsa tlhophiso ho setshelo ho na le mohlala oa cascade, mohlala o latelang o bontša sena:

Likarolo tsa mantlha tsa LXD - Sistimi ea lijana tsa Linux

Mohlaleng ona, ho entsoe lintlha tse tharo tsamaisong ea LXD: default, hddpool и hostfs. Li-profiles tse tharo li sebelisoa ka har'a setshelo se nang le tlhophiso ea lehae (sebaka se bohlooho). Profile default e na le sesebelisoa root e nang le parameter pool e lekana le ssdpool, empa ka lebaka la mohlala oa kopo ea cascade, re ka sebelisa profil ho setshelo hddpool e nang le parameter pool e tla fetisa paramente e tšoanang ho tsoa ho profil default 'me setshelo se tla fumana tlhophiso ea sesebelisoa root e nang le parameter pool lekana hddpool, le profil hostfs e eketsa feela sesebelisoa se secha ho setshelo.

Ho bona lenane la li-profaele tse fumanehang, sebelisa taelo e latelang:

lxc profile list

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

Lethathamo le felletseng la litaelo tse fumanehang bakeng sa ho sebetsa le profil e ka fumanoa ka ho eketsa senotlolo --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

E lokisa boemo ba hau ^

Boemo ba tlhophiso ea kamehla default ha e na tlhophiso ea karete ea marang-rang bakeng sa setshelo mme lijana tsohle tse sa tsoa bōptjoa ha li na marang-rang, bakeng sa bona ho hlokahala ho theha lisebelisoa tsa marang-rang tsa lehae (tse inehetseng) ka taelo e fapaneng, empa re ka etsa sesebelisoa sa marang-rang lefatšeng ka bophara boemo bo tla arolelanoa lipakeng tsa lijana tsohle ho sebelisoa profil ena. Ka tsela ena, hang ka mor'a taelo ea ho theha setshelo se secha, ba tla ba le marang-rang a nang le phihlelo ea marang-rang. Ka nako e ts'oanang, ha ho na lithibelo; re ka lula re etsa sesebelisoa sa marang-rang sa lehae hamorao ha ho hlokahala.

Taelo e latelang e tla eketsa sesebelisoa ho profil ea tlhophiso eth0 mofuta nic e hokahane le marang-rang lxdbr0:

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

Ho bohlokoa ho hlokomela hore kaha re kentse sesebelisoa ho profil ea tlhophiso, haeba re boletse aterese ea IP e tsitsitseng sesebelisoa, joale lijana tsohle tse tla sebelisa profil ena li tla arolelana aterese e tšoanang ea IP. Haeba ho na le tlhokahalo ea ho theha setshelo se nang le aterese ea IP e tsitsitseng e abetsoeng setshelo, joale u lokela ho etsa tlhophiso ea sesebelisoa sa marang-rang boemong ba setshelo (sebopeho sa sebaka) ka parameter ea aterese ea IP, eseng boemong ba profil.

Ha re hlahlobeng boemo:

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

Boemong bona re ka bona hore bakeng sa lijana tsohle tse sa tsoa etsoa lisebelisoa tse peli li tla etsoa:

  • eth0 - Mofuta oa sesebelisoa nic e hokahaneng le switch (network borokho) lxdbr0
  • root - Mofuta oa sesebelisoa disk e sebelisang letamo la polokelo ssdpool

Ho theha liprofaele tse ncha ^

Ho sebelisa e entsoeng pele Letamo la polokelo lijana, etsa profil ea tlhophiso ssdroot eo ho eona re tla eketsa sesebelisoa se kang disk e nang le mount point / (root) ka ho sebelisa se entsoeng pele Letamo la polokelo - ssdpool:

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

Ka mokhoa o ts'oanang, re theha sesebelisoa se kang disk, empa tabeng ena sebelisa Letamo la polokelo - hddpool:

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

E hlahloba boemo ba litlhophiso:

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

Sebaka sa polokelo ea litšoantšo ^

Lits'oants'o li entsoe ho tsoa litšoantšong tse arolelanoang ka ho khetheha tse se nang kernel ea Linux. Ka hona, pele o tsamaisa setshelo, e tlameha ho romelloa ho tsoa setšoantšong sena. Mohloli oa litšoantšo ke sebaka sa polokelo ea lehae moo litšoantšo li jarolleloang ho tsoa polokelong ea kantle.

Bobolokelo ba litšoantšo bo hole ^

Ka mokhoa o ikhethileng, LXD e hlophiselitsoe ho amohela litšoantšo ho tsoa mehloling e meraro e hole:

  • ubuntu: (bakeng sa litšoantšo tse tsitsitseng tsa Ubuntu)
  • ubuntu-daily: (bakeng sa litšoantšo tsa letsatsi le letsatsi tsa Ubuntu)
  • litšoantšo: (bakeng sa sehlopha sa distros tse ling)

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

Ka mohlala, polokelo ubuntu: e na le litšoantšo tse latelang:

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

Ho hlahisa palo e lekanyelitsoeng ea litšiea re sebelisitse khetho -c e nang le li-parameter dasut, hape o lekanyelitse bolelele ba lenane ka taelo head.

Sefa se teng ho hlahisa lenane la litšoantšo. Taelo e latelang e tla thathamisa meralo eohle e fumanehang ea kabo 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        |
+------------------------------+--------------------------------------+--------------+

Sebaka sa polokelo ea litšoantšo ^

Ho qala ho sebelisa setshelo, o hloka ho eketsa setšoantšo ho tloha polokelong ea lefats'e ho ea sebakeng sa lehae local:. Joale sebaka sa polokelo ea lehae ha se na letho, taelo e tla etsa bonnete ba sena lxc image list. Haeba mokhoa list u se ke ua bolela sebaka sa polokelo, joale polokelo ea lehae e tla sebelisoa ka ho sa feleng - local:

lxc image list local:

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

Litšoantšo tse polokelong ea polokelo li laoloa ka mekhoa e latelang:

sehlopha
tlhaloso

lxc setšoantšo alias
Laola mabitso a mabitso a litšoantšo

lxc setšoantšo kopitsa
Kopitsa litšoantšo lipakeng tsa li-server

lxc setšoantšo hlakola
Hlakola litšoantšo

lxc setšoantšo edita
Fetola litšoantšo

lxc setšoantšo ke diyantle
Romella le ho jarolla litšoantšo

lxc setšoantšo bohlokoa
Kenya litšoantšo lebenkeleng la litšoantšo

lxc setšoantšo Info
Hlahisa lintlha tse molemo mabapi le litšoantšo

lxc setšoantšo siyo lenaneng
Thathamisa litšoantšo

lxc setšoantšo khatholla.
Hlahisa litšoantšo

lxc setšoantšo bontsha
Hlahisa litšoantšo

Kopitsa setšoantšo ho polokelo ea lehae ho tloha lefats'eng lohle images::

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

Image copied successfully!

Ha re hlahise lenane la litšoantšo tsohle tse fumanehang sebakeng sa polokelo ea lehae local::

lxc image -c lfdatsu list local:

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

Phetoho ea LXD ^

Ntle le mokhoa oa ho sebelisana, LXD e boetse e ts'ehetsa mokhoa oa ho kenya tlhophiso o sa sebetseng, ke ha tlhophiso e boletsoeng ka sebopeho sa faele ea YAML, sebopeho se ikhethileng se u lumellang ho kenya tlhophiso eohle hang-hang, ho feta ts'ebetsong. ea litaelo tse ngata tse sebetsanang tse boletsoeng ka holimo sengolong sena, ho kenyeletsoa tlhophiso ea marang-rang, tlhahiso ea li-profiles tsa tlhophiso, jj. Ha re na ho akaretsa sebaka sena mona, u ka se sheba u le mong. litokomaneng.

Taelo e latelang e sebetsang lxc config seo re tla se sheba se u lumella ho beha tlhophiso. Mohlala, ho etsa bonnete ba hore litšoantšo tse jarollotsoeng polokelong ea lehae ha li nchafatsoe ka bo eona ho tsoa lipolokelong tsa lefats'e, re ka etsa hore boitšoaro bona bo be teng ka taelo e latelang:

lxc config set images.auto_update_cached=false

Ho theha le ho laola setshelo ^

Ho theha setshelo sebelisa taelo lxc init tseo litekanyetso li fetisetsoang ho tsona репозиторий:образ ebe ID e lakatsehang bakeng sa setshelo. Sebaka sa polokelo se ka hlalosoa e le sa lehae local: ho joalo le ka leha e le efe ea lefatše. Haeba sebaka sa polokelo se sa hlalosoa, joale sebaka sa polokelo ea lehae se sebelisetsoa ho batla setšoantšo. Haeba setšoantšo se hlalositsoe ho tsoa polokelong ea lefats'e, joale setšoantšo se tla kopitsoa pele sebakeng sa polokelo ea lehae ebe se sebelisoa ho theha setshelo.

Ha re sebeliseng taelo e latelang ho theha setshelo sa rona sa pele:

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

Ha re shebeng linotlolo tsa litaelo tseo re li sebelisang mona ka tatellano:

  • alpine3 - Lebitso la lebitso (li-alias) le hlalositsoe bakeng sa setšoantšo se neng se kentsoe sebakeng sa polokelo ea lehae. Haeba li-alias li ne li sa bōptjoa bakeng sa setšoantšo sena, joale u ka lula u bua ka setšoantšo ka eona Litokomane tsa fingerprint e hlahang tafoleng.
  • alp - E beha sesupo sa setshelo
  • --storage - Senotlolo sena se bontša hore na Letamo la polokelo setshelo se tla boptjwa
  • --profile - Linotlolo tsena li sebetsa ho tsoa ho liprofaele tsa tlhophiso tse entsoeng pele ho sets'oants'o

Re qala setshelo, se qalang ho qala sistimi ea init ea kabo:

lxc start alp

U ka boela ua sebelisa taelo lxc launch e u lumellang ho kopanya lihlopha lxc init и lxc start ts'ebetsong e le 'ngoe.

Ho hlahloba boemo ba setshelo:

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

Ho hlahloba tlhophiso ea setshelo:

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

Karolong profiles re ka etsa bonnete ba hore setshelo sena se sebelisa lintlha tse peli tsa tlhophiso - default и hddroot. Karolong devices re ka lemoha sesebelisoa se le seng feela ho tloha ha sesebelisoa sa marang-rang se bōpiloe boemong ba profil default. E le hore u bone lisebelisoa tsohle tse sebelisoang ke setshelo u lokela ho eketsa senotlolo --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: ""

Ho beha aterese ea IP e tsitsitseng ^

Haeba re leka ho beha aterese ea IP bakeng sa sesebelisoa sa marang-rang eth0 sehlopha lxc config device set alp e reretsoeng tlhophiso ea setshelo, joale re tla fumana phoso e tla tlaleha hore sesebelisoa ha se eo hobane sesebelisoa eth0 se sebedisoang ke setshelo ke sa profaele default:

lxc config device set alp eth0 ipv4.address 10.0.5.5

Error: The device doesn't exist

Ehlile re ka beha aterese ea IP e sa fetoheng bakeng sa eth0 lisebelisoa tse profilaneng, empa ho tla tšoana ho lijana tsohle tse tla sebelisa profil ena. Ka hona, a re kenyelle sesebelisoa se inehetseng ho setshelo:

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

Ebe o hloka ho qala setshelo bocha:

lxc restart alp

Haeba re sheba tlhophiso ea setshelo hona joale, ha ho hlokahale hore re sebelise khetho --expanded ho bona sesebelisoa sa marang-rang eth0, kaha re e bōpile boemong ba setshelo 'me e ile ea phalla holim'a sesebelisoa se tšoanang ho tloha profilaneng 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: ""

Ho tlosa setshelo ^

Ho tlosa setshelo, sebelisa taelo lxc delete, empa pele o tlosa setshelo, e tlameha ho emisoa ho sebelisa taelo lxc stop:

lxc stop alp

lxc list

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

Kamora hore re netefatse hore boemo ba setshelo bo fetohile TOPELISITSOE, e ka tlosoa ho Letamo la polokelo:

lxc delete alp

Ho kena ka setshelo ^

Ho phethahatsa litaelo ka har'a setshelo ka kotloloho, ho feta likhokahano tsa marang-rang, sebelisa taelo lxc exec e phethang litaelo ka har'a setshelo ntle le ho qala khetla ea sistimi. Haeba o hloka ho phethela taelo ka khetla o sebelisa lipaterone tsa khetla joalo ka mefuta e fapaneng, ho tsamaisa lifaele (pipe), joalo-joalo, o hloka ho tsebisa khetla ka ho hlaka le ho fetisa taelo joalo ka senotlolo, mohlala:

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

Taelo e sebelisitse tlhaku e khethehileng ea ho phonyoha bakeng sa sebopeho se khethehileng $ e le hore ho feto-fetoha $HOME e ne e sa tolokoe mochining oa moamoheli, empa e ne e tolokoa feela ka har'a setshelo.

Hape hoa khoneha ho qala mokhoa oa ho sebelisana oa khetla, ebe o phethela seboka ka ho sebelisa hotkey CTRL+D:

lxc exec alp -- /bin/sh

Tsamaiso ea lisebelisoa tsa nkho ^

Ho LXD, o ka laola lisebelisoa tsa setshelo o sebelisa sete e khethehileng ea tlhophiso. Lenane le felletseng la litlhophiso tsa tlhophiso ea setshelo le ka fumanoa litokomaneng.

Khaello ea lisebelisoa tsa RAM ^

Parameter limits.memory e fokotsa palo ea RAM e fumanehang ka har'a setshelo. Boleng ke nomoro le e 'ngoe ea li-suffixes tse fumanehang.

Ha re behe moeli oa RAM oa setshelo ho 256 MB:

lxc config set alp limits.memory 256MB

Hape, ho na le li-parameter tse ling tsa ho fokotsa memori:

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

sehlopha lxc config show e o lumella ho bonts'a tlhophiso eohle ea sets'oants'o, ho kenyeletsoa le moeli oa lisebelisoa o neng o behiloe:

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

Moeli oa lisebelisoa tsa CPU ^

Ho na le mekhoa e mengata ea ho fokotsa lisebelisoa tsa CPU. mefuta ea lithibelo:

  • limit.cpu - e tlamella setshelo ho cores e le 'ngoe kapa ho feta tsa CPU
  • limits.cpu.allowance - e laola li-quotas tsa kemiso ea CFS ha moeli oa nako o fetile, kapa mokhoa oa ho arolelana lisebelisoa oa bokahohleng oa CPU ha peresente e fetile
  • limits.cpu.priority - se tlang pele ho kemiso ha maemo a mangata a arolelanang sete ea li-processor a abeloa liperesente tse tšoanang tsa li-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: ""

Moeli oa sebaka sa disk ^

Ho phaella ho lithibelo tse joalo limits.read, limits.write re ka boela ra fokotsa boholo ba sebaka sa disk se sebelisoang ke setshelo (se sebetsa feela le ZFS kapa BTRFS):

lxc config device set alp root size=2GB

Ka mor'a ho kenya, ka parameter devices.root.size Re ka netefatsa moeli o behiloeng:

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

Ho sheba li-quotas tsa disk tse sebelisitsoeng re ka li fumana ho tsoa ho taelo 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

Ho sa tsotellehe taba ea hore re behile moeli bakeng sa sesebelisoa sa motso oa setshelo ho 2GB, lisebelisoa tsa tsamaiso tse kang df e ke ke ea bona thibelo ena. Ho etsa sena, re tla etsa tlhahlobo e nyane mme re fumane hore na e sebetsa joang.

Ha re theheng lijana tse 2 tse tšoanang ka mokhoa o le mong Letamo la polokelo (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         |
+------+---------+------------------+------+-----------+-----------+

Ha re theheng faele ea 1GB ho e 'ngoe ea lijana:

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

Ha re etse bonnete ba hore faele e entsoe:

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

Haeba re sheba setshelo sa bobeli, hlahloba boteng ba faele sebakeng se le seng, joale faele ena e ke ke ea e-ba teng, e lebeletsoeng, kaha lijana li bōptjoa ka botsona. Bolumo ea polokelo ka ho tšoana Letamo la polokelo:

lxc exec alp2 -- ls -lh
total 0

Empa a re bapiseng litekanyetso tseo e li hlahisang df setshelong se seng le se seng:

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

Sesebelisoa /dev/loop1 e kentsoeng joalo ka karohano ea motso Letamo la polokelo tseo lijana tsena li li sebelisang, kahoo li arolelana molumo oa eona lipakeng tsa tse peli.

Lipalopalo tsa tšebeliso ea lisebelisoa ^

U ka sheba lipalo-palo tsa tšebeliso ea lisebelisoa bakeng sa setshelo u sebelisa taelo:

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

Ho sebetsana le li-snapshots ^

LXD e na le bokhoni ba ho etsa linepe le ho khutlisetsa boemo ba setshelo ho tsoa ho bona.

Ho etsa snapshot, tsamaisa taelo e latelang:

lxc snapshot alp snapshot1

Sehlopha lxc snapshot ha ho senotlolo se fumanehang list, ka hona, ho sheba lenane la linepe tseo u li hlokang ho sebelisa taelo e bonts'ang tlhahisoleseling e akaretsang mabapi le sets'oants'o:

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

U ka khutlisetsa setshelo ho tsoa ho senepe u sebelisa taelo lxc restore ho totobatsa sets'oants'o seo ho tla tsosolosoa ho sona le li-snapshot alias:

lxc restore alp snapshot1

Taelo e latelang e sebelisoa ho hlakola senepe. Ka kopo hlokomela hore syntax ea taelo ha e tšoane le tse ling kaofela; mona o hloka ho hlakisa slash pele ka mor'a lebitso la setshelo. Haeba slash e siiloe, joale taelo ea ho hlakola snapshot e hlalosoa e le taelo ea ho hlakola setshelo!

lxc delete alp/snapshot1

Mohlala o ka holimo, re shebile seo ho thoeng ke li-snapshots tse se nang naha. LXD e na le mofuta o mong oa linepe - e ntle, e bolokang boemo ba hajoale ba lits'ebetso tsohle tse ka har'a setshelo. Ho na le likarolo tse 'maloa tse khahlisang le tse sebetsang tse amanang le linepe tse hlakileng.

Eng hape? ^

  • Mojule oa fumaneha bakeng sa baetsi ba Python PyLXD e fanang ka API ho LXD

Ntlafatso ea 10.04.2020/15/00 XNUMX:XNUMX: Ho tsamaea ho ekelitsoe

Source: www.habr.com

Eketsa ka tlhaloso