Ny endri-javatra fototra amin'ny LXD - Linux container systems

Ny endri-javatra fototra amin'ny LXD - Linux container systems

LXD no mpitantana ny kaontenera rafitra manaraka, araka izany loharano. Manolotra interface interface mitovy amin'ny milina virtoaly izy io, fa mampiasa container Linux kosa.

LXD core dia daemon manana tombontsoa (serivisy mandeha miaraka amin'ny zon'ny faka) izay manome API REST amin'ny alΓ lan'ny socket unix eo an-toerana, ary amin'ny alΓ lan'ny tamba-jotra raha toa ka apetraka ny fanitsiana mety. Ny mpanjifa, toy ny fitaovana andalana nomena miaraka amin'ny LXD, dia manao fangatahana amin'ny alΓ lan'ity REST API ity. Midika izany fa na miditra amin'ny mpampiantrano eo an-toerana na mpampiantrano lavitra ianao dia mitovy daholo ny zava-drehetra.

Ato amin'ity lahatsoratra ity, tsy hipetraka amin'ny antsipiriany momba ny foto-kevitry ny LXD isika; tsy hojerentsika ny fahaiza-manao rehetra voalaza ao amin'ny antontan-taratasy, ao anatin'izany ny fampiharana vao haingana amin'ny dikan-teny farany an'ny LXD fanohanana ny milina virtoaly QEMU mifanaraka amin'ny kaontenera. Fa kosa, hianatra ny fototry ny fitantanana kaontenera fotsiny isika - fametrahana dobo fitehirizana, tambajotra, fampandehanana kaontenera, fampiharana ny fetran'ny loharanon-karena, ary ny fomba fampiasana snapshot mba hahazoanao fahatakarana fototra momba ny LXD sy fampiasana container amin'ny Linux.

Raha mila fanazavana feno dia jereo ny loharano ofisialy:

Fikarohana

Fametrahana LXD ^

Fametrahana LXD amin'ny fizarana Ubuntu ^

Ao amin'ny fonosana fizarana Ubuntu 19.10 lxd manana fampielezam-peo amin'ny fonosana snap:

apt search lxd

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

Midika izany fa hapetraka miaraka ny fonosana roa, ny iray ho fonosana rafitra ary ny iray ho fonosana snap. Ny fametrahana fonosana roa amin'ny rafitra iray dia mety hiteraka olana izay mety ho lasa kamboty ny fonosan'ny rafitra raha esorin'ny mpitantana fonosana snap ilay fonosana snap.

Mitadiava fonosana lxd ao amin'ny tahiry snap dia azonao ampiasaina ity baiko manaraka ity:

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

Amin'ny fampandehanana ny baiko list azonao antoka fa ny fonosana lxd tsy mbola napetraka:

snap list

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

Na dia eo aza ny hoe fonosana snap ny LXD dia tsy maintsy apetraka amin'ny alΓ lan'ny fonosana rafitra lxd, izay hamorona ny vondrona mifanaraka amin'ny rafitra, ny fitaovana ilaina amin'ny /usr/bin sy ny sisa.

sudo apt update
sudo apt install lxd

Andao ho azo antoka fa napetraka ho fonosana snap ny fonosana:

snap list

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

Fametrahana LXD amin'ny fizarana Arch Linux ^

Mba hametrahana ny fonosana LXD amin'ny rafitra dia mila manatanteraka ireto baiko manaraka ireto ianao, ny voalohany dia hanavao ny lisitry ny fonosana amin'ny rafitra misy ao amin'ny tahiry, ny faharoa dia hametraka mivantana ny fonosana:

sudo pacman -Syyu && sudo pacman -S lxd

Aorian'ny fametrahana ny fonosana, mba hitantana ny LXD amin'ny mpampiasa mahazatra, dia tsy maintsy ampidirina amin'ny vondrona rafitra izany lxd:

sudo usermod -a -G lxd user1

Andao ho azo antoka ny mpampiasa user1 nampiana vondrona lxd:

id -Gn user1

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

Raha ny vondrona lxd dia tsy hita ao amin'ny lisitra, dia mila manetsika indray ny fivorian'ny mpampiasa. Mba hanaovana izany dia mila mivoaka ianao ary miditra amin'ny mpampiasa iray ihany.

Ampidiro ao systemd mametaka ny serivisy LXD amin'ny fanombohana ny rafitra:

sudo systemctl enable lxd

Andao hanomboka ny serivisy:

sudo systemctl start lxd

Fanamarinana ny satan'ny serivisy:

sudo systemctl status lxd

Fitehirizana LXD (Fitehirizana) ^

Alohan'ny hanombohan'ny fanombohana dia mila mahatakatra ny fomba nandaminana ny fitahirizana ao amin'ny LXD isika.

fitahirizana (Storage) misy avy amin'ny iray na maromaro Dobo fitahirizana izay mampiasa ny iray amin'ireo rafitra rakitra tohanana toy ny ZFS, BTRFS, LVM na lahatahiry mahazatra. rehetra Dobo fitahirizana dia mizara ho volume (Boky fitehirizana) izay misy sary, fitoeran-javatra, na angona ho an'ny tanjona hafa.

  • Ireo sary - ireo dia fizarana voaangona manokana tsy misy kernel Linux ary azo avy amin'ny loharano ivelany
  • fitoeran - ireo dia fizarana avy amin'ny sary, vonona hampiasaina
  • sarin'ireo - ireo dia sarin'ny toetry ny kaontenera izay azonao iverenana

Ny endri-javatra fototra amin'ny LXD - Linux container systems

Raha hitantana fitahirizana ao amin'ny LXD, ampiasao ny baiko lxc storage taratasy fanamarinana izay azonao alaina amin'ny famaritana ny fanalahidy - lxc storage --help

Ity baiko manaraka ity dia mampiseho ny lisitry ny rehetra Dobo fitahirizana amin'ny fitahirizana LXD:

lxc storage list

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

Raha hijery ny lisitry ny rehetra Boky fitehirizana amin'ny voafantina Dobo fitahirizana manompo ny ekipa 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       |
+-----------+----------------------------------+-------------+---------+

Ary koa, raha ho an'ny Dobo fitahirizana Rehefa mamorona dia voafantina ny rafitra rakitra BTRFS, avy eo mahazo lisitra Boky fitehirizana na subvolume Ao amin'ny fandikana BTRFS, azonao atao ny mampiasa ny kitapo fitaovan'ity rafitra rakitra ity:

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

Manomboka ny LXD ^

Alohan'ny hamoronana sy fampiasana kaontenera dia tsy maintsy manao fanombohana LXD ankapobeny ianao izay mamorona sy manitsy ny tambajotra sy ny fitahirizana. Azo atao amin'ny tanana izany amin'ny alΓ lan'ny baiko mpanjifa mahazatra izay hita ao amin'ny lisitra amin'ny fiantsoana ny baiko lxc --help na amin'ny fampiasana ny mpizara fanombohana lxd init mamaly fanontaniana vitsivitsy.

Misafidiana rafitra fichier ho an'ny dobo fitahirizana ^

Mandritra ny fanombohana dia mametraka fanontaniana maromaro ny LXD, ao anatin'izany ny famaritana ny karazana rafi-drakitra ho an'ny default Dobo fitahirizana. Amin'ny alΓ lan'ny default, ny rafitra rakitra BTRFS no voafidy ho azy. Tsy azo atao ny miova amin'ny FS hafa aorian'ny famoronana. Ny fisafidianana FS dia soso-kevitra tabilao fampitahana endri-javatra:

endri-javatra
Directory
Btrfs
LVM
ZFS
CEPH

Fitehirizana sary optimized
tsy misy
Eny
Eny
Eny
Eny

Optimized famoronana ohatra
tsy misy
Eny
Eny
Eny
Eny

Famoronana snapshot optimisΓ©
tsy misy
Eny
Eny
Eny
Eny

Optimized sary famindrana
tsy misy
Eny
tsy misy
Eny
Eny

Optimized ohatra famindrana
tsy misy
Eny
tsy misy
Eny
Eny

Kopia amin'ny fanoratana
tsy misy
Eny
Eny
Eny
Eny

Miorina amin'ny sakana
tsy misy
tsy misy
Eny
tsy misy
Eny

Cloning avy hatrany
tsy misy
Eny
Eny
Eny
Eny

Ny mpamily fitahirizana azo ampiasaina ao anaty container
Eny
Eny
tsy misy
tsy misy
tsy misy

Avereno amin'ny sary taloha (tsy farany)
Eny
Eny
Eny
tsy misy
Eny

Fitehirizana quota
eny (*)
Eny
Eny
Eny
tsy misy

Fanombohana ny tambajotra sy ny dobo fitahirizana amin'ny fampiasana ny mpamosavy ^

Ny baiko manaraka hojerentsika dia manoro hevitra ny fametrahana ireo singa fototra amin'ny LXD amin'ny alΓ lan'ny famaliana fanontaniana tsotra amin'ny fampiasana ny wizard fanombohana.

Run command lxc init ary ampidiro ny valin'ny fanontaniana aorian'ny colon araka ny aseho amin'ny ohatra etsy ambany na ovay araka ny fepetranao:

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

Mamorona dobo fitehirizana fanampiny ^

Tamin'ny dingana teo aloha noforoninay Dobo fitahirizana izay nomena ny anarana ssdpool ary ny rakitra izay hita ao amin'ny rafitra misy ahy amin'ny /var/lib/lxd/disks/ssdpool.img. Ity adiresin'ny rafi-drakitra ity dia mifanaraka amin'ny fiara SSD ara-batana ao amin'ny PC-ko.

Ireto hetsika manaraka ireto, mba hanitarana ny fahatakarana ny anjara asan'ny Dobo fitahirizana ao amin'ny tahiry dia hamorona iray faharoa isika Dobo fitahirizana izay ho hita ara-batana amin'ny karazana kapila hafa, HDD. Ny olana dia ny LXD dia tsy mamela anao hamorona Dobo fitahirizana ivelan'ny adiresy /var/lib/lxd/disks/ ary na ny rohy an'ohatra aza tsy mandeha, jereo ny valintenin'ny mpamorona. Afaka mandingana an'io fetra io isika mandritra ny fanombohana/famolavolana Dobo fitahirizana amin'ny alΓ lan'ny famaritana ny sanda ho fitaovana fanakanana fa tsy ny lalana mankany amin'ny rakitra loopback amin'ny famaritana izany amin'ny fanalahidy source.

Noho izany, alohan'ny hamoronana Dobo fitahirizana mila mamaritra rakitra loopback na fisarahana efa misy amin'ny rafi-drakitrao izay hampiasainy ianao. Mba hanaovana izany dia hamorona sy hampiasa rakitra iray izay hametra ny habeny ho 10GB izahay:

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

Andao hampifandray ny rakitra loopback amin'ny fitaovana loopback maimaim-poana:

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

/dev/loop1

Misaotra ny fanalahidy --show ny fanatanterahana ny baiko dia mamerina amin'ny efijery ny anaran'ny fitaovana izay mampifandray ny rakitra loopback. Raha ilaina dia afaka mampiseho lisitr'ireo fitaovana be atao amin'ity karazana ity izahay mba hahazoana antoka fa marina ny zavatra ataonay:

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

Avy amin'ny lisitra dia afaka mahita fa manana ny fitaovana /dev/loop1 misy rakitra loopback /mnt/work/lxd/hddpool.img, ary amin'ny fitaovana /dev/loop0 misy rakitra loopback /var/lib/lxd/disks/ssdpool.img izay mifanaraka amin'ny default Dobo fitahirizana.

Ity baiko manaraka ity dia mamorona iray vaovao Dobo fitahirizana amin'ny LXD mifototra amin'ny rakitra loopback izay vao nomaninay. LXD dia hamolavola ny rakitra loopback /mnt/work/lxd/hddpool.img amin'ny fitaovana /dev/loop1 ho an'ny rafitra rakitra BTRFS:

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

Andao haneho ny lisitry ny rehetra Dobo fitahirizana mijery:

lxc storage list

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

Fampitomboana ny haben'ny dobo fitehirizana ^

Taorian'ny famoronana Dobo fitahirizana, raha ilaina dia azo itarina. HO AN'NY Dobo fitahirizana miorina amin'ny rafitra rakitra BTRFS, araho ireto baiko manaraka ireto:

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

Fampidirana mandeha ho azy ny rakitra loopback ao amin'ny slot fitaovana loopback ^

Manana olana kely iray isika, rehefa mamerina ny rafitra mpampiantrano, ny rakitra /mnt/work/lxd/hddpool.img dia "manidina" hiala amin'ny fitaovana /dev/loop1 ary ny serivisy LXD dia hianjera rehefa mitondra entana satria tsy ho hita ao amin'ity fitaovana ity. Mba hamahana ity olana ity dia mila mamorona serivisy rafitra ianao izay hampiditra ity rakitra ity amin'ny fitaovana /dev/loop1 rehefa mandeha ny rafitra mpampiantrano.

Andao hamorona vondrona karazana rakitra fanompoana Π² /etc/systemd/system/ ho an'ny rafitra fanombohana 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

Ampidiro ny serivisy:

sudo systemctl enable lxd-hddpool

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

Aorian'ny famerenana indray ny rafitra mpampiantrano dia manamarina ny satan'ny serivisy izahay:

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

Avy amin'ny famoahana dia azontsika atao ny manamarina fa ny fanjakana serivisy dia active, na dia vita aza ny fanatanterahana ny scripty avy amin'ny baiko iray, ny safidy dia namela anay hanao izany RemainAfterExit=true.

Fiarovana. Tombontsoa amin'ny kaontenera ^

Satria ny fizotran'ny container rehetra dia mandeha mitokana amin'ny rafitra mpampiantrano mampiasa ny kernel, mba hiarovana bebe kokoa ny fidirana amin'ny fizotry ny container amin'ny rafitra mpampiantrano, ny LXD dia manolotra tombontsoa amin'ny fizotrany, izay:

  • Kaontenera manana tombontsoa - ireo dia kaontenera misy ny fizotry ny UID sy ny GID mifanaraka amin'ny tompony mitovy amin'ny ao amin'ny rafitra mpampiantrano. Ohatra, ny dingana iray mandeha amin'ny kaontenera misy UID 0 dia manana zo fidirana mitovy amin'ny dingana iray ao amin'ny rafitra mpampiantrano miaraka amin'ny UID 0. Amin'ny teny hafa, ny mpampiasa root ao amin'ny container dia manana ny zo rehetra tsy ao amin'ny ny kaontenera, fa koa amin'ny rafitra mpampiantrano raha afaka mivoaka ivelan'ny toeran'ny anaran'ny kaontenera izy.

  • Kaontenera tsy misy tombontsoa - ireo dia kaontenera izay an'ny tompon'ny UID sy ny GID miaraka amin'ny isa 0 ka hatramin'ny 65535 ny fizotrany, fa ho an'ny rafitra mpampiantrano kosa dia misaron-tava ny tompony amin'ny fampiasana ny bits SubUID sy SubGID fanampiny. Ohatra, mpampiasa iray manana UID=0 ao anaty fitoeran-javatra iray dia ho hita ao amin'ny rafitra mpampiantrano toy SubUID + UID. Miaro ny rafitra mpampiantrano izany satria raha misy dingana ao amin'ny kaontenera afaka mandositra ny toerana anarany mitoka-monina, dia tsy afaka mifandray amin'ny rafitra mpampiantrano fotsiny izy ho toy ny dingana miaraka amin'ny UID/GID avo be tsy fantatra.

Amin'ny alΓ lan'ny default, ny kaontenera vao noforonina dia manana sata tsy misy tombontsoa ka noho izany dia tsy maintsy mamaritra SubUID sy SubGID isika.

Andao hamorona rakitra fanamafisana roa izay hametrahana ny saron-tava ho an'ny SubUID sy SubGID, tsirairay avy:

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

Mba hampiharana ny fanovana dia tsy maintsy averina ny serivisy LXD:

sudo systemctl restart lxd

Mamorona tambajotra virtoaly switch ^

Hatramin'ny nanombohantsika ny tamba-jotra teo aloha tamin'ny fampiasana ny wizard fanombohana lxd init ary namorona fitaovana tambajotra lxdbr0, avy eo amin'ity fizarana ity dia hifankafantatra fotsiny amin'ny tambajotra ao amin'ny LXD sy ny fomba hamoronana switch virtoaly (tetezana) mampiasa ny baikon'ny mpanjifa.

Ity kisary manaraka ity dia mampiseho ny fomba fampifandraisana ny mpampiantrano sy ny kaontenera amin'ny tambajotra:

Ny endri-javatra fototra amin'ny LXD - Linux container systems

Afaka mifandray amin'ny alalan'ny tambajotra miaraka amin'ny kaontenera hafa na ny mpampiantrano itondrana ireo kaontenera ireo ny kaontenera. Mba hanaovana izany, dia mila mampifandray ny karatra tambajotra virtoaly ny fitoeran-javatra miaraka amin'ny virtoaly switch. Hamorona fifandimbiasana aloha isika, ary ny fifandraisan'ny tambazotran'ny container dia ampifandraisina amin'ireo toko manaraka, rehefa avy noforonina ilay container.

Ity baiko manaraka ity dia mamorona switch misy subnet 10.0.5.0/24 ary ny adiresy IPv4 10.0.5.1/24, ary misy koa ipv4.nat mba ahafahan'ny kaontenera miditra amin'ny Internet amin'ny alΓ lan'ny mpampiantrano mampiasa ny serivisy NAT:

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

Fanamarinana ny lisitry ny fitaovan'ny tambajotra misy amin'ny LXD:

lxc network list

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

Azonao atao ihany koa ny manamarina fa misy fitaovana tambajotra noforonina amin'ny alΓ lan'ny fitaovana mahazatra amin'ny fizarana Linux - ip link na 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

Profile Configuration ^

Ny kaontenera tsirairay ao amin'ny LXD dia manana ny firafiny manokana ary afaka manitatra izany miaraka amin'ny fanamafisam-peo nambara maneran-tany antsoina hoe mombamomba ny configuration. Ny fampiharana ny mombamomba ny fanamafisam-peo amin'ny kaontenera dia misy modely cascade, ity ohatra manaraka ity dia mampiseho izany:

Ny endri-javatra fototra amin'ny LXD - Linux container systems

Amin'ity ohatra ity, profil telo no noforonina tao amin'ny rafitra LXD: default, hddpool и hostfs. Ireo profil telo rehetra dia ampiharina amin'ny kaontenera iray izay misy fika eo an-toerana (faritra fotsy). TANTARANY default manana fitaovana root izay manana paramètre pool mitovy amin'ny ssdpool, fa noho ny maodely fampiharana fanamafisana cascade, dia afaka mampihatra ny mombamomba ny fitoeran-javatra hddpool izay manana paramètre pool dia hanongotra ny mari-pamantarana mitovy amin'ny mombamomba azy default ary ny kaontenera dia hahazo ny firafitry ny fitaovana root miaraka amin'ny parameter pool mitovy hddpool, ary ny profil hostfs manampy fitaovana vaovao amin'ny fitoeran-javatra fotsiny.

Raha te hahita ny lisitr'ireo mombamomba ny fanamafisana azo ampiasaina dia ampiasao ity baiko manaraka ity:

lxc profile list

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

Ny lisitra feno amin'ny baiko azo ampiasaina amin'ny fiasana amin'ny mombamomba iray dia azo alaina amin'ny fampidirana ny fanalahidy --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

Fanitsiana ny mombamomba anao ^

Profile default default tsy manana fikandrana karatra tambajotra ho an'ny kaontenera ary ny kaontenera vao noforonina rehetra dia tsy manana tambajotra, ho azy ireo dia ilaina ny mamorona fitaovana tambajotra eo an-toerana (natokana) miaraka amin'ny baiko manokana, fa afaka mamorona fitaovana tambajotra manerantany amin'ny fanamafisana. mombamomba izay hozaraina amin'ny kaontenera rehetra mampiasa an'ity mombamomba ity. Amin'izany fomba izany, avy hatrany aorian'ny baiko hamorona kaontenera vaovao dia hanana tambajotra misy fidirana amin'ny tambajotra izy ireo. Amin'izay fotoana izay ihany, tsy misy fameperana; afaka mamorona fitaovana tambajotra eo an-toerana foana isika rehefa ilaina izany.

Ity baiko manaraka ity dia hanampy ny fitaovana amin'ny mombamomba ny fanamafisana eth0 karazana nic mifandray amin'ny tambajotra lxdbr0:

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

Zava-dehibe ny manamarika fa satria nampidirinay tao amin'ny mombamomba ny fanamafisana ilay fitaovana, raha nanondro adiresy IP static ao amin'ilay fitaovana izahay, dia hizara adiresy IP mitovy ny kaontenera rehetra hampiasa an'io mombamomba io. Raha toa ka ilaina ny mamorona kaontenera misy adiresy IP static natokana ho an'ny kaontenera, dia tokony hamorona fikirakirana fitaovana tambajotra amin'ny haavon'ny kaontenera (fandrindrana eo an-toerana) miaraka amin'ny mari-pamantarana adiresy IP, fa tsy amin'ny haavon'ny mombamomba.

Andeha hojerentsika ny mombamomba azy:

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

Amin'ity mombamomba ity dia hitantsika fa ho an'ny kaontenera vao noforonina rehetra dia hisy fitaovana roa hamorona:

  • eth0 β€” Karazana fitaovana nic mifandray amin'ny switch (tetezana tambajotra) lxdbr0
  • root β€” Karazana fitaovana disk izay mampiasa dobo fitehirizana ssdpool

Mamorona mombamomba vaovao ^

Mampiasa ny noforonina teo aloha Dobo fitahirizana kaontenera, mamorΓ²na mombamomba ny fanamafisana ssdroot izay hampidirana fitaovana toy ny disk misy mount point / (root) mampiasa ny noforonina teo aloha Dobo fitahirizana - ssdpool:

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

Toy izany koa, mamorona fitaovana toy ny disk, fa amin'ity tranga ity dia mampiasa Dobo fitahirizana - hddpool:

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

Fanamarinana ny mombamomba ny configuration:

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

Fitehirizana sary ^

Ny kaontenera dia noforonina avy amin'ny sary izay nozaraina manokana izay tsy manana kernel Linux. Noho izany, alohan'ny hampandehanana ny kaontenera dia tsy maintsy apetraka amin'ity sary ity izany. Ny loharanon'ny sary dia fitahirizana eo an-toerana izay alaina sary avy amin'ny tahiry ivelany.

Fitehirizana sary lavitra ^

Amin'ny alΓ lan'ny default, ny LXD dia namboarina handray sary avy amin'ny loharano telo lavitra:

  • ubuntu: (ho an'ny sary Ubuntu stable)
  • ubuntu-daily: (ho an'ny sary Ubuntu isan'andro)
  • sary: (ho an'ny andiana distro hafa)

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

Ohatra, repository ubuntu: manana ireto sary manaraka ireto:

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

Mba hampisehoana tsanganana voafetra dia nampiasa ny safidy -c miaraka amin'ny paramètre dasut, ary voafetra ihany koa ny halavan'ny lisitra miaraka amin'ny baiko head.

Misy ny sivana mba hampisehoana lisitry ny sary. Ity baiko manaraka ity dia hanisy lisitra ny rafitra fizarana rehetra misy 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        |
+------------------------------+--------------------------------------+--------------+

Fitehirizana sary eo an-toerana ^

Raha vao manomboka mampiasa ilay container ianao dia mila manampy sary avy amin'ny tahiry manerantany mankany amin'ny eo an-toerana local:. Ankehitriny dia foana ny tahiry eo an-toerana, ny baiko dia ho azo antoka izany lxc image list. Raha ny fomba list aza manondro tahiry, dia ny tahiry eo an-toerana dia ampiasaina amin'ny alΓ lan'ny default - local:

lxc image list local:

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

Ny sary ao amin'ny tahiry dia mitantana amin'ny alalan'ireto fomba manaraka ireto:

ekipa
famaritana

lxc sary antsoina
Tantano ny solon-tsary

lxc sary dika mitovy
Adikao ny sary eo amin'ny mpizara

lxc sary hamafa
Fafao ny sary

lxc sary Ovay
Ahitsio ny toetran'ny sary

lxc sary fanondranana
Manondrana sy misintona sary

lxc sary Import
Ampidiro ao amin'ny fivarotana sary ny sary

lxc sary Info
Asehoy ny fampahalalana mahasoa momba ny sary

lxc sary lisitra
Tanisao ny sary

lxc sary Refresh
Havaozy ny sary

lxc sary fampisehoana
Asehoy ny toetran-tsary

Adikao amin'ny tahiry eo an-toerana ny sary avy amin'ny iray manerantany images::

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

Image copied successfully!

Andao hasehontsika ny lisitry ny sary rehetra misy amin'izao fotoana izao ao amin'ny tahiry eo an-toerana local::

lxc image -c lfdatsu list local:

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

LXD Configuration ^

Ho fanampin'ny maodely interactive, LXD koa dia manohana fomba fametrahana fanamafisam-peo tsy misy interactive, izany dia rehefa voatondro amin'ny endrika rakitra YAML ny fanamafisana, endrika manokana izay ahafahanao mametraka ny fanamafisana manontolo indray mandeha, mandingana ny famonoana. amin'ireo baiko ifanakalozan-kevitra maro noresahina tetsy ambony ato amin'ity lahatsoratra ity, anisan'izany ny fanamafisana ny tambajotra, ny famoronana mombamomba ny fanamafisana, sns. Tsy handrakotra an'ity faritra ity eto izahay, azonao atao ny mijery azy manokana. amin'ny antontan-taratasy.

Fibaiko interactive manaraka lxc config izay hojerentsika dia ahafahanao mametraka ny fanamafisam-peo. Ohatra, mba hahazoana antoka fa tsy havaozina ho azy avy amin'ny fitehirizam-bokatra maneran-tany ny sary alaina ao amin'ny tahiry eo an-toerana, dia azontsika atao ny mamela ity fihetsika ity amin'ny baiko manaraka:

lxc config set images.auto_update_cached=false

Mamorona sy mitantana container ^

Mba hamoronana container dia ampiasao ny baiko lxc init izay soatoavina no ampitaina Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:ΠΎΠ±Ρ€Π°Π· ary avy eo ny ID tiana ho an'ny kaontenera. Ny tahiry dia azo faritana ho eo an-toerana local: toy izany koa ny eran-tany. Raha tsy voatondro ny tahiry dia amin'ny alΓ lan'ny default dia ampiasaina hikaroka ny sary ny tahiry eo an-toerana. Raha voatondro avy amin'ny tahiry maneran-tany ilay sary, dia alaina any amin'ny tahiry eo an-toerana aloha ilay sary ary avy eo ampiasaina hamoronana ilay fitoeran-javatra.

Andeha hojerentsika ity baiko manaraka ity mba hamoronana container voalohany:

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

Andeha hojerentsika ny fanalahidin'ny baiko ampiasaina eto amin'ny filaharana:

  • alpine3 - Misy solon'anarana (alias) voatondro ho an'ny sary nampidirina teo aloha tao amin'ny tahiry eo an-toerana. Raha tsy noforonina ho an'ity sary ity ny alias, dia azonao atao ny manondro ny sary amin'ny alΓ lan'ny azy tondro izay aseho eo amin'ny latabatra.
  • alp - Mametraka ny famantarana ny fitoeran-javatra
  • --storage - Ity fanalahidy ity dia manondro hoe aiza Dobo fitahirizana hisy kaontenera hatsangana
  • --profile - Mampihatra ny fandrindrana avy amin'ny mombamomba ny fandrindrana noforonina teo aloha amin'ny kaontenera ireo fanalahidy ireo

Atombotsika ny kaontenera, izay manomboka manomboka ny rafitra init amin'ny fizarana:

lxc start alp

Azonao atao koa ny mampiasa ny baiko lxc launch izay ahafahanao manambatra ekipa lxc init ΠΈ lxc start amin'ny fandidiana iray.

Fanamarinana ny toetry ny container:

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

Fanamarinana ny fanamafisana ny container:

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

Ao amin'ny fizarana profiles azontsika atao ny mahazo antoka fa ity kaontenera ity dia mampiasa mombamomba roa βˆ’ default ΠΈ hddroot. Ao amin'ny fizarana devices fitaovana iray ihany no azontsika fantarina satria ny fitaovana tambajotra dia noforonina amin'ny haavon'ny mombamomba azy default. Mba hahitana ny fitaovana rehetra ampiasain'ny fitoeran-javatra dia mila manampy fanalahidy ianao --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: ""

Mametraka adiresy IP static ^

Raha manandrana mametraka adiresy IP ho an'ny fitaovana tambajotra izahay eth0 ny ekipa lxc config device set alp natao ho an'ny fanamafisana ny kaontenera, dia hahazo hadisoana isika izay hitatitra fa tsy misy ilay fitaovana satria ilay fitaovana eth0 izay ampiasain'ny kaontenera dia an'ny mombamomba azy default:

lxc config device set alp eth0 ipv4.address 10.0.5.5

Error: The device doesn't exist

Mazava ho azy fa afaka mametraka adiresy IP static isika eth0 fitaovana ao amin'ny mombamomba azy, fa ho mitovy amin'ny kaontenera rehetra izay hampiasa an'io mombamomba io. Noho izany, andeha isika hanampy fitaovana natokana ho an'ny container:

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

Avy eo dia mila mamerina ny container ianao:

lxc restart alp

Raha mijery ny fanefena kaontenera izao isika dia tsy mila mampiasa ny safidy --expanded mba hahitana ny fitaovana tambajotra eth0, satria noforoninay teo amin'ny haavon'ny kaontenera izany ary nivezivezy tamin'ny fitaovana iray ihany avy amin'ny mombamomba azy 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: ""

Manala fitoeran-javatra ^

Mba hanesorana fitoeran-javatra iray dia ampiasao ny baiko lxc delete, fa alohan'ny hanesorana ny kaontenera dia tsy maintsy atsahatra ny fampiasana ny baiko lxc stop:

lxc stop alp

lxc list

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

Rehefa avy nanamarina izahay fa lasa ny toetry ny kaontenera nitsahatra, azo esorina amin'ny Dobo fitahirizana:

lxc delete alp

Fidirana kaontenera ^

Mba hanatanterahana ny baiko ao anaty fitoeran-javatra mivantana, miala amin'ny fifandraisana amin'ny tambajotra, ampiasao ny baiko lxc exec izay manatanteraka baiko ao anaty fitoeran-javatra nefa tsy manokatra ny shell system. Raha mila manatanteraka baiko amin'ny akorandriaka ianao amin'ny alΓ lan'ny modely akorandriaka toy ny variables, famerenan'ny rakitra (pipe), sns., Dia mila manokatra mazava ny akorandriaka ianao ary mampita ny baiko ho fanalahidy, ohatra:

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

Nampiasa toetra mandositra manokana ilay baiko ho an'ny toetra manokana $ ka ny variable $HOME tsy nadika tamin'ny milina mpampiantrano, fa tao anaty fitoeran-javatra ihany no nadika.

Azo atao ihany koa ny manomboka ny maodely akorandriaka ifanakalozan-dresaka, ary faranana amin'ny alalan'ny fampandehanana hotkey CTRL+D:

lxc exec alp -- /bin/sh

Fitantanana loharanon-karena ^

Ao amin'ny LXD, azonao atao ny mitantana ny loharanon-kaontenera amin'ny alΓ lan'ny fandrindrana manokana. Misy lisitra feno momba ny mari-pamantarana fanefena fitoeran-javatra azo jerena amin'ny antontan-taratasy.

Famerana ny loharanon-karena RAM ^

fikirana limits.memory mametra ny habetsaky ny RAM azo amin'ny fitoeran-javatra. Ny sanda dia isa sy iray amin'ny tovana azo.

Andao apetraka ho 256 MB ny fetran'ny RAM an'ny kaontenera:

lxc config set alp limits.memory 256MB

Ary koa, misy paramètre hafa hamerana ny fitadidiana:

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

ekipa lxc config show mamela anao hampiseho ny fandrindrana fitoeran-javatra manontolo, ao anatin'izany ny fetran'ny loharanon-karena napetraka:

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

fetra loharanon-karena CPU ^

Misy fomba maro hamerana ny loharanon'ny CPU. karazana fameperana:

  • limit.cpu - mamatotra fitoeran-javatra amin'ny iray na maromaro CPU cores
  • limits.cpu.allowance - mitantana ny fetran'ny fandaharam-potoana CFS rehefa tapitra ny fe-potoana, na ny mekanika fizarana loharanon-karena CPU manerantany rehefa lasa ny isan-jato
  • limits.cpu.priority - laharam-pahamehana amin'ny fandaharam-potoana raha toa ka omena mitovy isan-jaton'ny processeur ny tranga maro mizara andiana processeur

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

Famerana ny habaka kapila ^

Ankoatra ny fameperana toy izany limits.read, limits.write azontsika atao ihany koa ny mametra ny habetsaky ny habaka kapila lanin'ny kaontenera (miaraka amin'ny ZFS na BTRFS ihany):

lxc config device set alp root size=2GB

Aorian'ny fametrahana, amin'ny parameter devices.root.size Afaka manamarina ny fetra napetraka izahay:

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

Mba hijerena ny quotas kapila ampiasaina dia azontsika avy amin'ny baiko 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

Na dia eo aza ny zava-misy fa efa nametraka fetra ho an'ny faka fitaovana ny fitoeran-javatra ho 2GB, rafitra fitaovana toy ny df tsy hahita izany famerana izany. Mba hanaovana izany, dia hanao fitsapana kely isika ary hahita ny fomba fiasa.

Andao hamorona kaontenera mitovy 2 vaovao ao anatin'izany Dobo fitahirizana (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         |
+------+---------+------------------+------+-----------+-----------+

Andao hamorona rakitra 1GB amin'ny iray amin'ireo kaontenera:

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

Andao ho azo antoka fa voaforona ilay rakitra:

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

Raha mijery ao amin'ny kaontenera faharoa isika, jereo ny fisian'ny rakitra amin'ny toerana iray ihany, dia tsy ho eo io rakitra io, izay antenaina, satria ny container dia noforonina amin'ny azy manokana. Boky fitehirizana amin'io ihany Dobo fitahirizana:

lxc exec alp2 -- ls -lh
total 0

Fa aleo ampitahaina ny soatoavina aterany df amin'ny fitoeran-javatra iray sy iray hafa:

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

fitaovana /dev/loop1 napetraka ho toy ny fizarazarana fototra Dobo fitahirizana izay ampiasain'ireo kaontenera ireo, ka mizara ny habeny amin'ny roa.

Antontan'ny fanjifana loharanon-karena ^

Azonao atao ny mijery ny antontan'isa momba ny fanjifana loharanon-karena ho an'ny container iray mampiasa ny baiko:

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

Miasa miaraka amin'ny snapshots ^

LXD dia manana fahafahana mamorona sary sy mamerina ny toetry ny fitoeran-javatra avy amin'izy ireo.

Mba hamoronana snapshot dia araho ity baiko manaraka ity:

lxc snapshot alp snapshot1

Ny ekipa lxc snapshot tsy misy fanalahidy list, noho izany, raha te hijery ny lisitry ny sary ianao dia mila mampiasa ny baiko izay mampiseho fampahalalana ankapobeny momba ny container:

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

Azonao atao ny mamerina ny kaontenera avy amin'ny snapshot mampiasa ny baiko lxc restore mamaritra ny fitoeran'entana hanaovana ny famerenana sy ny solon'anarana snapshot:

lxc restore alp snapshot1

Ity baiko manaraka ity dia ampiasaina hamafa sary iray. Azafady, azafady fa tsy mitovy amin'ny hafa rehetra ny baikon'ny baiko; eto ianao dia mila mamaritra slash mandroso aorian'ny anaran'ny container. Raha esorina ny slash, dia adika ho baiko hamafa fitoeran-javatra ny baiko hamafa sary iray!

lxc delete alp/snapshot1

Ao amin'ny ohatra etsy ambony, dia nijery ireo antsoina hoe snapshots tsy misy fanjakana. LXD dia manana karazana snapshot hafa - stateful, izay mamonjy ny toetry ny dingana rehetra ao anaty container. Misy endri-javatra mahaliana sy mahasoa maromaro mifandraika amin'ny snapshots.

Dia inona koa? ^

  • Misy module misy ho an'ny mpamorona Python PyLXD izay manome API ho an'ny LXD

VAOVAO 10.04.2020/15/00 XNUMX:XNUMX: Nampiana navigation

Source: www.habr.com

Add a comment