Centos-adminã§ã¯ãæ°ããæè¡ã®åºçŸãç£èŠãããã¹ããããã¡ããå®è£
ããŸãã ã»ãšãã©ãã¹ãŠã®ãµãŒããŒã§ãOpenVZã³ã³ãããŒä»®æ³åã䜿çšããŠããŸãã äœæ¥ã§äœ¿çšãããããŒã«ã»ãããæ¡åŒµããããã«ããã€ãã£ãLinux LXCä»®æ³åã調æ»ããã³ãã¹ãããããšã«ããŸããã
ã«ããã®äžã«ãDebian Wheezyã§LXCã䜿çšããããã®æè¡ã®ç°¡åãªæŠèŠãšç°¡åãªããã¥ã¢ã«ãšç§ãã¡ã®çµè«ããããŸãã
ãã®æè¡ã¯é·ãéç©æ¥µçã«éçºãããŠããŸããã çŸåšãå®å®ããŒãžã§ã³0.9ãæ¥å¹ŽãªãªãŒã¹1.0ãæºåãããŠãããUbuntu 14.04 LTSã«å«ãŸããŸãã ãã ããçŸæç¹ã§ã¯ãUbuntuã¡ã€ã³ã¹ããªãŒã ã«ãŒãã«ã¯ãŠãŒã¶ãŒããŒã ã¹ããŒã¹ããµããŒãããŠããªãããããã®èšäºã§ã¯Debian Wheezyã®äŸã䜿çšããLinuxã³ã³ããã®äœ¿çšã«ã€ããŠèª¬æããŸãã
LXCã®äœ¿çšãä»ããéå§ããå¿
èŠããããŸããïŒ ãããçè§£ããŠã¿ãŸãããã
LXCïŒLinux ContainersïŒã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¬ãã«ã®ä»®æ³åãã¯ãããžã«éããŸããã
LXCä»®æ³åãã¯ãããžãŒã®å
šç¯å²ãåŒã³åºãããšã¯ã§ããŸãããããããã³ã³ãã¥ãŒã¿ãŒãªãœãŒã¹ãåé¢ããŠå
±æããããã®ãã¯ãããžãŒã§ãã
LXCã¯ãVserverãšOpenVZã®2ã€ã®ä»¥åã®ãã¯ãããžãŒã®è«ççãªç¶ç¶ã§ãããããŒãžã§ã³2.6.29ããå§ãŸããããã©ãã«ãŒãã«ãã©ã³ãã®ãã¬ãŒã ã¯ãŒã¯å
ã§éçºãããŸããã«ãŒãã«ã
LXCãšã¯äœã§ããïŒ LXCã¯ãAPIãLinuxã«ãŒãã«ã®æ©èœã䜿çšããŠãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®åé¢ãããã³ã³ãããäœæããã³ç®¡çã§ããããã«ãããŠãŒãã£ãªãã£ã®ã»ããã§ãã ããããã¹ãŠå®çŸããããã«ãLinuxã«ãŒãã«ã®ããŸããŸãªæ©èœã§æ¬¡ã®ããšãã§ããŸãã
- åé¢ãšãªãœãŒã¹ã®å¶éïŒcgroupïŒ
- ã«ãŒãã«åå空éã®åé¢ïŒipcãutsãmountãpidãnetworkãuserïŒ
- ãã¡ã€ã«ã·ã¹ãã ã®åé¢ïŒChrootïŒ
- Apparmorããã³SELinuxãããã¡ã€ã«
- Seccompããªã·ãŒ
ä»ã®ã³ã³ããä»®æ³åæè¡ãšåæ§ã«ãLXCã¯Webãã¹ãã£ã³ã°ãéçºãããã³Webãããžã§ã¯ãã®ãã¹ããšãããã°ã®ããŒãºã«åœ¹ç«ã¡ãŸãã
Debian 7ã§ã®LXCã®ã€ã³ã¹ããŒã«ãèšå®åè¿°ã®ããã«ãLXCã¯Cgroupã䜿çšããŸããã³ã³ããã®æäœãéå§ããã«ã¯ãcgroupãã¡ã€ã«ã·ã¹ãã ãããŠã³ãããå¿
èŠããããŸãã ããã©ã«ãã®ããŠã³ããã€ã³ãã¯/ sys / fs / cgroupã§ãããä»»æã®ãã€ã³ãã«ããŠã³ãã§ããŸãã
fstabãä¿®æ£ããcgroupã远å ããŸãã
vi /etc/fstab
... cgroup /sys/fs/cgroup cgroup defaults 0 0 ...
ãããŠãcgroupä»®æ³ãã¡ã€ã«ã·ã¹ãã ãããŠã³ãããŸãã
mount /sys/fs/cgroup
ã³ã³ããã®ç®¡çã«ã¯ãlxcãŠãŒãã£ãªãã£ã®ã³ã³ããã»ããã䜿çšãããŸãã
lxcããã±ãŒãžãã€ã³ã¹ããŒã«ãããšãã·ã¹ãã èªäœã®æ®ãã®éšåããã«ããŸãïŒ
apt-get install lxc
ã³ã³ãããä¿åããããã©ã«ããããã©ã«ãã§ã¯ïŒ/ var / lib / lxc
ãŠãŒãã£ãªãã£ãã€ã³ã¹ããŒã«ããåŸãã·ã¹ãã ãã³ã³ããã§ã®äœæ¥ãéå§ããæºåãå®å
šã«æŽã£ãŠããããšã確èªããå¿
èŠããããŸãã
lxc-checkconfig
root@lxc-debian:~
ãã¹ãŠãæ£åžžã§ããå Žåãæåã®ã³ã³ãããäœæããããšããããšãã§ããŸãã
ã³ã³ãã管ç lxc-create -n test -t debian
ããã§ãã-n testãã¯ã³ã³ããã®ååãã-t debianãã¯äœæãããã³ã³ããã®OSãã³ãã¬ãŒãã§ãã
lxcãã³ãã¬ãŒãèªäœã¯ãã«ãŒããã¡ã€ã«ã·ã¹ãã ã®ãã©ã«ããŒãæ§æãã¡ã€ã«ã®æå°éã®ã»ãããäœæãããªããžããªããæ°ããããã±ãŒãžããã«ããbashã¹ã¯ãªããã§ãã ãã®å Žåããã³ãã¬ãŒãäœæã¹ã¯ãªãããæåã«èµ·åããåŸãå¿
èŠãªããã±ãŒãžããã£ã¹ã¯ã«ãã£ãã·ã¥ãããŸãã ãã¡ãããã¹ã¯ãªããã¯ç°¡åã«ã«ã¹ã¿ãã€ãºã§ããŸãã ããšãã°ãå¿
èŠãªããã±ãŒãžã»ããã®ã€ã³ã¹ããŒã«ã远å ããŸãã ç§ã®è¬èãªæèŠã§ã¯ããã®ãã³ãã¬ãŒããžã®ã¢ãããŒãã¯ãåãOpenVZãããå°ã䟿å©ã§ãã
Debianã§ã¯ãArchlinuxãAltlinuxãFedoraãOpensuseãUbuntu-Cloudãã³ãã¬ãŒããèŠã€ããããšãã§ããŸãã å©çšå¯èœãªãã³ãã¬ãŒãã®ã»ãããååã§ãªãå Žåã¯ãèªåã§äžè¶³ããŠãããã³ãã¬ãŒããäœæããŠã¿ãŠãã ããã
ããã©ã«ãã§ã¯ããŠã£ã¶ãŒããDebianã§èµ·åãããããã€ãã®æé ã«åŸã£ãŠã³ã³ãããäœæã§ããŸãã ãããŠããã¹ãŠãããŸãããã§ããããããããWheezyãã³ãã¬ãŒãã¯ã
å£ããŠããŸã ãããããŠãç§ã¯æ¬åœã«Sqeezeã䜿ããããããŸããã ãããã£ãŠãç¬èªã®ãã³ãã¬ãŒããäœæããããã€ã³ã¿ãŒãããã§
ã¯ãŒã«ãŒãæ¢ãå¿
èŠããããŸãã
ããšãã°ãCentOS 6çšã®æ°ãããã³ãã¬ãŒããããŠã³ããŒãããŸãã
cd /usr/share/lxc/templates
wget https://gist.github.com/hagix9/3514296/raw/7f6bb4e291fad1dad59a49a5c02f78642bb99a45/lxc-centos
chmod +x lxc-centos
CentOSã®å Žåã¯ãyumããã±ãŒãžãããŒãžã£ãŒãå¿
èŠã§ãã
apt-get install yum
CentOSãã³ãã¬ãŒãã䜿çšããŠæ°ããã³ã³ãããäœæããŸãã
lxc-create -n test -t centos
æåã®ã³ã³ãããäœæãããšãå®å
šã«ã¯ãªãŒã³ãªã·ã¹ãã ãåŸãããŸããå®éã«ã¯ãããã¹ããšãã£ã¿ãããããŸããã
ã³ã³ããã³ã³ãœãŒã«ã«ã¢ã¯ã»ã¹ããæ¹æ³ã¯2ã€ãããŸãã
ã³ã³ãããèµ·åãããšãèªåçã«ã³ã³ãœãŒã«ã«ã¢ã¯ã»ã¹ããŸããããã§ããã°ã€ã³ããå¿
èŠããããŸããããã©ã«ãã®ã«ãŒãïŒDebianã®ã«ãŒããã¹ã¯ãŒãã
lxc-start -n test
å¥ã®ãã³ãã¬ãŒãã䜿çšããå Žåããã¹ã¯ãŒãã¯ãã³ãã¬ãŒããã¡ã€ã«ã«ãããŸãã
2çªç®ã®ãªãã·ã§ã³ã¯ãæ¢ã«å®è¡äžã®ã³ã³ãããŒã«æ¥ç¶ããŸãïŒ
lxc-console -n test
ã³ã³ããã«åããŠæ¥ç¶ãããšã次ã®è¡šèšã衚瀺ãããŸãã
Type <Ctrl+a q> to exit the console, <Ctrl+a Ctrl+a> to enter Ctrl+a itself
-åäœããªãããŸãã¯åžžã«åäœãããšã¯éããŸããã ãã¶ãã圌ãã¯ããæè¿ã®ãªãªãŒã¹ã§ããããã§ã«ä¿®æ£ããŠãããããããŸããã
ãããã£ãŠãscreenã䜿çšãããã-dã¹ã€ããã䜿çšããŠã³ã³ãããèµ·åããsshçµç±ã§ã¢ã¯ã»ã¹ããå¿
èŠããããŸãïŒãããã¯ãŒã¯ãæ¢ã«æ§æãããŠããå ŽåïŒã
äžè¬çã«ãã³ã³ããã¯ãã¹ããã·ã³ã®ãããã¯ãŒã¯ã¹ã¿ãã¯ã䜿çšããŸãã ãã¹ãã«ã€ããŠã¯éåžžã«è¯ãã§ãããWebãããžã§ã¯ãã«ã€ããŠã¯ããã§ã¯ãªãã®ã§ã次ã«ã³ã³ããå
ã§åé¢ããããããã¯ãŒã¯ã¹ã¿ãã¯ãååŸããæ¹æ³ãèŠãŠãããŸãã
ã³ã³ããã®åé€ã¯ãlxc-destroyãŠãŒãã£ãªãã£ã«ãã£ãŠå®è¡ãããŸãã
lxc-destroy -n test
ãããã¯ãŒã¯èšå®2ã€ã®ãªãã·ã§ã³ãèããŠã¿ãŸãããã
-ãµãŒããŒãšå€æ°ã®ãçœããIPã¢ãã¬ã¹ããããŸãã åã³ã³ããã¯ç¬èªã®ã¢ãã¬ã¹ãæã¡ãã€ã³ã¿ãŒããããšèªç±ã«éä¿¡ã§ããŸãã
-ãµãŒããŒãšè€æ°ã®ããŸãã¯1ã€ã®ããã¯ã€ããIPã¢ãã¬ã¹ãããããŸãã ãã®å Žåãã»ãšãã©ã®ã³ã³ããã¯NATã§æ©èœããŸãã
ã©ã¡ãã®å Žåãããããã¯ãŒã¯ããªããžãDHCPãµãŒããŒãããã³iptablesãå¿
èŠã§ãã
apt-get install bridge-utils isc-dhcp-server
ã³ã³ãããããã¯ãŒã¯ãã»ããã¢ããããåã«ããã¹ããã·ã³ã§2ã€ã®ãããã¯ãŒã¯ããªããžãæ§æããŸãã 1ã€ã¯ããã¯ã€ããã¢ãã¬ã¹çšã§ããã1ã€ã¯ãã©ã€ããŒããªãã°ã¬ãŒãã¢ãã¬ã¹çšã§ãã
ãããã¯ãŒã¯ã¢ããã¿ãŒèšå®ãã¡ã€ã«ã¯æ¬¡ã®ããã«ãªããŸãã
vi /etc/network/interfaces
æåã®ãªãã·ã§ã³ãããã¯ãŒã¯ã¢ããã¿ãŒãã³ã³ãããŒæ§æã«ç»é²ããŸãã
ããã©ã«ãã§ã¯ãcontainers / var / lib / lxcãå«ããã©ã«ããŒã§ãã³ã³ãããŒïŒãã¹ãïŒã®ååã®ãã©ã«ããŒãæ¢ããèšå®ãã¡ã€ã«ããã®äžã«ãããç·šéããŸãã
ãããã¯ãŒã¯èšå®ã®ãããã¯ããã¡ã€ã«ã®æåŸã«è¿œå ããŸãã
vi /var/lib/lxc/test/config
...
ããã§ãã³ã³ãããèµ·åããŠãsshçµç±ã§æ¥ç¶ã詊è¡ã§ããŸãã
lxc-start -n test -d && ssh root@192.168.0.101
2çªç®ã®ãªãã·ã§ã³2çªç®ã®ãªãã·ã§ã³ã¯ãç°ãªããããã¯ãŒã¯ããªããžã䜿çšããã³ã³ãããNATãä»ããŠã®ã¿ã€ã³ã¿ãŒãããã«ã¢ã¯ã»ã¹ã§ãããšããç¹ã§ãæåã®ãªãã·ã§ã³ãšç°ãªããŸãã
CentOSã³ã³ããã®èšå®ãä¿®æ£ããŸãããïŒ
vi /var/lib/lxc/test/config
...
ã³ã³ãããŒãã¢ãã¬ã¹ãèªåçã«åä¿¡ã§ããããã«ãdhcpãµãŒããŒãæ§æããŸãã
vi /etc/dhcp/dhcpd.conf
...
DHCPãæ©èœãããããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ã瀺ãããšãå¿
èŠã§ãã
vi /etc/default/isc-dhcp-server
... INTERFACES="lxcbr0" ...
ãã¹ããã·ã³ã§ãã±ãã転éãæå¹ã«ããå¿
èŠããããŸãã
/etc/sysctl.conf
... net.ipv4.ip_forward=1 ...
sysctl -p
ã³ã³ããããã®ã€ã³ã¿ãŒãããã¢ã¯ã»ã¹ãããã³ã€ã³ã¿ãŒãããããã®ã³ã³ãããžã®ã¢ã¯ã»ã¹ãæäŸããã«ã¯ã次ã®iptablesã«ãŒã«ã䜿çšããŠãã¡ã€ã¢ãŠã©ãŒã«ãæ§æããå¿
èŠããããŸãã
vi /etc/network/iptables.up.rules
*nat :PREROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0]
ã«ãŒã«ãé©çšããŸãã
iptables-restore < /etc/network/iptables.up.rules
ãŸãããµãŒããŒã®èµ·åæã«ã«ãŒã«ãèªåçã«ããŒãããŸãã
echo âpost-up iptables-restore < /etc/network/iptables.up.rulesâ >> /etc/network/interfaces
ã³ã³ãããèµ·åããŠãã€ã³ã¿ãŒãããæ¥ç¶ã確èªããŸãã
lxc-start -n centos -d
ããã¯ã¢ãããã¯ããŒã³ã埩å
ã³ã³ãããããã¯ã¢ããããã«ã¯ãlxc-backupãŠãŒãã£ãªãã£ã䜿çšããŸãã vzdumpãšæ¯èŒãã䟡å€ã¯ãããŸããã ãŠãŒãã£ãªãã£ã¯ãrsyncã䜿çšããŠã³ã³ãããã¡ã€ã«ãã³ããŒããŸãã å®éãã³ã³ãããã¡ã€ã«ã飿¥ãããã©ã«ãã«åã«ã³ããŒããã ãã§ãã å®éçãªå©ç¹ã¯çãããã åãæåã§ãã¹ã¯ãªããã䜿çšããŠãåãrsyncã§ãã¡ã€ã«ãé©åãªå Žæã«ããã¯ã¢ããã§ããŸãã
ã³ã³ããã®ã¯ããŒã³äœæã¯lxc-cloneãŠãŒãã£ãªãã£ã䜿çšããŠå®è¡ãããŸããããã¯ã¢ããããã®ãªã«ããªã«ã¯lxc-restoreããããŸãã ãããã®ãŠãŒãã£ãªãã£ã¯è±å¯ãªæ©èœãèªãããšã¯ã§ããŸããããæäœéå¿
èŠãªãã®ããããŸãã
çµæã¯äœã§ããïŒãã®æè¡ã¯39ã®ãªãªãŒã¹ãš1989ã®ã³ãããïŒ2013幎11æ14æ¥çŸåšïŒã§å€§ããªé²æ©ãéããŠãããçŸåšãäœããã®å®å
šãªå€èгã«é©ããŠããŸãã çŸåšã®åœ¢åŒã®å
±æãã¹ãã£ã³ã°ã§LXCã䜿çšããã®ã¯ææå°æ©ãããããŸãããããã®æè¡ã¯ãã©ã€ããŒããããžã§ã¯ãã«éåžžã«é©ããŠããŸãã
ã³ã³ãããæ±ãããã®ãŠãŒãã£ãªãã£ã¯ããããããŸã æ¹åããå¿
èŠãããããã®ãããªäœæ¥ã¯ç©æ¥µçã«è¡ãããŠããŸãã åæã«ãçŸæç¹ã§ã¯ããããã®æ©èœã¯Linuxã³ã³ãããŒã®å®è£
ãšç®¡çã«é¢ããæ¬æ Œçãªäœæ¥ã«ååã§ãã
æåŸã«ããã€ãã®æ°åãã¹ãã¯å¥ã®æçš¿ã®ãããã¯ãªã®ã§ã詳现ã¯èª¬æããŸããããã¹ãã¯åããã·ã³ã§å®è¡ããããšããèšãããããããŸããã ãã¹ãŠãæ¥ãã§è¡ãããŸããããããã§äœãèµ·ãã£ãã®ã§ããïŒ
æçšãªèšäºïŒDebian Wiki LXCLXCã³ã³ãããŒã30åã§ã»ããã¢ããããUbuntuãµãŒããŒã¬ã€ãLXCLXCïŒLinuxã³ã³ãããŠãŒãã£ãªãã£ã»ãã¥ã¢Linuxã³ã³ãããŒã¬ã€ã