- Step 1. Add OpenNebula Repositories
$ sudo -s
# wget -q -O- https://downloads.opennebula.org/repo/repo.key | apt-key add -
# echo "deb https://downloads.opennebula.org/repo/5.4/Ubuntu/17.04 stable opennebula" > /etc/apt/sources.list.d/opennebula.list
# apt-get update && apt-get upgrade -y
- Step 2. Installing the Software
# apt-get install opennebula-node
# systemctl status libvirtd
# systemctl is-enabled libvirtd
enabled
KVM (libvirt) も依存ライブラリとしてインストールされる
- Step 3. Disable SElinux in CentOS/RHEL 7
- Step 4. Configure Passwordless SSH
front-end, node どちらからもパスワード無しでSSHログインできるようにする
- 本番では ansible なんかで、鍵を配ることが推奨されているけど、ここでは scp で鍵をコピーする
- nebula2 (node) でパスワード付きログインをできるようにする
- nebula1 (front-end) で nobula2 へ ssh でアクセスできるようにする
- front-end と node 間での (相互) アクセス確認
# root@nebula1:~# su oneadmin
$ oneadmin@nebula1:/home/nebula$ ssh-keyscan nebula2 >> /var/lib/one/.ssh/known_hosts
$ oneadmin@nebula1:/home/nebula$ ssh nebula1
$ oneadmin@nebula1:~$ exit
logout
$ oneadmin@nebula1:/home/nebula$ ssh nebula2
$ oneadmin@nebula2:~$ exit
logout
# root@nebula2:~# su oneadmin
$ oneadmin@nebula2:/home/nebula$ ssh-keyscan nebula1 nebula2 >> /var/lib/one/.ssh/known_hosts
$ oneadmin@nebula2:/home/nebula$ ssh nebula1
$ oneadmin@nebula1:~$ exit
logout
$ oneadmin@nebula2:/home/nebula$ ssh nebula2
$ oneadmin@nebula2:~$ exit
logout
- nebula2 側のパスワード付ログインを無効化
- Step 5. Networking Configuration
# nmcli con add type bridge ifname br0
# nmcli con modify bridge-br0 bridge.stp no
# nmcli con modify bridge-br0 ipv4.method auto
# nmcli con add type bridge-slave ifname ens34 master bridge-br0
# nmcli con add type bridge ifname br1
# nmcli con modify bridge-br1 bridge.stp no
# nmcli con modify bridge-br1 ipv4.method auto
# nmcli con add type bridge-slave ifname ens33 master bridge-br1
# reboot
重要 : 他のノードとブリッジ名とその役割を同じにする
- Step 6. Storage Configuration SSH driver で VM イメージを配布するので不要
- Step6.1 [公式に抜けている] ruby のインストール
# apt-get install -y ruby-dev
- Step6.2 [公式に抜けている] node 管理ユーザの oneadmin を libvirt グループに(も)参加させる
# usermod -aG libvirt oneadmin
# groups oneadmin
oneadmin : oneadmin kvm libvirt
これら Step 6.1, 6.2 がないと、次の Step 7 で front-end に node を登録できない
node を frotn-end に登録しようとすると、front-end 側 (nebula1) の /var/log/one/oned.log に、次のようなエラーが記録される
Tue Nov 7 01:13:07 2017 [Z0][InM][I]: /usr/bin/env: 'ruby': No such file or directory
...
Tue Nov 7 01:59:11 2017 [Z0][ONE][E]: Error monitoring Host nebula2.local (1): error: failed to connect to the hypervisor
error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission denied
ERROR MESSAGE --8<------
Error executing kvm.rb
ERROR MESSAGE ------>8--
ARCH=x86_64
MODELNAME="Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz"
/var/run/libvirt/libvirt-sock の group が libvirt
- Step 7 Adding a Host to OpenNebula