LXD - Linux కంటైనర్ సిస్టమ్స్ యొక్క ప్రాథమిక లక్షణాలు
LXD తదుపరి తరం సిస్టమ్ కంటైనర్ మేనేజర్, కాబట్టి ఇది చెప్పింది మూలం. ఇది వర్చువల్ మిషన్ల మాదిరిగానే వినియోగదారు ఇంటర్ఫేస్ను అందిస్తుంది, కానీ బదులుగా Linux కంటైనర్లను ఉపయోగిస్తుంది.
LXD కోర్ ఒక ప్రత్యేక డెమోన్ (రూట్ హక్కులతో నడుస్తున్న సేవ) ఇది స్థానిక unix సాకెట్ ద్వారా REST APIని అందిస్తుంది, అలాగే తగిన కాన్ఫిగరేషన్ ఇన్స్టాల్ చేయబడితే నెట్వర్క్ ద్వారా అందిస్తుంది. LXDతో అందించబడిన కమాండ్ లైన్ సాధనం వంటి క్లయింట్లు, ఈ REST API ద్వారా అభ్యర్థనలు చేస్తారు. మీరు స్థానిక హోస్ట్ని లేదా రిమోట్ హోస్ట్ని యాక్సెస్ చేస్తున్నా, ప్రతిదీ ఒకే విధంగా పని చేస్తుందని దీని అర్థం.
ఈ కథనంలో, మేము LXD యొక్క భావనలపై వివరంగా ఉండము; కంటైనర్లకు సమాంతరంగా QEMU వర్చువల్ మెషీన్లకు మద్దతు యొక్క తాజా వెర్షన్లలో LXD యొక్క ఇటీవలి అమలుతో సహా డాక్యుమెంటేషన్లో వివరించిన అన్ని అందుబాటులో ఉన్న సామర్థ్యాలను మేము పరిగణించము. బదులుగా, మేము కంటైనర్ నిర్వహణ యొక్క ప్రాథమికాలను మాత్రమే నేర్చుకుంటాము - స్టోరేజ్ పూల్లను సెటప్ చేయడం, నెట్వర్కింగ్, కంటైనర్ను రన్ చేయడం, వనరుల పరిమితులను వర్తింపజేయడం మరియు స్నాప్షాట్లను ఎలా ఉపయోగించాలి, తద్వారా మీరు LXD గురించి ప్రాథమిక అవగాహన పొందవచ్చు మరియు Linuxలో కంటైనర్లను ఉపయోగించవచ్చు.
పూర్తి సమాచారం కోసం, దయచేసి అధికారిక మూలాన్ని చూడండి:
అంటే రెండు ప్యాకేజీలు ఒకేసారి ఇన్స్టాల్ చేయబడతాయి, ఒకటి సిస్టమ్ ప్యాకేజీగా మరియు మరొకటి స్నాప్ ప్యాకేజీగా. ఒక సిస్టమ్లో రెండు ప్యాకేజీలను ఇన్స్టాల్ చేయడం వలన స్నాప్ ప్యాకేజీ నిర్వాహికి ద్వారా స్నాప్ ప్యాకేజీ తీసివేయబడినట్లయితే, సిస్టమ్ ప్యాకేజీ అనాథగా మారే కొన్ని సమస్యను సృష్టించవచ్చు.
ప్యాకేజీని కనుగొనండి lxd స్నాప్ రిపోజిటరీలో మీరు కింది ఆదేశాన్ని ఉపయోగించవచ్చు:
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
ఆదేశాన్ని అమలు చేయడం ద్వారా list మీరు ప్యాకేజీని నిర్ధారించుకోవచ్చు lxd ఇంకా ఇన్స్టాల్ చేయలేదు:
snap list
Name Version Rev Tracking Publisher Notes
core 16-2.43.3 8689 stable canonical✓ core
LXD ఒక స్నాప్ ప్యాకేజీ అయినప్పటికీ, ఇది తప్పనిసరిగా సిస్టమ్ ప్యాకేజీ ద్వారా ఇన్స్టాల్ చేయబడాలి lxd, ఇది సిస్టమ్లో సంబంధిత సమూహాన్ని సృష్టిస్తుంది, అవసరమైన యుటిలిటీలు /usr/bin మరియు అందువలన న.
సిస్టమ్లో LXD ప్యాకేజీని ఇన్స్టాల్ చేయడానికి, మీరు కింది ఆదేశాలను అమలు చేయాలి, మొదటిది రిపోజిటరీలో అందుబాటులో ఉన్న సిస్టమ్లోని ప్యాకేజీల జాబితాను నవీకరిస్తుంది, రెండవది నేరుగా ప్యాకేజీని ఇన్స్టాల్ చేస్తుంది:
sudo pacman -Syyu && sudo pacman -S lxd
ప్యాకేజీని ఇన్స్టాల్ చేసిన తర్వాత, సాధారణ వినియోగదారు ద్వారా LXDని నిర్వహించడానికి, అది తప్పనిసరిగా సిస్టమ్ సమూహానికి జోడించబడాలి lxd:
id -Gn user1
user1 adm dialout cdrom floppy sudo audio dip video plugdev netdev lxd
సమూహం అయితే lxd జాబితాలో కనిపించదు, ఆపై మీరు వినియోగదారు సెషన్ను మళ్లీ సక్రియం చేయాలి. దీన్ని చేయడానికి, మీరు అదే వినియోగదారు కింద లాగ్ అవుట్ చేసి లాగిన్ అవ్వాలి.
యాక్టివేట్ చేయండి systemd సిస్టమ్ ప్రారంభంలో LXD సేవను లోడ్ చేస్తోంది:
ప్రారంభించడం ప్రారంభించే ముందు, LXDలో నిల్వ ఎలా తార్కికంగా అమర్చబడిందో మనం అర్థం చేసుకోవాలి.
నిల్వ (నిల్వ) ఉంది ఒకటి లేదా అంతకంటే ఎక్కువ నుండి నిల్వ కొలను ఇది ZFS, BTRFS, LVM లేదా సాధారణ డైరెక్టరీల వంటి మద్దతు ఉన్న ఫైల్ సిస్టమ్లలో ఒకదాన్ని ఉపయోగిస్తుంది. ప్రతి నిల్వ కొలను వాల్యూమ్లుగా విభజించబడింది (నిల్వ వాల్యూమ్) ఇతర ప్రయోజనాల కోసం చిత్రాలు, కంటైనర్లు లేదా డేటాను కలిగి ఉంటుంది.
చిత్రాలను - ఇవి Linux కెర్నల్ లేకుండా ప్రత్యేకంగా సమీకరించబడిన పంపిణీలు మరియు బాహ్య మూలాల నుండి అందుబాటులో ఉంటాయి
కంటైనర్లు - ఇవి చిత్రాల నుండి అమలు చేయబడిన పంపిణీలు, ఉపయోగం కోసం సిద్ధంగా ఉన్నాయి
స్నాప్షాట్లు - ఇవి మీరు తిరిగి పొందగలిగే కంటైనర్ల స్థితి యొక్క స్నాప్షాట్లు
LXDలో నిల్వను నిర్వహించడానికి, ఆదేశాన్ని ఉపయోగించండి lxc storage కీని పేర్కొనడం ద్వారా మీరు పొందగలిగే ప్రమాణపత్రం - lxc storage --help
కింది ఆదేశం అన్ని జాబితాను ప్రదర్శిస్తుంది నిల్వ కొలను LXD నిల్వలో:
lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| hddpool | | btrfs | /dev/loop1 | 2 |
+---------+-------------+--------+--------------------------------+---------+
| ssdpool | | btrfs | /var/lib/lxd/disks/ssdpool.img | 4 |
+---------+-------------+--------+--------------------------------+---------+
అందరి జాబితాను వీక్షించడానికి నిల్వ వాల్యూమ్ ఎంచుకున్న వాటిలో నిల్వ కొలను జట్టుకు సేవలందిస్తుంది 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 |
+-----------+----------------------------------+-------------+---------+
అలాగే, ఉంటే నిల్వ కొలను సృష్టించేటప్పుడు, BTRFS ఫైల్ సిస్టమ్ ఎంపిక చేయబడింది, ఆపై జాబితాను పొందండి నిల్వ వాల్యూమ్ లేదా సబ్వాల్యూమ్లను BTRFS వివరణలో, మీరు ఈ ఫైల్ సిస్టమ్ యొక్క టూల్కిట్ను ఉపయోగించవచ్చు:
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
కంటైనర్లను సృష్టించే మరియు ఉపయోగించే ముందు, మీరు తప్పనిసరిగా నెట్వర్క్ మరియు స్టోరేజ్ని సృష్టించి మరియు కాన్ఫిగర్ చేసే సాధారణ LXD ఇనిషియలైజేషన్ను తప్పనిసరిగా చేయాలి. కమాండ్కు కాల్ చేయడం ద్వారా జాబితాలో అందుబాటులో ఉన్న ప్రామాణిక క్లయింట్ ఆదేశాలను ఉపయోగించి ఇది మానవీయంగా చేయవచ్చు lxc --help లేదా ప్రారంభ విజర్డ్ ఉపయోగించి lxd init కొన్ని ప్రశ్నలకు సమాధానమివ్వడం.
ప్రారంభ సమయంలో, LXD డిఫాల్ట్ కోసం ఫైల్ సిస్టమ్ రకాన్ని నిర్ణయించడంతో సహా అనేక ప్రశ్నలను అడుగుతుంది నిల్వ కొలను. డిఫాల్ట్గా, దాని కోసం BTRFS ఫైల్ సిస్టమ్ ఎంపిక చేయబడింది. సృష్టించిన తర్వాత మరొక FSకి మార్చడం అసాధ్యం. FSని ఎంచుకోవడానికి ఇది సూచించబడింది ఫీచర్ పోలిక పట్టిక:
ఫీచర్
డైరెక్టరీ
btrfs
LVM
ZFS
CEPH
ఆప్టిమైజ్ చేయబడిన ఇమేజ్ స్టోరేజ్
ఏ
అవును
అవును
అవును
అవును
ఆప్టిమైజ్ చేసిన ఉదాహరణ సృష్టి
ఏ
అవును
అవును
అవును
అవును
ఆప్టిమైజ్ చేసిన స్నాప్షాట్ సృష్టి
ఏ
అవును
అవును
అవును
అవును
ఆప్టిమైజ్ చేయబడిన ఇమేజ్ బదిలీ
ఏ
అవును
ఏ
అవును
అవును
ఆప్టిమైజ్ చేసిన ఉదాహరణ బదిలీ
ఏ
అవును
ఏ
అవును
అవును
వ్రాయడంపై కాపీ
ఏ
అవును
అవును
అవును
అవును
బ్లాక్ ఆధారంగా
ఏ
ఏ
అవును
ఏ
అవును
తక్షణ క్లోనింగ్
ఏ
అవును
అవును
అవును
అవును
కంటైనర్ లోపల ఉపయోగించగల నిల్వ డ్రైవర్
అవును
అవును
ఏ
ఏ
ఏ
పాత స్నాప్షాట్ల నుండి పునరుద్ధరించండి (తాజాది కాదు)
అవును
అవును
అవును
ఏ
అవును
నిల్వ కోటాలు
అవును (*)
అవును
అవును
అవును
ఏ
విజార్డ్ని ఉపయోగించి నెట్వర్క్ మరియు స్టోరేజ్ పూల్ను ప్రారంభించడం ^
మేము చూడబోయే తదుపరి ఆదేశం ప్రారంభ విజార్డ్ని ఉపయోగించి సాధారణ ప్రశ్నలకు సమాధానమివ్వడం ద్వారా LXD యొక్క ప్రధాన భాగాలను సెటప్ చేయడాన్ని సూచిస్తుంది.
ఆదేశాన్ని అమలు చేయండి lxc init మరియు దిగువ ఉదాహరణలో చూపిన విధంగా కోలన్ తర్వాత ప్రశ్నలకు సమాధానాలను నమోదు చేయండి లేదా మీ షరతుల ప్రకారం వాటిని మార్చండి:
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]:
మునుపటి దశలో మేము సృష్టించాము నిల్వ కొలను పేరు పెట్టారు ssdpool మరియు ఫైల్ నా సిస్టమ్లో ఉంది /var/lib/lxd/disks/ssdpool.img. ఈ ఫైల్ సిస్టమ్ చిరునామా నా PCలోని భౌతిక SSD డ్రైవ్కు అనుగుణంగా ఉంటుంది.
పోషించిన పాత్రపై అవగాహనను విస్తరించేందుకు క్రింది చర్యలు నిల్వ కొలను రిపోజిటరీలో, మేము రెండవదాన్ని సృష్టిస్తాము నిల్వ కొలను ఇది భౌతికంగా వేరే రకమైన డిస్క్, HDDలో ఉంటుంది. సమస్య ఏమిటంటే LXD మిమ్మల్ని సృష్టించడానికి అనుమతించదు నిల్వ కొలను చిరునామా లేదు /var/lib/lxd/disks/ మరియు సింబాలిక్ లింక్లు కూడా పని చేయవు, డెవలపర్ ప్రతిస్పందనను చూడండి. మేము ప్రారంభించడం/ఫార్మాటింగ్ సమయంలో ఈ పరిమితిని దాటవేయవచ్చు నిల్వ కొలను కీలో దీన్ని పేర్కొనడం ద్వారా లూప్బ్యాక్ ఫైల్కి పాత్కు బదులుగా విలువను బ్లాక్ పరికరంగా పేర్కొనడం ద్వారా source.
కాబట్టి, సృష్టించే ముందు నిల్వ కొలను మీరు మీ ఫైల్ సిస్టమ్లో ఉపయోగించే లూప్బ్యాక్ ఫైల్ లేదా ఇప్పటికే ఉన్న విభజనను నిర్వచించాలి. దీన్ని చేయడానికి, మేము పరిమాణంలో 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
లూప్బ్యాక్ ఫైల్ను ఉచిత లూప్బ్యాక్ పరికరానికి కనెక్ట్ చేద్దాం:
కీకి ధన్యవాదాలు --show ఆదేశాన్ని అమలు చేయడం ద్వారా మన లూప్బ్యాక్ ఫైల్ కనెక్ట్ చేయబడిన పరికరం పేరు స్క్రీన్కు తిరిగి వస్తుంది. అవసరమైతే, మా చర్యలు సరైనవని నిర్ధారించుకోవడానికి మేము ఈ రకమైన అన్ని బిజీగా ఉన్న పరికరాల జాబితాను ప్రదర్శిస్తాము:
జాబితా నుండి మీరు పరికరం కలిగి ఉన్నట్లు కనుగొనవచ్చు /dev/loop1 loopback ఫైల్ చేర్చబడింది /mnt/work/lxd/hddpool.img, మరియు పరికరంలో /dev/loop0 loopback ఫైల్ చేర్చబడింది /var/lib/lxd/disks/ssdpool.img ఇది డిఫాల్ట్కు అనుగుణంగా ఉంటుంది నిల్వ కొలను.
కింది ఆదేశం కొత్తదాన్ని సృష్టిస్తుంది నిల్వ కొలను మేము ఇప్పుడే సిద్ధం చేసిన లూప్బ్యాక్ ఫైల్ ఆధారంగా LXDలో. LXD లూప్బ్యాక్ ఫైల్ను ఫార్మాట్ చేస్తుంది /mnt/work/lxd/hddpool.img పరికరంలో /dev/loop1 BTRFS ఫైల్ సిస్టమ్ కోసం:
లూప్బ్యాక్ పరికరం స్లాట్లో లూప్బ్యాక్ ఫైల్ స్వయంచాలకంగా చొప్పించడం ^
హోస్ట్ సిస్టమ్, ఫైల్ని రీబూట్ చేస్తున్నప్పుడు మాకు ఒక చిన్న సమస్య ఉంది /mnt/work/lxd/hddpool.img పరికరం నుండి "ఎగురుతుంది" /dev/loop1 మరియు LXD సేవ లోడ్ అవుతున్నప్పుడు క్రాష్ అవుతుంది ఎందుకంటే అది ఈ పరికరంలో కనిపించదు. ఈ సమస్యను పరిష్కరించడానికి మీరు ఈ ఫైల్ను పరికరంలోకి చొప్పించే సిస్టమ్ సేవను సృష్టించాలి /dev/loop1 హోస్ట్ సిస్టమ్ బూట్ అయినప్పుడు.
సృష్టిద్దాం యూనిట్ ఫైల్ రకం సేవ в /etc/systemd/system/ 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
సేవను సక్రియం చేయండి:
sudo systemctl enable lxd-hddpool
Created symlink /etc/systemd/system/local-fs.target.wants/lxd-hddpool.service → /etc/systemd/system/lxd-hddpool.service.
హోస్ట్ సిస్టమ్ను పునఃప్రారంభించిన తర్వాత, మేము సేవా స్థితిని తనిఖీ చేస్తాము:
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).
అవుట్పుట్ నుండి మేము సర్వీస్ స్టేట్ అని ధృవీకరించవచ్చు క్రియాశీల, ఒక కమాండ్ నుండి మా స్క్రిప్ట్ యొక్క అమలు పూర్తయినప్పటికీ, ఎంపిక దీన్ని చేయడానికి మాకు అనుమతి ఇచ్చింది RemainAfterExit=true.
అన్ని కంటైనర్ ప్రాసెస్లు నిజానికి దాని కెర్నల్ని ఉపయోగించి హోస్ట్ సిస్టమ్లో ఐసోలేషన్లో రన్ అవుతాయి కాబట్టి, హోస్ట్ సిస్టమ్కు కంటైనర్ ప్రాసెస్ల యాక్సెస్ను మరింత రక్షించడానికి, LXD ప్రాసెస్ ప్రివిలేజ్ని అందిస్తుంది, ఇక్కడ:
విశేషమైన కంటైనర్లు - ఇవి UID మరియు GIDతో ఉన్న ప్రక్రియలు హోస్ట్ సిస్టమ్లోని అదే యజమానికి అనుగుణంగా ఉండే కంటైనర్లు. ఉదాహరణకు, UID 0తో ఉన్న కంటైనర్లో నడుస్తున్న ప్రక్రియకు హోస్ట్ సిస్టమ్లో 0 UIDతో ఉన్న ప్రాసెస్కు సమానమైన యాక్సెస్ హక్కులు ఉంటాయి. మరో మాటలో చెప్పాలంటే, కంటైనర్లోని రూట్ వినియోగదారుకు అన్ని హక్కులూ ఉన్నాయి కంటైనర్, కానీ అతను కంటైనర్ యొక్క వివిక్త నేమ్స్పేస్ వెలుపల వెళ్ళగలిగితే హోస్ట్ సిస్టమ్లో కూడా ఉంటుంది.
ప్రత్యేకించని కంటైనర్లు - ఇవి 0 నుండి 65535 వరకు సంఖ్యతో UID మరియు GID యజమానికి సంబంధించిన ప్రక్రియలు కలిగిన కంటైనర్లు, కానీ హోస్ట్ సిస్టమ్ కోసం యజమాని వరుసగా జోడించిన SubUID మరియు SubGID బిట్లను ఉపయోగించి మాస్క్ చేయబడతారు. ఉదాహరణకు, ఒక కంటైనర్లో UID=0 ఉన్న వినియోగదారు హోస్ట్ సిస్టమ్లో ఇలా కనిపిస్తారు SubUID + UID. ఇది హోస్ట్ సిస్టమ్ను రక్షిస్తుంది ఎందుకంటే కంటైనర్లోని ఏదైనా ప్రక్రియ దాని ఐసోలేటెడ్ నేమ్స్పేస్ నుండి తప్పించుకోగలిగితే, అది తెలియని, చాలా ఎక్కువ UID/GIDతో ఒక ప్రక్రియగా హోస్ట్ సిస్టమ్తో మాత్రమే కమ్యూనికేట్ చేయగలదు.
డిఫాల్ట్గా, కొత్తగా సృష్టించబడిన కంటైనర్లు ప్రత్యేక హోదాను కలిగి ఉంటాయి మరియు అందువల్ల మేము తప్పనిసరిగా SubUID మరియు SubGIDని నిర్వచించాలి.
రెండు కాన్ఫిగరేషన్ ఫైల్లను క్రియేట్ చేద్దాం, అందులో వరుసగా SubUID మరియు SubGID కోసం మాస్క్ని సెట్ చేస్తాము:
మేము మునుపు ప్రారంభ విజార్డ్ ఉపయోగించి నెట్వర్క్ను ప్రారంభించాము కాబట్టి lxd init మరియు నెట్వర్క్ పరికరాన్ని సృష్టించారు lxdbr0, అప్పుడు ఈ విభాగంలో మనం LXDలో నెట్వర్కింగ్ మరియు క్లయింట్ కమాండ్ని ఉపయోగించి వర్చువల్ స్విచ్ (బ్రిడ్జ్) ఎలా సృష్టించాలో తెలుసుకుంటాము.
కింది రేఖాచిత్రం స్విచ్ (వంతెన) హోస్ట్ మరియు కంటైనర్లను నెట్వర్క్లోకి ఎలా కలుపుతుందో చూపిస్తుంది:
కంటైనర్లు ఇతర కంటైనర్లతో లేదా ఈ కంటైనర్లను అందించే హోస్ట్తో నెట్వర్క్ ద్వారా కమ్యూనికేట్ చేయవచ్చు. దీన్ని చేయడానికి, మీరు కంటైనర్ల వర్చువల్ నెట్వర్క్ కార్డ్లను వర్చువల్ స్విచ్తో లింక్ చేయాలి. మేము ముందుగా ఒక స్విచ్ని సృష్టిస్తాము మరియు కంటైనర్ యొక్క నెట్వర్క్ ఇంటర్ఫేస్లు కంటైనర్ సృష్టించబడిన తర్వాత తదుపరి అధ్యాయాలలో లింక్ చేయబడతాయి.
కింది ఆదేశం సబ్నెట్తో స్విచ్ను సృష్టిస్తుంది 10.0.5.0/24 మరియు IPv4 చిరునామా 10.0.5.1/24, మరియు కూడా ఉన్నాయి ipv4.nat తద్వారా కంటైనర్లు NAT సేవను ఉపయోగించి హోస్ట్ ద్వారా ఇంటర్నెట్ను యాక్సెస్ చేయగలవు:
LXDలోని ప్రతి కంటైనర్కు దాని స్వంత కాన్ఫిగరేషన్ ఉంది మరియు దీనిని ప్రపంచవ్యాప్తంగా ప్రకటించబడిన కాన్ఫిగరేషన్లతో పొడిగించవచ్చు కాన్ఫిగరేషన్ ప్రొఫైల్స్. కంటైనర్కు కాన్ఫిగరేషన్ ప్రొఫైల్లను వర్తింపజేయడం క్యాస్కేడ్ మోడల్ను కలిగి ఉంటుంది, ఈ క్రింది ఉదాహరణ దీనిని ప్రదర్శిస్తుంది:
ఈ ఉదాహరణలో, LXD సిస్టమ్లో మూడు ప్రొఫైల్లు సృష్టించబడ్డాయి: default, hddpool и hostfs. మూడు ప్రొఫైల్లు స్థానిక కాన్ఫిగరేషన్ (బూడిద ప్రాంతం) ఉన్న కంటైనర్కు వర్తింపజేయబడతాయి. ప్రొఫైల్ default ఒక పరికరం ఉంది root ఒక పరామితిని కలిగి ఉంటుంది pool సమానముగా ssdpool, కానీ క్యాస్కేడ్ కాన్ఫిగరేషన్ అప్లికేషన్ మోడల్కు ధన్యవాదాలు, మేము కంటైనర్కు ప్రొఫైల్ను వర్తింపజేయవచ్చు hddpool ఒక పరామితిని కలిగి ఉంటుంది pool ప్రొఫైల్ నుండి అదే పరామితిని భర్తీ చేస్తుంది default మరియు కంటైనర్ పరికరం కాన్ఫిగరేషన్ను అందుకుంటుంది root పరామితితో pool సమానం hddpool, మరియు ప్రొఫైల్ hostfs కేవలం కంటైనర్కు కొత్త పరికరాన్ని జోడిస్తుంది.
అందుబాటులో ఉన్న కాన్ఫిగరేషన్ ప్రొఫైల్ల జాబితాను చూడటానికి, కింది ఆదేశాన్ని ఉపయోగించండి:
lxc profile list
+---------+---------+
| NAME | USED BY |
+---------+---------+
| default | 1 |
+---------+---------+
| hddroot | 0 |
+---------+---------+
| ssdroot | 1 |
+---------+---------+
ప్రొఫైల్తో పని చేయడానికి అందుబాటులో ఉన్న ఆదేశాల పూర్తి జాబితాను కీని జోడించడం ద్వారా పొందవచ్చు --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 కంటైనర్ కోసం నెట్వర్క్ కార్డ్ కాన్ఫిగరేషన్ లేదు మరియు కొత్తగా సృష్టించిన అన్ని కంటైనర్లకు నెట్వర్క్ లేదు, వాటి కోసం ప్రత్యేక కమాండ్తో స్థానిక (అంకితమైన) నెట్వర్క్ పరికరాలను సృష్టించడం అవసరం, అయితే మేము కాన్ఫిగరేషన్లో గ్లోబల్ నెట్వర్క్ పరికరాన్ని సృష్టించవచ్చు ఈ ప్రొఫైల్ని ఉపయోగించి అన్ని కంటైనర్ల మధ్య భాగస్వామ్యం చేయబడే ప్రొఫైల్. ఈ విధంగా, కొత్త కంటైనర్ను సృష్టించడానికి ఆదేశం వచ్చిన వెంటనే, వారికి నెట్వర్క్ యాక్సెస్తో నెట్వర్క్ ఉంటుంది. అదే సమయంలో, ఎటువంటి పరిమితులు లేవు; అవసరమైతే మేము ఎల్లప్పుడూ స్థానిక నెట్వర్క్ పరికరాన్ని సృష్టించవచ్చు.
కింది ఆదేశం పరికరాన్ని కాన్ఫిగరేషన్ ప్రొఫైల్కు జోడిస్తుంది eth0 రకం nic నెట్వర్క్కి కనెక్ట్ చేయబడింది lxdbr0:
lxc profile device add default eth0 nic network=lxdbr0 name=eth0
మేము వాస్తవానికి పరికరాన్ని కాన్ఫిగరేషన్ ప్రొఫైల్కు జోడించినందున, మేము పరికరంలో స్టాటిక్ IP చిరునామాను పేర్కొన్నట్లయితే, ఈ ప్రొఫైల్ను ఉపయోగించే అన్ని కంటైనర్లు ఒకే IP చిరునామాను పంచుకుంటాయని గమనించడం ముఖ్యం. కంటైనర్ కోసం కేటాయించిన స్టాటిక్ IP చిరునామాతో కంటైనర్ను సృష్టించాల్సిన అవసరం ఉన్నట్లయితే, మీరు IP చిరునామా పరామితితో కంటైనర్ స్థాయిలో (స్థానిక కాన్ఫిగరేషన్) నెట్వర్క్ పరికర కాన్ఫిగరేషన్ను సృష్టించాలి మరియు ప్రొఫైల్ స్థాయిలో కాదు.
ప్రొఫైల్ని తనిఖీ చేద్దాం:
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: []
ఈ ప్రొఫైల్లో కొత్తగా సృష్టించబడిన అన్ని కంటైనర్ల కోసం రెండు పరికరాలు సృష్టించబడతాయని మనం చూడవచ్చు:
eth0 - పరికరం రకం nic స్విచ్ (నెట్వర్క్ వంతెన)కి కనెక్ట్ చేయబడింది lxdbr0
root - పరికరం రకం disk ఇది నిల్వ కొలనును ఉపయోగిస్తుంది ssdpool
గతంలో సృష్టించిన ఉపయోగించడానికి నిల్వ కొలను కంటైనర్లు, కాన్ఫిగరేషన్ ప్రొఫైల్ను సృష్టించండి ssdroot దీనిలో మేము వంటి పరికరాన్ని జోడిస్తాము disk మౌంట్ పాయింట్తో / (రూట్) గతంలో సృష్టించినది ఉపయోగించి నిల్వ కొలను - ssdpool:
Linux కెర్నల్ లేని డిస్ట్రిబ్యూషన్లను ప్రత్యేకంగా సమీకరించిన చిత్రాల నుండి కంటైనర్లు సృష్టించబడతాయి. అందువల్ల, కంటైనర్ను అమలు చేయడానికి ముందు, అది తప్పనిసరిగా ఈ చిత్రం నుండి అమలు చేయబడాలి. ఇమేజ్ల మూలం స్థానిక రిపోజిటరీ, దీనిలో ఇమేజ్లు బాహ్య రిపోజిటరీల నుండి డౌన్లోడ్ చేయబడతాయి.
కంటైనర్ను ఉపయోగించడం ప్రారంభించడానికి, మీరు గ్లోబల్ రిపోజిటరీ నుండి స్థానిక చిత్రానికి చిత్రాన్ని జోడించాలి local:. ఇప్పుడు స్థానిక రిపోజిటరీ ఖాళీగా ఉంది, కమాండ్ దీన్ని నిర్ధారిస్తుంది lxc image list. పద్ధతి అయితే list రిపోజిటరీని పేర్కొనవద్దు, అప్పుడు స్థానిక రిపోజిటరీ డిఫాల్ట్గా ఉపయోగించబడుతుంది - local:
lxc image list local:
+-------+-------------+--------+-------------+--------------+------+------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE |
+-------+-------------+--------+-------------+--------------+------+------+
రిపోజిటరీలోని చిత్రాలు క్రింది పద్ధతులను ఉపయోగించి నిర్వహించబడతాయి:
జట్టు
వివరణ
lxc చిత్రం అలియాస్
చిత్ర మారుపేర్లను నిర్వహించండి
lxc చిత్రం కాపీని
సర్వర్ల మధ్య చిత్రాలను కాపీ చేయండి
lxc చిత్రం తొలగించండి
చిత్రాలను తొలగించండి
lxc చిత్రం మార్చు
చిత్ర లక్షణాలను సవరించండి
lxc చిత్రం ఎగుమతి
చిత్రాలను ఎగుమతి చేయండి మరియు డౌన్లోడ్ చేయండి
lxc చిత్రం దిగుమతి
ఇమేజ్ స్టోర్లోకి చిత్రాలను దిగుమతి చేయండి
lxc చిత్రం సమాచారం
చిత్రాల గురించి ఉపయోగకరమైన సమాచారాన్ని చూపండి
lxc చిత్రం జాబితా
చిత్రాలను జాబితా చేయండి
lxc చిత్రం రిఫ్రెష్
చిత్రాలను రిఫ్రెష్ చేయండి
lxc చిత్రం షో
చిత్ర లక్షణాలను చూపించు
చిత్రాన్ని గ్లోబల్ నుండి లోకల్ రిపోజిటరీకి కాపీ చేయండి images::
ఇంటరాక్టివ్ మోడ్తో పాటు, LXD నాన్-ఇంటరాక్టివ్ కాన్ఫిగరేషన్ ఇన్స్టాలేషన్ మోడ్కు కూడా మద్దతు ఇస్తుంది, ఇది YAML ఫైల్ రూపంలో కాన్ఫిగరేషన్ పేర్కొనబడినప్పుడు, ఇది అమలును దాటవేసి మొత్తం కాన్ఫిగరేషన్ను ఒకేసారి ఇన్స్టాల్ చేయడానికి మిమ్మల్ని అనుమతించే ప్రత్యేక ఫార్మాట్. నెట్వర్క్ కాన్ఫిగరేషన్, కాన్ఫిగరేషన్ ప్రొఫైల్ల సృష్టి మొదలైన వాటితో సహా ఈ వ్యాసంలో పైన చర్చించబడిన అనేక ఇంటరాక్టివ్ కమాండ్లు. మేము ఈ ప్రాంతాన్ని ఇక్కడ కవర్ చేయము, మీరు దీన్ని మీ స్వంతంగా తనిఖీ చేయవచ్చు. డాక్యుమెంటేషన్ లో.
తదుపరి ఇంటరాక్టివ్ కమాండ్ lxc config మేము చూసేది మీరు కాన్ఫిగరేషన్ను సెట్ చేయడానికి అనుమతిస్తుంది. ఉదాహరణకు, స్థానిక రిపోజిటరీకి డౌన్లోడ్ చేయబడిన ఇమేజ్లు గ్లోబల్ రిపోజిటరీల నుండి స్వయంచాలకంగా నవీకరించబడలేదని నిర్ధారించుకోవడానికి, మేము ఈ క్రింది ఆదేశంతో ఈ ప్రవర్తనను ప్రారంభించవచ్చు:
కంటైనర్ను సృష్టించడానికి ఆదేశాన్ని ఉపయోగించండి lxc init విలువలు ఆమోదించబడతాయి репозиторий:образ ఆపై కంటైనర్కు కావలసిన ID. రిపోజిటరీని స్థానికంగా పేర్కొనవచ్చు local: అలాగే ఏదైనా గ్లోబల్ ఒకటి. రిపోజిటరీ పేర్కొనబడకపోతే, డిఫాల్ట్గా చిత్రం కోసం శోధించడానికి స్థానిక రిపోజిటరీ ఉపయోగించబడుతుంది. చిత్రం గ్లోబల్ రిపోజిటరీ నుండి పేర్కొనబడితే, అప్పుడు చిత్రం మొదట స్థానిక రిపోజిటరీకి డౌన్లోడ్ చేయబడుతుంది మరియు ఆపై కంటైనర్ను రూపొందించడానికి ఉపయోగించబడుతుంది.
మన మొదటి కంటైనర్ను సృష్టించడానికి కింది ఆదేశాన్ని అమలు చేద్దాం:
lxc init alpine3 alp --storage=hddpool --profile=default --profile=hddroot
ఇక్కడ మనం ఉపయోగించే కమాండ్ కీలను ఈ క్రమంలో చూద్దాం:
alpine3 — గతంలో స్థానిక రిపోజిటరీకి అప్లోడ్ చేసిన ఇమేజ్కి అలియాస్ (అలియాస్) పేర్కొనబడింది. ఈ చిత్రం కోసం మారుపేరు సృష్టించబడకపోతే, మీరు ఎల్లప్పుడూ దాని ద్వారా చిత్రాన్ని సూచించవచ్చు వేలిముద్ర ఇది పట్టికలో ప్రదర్శించబడుతుంది.
alp - కంటైనర్ కోసం ఐడెంటిఫైయర్ను సెట్ చేస్తుంది
--storage - ఈ కీ దేనిలో సూచిస్తుంది నిల్వ కొలను ఒక కంటైనర్ సృష్టించబడుతుంది
--profile — ఈ కీలు క్యాస్కేడ్ గతంలో సృష్టించిన కాన్ఫిగరేషన్ ప్రొఫైల్ల నుండి కంటైనర్కు కాన్ఫిగరేషన్ను వర్తింపజేస్తాయి
మేము కంటైనర్ను ప్రారంభించాము, ఇది పంపిణీ యొక్క init సిస్టమ్ను ప్రారంభించడం ప్రారంభిస్తుంది:
lxc start alp
మీరు ఆదేశాన్ని కూడా ఉపయోగించవచ్చు lxc launch ఇది జట్లను కలపడానికి మిమ్మల్ని అనుమతిస్తుంది lxc init и lxc start ఒక ఆపరేషన్లో.
కంటైనర్ స్థితిని తనిఖీ చేస్తోంది:
lxc list -c ns46tb
+------+---------+------------------+------+-----------+--------------+
| NAME | STATE | IPV4 | IPV6 | TYPE | STORAGE POOL |
+------+---------+------------------+------+-----------+--------------+
| alp | RUNNING | 10.0.5.46 (eth0) | | CONTAINER | hddpool |
+------+---------+------------------+------+-----------+--------------+
విభాగంలో profiles ఈ కంటైనర్ రెండు కాన్ఫిగరేషన్ ప్రొఫైల్లను ఉపయోగిస్తుందని మేము నిర్ధారించుకోవచ్చు - default и hddroot. విభాగంలో devices నెట్వర్క్ పరికరం ప్రొఫైల్ స్థాయిలో సృష్టించబడినందున మేము ఒక పరికరాన్ని మాత్రమే గుర్తించగలము default. కంటైనర్ ఉపయోగించే అన్ని పరికరాలను చూడటానికి మీరు ఒక కీని జోడించాలి --expanded:
మేము నెట్వర్క్ పరికరం కోసం IP చిరునామాను సెట్ చేయడానికి ప్రయత్నిస్తే eth0 జట్టు lxc config device set alp కంటైనర్ కాన్ఫిగరేషన్ కోసం ఉద్దేశించబడింది, అప్పుడు పరికరం ఉనికిలో లేదని నివేదించే ఒక లోపాన్ని మేము స్వీకరిస్తాము. eth0 కంటైనర్ ద్వారా ఉపయోగించబడేది ప్రొఫైల్కు చెందినది default:
lxc config device set alp eth0 ipv4.address 10.0.5.5
Error: The device doesn't exist
మేము ఖచ్చితంగా స్టాటిక్ IP చిరునామాను సెట్ చేయవచ్చు eth0 ప్రొఫైల్లోని పరికరాలు, కానీ ఈ ప్రొఫైల్ని ఉపయోగించే అన్ని కంటైనర్లకు ఇది ఒకే విధంగా ఉంటుంది. కాబట్టి, కంటైనర్కు అంకితమైన పరికరాన్ని జోడిద్దాం:
lxc config device add alp eth0 nic name=eth0 nictype=bridged parent=lxdbr0 ipv4.address=10.0.5.5
అప్పుడు మీరు కంటైనర్ను పునఃప్రారంభించాలి:
lxc restart alp
మనం ఇప్పుడు కంటైనర్ కాన్ఫిగరేషన్ను పరిశీలిస్తే, మనం ఎంపికను ఉపయోగించాల్సిన అవసరం లేదు --expanded నెట్వర్క్ పరికరాన్ని చూడటానికి eth0, మేము దానిని కంటైనర్ స్థాయిలో సృష్టించాము మరియు ప్రొఫైల్ నుండి అదే పరికరంలో క్యాస్కేడ్ చేయబడింది default:
నెట్వర్క్ కనెక్షన్లను దాటవేస్తూ నేరుగా కంటైనర్లో ఆదేశాలను అమలు చేయడానికి, ఆదేశాన్ని ఉపయోగించండి lxc exec ఇది సిస్టమ్ షెల్ను ప్రారంభించకుండా కంటైనర్లో ఆదేశాలను అమలు చేస్తుంది. వేరియబుల్స్, ఫైల్ రీడైరెక్షన్లు (పైప్) మొదలైన షెల్ నమూనాలను ఉపయోగించి మీరు షెల్లో కమాండ్ను అమలు చేయవలసి వస్తే, మీరు షెల్ను స్పష్టంగా ప్రారంభించి, ఆదేశాన్ని కీగా పాస్ చేయాలి, ఉదాహరణకు:
lxc exec alp -- /bin/sh -c "echo $HOME"
కమాండ్ ప్రత్యేక ఎస్కేప్ అక్షరాన్ని ఉపయోగించింది ప్రత్యేక పాత్ర కోసం $ తద్వారా వేరియబుల్ $HOME హోస్ట్ మెషీన్లో అన్వయించబడలేదు, కానీ కంటైనర్ లోపల మాత్రమే వివరించబడింది.
ఇంటరాక్టివ్ షెల్ మోడ్ను ప్రారంభించడం, ఆపై హాట్కీని అమలు చేయడం ద్వారా సెషన్ను ముగించడం కూడా సాధ్యమే CTRL+D:
LXDలో, మీరు ప్రత్యేక కాన్ఫిగరేషన్ని ఉపయోగించి కంటైనర్ వనరులను నిర్వహించవచ్చు. కంటైనర్ కాన్ఫిగరేషన్ పారామితుల పూర్తి జాబితాను కనుగొనవచ్చు డాక్యుమెంటేషన్ లో.
CPU వనరులను పరిమితం చేయడానికి అనేక మార్గాలు ఉన్నాయి. పరిమితుల రకాలు:
limit.cpu - ఒకటి లేదా అంతకంటే ఎక్కువ CPU కోర్లకు కంటైనర్ను బంధిస్తుంది
limits.cpu.allowance - సమయ పరిమితి ముగిసినప్పుడు CFS షెడ్యూలర్ కోటాలను లేదా శాతం దాటిన తర్వాత యూనివర్సల్ CPU రిసోర్స్ షేరింగ్ మెకానిజంను నిర్వహిస్తుంది
limits.cpu.priority - ప్రాసెసర్ల సమితిని పంచుకునే బహుళ సందర్భాలు ఒకే శాతం ప్రాసెసర్లను కేటాయించినప్పుడు షెడ్యూలర్ ప్రాధాన్యత
వంటి పరిమితులతో పాటు limits.read, limits.write మేము కంటైనర్ ద్వారా వినియోగించే డిస్క్ స్థలాన్ని కూడా పరిమితం చేయవచ్చు (ZFS లేదా BTRFSతో మాత్రమే పని చేస్తుంది):
lxc config device set alp root size=2GB
సంస్థాపన తర్వాత, పరామితిలో devices.root.size మేము సెట్ పరిమితిని ధృవీకరించవచ్చు:
lxc config show alp
...
devices:
root:
path: /
pool: hddpool
size: 2GB
type: disk
ephemeral: false
profiles:
- default
- hddroot
stateful: false
description: ""
ఉపయోగించిన డిస్క్ కోటాలను వీక్షించడానికి మనం కమాండ్ నుండి పొందవచ్చు 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
మేము కంటైనర్ యొక్క రూట్ పరికరానికి పరిమితిని 2GBకి సెట్ చేసినప్పటికీ, సిస్టమ్ యుటిలిటీలు df ఈ పరిమితిని చూడలేరు. దీన్ని చేయడానికి, మేము ఒక చిన్న పరీక్షను నిర్వహిస్తాము మరియు అది ఎలా పని చేస్తుందో కనుగొంటాము.
అదే 2 కొత్త ఒకేరకమైన కంటైనర్లను సృష్టిద్దాం నిల్వ కొలను (hddpool):
lxc exec alp1 -- ls -lh
total 1000M
-rw-r--r-- 1 root root 1000.0M Mar 27 10:16 file.img
మేము రెండవ కంటైనర్లో చూస్తే, అదే స్థలంలో ఫైల్ ఉనికిని తనిఖీ చేయండి, అప్పుడు ఈ ఫైల్ అక్కడ ఉండదు, ఇది ఊహించినది, ఎందుకంటే కంటైనర్లు వాటి స్వంతదానిలో సృష్టించబడతాయి. నిల్వ వాల్యూమ్ దాని లాగే నిల్వ కొలను:
lxc exec alp2 -- ls -lh
total 0
కానీ అది ఉత్పత్తి చేసే విలువలను పోల్చి చూద్దాం df ఒకటి మరియు మరొక కంటైనర్లో:
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% /
...
పరికరం /dev/loop1 రూట్ విభజన వలె మౌంట్ చేయబడింది నిల్వ కొలను ఈ కంటైనర్లు ఉపయోగించేవి, కాబట్టి అవి దాని వాల్యూమ్ను రెండింటి మధ్య పంచుకుంటాయి.
LXD స్నాప్షాట్లను సృష్టించి, వాటి నుండి కంటైనర్ స్థితిని పునరుద్ధరించగల సామర్థ్యాన్ని కలిగి ఉంది.
స్నాప్షాట్ సృష్టించడానికి, కింది ఆదేశాన్ని అమలు చేయండి:
lxc snapshot alp snapshot1
జట్టు lxc snapshot కీ అందుబాటులో లేదు list, కాబట్టి, స్నాప్షాట్ల జాబితాను వీక్షించడానికి మీరు కంటైనర్ గురించి సాధారణ సమాచారాన్ని ప్రదర్శించే ఆదేశాన్ని ఉపయోగించాలి:
lxc info alp
...
...
Snapshots:
snapshot1 (taken at 2020/04/08 18:18 UTC) (stateless)
మీరు కమాండ్ ఉపయోగించి స్నాప్షాట్ నుండి కంటైనర్ను పునరుద్ధరించవచ్చు lxc restore పునరుద్ధరణ నిర్వహించబడే కంటైనర్ మరియు స్నాప్షాట్ అలియాస్ను పేర్కొనడం:
lxc restore alp snapshot1
స్నాప్షాట్ను తొలగించడానికి కింది ఆదేశం ఉపయోగించబడుతుంది. కమాండ్ సింటాక్స్ అన్ని ఇతర వాటితో సమానంగా లేదని దయచేసి గమనించండి; ఇక్కడ మీరు కంటైనర్ పేరు తర్వాత ఫార్వర్డ్ స్లాష్ను పేర్కొనాలి. స్లాష్ విస్మరించబడితే, స్నాప్షాట్ను తొలగించాలనే ఆదేశం కంటైనర్ను తొలగించే కమాండ్గా వివరించబడుతుంది!
lxc delete alp/snapshot1
ఎగువ ఉదాహరణలో, మేము స్థితిలేని స్నాప్షాట్లు అని పిలవబడే వాటిని చూశాము. LXD మరొక రకమైన స్నాప్షాట్లను కలిగి ఉంది - స్టేట్ఫుల్, ఇది కంటైనర్లోని అన్ని ప్రక్రియల ప్రస్తుత స్థితిని సేవ్ చేస్తుంది. స్టేట్ఫుల్ స్నాప్షాట్లతో అనుబంధించబడిన అనేక ఆసక్తికరమైన మరియు ఉపయోగకరమైన ఫీచర్లు ఉన్నాయి.