Lxd ã¯æ¬¡äžä»£ã®ã·ã¹ãã ã³ã³ãã ãããŒãžã£ãŒã§ããããã
LXDã³ã¢ ã¯ãããŒã«ã«ã® UNIX ãœã±ããçµç±ã§ããŸãé©åãªæ§æãã€ã³ã¹ããŒã«ãããŠããå Žåã¯ãããã¯ãŒã¯çµç±ã§ REST API ãæäŸããç¹æš©ããŒã¢ã³ (root æš©éã§å®è¡ããããµãŒãã¹) ã§ãã LXD ã§æäŸãããã³ãã³ã ã©ã€ã³ ããŒã«ãªã©ã®ã¯ã©ã€ã¢ã³ãã¯ããã® REST API ãéããŠãªã¯ãšã¹ããäœæããŸãã ããã¯ãããŒã«ã« ãã¹ãã«ã¢ã¯ã»ã¹ããŠããããªã¢ãŒã ãã¹ãã«ã¢ã¯ã»ã¹ããŠãããã«é¢ä¿ãªãããã¹ãŠãåãããã«æ©èœããããšãæå³ããŸãã
ãã®èšäºã§ã¯ãLXD ã®æŠå¿µã«ã€ããŠã¯è©³ãã説æããŸããããŸããã³ã³ãããŒãšäžŠè¡ã㊠QEMU ä»®æ³ãã·ã³ããµããŒãããææ°ããŒãžã§ã³ã® LXD ã§ã®æè¿ã®å®è£ ãå«ããããã¥ã¡ã³ãã§æŠèŠã説æãããŠãããã¹ãŠã®å©çšå¯èœãªæ©èœã«ã€ããŠã¯èæ ®ããŸããã 代ããã«ãã¹ãã¬ãŒãž ããŒã«ã®ã»ããã¢ããããããã¯ãŒã¯ãã³ã³ããã®å®è¡ããªãœãŒã¹å¶éã®é©çšãã¹ãããã·ã§ããã®äœ¿çšæ¹æ³ãªã©ãã³ã³ãã管çã®åºæ¬ã ããåŠã³ãŸããããã«ãããLXD ã®åºæ¬ãç解ããLinux ã§ã³ã³ããã䜿çšã§ããããã«ãªããŸãã
å®å šãªæ å ±ã«ã€ããŠã¯ãå ¬åŒãœãŒã¹ãåç §ããŠãã ããã
ããã²ãŒã·ã§ã³
ã€ã³ã¹ããŒã«LXD ã¹ãã¬ãŒãžLXDïŒã¹ãã¬ãŒãžïŒ LXDã®åæåäž ã¹ãã¬ãŒãžããŒã«ã®ãã¡ã€ã«ã·ã¹ãã ã®éžæ ãŠã£ã¶ãŒãã䜿çšãããããã¯ãŒã¯ãšã¹ãã¬ãŒãž ããŒã«ã®åæå è¿œå ã®ã¹ãã¬ãŒãžããŒã«ã®äœæ å®å šæ§ã ã³ã³ããã®æš©é ä»®æ³ãããã¯ãŒã¯ã¹ã€ããã®äœæ æ§æãããã¡ã€ã« ç»åãªããžã㪠LXD æ§æ
ã³ã³ããã®äœæãšç®¡ç
ã€ã³ã¹ããŒã«LXD ^
Ubuntu ãã£ã¹ããªãã¥ãŒã·ã§ã³ãžã® LXD ã®ã€ã³ã¹ããŒã« ^
Ubuntu 19.10 é
åžããã±ãŒãžå
lxd
ã«æŸéããããŸã
apt search lxd
lxd/eoan 1:0.7 all
Transitional package - lxd -> snap (lxd)
ããã¯ãXNUMX ã€ã®ããã±ãŒãžãäžåºŠã«ã€ã³ã¹ããŒã«ãããXNUMX ã€ã¯ã·ã¹ãã ããã±ãŒãžãšããŠããã XNUMX ã€ã¯ã¹ããã ããã±ãŒãžãšããŠã€ã³ã¹ããŒã«ãããããšãæå³ããŸãã ã·ã¹ãã ã« XNUMX ã€ã®ããã±ãŒãžãã€ã³ã¹ããŒã«ãããšãã¹ããã ããã±ãŒãž ãããŒãžã£ãŒã«ãã£ãŠã¹ããã ããã±ãŒãžãåé€ãããå Žåã«ã·ã¹ãã ããã±ãŒãžãå€ç«ãããšããåé¡ãçºçããå¯èœæ§ããããŸãã
ããã±ãŒãžãæ¢ã 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â -
Arch Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³ãžã® LXD ã®ã€ã³ã¹ããŒã« ^
ã·ã¹ãã ã« LXD ããã±ãŒãžãã€ã³ã¹ããŒã«ããã«ã¯ã次ã®ã³ãã³ããå®è¡ããå¿ èŠããããŸããæåã®ã³ãã³ãã¯ãªããžããªã§å©çšå¯èœãªã·ã¹ãã äžã®ããã±ãŒãžã®ãªã¹ããæŽæ°ããXNUMX çªç®ã®ã³ãã³ãã¯ããã±ãŒãžãçŽæ¥ã€ã³ã¹ããŒã«ããŸãã
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 ãµãŒãã¹ãããŒãããŸãã
sudo systemctl enable lxd
ãµãŒãã¹ãéå§ããŸããã:
sudo systemctl start lxd
ãµãŒãã¹ã®ã¹ããŒã¿ã¹ã確èªãã:
sudo systemctl status lxd
ã¹ãã¬ãŒãžLXDïŒã¹ãã¬ãŒãžïŒ ^
åæåãéå§ããåã«ãLXD ã®ã¹ãã¬ãŒãžãã©ã®ããã«è«ççã«é 眮ãããŠããããç解ããå¿ èŠããããŸãã
ã¹ãã¬ãŒãž ïŒStorage)
- ç»å - ãããã¯ã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ã®åæåäž ^
ã³ã³ãããäœæããŠäœ¿çšããåã«ããããã¯ãŒã¯ãšã¹ãã¬ãŒãžãäœæããã³æ§æããäžè¬ç㪠LXD åæåãå®è¡ããå¿
èŠããããŸãã ããã¯ããªã¹ãã«ããæšæºã®ã¯ã©ã€ã¢ã³ã ã³ãã³ãã䜿çšããŠã次ã®ã³ãã³ããåŒã³åºããŠæåã§è¡ãããšãã§ããŸãã lxc --help
ãŸãã¯åæåãŠã£ã¶ãŒãã䜿çšãã lxd init
ããã€ãã®è³ªåã«çããŸãã
ã¹ãã¬ãŒãžããŒã«ã®ãã¡ã€ã«ã·ã¹ãã ã®éžæ ^
åæåäžã«ãLXD ã¯ããã©ã«ãã®ãã¡ã€ã« ã·ã¹ãã ã¿ã€ãã®æ±ºå®ãªã©ãããã€ãã®è³ªåãããŸãã ã¹ãã¬ãŒãžããŒã«ã ããã©ã«ãã§ã¯ãBTRFS ãã¡ã€ã« ã·ã¹ãã ãéžæãããŸãã äœæåŸã«å¥ã®FSã«å€æŽããããšã¯ã§ããŸããã FS ãéžæããããšããå§ãããŸã
ç¹åŸŽ
ãã£ã¬ã¯ããª
Btrfs
LVM
ZFS
ã»ã
æé©åãããç»åã¹ãã¬ãŒãž
ããã
ã¯ã
ã¯ã
ã¯ã
ã¯ã
æé©åãããã€ã³ã¹ã¿ã³ã¹äœæ
ããã
ã¯ã
ã¯ã
ã¯ã
ã¯ã
æé©åãããã¹ãããã·ã§ããäœæ
ããã
ã¯ã
ã¯ã
ã¯ã
ã¯ã
æé©åãããç»å転é
ããã
ã¯ã
ããã
ã¯ã
ã¯ã
æé©åãããã€ã³ã¹ã¿ã³ã¹è»¢é
ããã
ã¯ã
ããã
ã¯ã
ã¯ã
ã³ããŒãªã³ã©ã€ã
ããã
ã¯ã
ã¯ã
ã¯ã
ã¯ã
ãããã¯ããŒã¹
ããã
ããã
ã¯ã
ããã
ã¯ã
ã€ã³ã¹ã¿ã³ãã¯ããŒã³äœæ
ããã
ã¯ã
ã¯ã
ã¯ã
ã¯ã
ã³ã³ããå
ã§äœ¿çšå¯èœãªã¹ãã¬ãŒãžãã©ã€ããŒ
ã¯ã
ã¯ã
ããã
ããã
ããã
å€ãã¹ãããã·ã§ãã (ææ°ã§ã¯ãªã) ããã®åŸ©å
ã¯ã
ã¯ã
ã¯ã
ããã
ã¯ã
ã¹ãã¬ãŒãžå²ãåœãŠ
ã¯ãïŒ*ïŒ
ã¯ã
ã¯ã
ã¯ã
ããã
ãŠã£ã¶ãŒãã䜿çšãããããã¯ãŒã¯ãšã¹ãã¬ãŒãž ããŒã«ã®åæå ^
次ã«èª¬æããã³ãã³ãã¯ãåæåãŠã£ã¶ãŒãã䜿çšããŠç°¡åãªè³ªåã«çããããšã§ã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 ãã©ã€ãã«å¯Ÿå¿ããŸãã
ãæãã圹å²ã«ã€ããŠã®ç解ãæ·±ããããã次ã®ãããªåãçµã¿ãè¡ããŸãã ã¹ãã¬ãŒãžããŒã« ãªããžããªã« XNUMX çªç®ã®ãªããžããªãäœæããŸã ã¹ãã¬ãŒãžããŒã« ããã¯ç©ççã«ã¯å¥ã®çš®é¡ã®ãã£ã¹ã¯ (HDD) ã«é
眮ãããŸãã åé¡ã¯ãLXD ã§ã¯äœæã§ããªãããšã§ãã ã¹ãã¬ãŒãžããŒã« äœæå€ /var/lib/lxd/disks/
ã·ã³ããªãã¯ãªã³ã¯ãæ©èœããŸãã source
.
ãšããããšã§ãäœæããåã« ã¹ãã¬ãŒãžããŒã« ã«ãŒããã㯠ãã¡ã€ã«ããŸãã¯ããã䜿çšãããã¡ã€ã« ã·ã¹ãã äžã®æ¢åã®ããŒãã£ã·ã§ã³ãå®çŸ©ããå¿ èŠããããŸãã ãããè¡ãã«ã¯ããµã€ãºã 10 GB ã«å¶éãããã¡ã€ã«ãäœæããŠäœ¿çšããŸãã
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
ã«ãŒããã㯠ãã¡ã€ã«ã空ãã«ãŒããã㯠ããã€ã¹ã«æ¥ç¶ããŸãããã
sudo losetup --find --show /mnt/work/lxd/hddpool.img
/dev/loop1
éµã®ããã㧠--show
ã³ãã³ããå®è¡ãããšãã«ãŒããã㯠ãã¡ã€ã«ãæ¥ç¶ãããŠããããã€ã¹ã®ååãç»é¢ã«è¿ãããŸãã å¿
èŠã«å¿ããŠããã®ã¿ã€ãã®ããžãŒç¶æ
ã®ãã¹ãŠã®ããã€ã¹ã®ãªã¹ãã衚瀺ããŠãã¢ã¯ã·ã§ã³ãæ£ããããšã確èªã§ããŸãã
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
ãªã¹ããããããã€ã¹ã«æ¬¡ã®æ©èœãããããšãããããŸãã /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 ãã¡ã€ã« ã·ã¹ãã ã®å Žå:
lxc storage create hddpool btrfs size=10GB source=/dev/loop1
ãã¹ãŠã®ãªã¹ãã衚瀺ããŠã¿ãŸããã ã¹ãã¬ãŒãžããŒã« ç»é¢ãž:
lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| hddpool | | btrfs | /dev/loop1 | 0 |
+---------+-------------+--------+--------------------------------+---------+
| ssdpool | | btrfs | /var/lib/lxd/disks/ssdpool.img | 0 |
+---------+-------------+--------+--------------------------------+---------+
ã¹ãã¬ãŒãžããŒã«ã®ãµã€ãºãå¢ãã ^
äœæåŸ ã¹ãã¬ãŒãžããŒã«ãå¿ èŠã«å¿ããŠæ¡åŒµã§ããŸãã ã®ããã« ã¹ãã¬ãŒãžããŒã« BTRFS ãã¡ã€ã« ã·ã¹ãã ã«åºã¥ããŠã次ã®ã³ãã³ããå®è¡ããŸãã
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
ã«ãŒãããã¯ãã¡ã€ã«ãã«ãŒãããã¯ããã€ã¹ã¹ãããã«èªåæ¿å
¥ ^
å°ããªåé¡ã XNUMX ã€ãããŸãããã¹ã ã·ã¹ãã ãåèµ·åãããšããã¡ã€ã«ã /mnt/work/lxd/hddpool.img
ããã€ã¹ãããé£ã³åºãã /dev/loop1
ãŸãããã®ããã€ã¹ã§ã¯ LXD ãµãŒãã¹ãèªèãããªããããããŒãæã« 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).
åºåããããµãŒãã¹ã®ç¶æ
ã次ã§ããããšã確èªã§ããŸãã ã¢ã¯ãã£ãXNUMX ã€ã®ã³ãã³ãããã®ã¹ã¯ãªããã®å®è¡ãå®äºããã«ããããããããªãã·ã§ã³ã«ãããããå®è¡ã§ããããã«ãªããŸããã RemainAfterExit=true
.
å®å
šæ§ã ã³ã³ããã®æš©é ^
ãã¹ãŠã®ã³ã³ãã ããã»ã¹ã¯å®éã«ã¯ã«ãŒãã«ã䜿çšããŠãã¹ã ã·ã¹ãã äžã§åé¢ããŠå®è¡ãããããããã¹ã ã·ã¹ãã ãžã®ã³ã³ãã ããã»ã¹ã®ã¢ã¯ã»ã¹ãããã«ä¿è·ããããã«ãLXD ã¯ããã»ã¹æš©éãæäŸããŸãã
-
ç¹æš©ã³ã³ãã - ãããã¯ãUID ãš GID ãæã€ããã»ã¹ããã¹ã ã·ã¹ãã äžãšåãææè ã«å¯Ÿå¿ããã³ã³ãããŒã§ãã ããšãã°ãUID ã 0 ã®ã³ã³ããå ã§å®è¡ãããŠããããã»ã¹ã«ã¯ãUID ã 0 ã®ãã¹ã ã·ã¹ãã äžã®ããã»ã¹ãšãã¹ãŠåãã¢ã¯ã»ã¹æš©ããããŸããã€ãŸããã³ã³ããå ã® root ãŠãŒã¶ãŒã¯ãã³ã³ããå ã®ãã¹ãŠã®æš©éãæã£ãŠããŸããã³ã³ãããŒã ãã§ãªããã³ã³ãããŒã®åé¢ãããåå空éã®å€ã«åºãããšãã§ããå Žåã¯ãã¹ã ã·ã¹ãã äžã§ãåæ§ã§ãã
-
ç¹æš©ã®ãªãã³ã³ãã - ãããã¯ãããã»ã¹ã 0 ïœ 65535 ã®çªå·ãæ〠UID ãš GID ã®ææè ã«å±ããã³ã³ãããŒã§ããããã¹ã ã·ã¹ãã ã®å Žåãææè ã¯ããããè¿œå ããã SubUID ããããš SubGID ãããã䜿çšããŠãã¹ã¯ãããŸãã ããšãã°ãã³ã³ããå ã® UID=0 ãæã€ãŠãŒã¶ãŒã¯ããã¹ã ã·ã¹ãã äžã§ã¯æ¬¡ã®ããã«è¡šç€ºãããŸãã
SubUID + UID
ã ããã«ãããã³ã³ãããŒå ã®ããã»ã¹ãåé¢ãããåå空éããè±åºã§ããå Žåãæªç¥ã®éåžžã«é«ã UID/GID ãæã€ããã»ã¹ãšããŠã®ã¿ãã¹ã ã·ã¹ãã ãšéä¿¡ã§ããããããã¹ã ã·ã¹ãã ãä¿è·ãããŸãã
ããã©ã«ãã§ã¯ãæ°ããäœæãããã³ã³ãããŒã¯éç¹æš©ã¹ããŒã¿ã¹ãæã£ãŠãããããSubUID ãš SubGID ãå®çŸ©ããå¿ èŠããããŸãã
ãããã SubUID ãš SubGID ã®ãã¹ã¯ãèšå®ãã XNUMX ã€ã®æ§æãã¡ã€ã«ãäœæããŸãããã
sudo touch /etc{/subuid,/subgid}
sudo usermod --add-subuids 1000000-1065535 root
sudo usermod --add-subgids 1000000-1065535 root
å€æŽãé©çšããã«ã¯ãLXD ãµãŒãã¹ãåèµ·åããå¿ èŠããããŸãã
sudo systemctl restart lxd
ä»®æ³ãããã¯ãŒã¯ã¹ã€ããã®äœæ ^
以åã«åæåãŠã£ã¶ãŒãã䜿çšããŠãããã¯ãŒã¯ãåæåããããã lxd init
ãããã¯ãŒã¯ããã€ã¹ãäœæããŸãã lxdbr0次ã«ããã®ã»ã¯ã·ã§ã³ã§ã¯ãLXD ã®ãããã¯ãŒã¯ãšãã¯ã©ã€ã¢ã³ã ã³ãã³ãã䜿çšããŠä»®æ³ã¹ã€ãã (ããªããž) ãäœæããæ¹æ³ã«ã€ããŠç°¡åã«èª¬æããŸãã
次ã®å³ã¯ãã¹ã€ãã (ããªããž) ããã¹ããšã³ã³ãããŒããããã¯ãŒã¯ã«æ¥ç¶ããæ¹æ³ã瀺ããŠããŸãã
ã³ã³ãããŒã¯ããããã¯ãŒã¯ãä»ããŠä»ã®ã³ã³ãããŒãŸãã¯ãããã®ã³ã³ãããŒãæäŸããããã¹ããšéä¿¡ã§ããŸãã ãããè¡ãã«ã¯ãã³ã³ããã®ä»®æ³ãããã¯ãŒã¯ ã«ãŒããä»®æ³ã¹ã€ããã«ãªã³ã¯ããå¿ èŠããããŸãã æåã«ã¹ã€ãããäœæããã³ã³ããèªäœãäœæãããåŸãåŸç¶ã®ç« ã§ã³ã³ããã®ãããã¯ãŒã¯ ã€ã³ã¿ãŒãã§ã€ã¹ããªã³ã¯ããŸãã
次ã®ã³ãã³ãã¯ããµãããããæã€ã¹ã€ãããäœæããŸãã 10.0.5.0/24
ããã³IPv4ã¢ãã¬ã¹ 10.0.5.1/24
ããŸãã ipv4.nat
ã³ã³ããã NAT ãµãŒãã¹ã䜿çšããŠãã¹ãçµç±ã§ã€ã³ã¿ãŒãããã«ã¢ã¯ã»ã¹ã§ããããã«ããŸãã
lxc network create lxdbr0 ipv4.address=10.0.5.1/24 ipv4.nat=true ipv6.address=none
LXD ã§å©çšå¯èœãªãããã¯ãŒã¯ ããã€ã¹ã®ãªã¹ãã確èªããŸãã
lxc network list
+--------+----------+---------+-------------+---------+
| NAME | TYPE | MANAGED | DESCRIPTION | USED BY |
+--------+----------+---------+-------------+---------+
| eno1 | physical | NO | | 0 |
+--------+----------+---------+-------------+---------+
| lxdbr0 | bridge | YES | | 0 |
+--------+----------+---------+-------------+---------+
Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®æšæºããŒã«ã䜿çšããŠãããã¯ãŒã¯ ããã€ã¹ãäœæãããããšã確èªããããšãã§ããŸãã ip link
ãŸã㯠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
æ§æãããã¡ã€ã« ^
LXD ã®åã³ã³ãããŒã«ã¯ç¬èªã®æ§æããããã°ããŒãã«ã«å®£èšãããæ§æã䜿çšããŠæ¡åŒµã§ããŸãã æ§æãããã¡ã€ã«ã ã³ã³ãããŒãžã®æ§æãããã¡ã€ã«ã®é©çšã«ã¯ã«ã¹ã±ãŒã ã¢ãã«ãããã次ã®äŸã¯ããã瀺ããŠããŸãã
ãã®äŸã§ã¯ãLXD ã·ã¹ãã ã« XNUMX ã€ã®ãããã¡ã€ã«ãäœæãããŠããŸãã default
, hddpool
О hostfs
ã XNUMX ã€ã®ãããã¡ã€ã«ã¯ãã¹ãŠãããŒã«ã«æ§æ (ç°è²ã®é å) ãæã€ã³ã³ãããŒã«é©çšãããŸãã ãããã£ãŒã« 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: []
ãã®ãããã¡ã€ã«ã§ã¯ãæ°ããäœæããããã¹ãŠã®ã³ã³ãããŒã«å¯Ÿã㊠XNUMX ã€ã®ããã€ã¹ãäœæãããããšãããããŸãã
eth0
- ããã€ã¹ã¿ã€ãnic
ã¹ã€ããïŒãããã¯ãŒã¯ããªããžïŒã«æ¥ç¶lxdbr0
root
- ããã€ã¹ã¿ã€ãdisk
ã¹ãã¬ãŒãžããŒã«ã䜿çšããssdpool
æ°ãããããã¡ã€ã«ã®äœæ ^
以åã«äœæãããã®ã䜿çšããã«ã¯ ã¹ãã¬ãŒãžããŒã« ã³ã³ãããæ§æãããã¡ã€ã«ãäœæãã ssdroot
ããã§æ¬¡ã®ãããªããã€ã¹ãè¿œå ããŸã disk
ããŠã³ããã€ã³ããã /
(root) 以åã«äœæãããã®ãäœ¿çš ã¹ãã¬ãŒãžããŒã« - ssdpool
:
lxc profile create ssdroot
lxc profile device add ssdroot root disk path=/ pool=ssdpool
åæ§ã«ã次ã®ãããªããã€ã¹ãäœæããŸã disk
ããã ãããã®å Žåã¯æ¬¡ã䜿çšããŸã ã¹ãã¬ãŒãžããŒã« - hddpool
:
lxc profile create hddroot
lxc profile device add hddroot root disk path=/ pool=hddpool
æ§æãããã¡ã€ã«ã®ç¢ºèª:
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: []
ç»åãªããžã㪠^
ã³ã³ãããŒã¯ãLinux ã«ãŒãã«ãæããªãç¹å¥ã«çµã¿ç«ãŠããããã£ã¹ããªãã¥ãŒã·ã§ã³ã§ããã€ã¡ãŒãžããäœæãããŸãã ãããã£ãŠãã³ã³ãããŒãå®è¡ããåã«ããã®ã€ã¡ãŒãžããã³ã³ãããŒããããã€ããå¿ èŠããããŸãã ã€ã¡ãŒãžã®ãœãŒã¹ã¯ããŒã«ã« ãªããžããªã§ãã€ã¡ãŒãžã¯å€éšãªããžããªããããŠã³ããŒããããŸãã
ãªã¢ãŒãã€ã¡ãŒãžãªããžã㪠^
ããã©ã«ãã§ã¯ãLXD 㯠XNUMX ã€ã®ãªã¢ãŒã ãœãŒã¹ããç»åãåä¿¡ããããã«æ§æãããŠããŸãã
- UbuntuïŒ (å®å®ãã Ubuntu ã€ã¡ãŒãžã®å Žå)
- ubuntu-daily: (æ¯æ¥ã® Ubuntu ã€ã¡ãŒãžã®å Žå)
- ç»åïŒ (ä»ã®å€ãã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®å Žå)
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 |
+-----------------+------------------------------------------+--------+--------+
ããšãã°ããªããžã㪠ubuntu:
ã«ã¯æ¬¡ã®ãããªã€ã¡ãŒãžããããŸãã
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 |
+----------------------------------------------+--------------+----------+------------+
éãããæ°ã®åã衚瀺ããã«ã¯ããªãã·ã§ã³ã䜿çšããŸãã -c
ãã©ã¡ãŒã¿ä»ã dasut
ããŸããã³ãã³ãã䜿çšããŠãªã¹ãã®é·ããå¶éããŸãã head
.
ç»åããã£ã«ã¿ãªã³ã°ããŠäžèŠ§è¡šç€ºã§ããŸãã 次ã®ã³ãã³ãã¯ãå©çšå¯èœãªãã¹ãŠã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ ã¢ãŒããã¯ãã£ãäžèŠ§è¡šç€ºããŸãã
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 |
+------------------------------+--------------------------------------+--------------+
ããŒã«ã«ã€ã¡ãŒãžãªããžã㪠^
ã³ã³ããã®äœ¿çšãéå§ããã«ã¯ãã°ããŒãã« ãªããžããªããããŒã«ã« ãªããžããªã«ã€ã¡ãŒãžãè¿œå ããå¿
èŠããããŸã local:
ã ããã§ããŒã«ã« ãªããžããªã¯ç©ºã«ãªããã³ãã³ãã«ãã£ãŠããã確èªãããŸãã lxc image list
ã æ¹æ³ã®å Žå list
ãªããžããªãæå®ããªãå Žåãããã©ã«ãã§ããŒã«ã« ãªããžããªã䜿çšãããŸãã local:
lxc image list local:
+-------+-------------+--------+-------------+--------------+------+------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE |
+-------+-------------+--------+-------------+--------------+------+------+
ãªããžããªå ã®ã€ã¡ãŒãžã¯ã次ã®æ¹æ³ã䜿çšããŠç®¡çãããŸãã
ããŒã
説æ
lxcç»å alias
ã€ã¡ãŒãžã®ãšã€ãªã¢ã¹ã管çãã
lxcç»å copy
ãµãŒããŒéã§ç»åãã³ããŒãã
lxcç»å åé€
ç»åãåé€ãã
lxcç»å edit
ç»åã®ããããã£ãç·šéãã
lxcç»å export
ç»åã®ãšã¯ã¹ããŒããšããŠã³ããŒã
lxcç»å import
ã€ã¡ãŒãžãã€ã¡ãŒãž ã¹ãã¢ã«ã€ã³ããŒããã
lxcç»å info
ç»åã«é¢ãã圹ç«ã€æ
å ±ã衚瀺ãã
lxcç»å ãªã¹ã
ç»åäžèŠ§
lxcç»å ãªãã¬ãã·ã¥
ç»åãæŽæ°ãã
lxcç»å 衚瀺ãã
ç»åã®ããããã£ã衚瀺
ã€ã¡ãŒãžãã°ããŒãã« ãªããžããªããããŒã«ã« ãªããžããªã«ã³ããŒããŸã images:
:
lxc image copy images:alpine/3.11/amd64 local: --alias=alpine3
Image copied successfully!
ããŒã«ã« ãªããžããªã§çŸåšå©çšå¯èœãªãã¹ãŠã®ã€ã¡ãŒãžã®ãªã¹ãã衚瀺ããŠã¿ãŸããã local:
:
lxc image -c lfdatsu list local:
+---------+--------------+------------------------------------+--------------+
| ALIAS | FINGERPRINT | DESCRIPTION | ARCHITECTURE |
+---------+--------------+------------------------------------+--------------+
| alpine3 | 73a3093d4a5c | Alpine 3.11 amd64 (20200220_13:00) | x86_64 |
+---------+--------------+------------------------------------+--------------+
LXD æ§æ ^
察話åã¢ãŒãã«å ããŠãLXD ã¯é察話åæ§æã€ã³ã¹ããŒã« ã¢ãŒãããµããŒãããŠããŸããããã¯ãæ§æã YAML ãã¡ã€ã«ã®åœ¢åŒã§æå®ãããå Žåã§ãããå®è¡ããã€ãã¹ããŠæ§æå
šäœãäžåºŠã«ã€ã³ã¹ããŒã«ã§ããç¹å¥ãªåœ¢åŒã§ãããããã¯ãŒã¯æ§æãæ§æãããã¡ã€ã«ã®äœæãªã©ããã®èšäºã§äžã§èª¬æããå€ãã®å¯Ÿè©±åã³ãã³ãã®ãã¡ã® XNUMX ã€ã§ãã ãã®é åã«ã€ããŠã¯ããã§ã¯èª¬æããŸããã®ã§ããèªèº«ã§ç¢ºèªããŠãã ããã
次ã®å¯Ÿè©±åã³ãã³ã lxc config
ããã«ãããæ§æãèšå®ã§ããããã«ãªããŸãã ããšãã°ãããŒã«ã« ãªããžããªã«ããŠã³ããŒããããã€ã¡ãŒãžãã°ããŒãã« ãªããžããªããèªåçã«æŽæ°ãããªãããã«ããã«ã¯ã次ã®ã³ãã³ãã䜿çšããŠãã®åäœãæå¹ã«ããŸãã
lxc config set images.auto_update_cached=false
ã³ã³ããã®äœæãšç®¡ç ^
ã³ã³ãããäœæããã«ã¯ã次ã®ã³ãã³ãã䜿çšããŸã 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
XNUMXåã®æäœã§ã
ã³ã³ããã®ç¶æ ã確èªãã:
lxc list -c ns46tb
+------+---------+------------------+------+-----------+--------------+
| NAME | STATE | IPV4 | IPV6 | TYPE | STORAGE POOL |
+------+---------+------------------+------+-----------+--------------+
| alp | RUNNING | 10.0.5.46 (eth0) | | CONTAINER | hddpool |
+------+---------+------------------+------+-----------+--------------+
ã³ã³ããæ§æã®ç¢ºèª:
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: ""
ã»ã¯ã·ã§ã³ã§ profiles
ãã®ã³ã³ãããXNUMXã€ã®æ§æãããã¡ã€ã«ã䜿çšããŠããããšã確èªã§ããŸã- default
О hddroot
ã ã»ã¯ã·ã§ã³å
devices
ãããã¯ãŒã¯ããã€ã¹ã¯ãããã¡ã€ã«ã¬ãã«ã§äœæãããŠãããããæ€åºã§ããããã€ã¹ã¯ XNUMX ã€ã ãã§ã default
ã ã³ã³ããã§äœ¿çšãããŠãããã¹ãŠã®ããã€ã¹ã衚瀺ããã«ã¯ãããŒãè¿œå ããå¿
èŠããããŸã --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: ""
éçIPã¢ãã¬ã¹ã®èšå® ^
ãããã¯ãŒã¯ããã€ã¹ã«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 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: ""
ã³ã³ããã®åé€ ^
ã³ã³ãããåé€ããã«ã¯ã次ã®ã³ãã³ãã䜿çšããŸã lxc delete
ãã ããã³ã³ãããåé€ããåã«ã次ã®ã³ãã³ãã䜿çšããŠã³ã³ãããåæ¢ããå¿
èŠããããŸãã lxc stop
:
lxc stop alp
lxc list
+------+---------+-------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+---------+-------------------+------+-----------+-----------+
| alp | STOPPED | 10.0.5.10 (eth0) | | CONTAINER | 0 |
+------+---------+-------------------+------+-----------+-----------+
ã³ã³ããã®ç¶æ ã以äžã«ãªã£ãŠããããšã確èªããåŸã åæ¢ããåé€ã§ããŸãã ã¹ãã¬ãŒãžããŒã«:
lxc delete alp
ã³ã³ãããžã®ã¢ã¯ã»ã¹ ^
ãããã¯ãŒã¯æ¥ç¶ããã€ãã¹ããŠã³ã³ããå
ã§ã³ãã³ããçŽæ¥å®è¡ããã«ã¯ã次ã®ã³ãã³ãã䜿çšããŸãã lxc exec
ããã«ãããã·ã¹ãã ã·ã§ã«ãèµ·åããã«ã³ã³ããå
ã§ã³ãã³ããå®è¡ãããŸãã å€æ°ããã¡ã€ã« ãªãã€ã¬ã¯ã (ãã€ã) ãªã©ã®ã·ã§ã« ãã¿ãŒã³ã䜿çšããŠã·ã§ã«ã§ã³ãã³ããå®è¡ããå¿
èŠãããå Žåã¯ãã·ã§ã«ãæ瀺çã«èµ·åããã³ãã³ããããŒãšããŠæž¡ãå¿
èŠããããŸãã次ã«äŸã瀺ããŸãã
lxc exec alp -- /bin/sh -c "echo $HOME"
ã³ãã³ãã§ç¹æ®ãªãšã¹ã±ãŒãæåã䜿çšãããŸãã ç¹æ®ãªæåã®å Žå
$
å€æ°ã $HOME
ãã¹ã ãã·ã³äžã§ã¯è§£éããããã³ã³ããå
ã§ã®ã¿è§£éãããŸããã
ã€ã³ã¿ã©ã¯ãã£ã ã·ã§ã« ã¢ãŒããéå§ãããããããŒãå®è¡ããŠã»ãã·ã§ã³ãçµäºããããšãã§ããŸãã CTRL+D
:
lxc exec alp -- /bin/sh
ã³ã³ãããªãœãŒã¹ç®¡ç ^
LXD ã§ã¯ãç¹å¥ãªæ§æã»ããã䜿çšããŠã³ã³ãã㌠ãªãœãŒã¹ã管çã§ããŸãã ã³ã³ããæ§æãã©ã¡ãŒã¿ã®å®å
šãªãªã¹ãã¯ãã¡ãããã芧ããã ããŸãã
RAMãªãœãŒã¹ã®å¶é ^
ãã©ã¡ãŒã¿ãŒ limits.memory
ã³ã³ãããŒã§äœ¿çšã§ãã RAM ã®éãå¶éããŸãã å€ã¯æ°å€ã§ããã次ã®ããããã§ãã
ã³ã³ãããŒã® RAM å¶éã 256 MB ã«èšå®ããŸãããã
lxc config set alp limits.memory 256MB
ãŸããã¡ã¢ãªãå¶éããããã®ä»ã®ãã©ã¡ãŒã¿ããããŸãã
limits.memory.enforce
limits.memory.hugepages
limits.memory.swap
limits.memory.swap.priority
ããŒã lxc config show
èšå®ãããŠããé©çšããããªãœãŒã¹å¶éãå«ããã³ã³ãããŒæ§æå
šäœã衚瀺ã§ããŸãã
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: ""
CPUãªãœãŒã¹å¶é ^
CPU ãªãœãŒã¹ãå¶éããã«ã¯ãããã€ãã®æ¹æ³ããããŸãã
limit.cpu
- ã³ã³ããã XNUMX ã€ä»¥äžã® CPU ã³ã¢ã«ãã€ã³ãããŸãlimits.cpu.allowance
- å¶éæéãçµéããå Žå㯠CFS ã¹ã±ãžã¥ãŒã© ã¯ã©ãŒã¿ã管çããããŒã»ã³ããŒãžãçµéããå Žåã¯ãŠãããŒãµã« CPU ãªãœãŒã¹å ±æã¡ã«ããºã ã管çããŸããlimits.cpu.priority
- äžé£ã®ããã»ããµãå ±æããè€æ°ã®ã€ã³ã¹ã¿ã³ã¹ã«åãå²åã®ããã»ããµãå²ãåœãŠãããŠããå Žåã®ã¹ã±ãžã¥ãŒã©ã®åªå é äœ
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: ""
ãã£ã¹ã¯å®¹éã®å¶é ^
ãªã©ã®å¶éã«å ããŠã 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 ã€ã®æ°ããåäžã®ã³ã³ãããäœæããŸããã ã¹ãã¬ãŒãžããŒã« (hddããŒã«):
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 |
+------+---------+------------------+------+-----------+-----------+
ããããã®ã³ã³ããã« 1 GB ã®ãã¡ã€ã«ãäœæããŸãããã
lxc exec alp1 -- dd if=/dev/urandom of=file.img bs=1M count=1000
ãã¡ã€ã«ãäœæãããããšã確èªããŠã¿ãŸãããã
lxc exec alp1 -- ls -lh
total 1000M
-rw-r--r-- 1 root root 1000.0M Mar 27 10:16 file.img
XNUMX çªç®ã®ã³ã³ãããŒã調ã¹ãŠãåãå Žæã«ãã¡ã€ã«ãååšãããã©ããã確èªãããšãã³ã³ãããŒã¯ç¬èªã®ã³ã³ãããŒã§äœæãããããããã®ãã¡ã€ã«ã¯ååšããŸãããããã¯äºæ³ãããããšã§ãã ã¹ãã¬ãŒãžããªã¥ãŒã åãããã« ã¹ãã¬ãŒãžããŒã«:
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
ã«ãŒãããŒãã£ã·ã§ã³ãšããŠããŠã³ããããŸã ã¹ãã¬ãŒãžããŒã« ãããã®ã³ã³ããã¯ããã䜿çšãããããXNUMX ã€ã®ã³ã³ããéã§ãã®ããªã¥ãŒã ãå
±æããŸãã
ãªãœãŒã¹æ¶è²»çµ±èš ^
次ã®ã³ãã³ãã䜿çšããŠãã³ã³ããã®ãªãœãŒã¹æ¶è²»çµ±èšã衚瀺ã§ããŸãã
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
ã¹ãããã·ã§ããã®æäœ ^
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 ã«ã¯å¥ã®ã¿ã€ãã®ã¹ãããã·ã§ãã (ã¹ããŒããã«) ããããã³ã³ããå ã®ãã¹ãŠã®ããã»ã¹ã®çŸåšã®ç¶æ ãä¿åããŸãã ã¹ããŒããã« ã¹ãããã·ã§ããã«é¢é£ããèå³æ·±ã䟿å©ãªæ©èœãå€æ°ãããŸãã
ä»ã«äœããããŸããïŒ ^
- Python éçºè
åãã®ã¢ãžã¥ãŒã«ãå©çšå¯èœã§ã
PyLXD LXD ã« API ãæäŸããŸã
UPDATE 10.04.2020/15/00 XNUMX:XNUMX: ããã²ãŒã·ã§ã³ãè¿œå
åºæïŒ habr.com