Mga sukaranan nga bahin sa LXD - Linux container system
LXD mao ang sunod nga henerasyon nga tagdumala sa sudlanan sa sistema, mao nga giingon tinubdan. Nagtanyag kini og user interface nga susama sa mga virtual machine, apan naggamit hinuon og Linux containers.
LXD core usa ka pribilihiyo nga daemon (usa ka serbisyo nga nagdagan nga adunay mga katungod sa ugat) nga naghatag usa ka REST API pinaagi sa usa ka lokal nga unix socket, ingon man pinaagi sa network kung ang angay nga pag-configure na-install. Ang mga kliyente, sama sa command line tool nga gihatag uban sa LXD, nangayo pinaagi niining REST API. Kini nagpasabut nga kung nag-access ka sa usa ka lokal nga host o usa ka hilit nga host, parehas ang tanan.
Niini nga artikulo dili kami maghisgot sa detalye sa mga konsepto sa LXD, dili namo tagdon ang tanan nga magamit nga kapabilidad nga gilatid sa dokumentasyon, lakip ang bag-o nga pagpatuman sa pinakabag-o nga mga bersyon sa LXD sa suporta alang sa QEMU virtual machine nga susama sa mga sudlanan. Hinoon, makakat-on lang kami sa mga sukaranan sa pagdumala sa sudlanan - pag-set up sa mga storage pool, networking, pagpadagan sa usa ka sudlanan, pag-apply sa mga limitasyon sa kapanguhaan, ug unsaon paggamit sa mga snapshot aron makakuha ka og batakang pagsabot sa LXD ug paggamit sa mga sudlanan sa Linux.
Para sa kompletong impormasyon, palihog tan-awa ang opisyal nga tinubdan:
Kini nagpasabot nga duha ka mga pakete ang i-install sa usa ka higayon, ang usa ingon nga usa ka sistema nga pakete ug ang lain ingon nga usa ka snap nga pakete. Ang pag-instalar og duha ka pakete sa usa ka sistema mahimong makamugna og pipila ka problema diin ang sistema nga pakete mahimong maulila kon ang snap package tangtangon sa snap package manager.
Pangitag package lxd sa snap repository mahimo nimong gamiton ang mosunod nga sugo:
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
Pinaagi sa pagpadagan sa sugo list imong masiguro nga ang package lxd wala pa ma-install:
snap list
Name Version Rev Tracking Publisher Notes
core 16-2.43.3 8689 stable canonicalβ core
Bisan pa sa kamatuoran nga ang LXD usa ka snap package, kinahanglan kini i-install pinaagi sa system package lxd, nga maghimo sa katugbang nga grupo sa sistema, ang gikinahanglan nga mga gamit sa /usr/bin ug uban pa.
sudo apt update
sudo apt install lxd
Atong siguroon nga ang package na-install isip 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β -
Pag-instalar sa LXD sa mga distribusyon sa Arch Linux ^
Aron ma-install ang LXD nga pakete sa sistema, kinahanglan nimo nga ipadagan ang mosunud nga mga mando, ang una mag-update sa lista sa mga pakete sa sistema nga magamit sa repository, ang ikaduha direkta nga mag-install sa package:
sudo pacman -Syyu && sudo pacman -S lxd
Human ma-install ang package, aron madumala ang LXD sa usa ka regular nga tiggamit, kinahanglan kini idugang sa grupo sa sistema lxd:
sudo usermod -a -G lxd user1
Atong siguroon ang tiggamit user1 gidugang sa grupo lxd:
id -Gn user1
user1 adm dialout cdrom floppy sudo audio dip video plugdev netdev lxd
Kung ang grupo lxd dili makita sa lista, nan kinahanglan nimo nga i-aktibo pag-usab ang sesyon sa gumagamit. Aron mahimo kini, kinahanglan ka nga mag-log out ug mag-log in sa ilawom sa parehas nga tiggamit.
Pag-aktibo sa systemd pagkarga sa serbisyo sa LXD sa pagsugod sa sistema:
Sa dili pa magsugod ang pagsugod, kinahanglan natong masabtan kung giunsa ang pagtipig sa LXD sa lohikal nga pagkahan-ay.
Pagtipig (Pagtipig) naglangkob sa gikan sa usa o labaw pa Pool sa Pagtipig nga naggamit sa usa sa gisuportahan nga sistema sa file sama sa ZFS, BTRFS, LVM o regular nga mga direktoryo. Matag Pool sa Pagtipig gibahin ngadto sa mga volume (Tomo sa Pagtipig) nga adunay mga hulagway, sudlanan, o datos alang sa ubang mga katuyoan.
Mga hulagway - kini mga espesyal nga gitigum nga mga distribusyon nga wala ang Linux kernel ug magamit gikan sa gawas nga mga gigikanan
Mga sudlanan - kini ang gipakatap nga mga distribusyon gikan sa mga imahe, andam na gamiton
Mga snapshot - kini ang mga snapshot sa kahimtang sa mga sudlanan nga mahimo nimong ibalik
Aron madumala ang pagtipig sa LXD, gamita ang mando lxc storage usa ka sertipiko diin mahimo nimong makuha pinaagi sa pagtino sa yawe - lxc storage --help
Ang mosunod nga sugo nagpakita sa usa ka listahan sa tanan Pool sa Pagtipig sa LXD storage:
lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| hddpool | | btrfs | /dev/loop1 | 2 |
+---------+-------------+--------+--------------------------------+---------+
| ssdpool | | btrfs | /var/lib/lxd/disks/ssdpool.img | 4 |
+---------+-------------+--------+--------------------------------+---------+
Aron makita ang usa ka lista sa tanan Tomo sa Pagtipig sa pinili Pool sa Pagtipig nagserbisyo sa team 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 |
+-----------+----------------------------------+-------------+---------+
Usab, kon alang sa Pool sa Pagtipig Sa paghimo, gipili ang BTRFS file system, dayon pagkuha usa ka lista Tomo sa Pagtipig o mga subvolume sa interpretasyon sa BTRFS, mahimo nimong gamiton ang toolkit niini nga file 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
Sa dili pa paghimo ug paggamit sa mga sudlanan, kinahanglan nimo nga buhaton ang usa ka kinatibuk-ang pagsugod sa LXD nga nagmugna ug nag-configure sa network ug pagtipig. Mahimo kini nga mano-mano gamit ang standard nga mga sugo sa kliyente nga anaa sa listahan pinaagi sa pagtawag sa sugo lxc --help o gamit ang initialization wizard lxd init pagtubag sa pipila ka mga pangutana.
Pagpili sa usa ka file system alang sa Storage Pool ^
Atol sa pagsugod, LXD mangutana sa pipila ka mga pangutana, lakip na ang pagtino sa matang sa file system alang sa default Pool sa Pagtipig. Sa kasagaran, ang BTRFS file system gipili alang niini. Imposible nga mag-ilis sa laing FS pagkahuman sa paghimo. Sa pagpili sa usa ka FS kini gisugyot lamesa sa pagtandi sa feature:
Cebuano News
Directory
Btrfs
LVM
ZFS
ANG CEPH
Na-optimize nga pagtipig sa imahe
Dili
oo
oo
oo
oo
Na-optimize nga paghimo sa pananglitan
Dili
oo
oo
oo
oo
Na-optimize nga paghimo sa snapshot
Dili
oo
oo
oo
oo
Na-optimize nga pagbalhin sa imahe
Dili
oo
Dili
oo
oo
Na-optimize nga pagbalhin sa pananglitan
Dili
oo
Dili
oo
oo
Kopyaha sa pagsulat
Dili
oo
oo
oo
oo
Gibase sa block
Dili
Dili
oo
Dili
oo
Diha-diha nga cloning
Dili
oo
oo
oo
oo
Ang drayber sa pagtipig magamit sa sulod sa usa ka sudlanan
oo
oo
Dili
Dili
Dili
Iuli gikan sa daan nga mga snapshot (dili pinakabag-o)
oo
oo
oo
Dili
oo
Mga quota sa pagtipig
oo (*)
oo
oo
oo
Dili
Pagsugod sa network ug Storage Pool gamit ang wizard ^
Ang sunod nga sugo nga atong tan-awon nagsugyot sa pag-set up sa mga nag-unang sangkap sa LXD pinaagi sa pagtubag sa yano nga mga pangutana gamit ang initialization wizard.
Dagan nga sugo lxc init ug isulod ang mga tubag sa mga pangutana pagkahuman sa colon sama sa gipakita sa panig-ingnan sa ubos o usba kini sumala sa imong mga kondisyon:
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]:
Sa miaging lakang nga among gibuhat Pool sa Pagtipig nga gihatag ang ngalan ssdpool ug ang file nga nahimutang sa akong sistema sa /var/lib/lxd/disks/ssdpool.img. Kini nga file system nga adres katumbas sa pisikal nga SSD drive sa akong PC.
Ang mosunod nga mga aksyon, aron mapalapad ang pagsabot sa papel nga gidula ni Pool sa Pagtipig sa repository, maghimo kami usa ka ikaduha Pool sa Pagtipig nga pisikal nga mahimutang sa lahi nga klase sa disk, HDD. Ang problema kay ang LXD dili motugot kanimo sa paghimo Pool sa Pagtipig wala sa adres /var/lib/lxd/disks/ ug bisan ang simbolikong mga link dili molihok, tan-awa ang tubag sa developer. Mahimo natong laktawan kini nga limitasyon sa panahon sa pagsugod/pag-format Pool sa Pagtipig pinaagi sa pagpiho sa bili isip block device imbes sa dalan paingon sa loopback file pinaagi sa pagpiho niini sa yawe source.
Busa, sa wala pa paghimo Pool sa Pagtipig kinahanglan nimo nga ipasabut ang usa ka loopback file o usa ka kasamtangan nga partisyon sa imong file system nga gamiton niini. Aron mahimo kini, maghimo kami ug mogamit usa ka file nga among limitahan ang gidak-on sa 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
Atong ikonektar ang loopback file sa usa ka libre nga loopback device:
Salamat sa yawe --show Ang pagpatuman sa sugo mobalik sa screen sa ngalan sa device diin ang atong loopback file konektado. Kung gikinahanglan, makapakita mi og lista sa tanang busy nga device niining matang aron masiguro nga husto ang among mga aksyon:
Gikan sa listahan imong makita nga ang device adunay /dev/loop1 gilakip ang loopback file /mnt/work/lxd/hddpool.img, ug sa device /dev/loop0 gilakip ang loopback file /var/lib/lxd/disks/ssdpool.img nga katumbas sa default Pool sa Pagtipig.
Ang mosunod nga sugo nagmugna og bag-o Pool sa Pagtipig sa LXD base sa loopback file nga bag-o lang namo giandam. Ang LXD mag-format sa loopback nga file /mnt/work/lxd/hddpool.img sa aparato /dev/loop1 alang sa BTRFS file system:
Pagkahuman sa paglalang Pool sa Pagtipig, kon gikinahanglan, kini mahimong palapdan. Alang sa Pool sa Pagtipig base sa BTRFS file system, padagana ang mosunod nga mga sugo:
Awtomatikong pagsal-ot sa loopback file ngadto sa loopback device slot ^
Kami adunay usa ka gamay nga problema, kung gi-reboot ang host system, ang file /mnt/work/lxd/hddpool.img "molupad" gikan sa device /dev/loop1 ug ang serbisyo sa LXD ma-crash kung mag-load tungod kay dili kini makita sa kini nga aparato. Aron masulbad kini nga problema kinahanglan nimo nga maghimo usa ka serbisyo sa sistema nga magsulud sa kini nga file sa aparato /dev/loop1 kung ang host system nag-boot.
Magbuhat ta yunit tipo sa file nga pag-alagad Π² /etc/systemd/system/ alang sa SystemD initialization 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
I-aktibo ang serbisyo:
sudo systemctl enable lxd-hddpool
Created symlink /etc/systemd/system/local-fs.target.wants/lxd-hddpool.service β /etc/systemd/system/lxd-hddpool.service.
Human ma-restart ang host system, among susihon ang kahimtang sa serbisyo:
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).
Gikan sa output atong mapamatud-an nga ang kahimtang sa serbisyo mao aktibo, bisan pa sa kamatuoran nga ang pagpatuman sa among script gikan sa usa ka sugo nahuman, ang opsyon nagtugot kanamo sa pagbuhat niini RemainAfterExit=true.
Tungod kay ang tanan nga mga proseso sa sudlanan aktuwal nga nagdagan nga nag-inusara sa host system gamit ang kernel niini, aron mapanalipdan pa ang pag-access sa mga proseso sa sulud sa host system, ang LXD nagtanyag pribilehiyo sa proseso, diin:
Pribilehiyo nga mga sudlanan - kini mga sudlanan diin ang mga proseso nga adunay UID ug GID katumbas sa parehas nga tag-iya sama sa host system. Pananglitan, ang usa ka proseso nga nagdagan sa usa ka sudlanan nga adunay UID nga 0 adunay parehas nga mga katungod sa pag-access ingon usa ka proseso sa host system nga adunay UID nga 0. Sa ato pa, ang gamut nga tiggamit sa sulud adunay tanan nga mga katungod dili lamang sa ang sudlanan, apan usab sa host system kung makaadto siya sa gawas sa nahilit nga namespace sa sudlanan.
Mga sudlanan nga walay kapuslanan - kini mga sudlanan diin ang mga proseso iya sa tag-iya sa UID ug GID nga adunay numero gikan sa 0 hangtod 65535, apan alang sa host system ang tag-iya gitagoan gamit ang gidugang nga SubUID ug SubGID bits, matag usa. Pananglitan, ang usa ka user nga adunay UID=0 sa usa ka sudlanan makita sa host system ingon SubUID + UID. Gipanalipdan niini ang sistema sa host tungod kay kung adunay bisan unsang proseso sa sulud nga makalingkawas sa nahilit nga namespace, mahimo ra kini nga makigkomunikar sa host system ingon usa ka proseso nga adunay wala mailhi, taas kaayo nga UID / GID.
Sa kasagaran, ang bag-ong gibuhat nga mga sudlanan adunay usa ka dili pribilihiyo nga kahimtang ug busa kinahanglan naton ipasabut ang usa ka SubUID ug SubGID.
Maghimo kita og duha ka mga configuration file diin atong ibutang ang mask alang sa SubUID ug SubGID, matag usa:
Tungod kay una namong gisugdan ang network gamit ang initialization wizard lxd init ug naghimo ug network device lxdbr0, unya sa kini nga seksyon masinati ra naton ang networking sa LXD ug kung giunsa paghimo ang usa ka virtual switch (tulay) gamit ang command sa kliyente.
Ang mosunod nga diagram nagpakita kon sa unsang paagi ang switch (bridge) nagkonektar sa host ug mga sudlanan ngadto sa usa ka network:
Ang mga sudlanan mahimong makigkomunikar pinaagi sa usa ka network sa ubang mga sudlanan o ang host diin kini nga mga sudlanan gisilbi. Aron mahimo kini, kinahanglan nimo nga i-link ang mga virtual network card sa mga sudlanan nga adunay virtual switch. Maghimo kami og switch una, ug ang mga interface sa network sa sudlanan masumpay sa sunod nga mga kapitulo, human ang sudlanan mismo nahimo.
Ang mosunod nga sugo nagmugna og switch nga adunay subnet 10.0.5.0/24 ug IPv4 address 10.0.5.1/24, ug naglakip usab ipv4.nat aron ang mga sudlanan maka-access sa Internet pinaagi sa host gamit ang serbisyo sa NAT:
Ang matag sudlanan sa LXD adunay kaugalingon nga configuration ug mahimo kining i-extend gamit ang globally declared configurations nga gitawag mga profile sa pag-configure. Ang pagpadapat sa mga profile sa pag-configure sa usa ka sudlanan adunay usa ka modelo sa cascade, ang mosunod nga pananglitan nagpakita niini:
Niini nga pananglitan, tulo ka mga profile ang nahimo sa LXD system: default, hddpool ΠΈ hostfs. Ang tanan nga tulo ka mga profile gipadapat sa usa ka sudlanan nga adunay lokal nga pagsumpo (gray nga lugar). Profile default adunay device root nga adunay parameter pool parehas sa ssdpool, apan salamat sa modelo sa aplikasyon sa pag-configure sa cascade, mahimo namon nga magamit ang usa ka profile sa sulud hddpool nga adunay parameter pool i-override ang parehas nga parameter gikan sa profile default ug ang sudlanan makadawat sa configuration sa device root uban sa parameter pool managsama hddpool, ug ang profile hostfs magdugang lang og bag-ong device sa sudlanan.
Aron makita ang lista sa magamit nga mga profile sa pag-configure, gamita ang mosunud nga mando:
lxc profile list
+---------+---------+
| NAME | USED BY |
+---------+---------+
| default | 1 |
+---------+---------+
| hddroot | 0 |
+---------+---------+
| ssdroot | 1 |
+---------+---------+
Ang usa ka kompleto nga lista sa magamit nga mga sugo alang sa pagtrabaho sa usa ka profile mahimong makuha pinaagi sa pagdugang sa yawe --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
Default nga profile sa pag-configure default walay network card configuration alang sa sudlanan ug ang tanan nga bag-ong gimugna nga mga sudlanan walay network, alang kanila gikinahanglan ang paghimo sa lokal (dedicated) nga mga device sa network nga adunay usa ka linain nga sugo, apan makahimo kita og global network device sa configuration profile nga ipaambit tali sa tanan nga mga sudlanan nga naggamit niini nga profile. Niining paagiha, pagkahuman dayon sa mando nga maghimo usa ka bag-ong sudlanan, makabaton sila usa ka network nga adunay access sa network. Sa parehas nga oras, walaβy mga pagdili; mahimo namon kanunay nga maghimo usa ka lokal nga aparato sa network sa ulahi kung kinahanglan.
Ang mosunod nga sugo magdugang sa device ngadto sa configuration profile eth0 type nic konektado sa network lxdbr0:
lxc profile device add default eth0 nic network=lxdbr0 name=eth0
Mahinungdanon nga timan-an nga tungod kay gidugang namon ang aparato sa profile sa pag-configure, kung gipiho namon ang usa ka static nga IP address sa aparato, nan ang tanan nga mga sulud nga mogamit niini nga profile mag-ambit sa parehas nga IP address. Kung adunay panginahanglan sa paghimo og usa ka sudlanan nga adunay usa ka static nga IP address nga gigahin alang sa sudlanan, nan kinahanglan nga maghimo ka usa ka network device configuration sa lebel sa container (lokal nga configuration) nga adunay parameter sa IP address, ug dili sa lebel sa profile.
Atong susihon ang profile:
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: []
Niini nga profile atong makita nga alang sa tanan nga bag-ong gibuhat nga mga sudlanan duha ka mga himan ang pagabuhaton:
eth0 β Type sa device nic konektado sa switch (network bridge) lxdbr0
root β Type sa device disk nga naggamit ug storage pool ssdpool
Sa paggamit sa kaniadto gibuhat Pool sa Pagtipig mga sudlanan, paghimo usa ka profile sa pagsumpo ssdroot diin magdugang kami usa ka aparato sama sa disk uban sa mount point / (gamut) gamit ang nabuhat kaniadto Pool sa Pagtipig - ssdpool:
Ang mga sudlanan gimugna gikan sa mga hulagway nga espesyal nga gitigom nga mga distribusyon nga walay Linux kernel. Busa, sa dili pa modagan ang sudlanan, kini kinahanglan nga i-deploy gikan niini nga hulagway. Ang gigikanan sa mga imahe usa ka lokal nga repository diin ang mga imahe gi-download gikan sa mga eksternal nga repositoryo.
Aron ipakita ang limitado nga gidaghanon sa mga kolum gigamit namon ang kapilian -c uban sa mga parameter dasut, ug gilimitahan usab ang gitas-on sa lista nga adunay mando head.
Anaa ang pagsala aron ipakita ang lista sa mga imahe. Ang mosunud nga mando maglista sa tanan nga magamit nga mga arkitektura sa pag-apod-apod AlpineLinux:
Aron magsugod sa paggamit sa sudlanan, kinahanglan nimo nga idugang ang usa ka imahe gikan sa global nga repository sa lokal local:. Karon ang lokal nga repository walay sulod, ang mando magsiguro niini lxc image list. Kung ang pamaagi list ayaw ipiho ang usa ka tipiganan, unya ang lokal nga tipiganan gamiton sa default - local:
lxc image list local:
+-------+-------------+--------+-------------+--------------+------+------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE |
+-------+-------------+--------+-------------+--------------+------+------+
Ang mga imahe sa repository gidumala gamit ang mosunod nga mga pamaagi:
team
paghulagway
lxc nga imahe alyas
Pagdumala sa mga alyas sa imahe
lxc nga imahe kopya
Kopyaha ang mga imahe tali sa mga server
lxc nga imahe panas
Pagtangtang mga imahe
lxc nga imahe usba
I-edit ang mga kabtangan sa imahe
lxc nga imahe export
I-export ug i-download ang mga hulagway
lxc nga imahe import
I-import ang mga imahe sa tindahan sa imahe
lxc nga imahe info
Ipakita ang mapuslanong impormasyon bahin sa mga hulagway
lxc nga imahe listahan
Ilista ang mga hulagway
lxc nga imahe nga pagpabag-o
I-refresh ang mga hulagway
lxc nga imahe show
Ipakita ang mga kabtangan sa imahe
Kopyaha ang imahe sa lokal nga repository gikan sa global images::
Gawas pa sa interactive mode, ang LXD usab nagsuporta sa usa ka non-interactive configuration installation mode, kini mao ang panahon nga ang configuration gitino sa porma sa usa ka YAML file, usa ka espesyal nga format nga nagtugot kanimo sa pag-instalar sa tibuok nga configuration sa usa ka higayon, sa pag-bypass sa execution. sa daghang mga interactive nga mga sugo nga gihisgutan sa ibabaw niini nga artikulo, lakip ang network configuration, paghimo sa configuration profiles, etc. Dili namo tabonan kining dapita dinhi, mahimo nimong susihon kini sa imong kaugalingon. sa dokumentasyon.
Sunod nga interactive nga sugo lxc config nga among tan-awon nagtugot kanimo sa pag-set sa configuration. Pananglitan, aron masiguro nga ang na-download nga mga imahe sa lokal nga tipiganan dili awtomatiko nga na-update gikan sa mga global nga repositoryo, mahimo naton kini nga pamatasan gamit ang mosunud nga mando:
Aron makahimo og sudlanan gamita ang command lxc init diin ang mga kantidad gipasa ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:ΠΎΠ±ΡΠ°Π· ug dayon ang gusto nga ID alang sa sudlanan. Ang repository mahimong ipiho nga lokal local: mao usab ang bisan unsang global. Kung ang repository wala gitino, nan pinaagi sa default ang lokal nga repository gigamit sa pagpangita sa imahe. Kung ang imahe gitino gikan sa global nga repository, nan ang imahe una nga ma-download sa lokal nga tipiganan ug dayon gamiton sa paghimo sa sudlanan.
Atong padaganon ang mosunod nga sugo sa paghimo sa atong unang sudlanan:
lxc init alpine3 alp --storage=hddpool --profile=default --profile=hddroot
Atong tan-awon ang mga command key nga atong gigamit dinhi sa pagkahan-ay:
alpine3 β Usa ka alyas (alias) ang gitakda alang sa imahe nga kaniadto gi-upload sa lokal nga tipiganan. Kung ang alyas wala gihimo para sa kini nga imahe, nan mahimo nimo kanunay nga i-refer ang imahe pinaagi niini Fingerprint nga gipakita sa lamesa.
alp β Nagtakda sa identifier alang sa sudlanan
--storage β Kini nga yawe nagpaila kung diin Pool sa Pagtipig usa ka sudlanan ang pagabuhaton
--profile β Kini nga mga yawe nga cascade nag-aplay sa pag-configure gikan sa nabuhat kaniadto nga mga profile sa pag-configure sa sulud
Gilunsad namo ang sudlanan, nga nagsugod sa paglansad sa init nga sistema sa pag-apod-apod:
lxc start alp
Mahimo usab nimo gamiton ang mando lxc launch nga nagtugot kanimo sa paghiusa sa mga team lxc init ΠΈ lxc start sa usa ka operasyon.
Pagsusi sa kahimtang sa sudlanan:
lxc list -c ns46tb
+------+---------+------------------+------+-----------+--------------+
| NAME | STATE | IPV4 | IPV6 | TYPE | STORAGE POOL |
+------+---------+------------------+------+-----------+--------------+
| alp | RUNNING | 10.0.5.46 (eth0) | | CONTAINER | hddpool |
+------+---------+------------------+------+-----------+--------------+
Sa seksyon profiles masiguro nato nga kini nga sudlanan naggamit ug duha ka mga profile sa configuration β default ΠΈ hddroot. Sa seksyon devices usa ra ang among makit-an nga aparato tungod kay ang aparato sa network gihimo sa lebel sa profile default. Aron makita ang tanan nga mga aparato nga gigamit sa sudlanan kinahanglan nimo nga magdugang usa ka yawe --expanded:
Kon kita mosulay sa pagbutang sa usa ka IP address alang sa usa ka network device eth0 team lxc config device set alp gituyo alang sa pagsumpo sa sudlanan, unya makadawat kami usa ka sayup nga magreport nga wala ang aparato tungod kay ang aparato eth0 nga gigamit sa sudlanan iya sa profile default:
lxc config device set alp eth0 ipv4.address 10.0.5.5
Error: The device doesn't exist
Siyempre mahimo namon nga magbutang usa ka static nga IP address alang sa eth0 mga aparato sa profile, apan parehas kini sa tanan nga mga sudlanan nga mogamit niini nga profile. Busa, magdugang kita og device nga gipahinungod sa sudlanan:
lxc config device add alp eth0 nic name=eth0 nictype=bridged parent=lxdbr0 ipv4.address=10.0.5.5
Unya kinahanglan nimo nga i-restart ang sudlanan:
lxc restart alp
Kung atong tan-awon ang configuration sa sudlanan karon, dili na nato kinahanglan nga gamiton ang opsyon --expanded aron makita ang network device eth0, tungod kay gimugna namo kini sa lebel sa sudlanan ug nag-cascade kini sa samang device gikan sa profile default:
Aron makuha ang usa ka sudlanan gamita ang command lxc delete, apan sa dili pa tangtangon ang sudlanan, kinahanglang hunongon kini gamit ang sugo lxc stop:
lxc stop alp
lxc list
+------+---------+-------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+-------------------+------+-----------+-----------+
| alp | STOPPED | 10.0.5.10 (eth0) | | CONTAINER | 0 |
+------+---------+-------------------+------+-----------+-----------+
Human namo mapamatud-an nga ang kahimtang sa sudlanan nahimong GINAMIT, kini mahimong tangtangon gikan sa Pool sa Pagtipig:
Aron ipatuman ang mga sugo sa usa ka sudlanan nga direkta, pag-bypass sa mga koneksyon sa network, gamita ang command lxc exec nga nagpatuman sa mga sugo sa sudlanan nga walay paglansad sa kabhang sa sistema. Kung kinahanglan nimo nga ipatuman ang usa ka mando sa usa ka kabhang gamit ang mga pattern sa kabhang sama sa mga variable, pag-redirect sa file (pipe), ug uban pa, nan kinahanglan nimo nga klaro nga ilunsad ang kabhang ug ipasa ang mando ingon usa ka yawe, pananglitan:
lxc exec alp -- /bin/sh -c "echo $HOME"
Ang sugo migamit ug espesyal nga karakter sa pag-ikyas alang sa espesyal nga kinaiya $ aron ang variable $HOME wala gihubad sa host machine, apan gihubad lamang sulod sa sudlanan.
Posible usab nga sugdan ang interactive shell mode, ug dayon tapuson ang session pinaagi sa pag-execute sa hotkey CTRL+D:
Sa LXD, mahimo nimong madumala ang mga kahinguhaan sa sulud gamit ang usa ka espesyal nga set sa pag-configure. Ang usa ka kompleto nga lista sa mga parameter sa pagsumpo sa sudlanan makit-an sa dokumentasyon.
Parameter limits.memory limitahan ang gidaghanon sa RAM nga magamit sa sudlanan. Ang kantidad usa ka numero ug usa sa magamit nga mga suffix.
Atong ibutang ang limitasyon sa RAM sa sudlanan ngadto sa 256 MB:
lxc config set alp limits.memory 256MB
Usab, adunay uban pang mga parameter alang sa paglimit sa memorya:
limits.memory.enforce
limits.memory.hugepages
limits.memory.swap
limits.memory.swap.priority
team lxc config show nagtugot kanimo sa pagpakita sa tibuok nga configuration sa sudlanan, lakip ang gipadapat nga limitasyon sa kapanguhaan nga gitakda:
Adunay daghang mga paagi aron limitahan ang mga kapanguhaan sa CPU. matang sa mga pagdili:
limit.cpu - nagbugkos sa usa ka sudlanan sa usa o daghan pa nga mga core sa CPU
limits.cpu.allowance - nagdumala sa CFS scheduler quota kung ang limitasyon sa oras milabay na, o ang universal CPU resource sharing mechanism kung ang porsyento milabay na
limits.cpu.priority - prayoridad sa scheduler kung daghang mga higayon nga nag-ambit sa usa ka set sa mga processor gi-assign sa parehas nga porsyento sa mga processor
Dugang pa sa mga pagdili sa ingon limits.read, limits.write mahimo usab natong limitahan ang gidaghanon sa espasyo sa disk nga gigamit sa sudlanan (nagtrabaho lamang sa ZFS o BTRFS):
lxc config device set alp root size=2GB
Human sa pag-instalar, sa parameter devices.root.size Atong mapamatud-an ang gitakdang limitasyon:
lxc config show alp
...
devices:
root:
path: /
pool: hddpool
size: 2GB
type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""
Aron matan-aw ang gigamit nga disk quota nga makuha nato gikan sa command 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
Bisan pa sa kamatuoran nga nagbutang kami usa ka limitasyon alang sa gamut nga aparato sa sulud sa 2GB, ang mga kagamitan sa sistema sama sa df dili makakita niini nga pagdili. Aron mahimo kini, maghimo kami usa ka gamay nga pagsulay ug mahibal-an kung giunsa kini molihok.
Magbuhat ta ug 2 ka bag-ong parehas nga sudlanan sa parehas Pool sa Pagtipig (hddpool):
lxc exec alp1 -- ls -lh
total 1000M
-rw-r--r-- 1 root root 1000.0M Mar 27 10:16 file.img
Kung atong tan-awon ang ikaduha nga sudlanan, susihon kung adunay usa ka file sa parehas nga lokasyon, nan kini nga file wala didto, nga gilauman, tungod kay ang mga sudlanan gihimo sa ilang kaugalingon. Tomo sa Pagtipig sa samang Pool sa Pagtipig:
lxc exec alp2 -- ls -lh
total 0
Apan atong itandi ang mga kantidad nga gipatungha niini df sa usa ug sa lain nga sudlanan:
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% /
...
Gunitanan /dev/loop1 gi-mount ingon nga partition sa gamut Pool sa Pagtipig nga gigamit niini nga mga sudlanan, mao nga gibahin nila ang gidaghanon niini tali sa duha.
Ang LXD adunay katakus sa paghimo og mga snapshot ug ibalik ang kahimtang sa sulud gikan kanila.
Aron makahimo og snapshot, pagdagan ang mosunod nga sugo:
lxc snapshot alp snapshot1
Ang grupo lxc snapshot walay yawe nga magamit list, busa, aron matan-aw ang lista sa mga snapshot kinahanglan nimo gamiton ang mando nga nagpakita sa kinatibuk-ang kasayuran bahin sa sulud:
lxc info alp
...
...
Snapshots:
snapshot1 (taken at 2020/04/08 18:18 UTC) (stateless)
Mahimo nimong ibalik ang usa ka sudlanan gikan sa usa ka snapshot gamit ang mando lxc restore nga nagpiho sa sudlanan diin ipahigayon ang pagpahiuli ug ang snapshot alias:
lxc restore alp snapshot1
Ang mosunod nga sugo gigamit sa pagtangtang sa usa ka snapshot. Palihug timan-i nga ang command syntax dili parehas sa tanan; dinhi kinahanglan nimo nga itakda ang usa ka forward slash pagkahuman sa ngalan sa sudlanan. Kung ang slash wala iapil, nan ang mando sa pagtangtang sa usa ka snapshot gihubad ingon usa ka mando sa pagtangtang sa usa ka sudlanan!
lxc delete alp/snapshot1
Sa pananglitan sa ibabaw, among gitan-aw ang gitawag nga stateless snapshots. Ang LXD adunay lain nga tipo sa mga snapshot - stateful, nga nagtipig sa karon nga kahimtang sa tanan nga mga proseso sa sulud. Adunay ubay-ubay nga makapaikag ug mapuslanon nga mga bahin nga may kalabutan sa stateful snapshots.