何となくなんですけど、LXCを使ってみることにしました。
稼働しているLinux がCentOS7だけなので、CentOSに。
rpm パッケージは無いようなので、ソースからインストールしてみした。
■準備
以下をインストールしておかないと、怖いよ~
yum install libacl-devel libcap-devel dnsmasq squashfs-tools libtool
■ LXC のインストール
バージョン3.0.0は1ヶ月前にリリースされたばかり。とりあえず、最新に乗ってみる。
https://github.com/lxc/lxc のREADME に書かれている通りにやってみる。
(っていうか、普通にconfigure, makeです)
autogen.sh の実行で libtoolize がないとエラーが出たのでインストール
(yum install libtool)
インストール先は/opt
# ./autogen.sh
# ./configure --prefix=/opt/lxc-3.0.0
# make && sudo make install
# cd /opt
# ln -s lxc-3.0.0 lxc
/opt/lxc/bin をパスに追加しておく
# systemctl start lxc-net
# systemctl start lxc
■ コンテナ作成
fedora28 が使いたかったけどまだないようなのでfedora27にしました。
# lxc-create -t lxc-download fed27
(fed27 はコンテナ名。なんでもいい)
# lxc-start fed27
lxc-start fed27 20180506133710.205 ERROR lxc_utils - utils.c:run_command:2250 - failed to exec command
lxc-start fed27 20180506133710.206 ERROR lxc_network - network.c:lxc_ovs_attach_bridge:1890 - Failed to attach "lxcbr0" to openvswitch bridge "veth7JIGEE": lxc-start: fed27: utils.c: run_command: 2250
lxc-start fed27 20180506133710.206 ERROR lxc_network - network.c:instantiate_veth:194 - Failed to attach "veth7JIGEE" to bridge "lxcbr0": Operation not permitted
lxc-start fed27 20180506133710.217 ERROR lxc_network - network.c:lxc_create_network_priv:2436 - Failed to create network device
lxc-start fed27 20180506133710.217 ERROR lxc_start - start.c:lxc_spawn:1545 - Failed to create the network
lxc-start fed27 20180506133710.217 ERROR lxc_start - start.c:__lxc_start:1866 - Failed to spawn container "fed27"
エラーが出て失敗。
ここをみて、ifcfg-lxcbr0 を追加、ifup lxcbr0 で上のエラーはクリアー。
https://unix.stackexchange.com/questions/179353/failed-to-attach-veth87vsij-to-the-bridge-virbr0-no-such-device
(実際は、systemctl start lxc-net を実行する前に lxc-start を実行したからいけなかったのかもしれない)
あらためて
# lxc-start fed27
別のエラー発生!
lxc-start fed27 20180506135716.874 ERROR lxc_conf - conf.c:setup_caps:2404 - unknown capability mac_admin
lxc-start fed27 20180506135716.874 ERROR lxc_conf - conf.c:lxc_setup:3475 - Failed to drop capabilities
lxc-start fed27 20180506135716.874 ERROR lxc_start - start.c:do_start:1198 - Failed to setup container "fed27"
lxc-start fed27 20180506135716.874 ERROR lxc_sync - sync.c:__sync_wait:57 - An error occurred in another process (expected sequence number 5)
lxc-start fed27 20180506135716.887 ERROR lxc_start - start.c:__lxc_start:1866 - Failed to spawn container "fed27"
# yum install libcap-devel
もう一度 make, make install をやり直す。
あらためて
# lxc-start fed27
エラー? フリーズ?
systemd 234 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN default-hierarchy=hybrid)
Detected virtualization lxc.
Detected architecture x86-64.
Welcome to Fedora 27 (Twenty Seven)!
Set hostname to <fed27>.
Cannot determine cgroup we are running in: No medium found
Failed to allocate manager object: No medium found
[!!!!!!] Failed to allocate manager object, freezing.
Freezing execution.
色々調べてみたけれど、どうにもならない。。。
最後の苦しまぎれ..... lxc を止めて、コンテナ作り直してみる。
# systemctl stop lxc
# systemctl start lxc
# lxc-destroy fed27
もう一度、コンテナ作って lxc-start したらエラーが消えましたwww
もうあきらめようと思っていましたよぉ ほんとに(涙
起動が早すぎて喜ぶひまもなかった。さすがコンテナ!
lxc-attach でコンテナfed27のターミナルに移れました。
(ssh でも入れたのかな?)
# cat /etc/redhat-release
Fedora release 27 (Twenty Seven)
力尽きたので、今日はこれでおしまい。
(GW最後の夜)