-
Notifications
You must be signed in to change notification settings - Fork 0
RYU OpenStack environment VM image file Japanese HOWTO
- ホストOS: ubuntu12.04
- 必要なパッケージ: kvm, virtinst
http://sourceforge.net/projects/ryu/files/vmimages/ryuvm.qcow2/download (the size is 217.9 MB)
[all in one node] + [compute node] の2台構成を構築します。
[compute node] の構築手順を繰り返すことで、3台、4台とノードを増やすことができます。
ダウンロードしたイメージファイルを適切な場所へコピーします。
$ sudo cp ryuvm.qcow2 /var/lib/libvirt/images/ryu1.qcow2
$ sudo cp ryuvm.qcow2 /var/lib/libvirt/images/ryu2.qcow2
virt-installを使ってVMを作成します。
$ sudo virt-install --name ryu1 --ram 1024 --vcpus 1 --import --os-type linux \
--os-variant ubuntuprecise --disk path=/var/lib/libvirt/images/ryu1.qcow2 \
--network network=default --hvm --virt-type kvm --arch x86_64 --nographics
新しくVMが作成されて自動起動し、ログインプロンプトが表示されます。
"Escape character is ^]" と表示されたら'Enter'を入力します。
Starting install...
Creating domain...
Connected to domain ryuvm
Escape character is ^] <------------- press [Enter]
Ubuntu 12.04 LTS ryu ttyS0
ryu login:
ユーザ名/パスワードにubuntu/ubuntuを入力してログインします。
ryu login: ubuntu
Password:
ログインプロンプトを抜けるには、Ctrl+"]"を入力します。
再度VMにログインするには、"virsh console "コマンドを実行します。
$ sudo virsh console ryu1
デフォルトではDHCPでIPアドレスを取得するようになっているので、これを固定IPアドレスに変更します。
$ sudo vi /etc/network/intarefaces
下記の例では、192.168.122/24 のサブネットを使用して、192.168.122.10 を割り当てています。
iface eth0 inet static
address 192.168.122.10
netmask 255.255.255.0
gateway 192.168.122.1
dns-nameservers 192.168.122.1
デフォルトでは"ryu"となっています。実害はありませんが、以下の手順で変更することができます。
$ sudo sh -c 'echo ryu1 > /etc/hostname'
$ sudo sed -i 's/ryu/ryu1/g' /etc/hosts
VMをrebootすると、再起動後にコマンドプロンプトが表示されます。
$ sudo reboot
The system is going down for halt NOW!
Ubuntu 12.04 LTS ryu ttyS0
ryu1 login:
devstack (http://devstack.org) を使用して、openstack環境を構築することができます。
再度VMにログインします。~/devstack/localrcを編集し、SERVICE_HOSTの値を変更します。
$ cd devstack
$ vi localrc
SERVICE_HOSTには、all in one node のIP addressを設定します。
SERVICE_HOST=192.168.122.10
devstackを起動します。
$ ./stack.sh
手順は "2.all in one node の構築" と同じです。
IP address は all in one node と同じサブネットのアドレスを指定して下さい。
iface eth0 inet static
address 192.168.122.11
netmask 255.255.255.0
gateway 192.168.122.1
dns-nameservers 192.168.122.1
実際にopenstack上でインスタンスを起動します。 tenant-idは"demo"と"mode"が用意されており、同一のtenant-idをもつインスタンス同士のみがアクセス可能となっています。
環境変数を設定します。
$ source eucarc admin admin
[all in one node] と [compute node] 上でnova-computeが動作していることを確認します。
$ euca-describe-availability-zones verbose
AVAILABILITYZONE nova available
AVAILABILITYZONE |- ryu1
AVAILABILITYZONE | |- nova-compute enabled :-) 2012-05-14 03:13:41
AVAILABILITYZONE | |- nova-cert enabled :-) 2012-05-14 03:13:42
AVAILABILITYZONE | |- nova-volume enabled :-) 2012-05-14 03:13:44
AVAILABILITYZONE | |- nova-scheduler enabled :-) 2012-05-14 03:13:47
AVAILABILITYZONE | |- nova-network enabled :-) 2012-05-14 03:13:44
AVAILABILITYZONE | |- nova-consoleauth enabled :-) 2012-05-14 03:13:42
AVAILABILITYZONE |- ryu2
AVAILABILITYZONE | |- nova-compute enabled :-) 2012-05-14 03:13:47
起動するインスタンスのimage-idを確認します。
$ euca-describe-images | grep ami
IMAGE ami-00000002 None (cirros-0.3.0-x86_64-uec) available ...
^^^^^^^^^^^^
tenant-id:"demo" のインスタンスを、[all in one node] と [compute node] でそれぞれ1つ、起動します。
$ source eucarc demo demo
$ euca-run-instances -t mini -z nova:ryu1 ami-00000002
$ euca-run-instances -t mini -z nova:ryu2 ami-00000002
$ nova list
+--------------------------------------+----------+--------+----------+
| ID | Name | Status | Networks |
+--------------------------------------+----------+--------+----------+
| c319f802-5367-433c-a4f2-a5aecf047914 | Server 2 | BUILD | |
| dd2e8072-fbad-44b7-8779-e840ade6e988 | Server 1 | BUILD | |
+--------------------------------------+----------+--------+----------+
起動後しばらくするとインスタンスが起動し、StatusがBUILD→ACTIVEに変わります。
$ nova list
+--------------------------------------+----------+--------+---------------+
| ID | Name | Status | Networks |
+--------------------------------------+----------+--------+---------------+
| c319f802-5367-433c-a4f2-a5aecf047914 | Server 2 | ACTIVE | demo=10.0.1.3 |
| dd2e8072-fbad-44b7-8779-e840ade6e988 | Server 1 | ACTIVE | demo=10.0.1.2 |
+--------------------------------------+----------+--------+---------------+
tenant-id:"mode"のインスタンスも同様に起動します。
$ source eucarc mode mode
$ euca-run-instances -t mini -z nova:ryu1 ami-00000002
$ euca-run-instances -t mini -z nova:ryu2 ami-00000002
$ nova list
+--------------------------------------+----------+--------+---------------+
| ID | Name | Status | Networks |
+--------------------------------------+----------+--------+---------------+
| 869f734a-adf1-4092-bbe1-037aec2940e1 | Server 3 | ACTIVE | mode=10.0.2.2 |
| 99689a55-467e-4203-a618-7384f16ab7dc | Server 4 | ACTIVE | mode=10.0.2.3 |
+--------------------------------------+----------+--------+---------------+
4つのインスタンスが起動していることを確認します。
$ source eucarc admin admin
$ nova list --all_tenants
+--------------------------------------+----------+--------+----------------+
| ID | Name | Status | Networks |
+--------------------------------------+----------+--------+----------------+
| 869f734a-adf1-4092-bbe1-037aec2940e1 | Server 3 | ACTIVE | mode=10.0.2.2 |
| 99689a55-467e-4203-a618-7384f16ab7dc | Server 4 | ACTIVE | mode=10.0.2.3 |
| c319f802-5367-433c-a4f2-a5aecf047914 | Server 2 | ACTIVE | demo=10.0.1.3 |
| dd2e8072-fbad-44b7-8779-e840ade6e988 | Server 1 | ACTIVE | demo=10.0.1.2 |
+--------------------------------------+----------+--------+----------------+
下図のような構成でインスタンスが起動しています。
<--- all in one node ---> <---- compute node ---->
+----------+ +----------+ +----------+ +----------+
| Server 1 | | Server 3 | | Server 2 | | Server 4 |
| 10.0.1.2 | | 10.0.2.2 | | 10.0.1.3 | | 10.0.2.3 |
+----------+ +----------+ +----------+ +----------+
| demo | | mode | | demo | | mode |
+----------+-+----------+ +----------+-+----------+
| devstack | | devstack |
+-----------------------+ +-----------------------+
tenant-id:"demo"上のインスタンス同士でアクセスが可能なことを確認します。
インスタンスのlogin userは"cirros"、passwordは"cubswin:)"です。
$ ssh [email protected] "ping -c3 10.0.1.3"
The authenticity of host '10.0.1.3 (10.0.1.2)' can't be established.
RSA key fingerprint is d9:f9:3b:28:7b:62:7a:03:17:1e:af:c5:1b:80:37:f4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.1.3' (RSA) to the list of known hosts.
[email protected]'s password: cubswin:)
PING 10.0.1.3 (10.0.1.3): 56 data bytes
64 bytes from 10.0.1.3: seq=0 ttl=64 time=10.102 ms
64 bytes from 10.0.1.3: seq=1 ttl=64 time=2.126 ms
64 bytes from 10.0.1.3: seq=2 ttl=64 time=1.615 ms
--- 10.0.1.3 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 1.752/5.534/13.029 ms
tenant-id:"demo"上のインスタンスから、tenant-id:"mode"上のインスタンスへはアクセスできないことを確認します。
$ ssh [email protected] "ping -c3 10.0.2.2"
[email protected]'s password: cubswin:)
PING 10.0.2.2 (10.0.2.2): 56 data bytes
--- 10.0.2.2 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
$ ssh [email protected] "ping -c3 10.0.2.3"
[email protected]'s password: cubswin:)
PING 10.0.2.3 (10.0.2.3): 56 data bytes
--- 10.0.2.3 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
同様に、tenant-id:"mode"上のインスタンス同士、"mode"から"demo"へのアクセスを確認します。
$ ssh [email protected] "ping -c3 10.0.2.2"
[email protected]'s password: cubswin:)
PING 10.0.2.2 (10.0.2.2): 56 data bytes
64 bytes from 10.0.2.2: seq=0 ttl=64 time=4.671 ms
64 bytes from 10.0.2.2: seq=1 ttl=64 time=1.845 ms
64 bytes from 10.0.2.2: seq=2 ttl=64 time=1.749 ms
--- 10.0.2.2 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 1.749/2.755/4.671 ms
$ ssh [email protected] "ping -c3 10.0.1.2"
[email protected]'s password:
PING 10.0.1.2 (10.0.1.2): 56 data bytes
--- 10.0.1.2 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
$ ssh [email protected] "ping -c3 10.0.1.3"
[email protected]'s password:
PING 10.0.1.3 (10.0.1.3): 56 data bytes
--- 10.0.1.3 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss