SoftLayerの無料ベアメタルでOpenStackの学習をする(5) - reboot後のアクセスとNested KVMの確認


[前回はこちら](http://qiita.com/orz/items/79c5dcc5e0304c0e5337) - [次回はこちら](http://qiita.com/orz/items/ebc41e2695fc1be17576)
***
#これはなに
[「OpenStackクラウドインテグレーション オープンソースクラウドによるサービス構築入門」](http://www.shoeisha.co.jp/book/detail/9784798139784)の実習をSoftLayerの無料ベアメタルで行う記録である。
![OpenStackクラウドインテグレーション オープンソースクラウドによるサービス構築入門](http://www.seshop.com/static/images/product/17681/L.png)

# Nested KVMとiptablesの設定確認
実はサーバーをrebootしたところアクセスできなくなった。*いくら待っても、PublicもPrivateもどちらからもアクセスできない。sshはもちろんpingにも応答が無い orz。* 確認したいこともあったので、OSのRELOADから再挑戦。OSのRELOADは、SoftLayerのポータルからボタンひとつで完了する。

今回は、環境の変化を確認しながら、すこしずつ行っていく。
今回、書きたいのは、[SoftLayerの無料ベアメタルでOpenStackの学習をする(2) - サーバー環境の確認とDevStack環境の用意](http://qiita.com/orz/items/bb23d01b3f05b734ae5f)の[2.4.3 ホストLinuxの環境設定](http://qiita.com/orz/items/bb23d01b3f05b734ae5f#243-%E3%83%9B%E3%82%B9%E3%83%88linux%E3%81%AE%E7%92%B0%E5%A2%83%E8%A8%AD%E5%AE%9A)と[2.4.4 ホストLinuxの環境設定](http://qiita.com/orz/items/bb23d01b3f05b734ae5f#244-%E3%83%9B%E3%82%B9%E3%83%88linux%E3%81%AE%E7%92%B0%E5%A2%83%E8%A8%AD%E5%AE%9A)の仮想ネットワーク作成までの部分。

## Reload直後

まず、Nested KVMの設定の確認。設定ファイルはなく、初期導入時は、nested=N になっている。

<pre>
root@test:~# ls /etc/modprobe.d/kvm-nested.conf
ls: cannot access /etc/modprobe.d/kvm-nested.conf: No such file or directory
root@test:~# cat /sys/module/kvm_intel/parameters/nested
N
</pre>

ubuntuでは、iptablesが初期導入・起動されるがルールはなし。

<pre>
root@test:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
</pre>

まずは、更新。

<pre>
root@test:~# sudo apt-get update
root@test:~# sudo apt-get -y upgrade
</pre>

ここでも、Nested KVMやiptablesの設定変更なし。

## virtinstの導入
virtinstを導入

<pre>
root@test:~# sudo apt-get -y install virtinst
</pre>

設定ファイルは無いが、nested=Nのままだか、iptablesのルールが変わっている。

<pre>
root@test:~# cat /sys/module/kvm_intel/parameters/nested
N

root@test:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootps
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:bootps

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             192.168.122.0/24     ctstate RELATED,ESTABLISHED
ACCEPT     all  --  192.168.122.0/24     anywhere
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootpc
</pre>

リブートしてみる

<pre>
root@test:~# reboot

Broadcast message from root@test
        (/dev/pts/0) at 0:24 ...

The system is going down for reboot NOW!
</pre>


再接続に、問題ない。

## qemu-kvmの導入
qemu-kvm を導入する

<pre>
root@test:~# sudo apt-get -y install qemu-kvm
</pre>

設定ファイルはできていないが、nested=Yになっている。

<pre>
root@test:~# ls /etc/modprobe.d/kvm-nested.conf
ls: cannot access /etc/modprobe.d/kvm-nested.conf: No such file or directory
root@test:~# cat /sys/module/kvm_intel/parameters/nested
Y
</pre>

## 仮想ネットワークの作成

gitをいれ、サポートファイルを導入する。

<pre>
root@test:~# sudo apt-get -y install git
root@test:~# git clone https://github.com/josug-book1-materials/ubuntu-virtinst.git
</pre>

[openstack.xml](https://github.com/josug-book1-materials/ubuntu-virtinst/blob/master/network/openstack.xml)で仮想ネットワークを作成する。[作成用のシェル](https://github.com/josug-book1-materials/ubuntu-virtinst/blob/master/network/net-define.sh)も用意されている。

<pre>
root@test:~/ubuntu-virtinst/network# ./net-define.sh
Network openstack defined from openstack.xml

Network openstack started

Network openstack marked as autostarted

 Name                 State      Autostart     Persistent
----------------------------------------------------------
 default              active     yes           yes
 openstack            active     yes           yes
</pre>

iptablesのルールが追加されている。

<pre>
root@test:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootps
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:bootps
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootps
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:bootps

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             192.168.100.0/24     ctstate RELATED,ESTABLISHED
ACCEPT     all  --  192.168.100.0/24     anywhere
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             192.168.122.0/24     ctstate RELATED,ESTABLISHED
ACCEPT     all  --  192.168.122.0/24     anywhere
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootpc
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootpc
</pre>

もう一度、リブートしてみる。

<pre>
root@test:~# reboot

Broadcast message from root@test
        (/dev/pts/1) at 1:13 ...

The system is going down for reboot NOW!
</pre>

*いくら待っても、PublicもPrivateもどちらからもアクセスできない。sshはもちろんpingにも応答が無い orz。* VPNで接続して、IPMIインターフェースにアクセスしてコンソールを見ると、もちろん起動している。結局、IPMIのコンソールから、iptablesのルールをいじって外部アクセスからのアクセスを可能にした。

***
次回は本当に5章に進みたい。
***
[前回はこちら](http://qiita.com/orz/items/79c5dcc5e0304c0e5337) - [次回はこちら](http://qiita.com/orz/items/ebc41e2695fc1be17576)