ಎಲ್ಎಕ್ಸ್ಡಿ ಮುಂದಿನ ಪೀಳಿಗೆಯ ಸಿಸ್ಟಮ್ ಕಂಟೇನರ್ ಮ್ಯಾನೇಜರ್ ಆಗಿದೆ, ಆದ್ದರಿಂದ ಅದು ಹೇಳುತ್ತದೆ ಮೂಲ. ಇದು ವರ್ಚುವಲ್ ಯಂತ್ರಗಳಂತೆಯೇ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ನೀಡುತ್ತದೆ, ಆದರೆ ಬದಲಿಗೆ ಲಿನಕ್ಸ್ ಕಂಟೈನರ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ.
LXD ಕೋರ್ ಸ್ಥಳೀಯ ಯುನಿಕ್ಸ್ ಸಾಕೆಟ್ ಮೂಲಕ 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 ಮತ್ತು ಹೀಗೆ.
sudo apt update
sudo apt install lxd
ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ನ್ಯಾಪ್ ಪ್ಯಾಕೇಜ್ ಆಗಿ ಸ್ಥಾಪಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳೋಣ:
snap list
Name Version Rev Tracking Publisher Notes
core 16-2.43.3 8689 stable canonical✓ core
lxd 3.21 13474 stable/… canonical✓ -
ಆರ್ಚ್ ಲಿನಕ್ಸ್ ವಿತರಣೆಗಳಲ್ಲಿ LXD ಅನ್ನು ಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ ^
ಸಿಸ್ಟಮ್ನಲ್ಲಿ LXD ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲು, ನೀವು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಗಳನ್ನು ಚಲಾಯಿಸಬೇಕು, ಮೊದಲನೆಯದು ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಲಭ್ಯವಿರುವ ಸಿಸ್ಟಮ್ನಲ್ಲಿ ಪ್ಯಾಕೇಜ್ಗಳ ಪಟ್ಟಿಯನ್ನು ನವೀಕರಿಸುತ್ತದೆ, ಎರಡನೆಯದು ನೇರವಾಗಿ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ:
sudo pacman -Syyu && sudo pacman -S lxd
ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ, ನಿಯಮಿತ ಬಳಕೆದಾರರಿಂದ LXD ಅನ್ನು ನಿರ್ವಹಿಸಲು, ಅದನ್ನು ಸಿಸ್ಟಮ್ ಗುಂಪಿಗೆ ಸೇರಿಸಬೇಕು lxd:
sudo usermod -a -G lxd user1
ಬಳಕೆದಾರರನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳೋಣ user1 ಗುಂಪಿಗೆ ಸೇರಿಸಲಾಗಿದೆ lxd:
id -Gn user1
user1 adm dialout cdrom floppy sudo audio dip video plugdev netdev lxd
ಒಂದು ವೇಳೆ ಗುಂಪು lxd ಪಟ್ಟಿಯಲ್ಲಿ ಗೋಚರಿಸುವುದಿಲ್ಲ, ನಂತರ ನೀವು ಬಳಕೆದಾರ ಸೆಶನ್ ಅನ್ನು ಮತ್ತೆ ಸಕ್ರಿಯಗೊಳಿಸಬೇಕಾಗುತ್ತದೆ. ಇದನ್ನು ಮಾಡಲು, ನೀವು ಅದೇ ಬಳಕೆದಾರರ ಅಡಿಯಲ್ಲಿ ಲಾಗ್ ಔಟ್ ಮತ್ತು ಲಾಗ್ ಇನ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.
ಸಕ್ರಿಯಗೊಳಿಸಿ systemd ಸಿಸ್ಟಮ್ ಪ್ರಾರಂಭದಲ್ಲಿ LXD ಸೇವೆಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ:
ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು, LXD ನಲ್ಲಿ ಸಂಗ್ರಹಣೆಯು ತಾರ್ಕಿಕವಾಗಿ ಹೇಗೆ ಜೋಡಿಸಲ್ಪಟ್ಟಿದೆ ಎಂಬುದನ್ನು ನಾವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕು.
ಸಂಗ್ರಹಣೆ (ಶೇಖರಣಾ) ಒಳಗೊಂಡಿದೆ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನವರಿಂದ ಶೇಖರಣಾ ಪೂಲ್ ಇದು ZFS, BTRFS, LVM ಅಥವಾ ಸಾಮಾನ್ಯ ಡೈರೆಕ್ಟರಿಗಳಂತಹ ಬೆಂಬಲಿತ ಫೈಲ್ ಸಿಸ್ಟಮ್ಗಳಲ್ಲಿ ಒಂದನ್ನು ಬಳಸುತ್ತದೆ. ಪ್ರತಿ ಶೇಖರಣಾ ಪೂಲ್ ಸಂಪುಟಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ (ಶೇಖರಣಾ ಪರಿಮಾಣ) ಇತರ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಚಿತ್ರಗಳು, ಕಂಟೈನರ್ಗಳು ಅಥವಾ ಡೇಟಾವನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.
ಚಿತ್ರಗಳು - ಇವು ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಇಲ್ಲದೆ ವಿಶೇಷವಾಗಿ ಜೋಡಿಸಲಾದ ವಿತರಣೆಗಳು ಮತ್ತು ಬಾಹ್ಯ ಮೂಲಗಳಿಂದ ಲಭ್ಯವಿವೆ
ಕಂಟೇನರ್ಗಳು - ಇವು ಚಿತ್ರಗಳಿಂದ ನಿಯೋಜಿಸಲಾದ ವಿತರಣೆಗಳು, ಬಳಕೆಗೆ ಸಿದ್ಧವಾಗಿವೆ
ಸ್ನ್ಯಾಪ್ಶಾಟ್ಗಳು - ಇವುಗಳು ನೀವು ಹಿಂತಿರುಗಬಹುದಾದ ಕಂಟೈನರ್ಗಳ ಸ್ಥಿತಿಯ ಸ್ನ್ಯಾಪ್ಶಾಟ್ಗಳಾಗಿವೆ
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
ಎಲ್ವಿಎಂ
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 ಲೂಪ್ಬ್ಯಾಕ್ ಫೈಲ್ ಒಳಗೊಂಡಿದೆ /mnt/work/lxd/hddpool.img, ಮತ್ತು ಸಾಧನದಲ್ಲಿ /dev/loop0 ಲೂಪ್ಬ್ಯಾಕ್ ಫೈಲ್ ಒಳಗೊಂಡಿದೆ /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 ಪ್ರಕ್ರಿಯೆಯ ಸವಲತ್ತುಗಳನ್ನು ನೀಡುತ್ತದೆ, ಅಲ್ಲಿ:
ವಿಶೇಷ ಧಾರಕಗಳು - ಇವುಗಳು ಯುಐಡಿ ಮತ್ತು ಜಿಐಡಿಯೊಂದಿಗೆ ಪ್ರಕ್ರಿಯೆಗಳು ಹೋಸ್ಟ್ ಸಿಸ್ಟಮ್ನಲ್ಲಿರುವ ಅದೇ ಮಾಲೀಕರಿಗೆ ಸಂಬಂಧಿಸಿರುವ ಧಾರಕಗಳಾಗಿವೆ. ಉದಾಹರಣೆಗೆ, 0 ರ UID ಯೊಂದಿಗೆ ಧಾರಕದಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಯು 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 ವಿಳಾಸವನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತವೆ ಎಂಬುದನ್ನು ಗಮನಿಸುವುದು ಮುಖ್ಯವಾಗಿದೆ. ಕಂಟೇನರ್ಗಾಗಿ ನಿಯೋಜಿಸಲಾದ ಸ್ಥಿರ ಐಪಿ ವಿಳಾಸದೊಂದಿಗೆ ಕಂಟೇನರ್ ಅನ್ನು ರಚಿಸುವ ಅಗತ್ಯವಿದ್ದರೆ, ನೀವು ನೆಟ್ವರ್ಕ್ ಸಾಧನದ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಕಂಟೇನರ್ ಮಟ್ಟದಲ್ಲಿ (ಸ್ಥಳೀಯ ಕಾನ್ಫಿಗರೇಶನ್) ಐಪಿ ವಿಳಾಸ ಪ್ಯಾರಾಮೀಟರ್ನೊಂದಿಗೆ ರಚಿಸಬೇಕು ಮತ್ತು ಪ್ರೊಫೈಲ್ ಮಟ್ಟದಲ್ಲಿ ಅಲ್ಲ.
ಪ್ರೊಫೈಲ್ ಅನ್ನು ಪರಿಶೀಲಿಸೋಣ:
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:
ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಅನ್ನು ಹೊಂದಿರದ ವಿಶೇಷವಾಗಿ ಜೋಡಿಸಲಾದ ವಿತರಣೆಗಳ ಚಿತ್ರಗಳಿಂದ ಕಂಟೈನರ್ಗಳನ್ನು ರಚಿಸಲಾಗಿದೆ. ಆದ್ದರಿಂದ, ಧಾರಕವನ್ನು ಚಾಲನೆ ಮಾಡುವ ಮೊದಲು, ಅದನ್ನು ಈ ಚಿತ್ರದಿಂದ ನಿಯೋಜಿಸಬೇಕು. ಚಿತ್ರಗಳ ಮೂಲವು ಸ್ಥಳೀಯ ರೆಪೊಸಿಟರಿಯಾಗಿದ್ದು, ಬಾಹ್ಯ ರೆಪೊಸಿಟರಿಗಳಿಂದ ಚಿತ್ರಗಳನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ.
ಸೀಮಿತ ಸಂಖ್ಯೆಯ ಕಾಲಮ್ಗಳನ್ನು ಪ್ರದರ್ಶಿಸಲು ನಾವು ಆಯ್ಕೆಯನ್ನು ಬಳಸಿದ್ದೇವೆ -c ನಿಯತಾಂಕಗಳೊಂದಿಗೆ dasut, ಮತ್ತು ಆಜ್ಞೆಯೊಂದಿಗೆ ಪಟ್ಟಿಯ ಉದ್ದವನ್ನು ಸಹ ಸೀಮಿತಗೊಳಿಸಲಾಗಿದೆ head.
ಚಿತ್ರಗಳ ಪಟ್ಟಿಯನ್ನು ಪ್ರದರ್ಶಿಸಲು ಫಿಲ್ಟರಿಂಗ್ ಲಭ್ಯವಿದೆ. ಕೆಳಗಿನ ಆಜ್ಞೆಯು ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ವಿತರಣಾ ಆರ್ಕಿಟೆಕ್ಚರ್ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ ಆಲ್ಪೈನ್ ಲಿನಕ್ಸ್:
ಕಂಟೇನರ್ ಅನ್ನು ಬಳಸಲು ಪ್ರಾರಂಭಿಸಲು, ನೀವು ಜಾಗತಿಕ ರೆಪೊಸಿಟರಿಯಿಂದ ಸ್ಥಳೀಯ ಒಂದಕ್ಕೆ ಚಿತ್ರವನ್ನು ಸೇರಿಸುವ ಅಗತ್ಯವಿದೆ 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 ಯಾವ ಮೌಲ್ಯಗಳನ್ನು ರವಾನಿಸಲಾಗುತ್ತದೆ репозиторий:образ ತದನಂತರ ಕಂಟೇನರ್ಗೆ ಬೇಕಾದ ಐಡಿ. ರೆಪೊಸಿಟರಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು 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 ಮತ್ತೊಂದು ರೀತಿಯ ಸ್ನ್ಯಾಪ್ಶಾಟ್ಗಳನ್ನು ಹೊಂದಿದೆ - ಸ್ಟೇಟ್ಫುಲ್, ಇದು ಕಂಟೇನರ್ನಲ್ಲಿನ ಎಲ್ಲಾ ಪ್ರಕ್ರಿಯೆಗಳ ಪ್ರಸ್ತುತ ಸ್ಥಿತಿಯನ್ನು ಉಳಿಸುತ್ತದೆ. ಸ್ಟೇಟ್ಫುಲ್ ಸ್ನ್ಯಾಪ್ಶಾಟ್ಗಳಿಗೆ ಸಂಬಂಧಿಸಿದ ಹಲವಾರು ಆಸಕ್ತಿದಾಯಕ ಮತ್ತು ಉಪಯುಕ್ತ ವೈಶಿಷ್ಟ್ಯಗಳಿವೆ.