SlideShare une entreprise Scribd logo
1  sur  59
Télécharger pour lire hors ligne
OpenStackクラウド基盤構築ハンズオンセミナー

第2日 ハンズオンガイド No.1

ver1.3 2014/03/05
1
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

目次
■

演習環境の説明

■

コントローラノードの構築

■

コンピュートノードの追加

■

コマンドによる操作

■

Pythonライブラリによる操作

注意:本テキストで扱うOpenStackは、RDO(Grizzly)がベースとなります。

2

Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

演習環境の説明

3
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

演習環境 (1)
■

受講生(最大)7名ごとに演習用の物理サーバが割り当てられています。
- 各受講生は、自分に割り当てられた「物理サーバ(IPアドレス)」と「ログインユーザ
(user01〜user07)」を確認してください。

■

各物理サーバには、ホストLinuxとして、Fedora 18が導入されています。このホスト
Linuxのデスクトップ画面をVNCで受講生用端末に表示して演習を行います。
- VNC接続の方法は、別途インストラクタよりガイドがあります。

■

この演習では、Linux KVMによる仮想化環境を利用して、Fedora 18をゲストOSとする
仮想マシンを「受講生1名につき3台」作成します。
- 各受講生は自分が作成する仮想マシンについて、「仮想マシン名、ホストネーム、IPアドレス」
の割り当てルール(次ページ参照)を確認してください。
user01

user01

・・・

user07

仮想マシン
OPST1-2

仮想マシン
OPST1-7

仮想マシン
OPST2-2

仮想マシン
OPST3-1

物理サーバ

user07

仮想マシン
OPST2-1

VNCでホストLinuxの
デスクトップ画面を転送

user02

仮想マシン
OPST1-1

受講生用端末

仮想マシン
OPST3-2

・・・

仮想マシン
OPST2-7
仮想マシン
OPST3-7

ホストLinux
Fedora 18
4

Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

演習環境の詳細 (2)
■

演習で作成する仮想マシンは、ホストLinux上の仮想ネットワークに接続されます。
- OpenStackのパブリックネットワークとして使う仮想ネットワーク(external01)
同じグループのユーザが共有して使用します。IPマスカレードで外部ネットワークに接続可能です。

●

- OpenStackのプライベートネットワークとして使う仮想ネットワーク(internal01〜internal07)
ユーザごとに個別に用意されています。

●

- 下図において、「OPST1-□」はコントローラーノード、「OPST2-□」「OPST3-□」はコン
ピュートノードとして構成します。
仮想ネットワークの構成
internal01
eth2
OPST1-1
eth0

internal02

eth1
OPST2-1

eth1

eth1
OPST3-1

eth0

eth0

eth2
OPST1-2
eth0

eth1
OPST2-2

eth1

eth0

internal07
eth1
OPST3-2
eth0

eth2

・・・

OPST1-7

eth0

eth1
OPST2-7

eth1

eth0

eth1
OPST3-7
eth0

external01 172.16.0.0/16
IPマスカレード

ホストLinux

emX
外部ネットワーク

5
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

演習環境の詳細 (3)
■

仮想マシンを使用する際は、ホストLinuxから仮想マシンにSSHでログインします。
- 仮想マシン名、ホストネーム、IPアドレスは下表を使用します。□には、割り当てられたユーザ
番号(1〜7)が入ります。
※演習手順において、□で示された部分も同様に、ユーザ番号(1〜7)を入れてください。
仮想マシン名

ホストネーム

IPアドレス
/ネットマスク

デフォルトゲートウェイ
(およびネームサーバ)

アドレスプール

仮想マシン#1
OPST1-□

opst1-□

172.16.□.11
/255.255.0.0

172.16.0.1

172.16.□.100
〜172.16.□.199

仮想マシン#2
OPST2-□

opst2-□

172.16.□.12
/255.255.0.0

172.16.0.1

仮想マシン#2
OPST3-□

opst3-□

172.16.□.13
/255.255.0.0

172.16.0.1

(注意)この演習を始める前に、これまでの演習で作成した仮想マシンは、すべて  
    シャットダウンしておいてください。

6
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

コントローラノードの構築

7
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

演習内容
■

この演習では、次の作業を行います。
- 仮想マシン#1(OPST1-□)を作成して、コントローラーノードとして構成します。
●

●

virt-installとKickStartを利用して、仮想マシンの作成とゲストOS(Fedora 18)のインストールを自動で行
います。
インターネット上のGitHubで公開されているツール「quickrdo」を利用して、RDOのインストールとコント
ローラーノードとしての初期設定を行います。

internal0□
OPST1-□

GitHub

eth2

172.16.□.11
eth0

quickrdo
eth1

IPマスカレード

external01 172.16.0.0/16
ホストLinux

emX
外部ネットワーク

8
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

仮想マシン#1の作成 (1)
■

Fedora 18を自動インストールするためのKickStartファイルを用意します。
- この作業はホストLinuxで実施します。KickStartファイル「opst1.ks」をダウンロードします。
$ cd ~/work
$ curl http://reposerver/files/opst1.ks > opst1.ks

- viエディタでopst1.ksを開いて、下記の2箇所の_USER_をユーザ番号(1〜7)に修正します。
install
url --url="http://reposerver/repo/Fedora18/os/"
network --bootproto=static --hostname=opst1-_USER_ --device=eth0 --gateway=172.16.0.1
--ip=172.16._USER_.11 --nameserver=172.16.0.1 --netmask=255.255.0.0 --activate
network --device=eth1 --onboot=no
network --device=eth2 --onboot=no
rootpw --iscrypted $1$9GDUyF5b$b5SFhqDVlvCXWff7IgbvS.
graphical
firstboot --disable
keyboard jp106
lang en_US
reboot
timezone --isUtc Asia/Tokyo
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot --asprimary --fstype="ext4" --size=512
part swap --fstype="swap" --size=4096
part / --fstype="ext4" --grow --size=1
part pv.1 --size=20480
volgroup cinder-volumes pv.1
%packages
@core
@standard
%end

9
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

仮想マシン#1の作成 (2)
■

virt-installコマンドで仮想マシンを作成して、ゲストOSをインストールします。
- 次のコマンドを実行します。最後に「ゲスト OS のインストールが進行中です。インストール処
理を完了させるために、コンソールに再接続できます。」と表示されるまで、少し待ちます。
$ virt-install --connect=qemu+ssh://root@localhost/system 
--name OPST1-□ --vcpus 4 --ram 4096 
--disk path=/var/lib/libvirt/images/opst1-□.img,size=32,sparse=false 
--network network:external01 
--network network:external01 
--network network:internal0□ 
--cpu host 
--os-variant fedora18 
--graphics vnc --noautoconsole 
--location http://reposerver/repo/Fedora18/os/ 
--initrd-inject=opst1.ks 
--extra-args="ks=file:/opst1.ks"
●

●

3箇所の□は、ユーザ番号(1〜7)を入れてください。
3個の仮想NICに対応して、「--network network:external01」の行が2つと、
「--network network:internal0□」の行が1つあります。
※ コマンドが長いので、テキストエディタに入力してから、コマンド端末にコピペすることをお勧めします。

- コマンドが完了すると、仮想マシンが作成されて、ゲストOSのインストールが開始されていま
す。virt-managerで仮想マシン「OPST1-□」のコンソールを開いて、インストールの様子を確
認してください。
- インストールが完了すると、仮想マシンが停止します。virt-managerから、再度、仮想マシン
「OPST1-□」を起動してください。
10
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

仮想マシン#1の作成 (3)
■

注意
- インストールに失敗した場合は、virt-managerで仮想マシンを強制停止・削除した後に、
opst1.ksの内容とvirt-installコマンドのオプションを確認して、再度、virt-installコマンドを
実行してください。
- 仮想マシンを停止/削除する際は、対象の仮想マシンの右クリックメニューから「強制停止」/
「削除」を選択します。削除する際は、「関連するストレージファイルを削除する」にチェック
を入れたままで「削除」を実施します。

11
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

仮想マシン#1の作成 (4)
■

作成した仮想マシンにログインして、環境を確認します。
- ホストLinuxからrootユーザでログインします。パスワードは「edubase」です。
$ ssh root@172.16.□.11

- ボリュームグループ「cinder-volumes」が存在することを確認します。
# vgs
VG
#PV #LV #SN Attr
VSize VFree
cinder-volumes
1
0
0 wz--n- 19.97g 19.97g

- YUMリポジトリの設定ファイルをダウンロードします。
# mkdir ~/work
# mv /etc/yum.repos.d/* ~/work/
# curl http://reposerver/files/fedora.repo > /etc/yum.repos.d/fedora.repo
# yum repolist
(中略)
リポジトリー ID
リポジトリー名
状態
fedora
Fedora 18 - x86_64
33,827
updates
Fedora 18 - x86_64 - Updates
18,363
repolist: 52,190
●

●

最後の「yum repolist」で、「fedora」「updates」の2個のリポジトリが表示されることを確認します。
デフォルトではインターネット上のリポジトリを利用するようになっていますが、ここでは、演習環境に事前
に用意したリポジトリを利用するためにこの作業を行なっています。

12
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

仮想マシン#1の作成 (5)
- 全てのパッケージを最新にアップデートして、仮想マシンを再起動します。
# yum -y update
# mv -f /etc/yum.repos.d/fedora-updates* ~/work/
# reboot
●

パッケージをアップデートすると、YUMリポジトリの設定ファイルが追加されますが、演習環境では不要なた
め、mvコマンドで取り除いています。

13
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

RDOのインストール (1)
■

quickrdoを利用して、コントローラーノードにRDOをインストールします。
- ホストLinuxから仮想マシン#1(OPST1-□)にログインします。
$ ssh root@172.16.□.11

- GitHubからquickrdoを取得します。
# yum -y install git
# cd ~
# git clone https://github.com/enakai00/quickrdo
# cd quickrdo
# git checkout f18-grizzly-mn
Branch f18-grizzly-mn set up to track remote branch f18-grizzly-mn from origin.
Switched to a new branch 'f18-grizzly-mn'
●

チェックアウトするブランチは「f18-grizzly-mn」です。最後に「Switched to a new branch 'f18-grizzlymn'」と表示されることを確認します。

- 演習環境に事前に用意したリポジトリからインストールするように、設定を変更します。(イン
ターネット上のリポジトリを使用する場合は、これらの作業は不要です。)
スクリプト「setup.sh」を開いて、19行目(下記の矢印の行)を「#」でコメントアウトします。
~/quickrdo/setup.shのコメントアウト部分
●

この行

function rdo_install {
#
yum install -y http://rdo.fedorapeople.org/openstack/openstack-grizzly/rdo-release-grizzly.rpm
yum install -y openstack-packstack-2013.1.1-0.20.dev642.fc19.noarch
●

続いて、RDOのリポジトリ設定ファイルをダウンロードします。
# curl http://reposerver/files/rdo.repo > /etc/yum.repos.d/rdo.repo

14

●

Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

RDOのインストール (2)
# yum repolist
(中略)
リポジトリー ID
fedora
openstack-grizzly
updates
repolist: 52,502
●

リポジトリー名
Fedora 18 - x86_64
OpenStack Grizzly Repository
Fedora 18 - x86_64 - Updates

状態
33,827
312
18,363

「yum repolist」で、「openstack-grizzly」のリポジトリが表示されることを確認します。

- インストールスクリプト「setup.sh」を実行します。
# ./setup.sh
●

途中で次のメッセージが出たら、rootパスワード(edubase)を入力します。

Setting up ssh keys...root@172.16.□.11's password:
●

この後、インストールが完了するまでしばらく時間がかかります。

- インストールが完了すると、「Done. Now, you need to reboot the server.」というメッセージ
がでます。
●

その他のメッセージで終了した場合は、インストールに失敗しています。この後のページを参考にして、再
度、インストールを行って下さい。

15
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

演習環境に固有の設定
■

演習環境に固有の設定を追加します。
- 次のコマンドで、ブロックボリューム削除の際のゼロクリア処理を無効化します。
●

2つ目のコマンドで「none」と表示されることを確認してください。
# openstack-config --set /etc/cinder/cinder.conf DEFAULT volume_clear none
# openstack-config --get /etc/cinder/cinder.conf DEFAULT volume_clear
none

- ここで、一度、仮想マシンを再起動します。
# reboot

16
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

RDOのインストールに失敗した場合の対応
■

注意
- インストールが途中で失敗した場合は、次のコマンドを実行するとインストール前の状態に戻り
ます。再度、「setup.sh」を実行してください。
# cd ~/quickrdo
# ./cleanup.sh
This will completely uninstall all openstack-related components.
Are you really sure? (yes/no) yes
「yes」を入力
# vgcreate cinder-volumes /dev/vda2
# reboot

17
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

OpenStackの稼働確認 (1)
■

OpenStackの稼動状態を確認します。
- ホストLinuxから仮想マシン#1(OPST1-□)にログインします。
$ ssh root@172.16.□.11

- OpenStackに関連するサービスの稼動状態を確認します。
# . ~/keystonerc_admin
# openstack-status
== Nova services ==
openstack-nova-api:
openstack-nova-cert:
openstack-nova-compute:
openstack-nova-network:
openstack-nova-scheduler:
openstack-nova-volume:
openstack-nova-conductor:
== Glance services ==
openstack-glance-api:
openstack-glance-registry:
== Keystone service ==
openstack-keystone:
== Horizon service ==
openstack-dashboard:
(以下省略)
●

active
active
active
inactive (disabled on boot)
active
inactive (disabled on boot)
active
active
active
active
active

すべてのサービスの状態が「active」もしくは「inactive (disabled on boot)」であることを確認します。

18
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

OpenStackの稼働確認 (2)
- メッセージキューとの接続状態をログファイルから確認します。
# grep AMQP /var/log/nova/scheduler.log | tail -5
2013-12-12 21:23:03.288 ERROR nova.openstack.common.rpc.impl_qpid [req-f3e997c2-6ba3-4290-a8f4ea9f4a04ab75 None None] Unable to connect to AMQP server: connection-forced: Authentication
failed(320). Sleeping 32 seconds
2013-12-12 21:23:35.297 ERROR nova.openstack.common.rpc.impl_qpid [req-f3e997c2-6ba3-4290-a8f4ea9f4a04ab75 None None] Unable to connect to AMQP server: connection-forced: Authentication
failed(320). Sleeping 60 seconds
2013-12-12 21:24:35.322 ERROR nova.openstack.common.rpc.impl_qpid [req-f3e997c2-6ba3-4290-a8f4ea9f4a04ab75 None None] Unable to connect to AMQP server: connection-forced: Authentication
failed(320). Sleeping 60 seconds
2013-12-12 21:25:10.161 INFO nova.openstack.common.rpc.impl_qpid [req-c2ccc03f-79c3-45a1-ad574c91cf5afcf3 None None] Connected to AMQP server on 172.16.1.11:5672
2013-12-12 21:25:10.256 INFO nova.openstack.common.rpc.impl_qpid [req-c2ccc03f-79c3-45a1-ad574c91cf5afcf3 None None] Connected to AMQP server on 172.16.1.11:5672
●

最初の方は、ERRORが表示されていますが、最後に「Connected to AMQP server」というメッセージが出て
いれば問題ありません。最後までERRORの場合は、qpidd.serviceを再起動して、再度、先のログファイルを
確認してください。

# systemctl restart qpidd.service

19
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

プロジェクト環境の初期設定 (1)
■

サンプルプロジェクトを構成して、利用開始に必要な初期設定を行います。
- ここでは、quickrdoの初期設定スクリプト「config.sh」を利用して、次の設定を行います。
●

●

サンプルプロジェクト「demo」の作成
OpenStack利用ユーザ「demo_user」と管理ユーザ「demo_admin」の作成(パスワードはどちらも
「passw0rd」)

●

プロジェクト「demo」用の仮想ルータと仮想ネットワーク「private01」「private02」の作成

●

セキュリティグループ「default」の設定(SSH接続とpingの許可)

●

SSHログイン認証用のキーペア「mykey」の作成と登録

●

マシンイメージ「Fedora19」の登録

- 初期設定スクリプト「~/quickrdo/config.sh」をviエディタで開き、冒頭の変数を下図のように
変更します。
●

□は、ユーザ番号(1〜7)を入れてください。

~/quickrdo/config.shの変更部分
public="172.16.0.0/16"
gateway="172.16.0.1"
nameserver="172.16.0.1"
pool=("172.16.□.100" "172.16.□.199")
private=("192.168.101.0/24" "192.168.102.0/24")

サブネットマスク「16」と「24」の違いに注意

20
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

プロジェクト環境の初期設定 (2)
- 同じく、22行目の「--copy-from」オプションのURLを下記に変更します。
if ! glance image-show "Fedora19" >/dev/null 2>&1; then
glance image-create --name "Fedora19" 
--disk-format qcow2 --container-format bare --is-public true 
--copy-from http://reposerver/files/fedora-19.x86_64.qcow2
fi

この行

- 初期設定スクリプトを実行します。
# cd ~/quickrdo
# ./config.sh
External NIC: eth1
Private NIC: eth2

「eth1」を入力
「eth2」を入力

- 上記のように「External NIC:」「Private NIC:」という表示がでるので、仮想マシンインスタン
スがアクセスするNIC(パブリック側「eth1」とプライベート側「eth2」)を入力します。
- 最後に「Configuration finished.」と表示されれば完了です。
●

■

上記のメッセージがでないで終了した場合は、初期設定に失敗しています。失敗した原因を取り除いた後に、
「./config.sh」を再度実行すると、以前の設定を削除して、新しく設定が行われます。

この後、コンピュートノードを追加することで、実際に仮想マシンインスタンスが起動
できるようになります。
- コンピュートノードは、運用中に任意のタイミングで自由に追加することができます。
21
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

仮想ネットワークの構成について
■

今回の初期設定手順では、図のように2つの仮想スイッチ(サブネット)を作成してい
ます。

22
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

コンピュートノードの追加

23
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

演習内容
■

この演習では、次の作業を行います。
- 仮想マシン#2(OPST2-□)を作成して、コンピュートノードとして構成します。
●

●

virt-installとKickStartを利用して、仮想マシンの作成とゲストOS(Fedora 18)のインストールを自動で行
います。
コントローラーノードのquickrdoを利用して、ネットワーク経由でコンピュートノードにRDOをインストール
します。

internal0□
OPST1-□

eth2

172.16.□.11
eth0

OPST2-□
quickrdo
eth1

IPマスカレード

eth1

172.16.□.12
eth0

external01 172.16.0.0/16
ホストLinux

emX
外部ネットワーク

24
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

仮想マシン#2の作成 (1)
■

Fedora 18を自動インストールするためのKickStartファイルを用意します。
- この作業はホストLinuxで実施します。KickStartファイル「opst2.ks」をダウンロードします。
$ mkdir ~/work
$ cd ~/work
$ curl http://reposerver/files/opst2.ks > opst2.ks

- viエディタでopst2.ksを開いて、下記の2箇所の_USER_をユーザ番号(1〜7)に修正します。
install
url --url="http://reposerver/repo/Fedora18/os/"
network --bootproto=static --hostname=opst2-_USER_ --device=eth0 --gateway=172.16.0.1
--ip=172.16._USER_.12 --nameserver=172.16.0.1 --netmask=255.255.0.0 --activate
network --device=eth1 --onboot=no
rootpw --iscrypted $1$9GDUyF5b$b5SFhqDVlvCXWff7IgbvS.
graphical
firstboot --disable
keyboard jp106
lang en_US
reboot
timezone --isUtc Asia/Tokyo
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot --asprimary --fstype="ext4" --size=512
part swap --fstype="swap" --size=4096
part / --fstype="ext4" --grow --size=1
%packages
@core
@standard
%end
25
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

仮想マシン#2の作成 (2)
■

virt-installコマンドで仮想マシンを作成して、ゲストOSをインストールします。
- 次のコマンドを実行します。最後に「ゲスト OS のインストールが進行中です。インストール処
理を完了させるために、コンソールに再接続できます。」と表示されるまで、少し待ちます。
$ virt-install --connect=qemu+ssh://root@localhost/system 
--name OPST2-□ --vcpus 2 --ram 4096 
--disk path=/var/lib/libvirt/images/opst2-□.img,size=32,sparse=false 
--network network:external01 
--network network:internal0□ 
--cpu host 
--os-variant fedora18 
--graphics vnc --noautoconsole 
--location http://reposerver/repo/Fedora18/os/ 
--initrd-inject=opst2.ks 
--extra-args="ks=file:/opst2.ks"
●

●

3箇所の□は、ユーザ番号(1〜7)を入れてください。
2個の仮想NICに対応して、「--network network:external01」の行が1つと、
「--network network:internal0□」 の行が1つあります。
※ コマンドが長いので、テキストエディタに入力してから、コマンド端末にコピペすることをお勧めします。

- コマンドが完了すると、仮想マシンが作成されて、ゲストOSのインストールが開始されていま
す。virt-managerで仮想マシン「OPST2-□」のコンソールを開いて、インストールの様子を確
認してください。
- インストールが完了すると仮想マシンが停止しますので、virt-managerから仮想マシンを起動し
てください。
26
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

仮想マシン#2の作成 (3)
■

注意
- インストールに失敗した場合は、virt-managerで仮想マシンを強制停止・削除した後に、
opst2.ksの内容とvirt-installコマンドのオプションを確認して、再度、virt-installコマンドを
実行してください。
- 仮想マシンを停止/削除する際は、対象の仮想マシンの右クリックメニューから「強制停止」/
「削除」を選択します。削除する際は、「関連するストレージファイルを削除する」にチェック
を入れたままで「削除」を実施します。

27
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

仮想マシン#2の作成 (4)
■

作成した仮想マシンにログインして、環境を確認します。
- ホストLinuxからrootユーザでログインします。パスワードは「edubase」です。
$ ssh root@172.16.□.12

- 仮想化支援機能が有効化されていることを確認します。
●

/proc/cpuinfoの「flags」に「vmx」もしくは「svm」が含まれています。

# cat /proc/cpuinfo | grep -E "(vmx|svm)"
flags
: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good
nopl pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm
flags
: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good
nopl pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm

28
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

仮想マシン#2の作成 (5)
- YUMリポジトリの設定ファイルをダウンロードします。
# mkdir ~/work
# mv /etc/yum.repos.d/* ~/work/
# curl http://reposerver/files/fedora.repo > /etc/yum.repos.d/fedora.repo
# yum repolist
(中略)
リポジトリー ID
リポジトリー名
状態
fedora
Fedora 18 - x86_64
33,827
updates
Fedora 18 - x86_64 - Updates
18,363
repolist: 52,190
●

●

最後の「yum repolist」で、「fedora」「updates」の2個のリポジトリが表示されることを確認します。
デフォルトではインターネット上のリポジトリを利用するようになっていますが、ここでは、演習環境に事前
に用意したリポジトリを利用するためにこの作業を行なっています。

- 全てのパッケージを最新にアップデートして、仮想マシンを再起動します。
# yum -y update
# mv -f /etc/yum.repos.d/fedora-updates* ~/work/
# reboot
●

パッケージをアップデートすると、YUMリポジトリの設定ファイルが追加されますが、演習環境では不要なた
め、mvコマンドで取り除いています。

29
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

RDOのインストール (1)
■

quickrdoを利用して、コンピュートノードにRDOをインストールします。
- この作業はコントローラノード(OPST1-□)から実施します。
- ホストLinuxから仮想マシン#1(OPST1-□)にログインします。
$ ssh root@172.16.□.11

- 演習環境に事前に用意したリポジトリからインストールするように、設定を変更します。(イン
ターネット上のリポジトリを使用する場合は、これらの作業は不要です。)
●

スクリプト「~/quickrdo/lib/prep_compute.sh」を開いて、下記のように、8行目を「#」でコメントアウト
して、curlコマンドの行を追加します。

lib/prep_compute.shの変更部分
function pre_install {
setenforce 0
sed -i.bak 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
#

yum update -y
yum install -y http://rdo.fedorapeople.org/openstack/openstack-grizzly/rdo-release-grizzly.rpm
curl http://reposerver/files/rdo.repo > /etc/yum.repos.d/rdo.repo
yum install -y patch iptables-services

この行を追加
この行をコメントアウト

30
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

RDOのインストール (2)
- quickrdoの「add_compute.sh」を実行します。
# cd ~/quickrdo
# ./add_compute.sh 172.16.□.12
Private NIC: eth1
Doing preparations...

インストール対象のコンピュートノードのIPアドレスを指定

コンピュートノードのプライベートネットワーク側のNIC(eth1)を入力

The authenticity of host '172.16.□.12 (172.16.□.12)' can't be established.
RSA key fingerprint is 26:ea:40:c7:1d:f3:83:9b:78:f5:f2:d4:64:55:c6:37.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.□.12' (RSA) to the list of known hosts.
root@172.16.□.12's password:

「yes」を入力

コンピュートノードのrootパスワード(edubase)を入力

- この後、RDOのインストールが自動で進みます。途中でインストール中のコンピュートノードが
再起動しますが、そのまま待ちます。下記のように、最後に「Done.」と表示されてスクリプト
が終了すればインストール完了です。
Done. Now, rebooting the server...
Connection to 172.16.1.13 closed by remote host.
ssh: connect to host 172.16.1.13 port 22: Connection refused
Network default destroyed
Network default unmarked as autostarted
Done.
●

「All-in-one構成」での導入時に実施した、仮想化ハイパーバイザにKVMを指定する作業は、
「add_compute.sh」の中で自動で行われています。
31
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

RDOのインストール (3)
- コンピュートノードが起動したら、コントローラノードで、次のコマンドにより、コンピュート
ノードが認識されていることを確認します。
# . ~/keystonerc_admin
# nova hypervisor-list
+----+---------------------+
| ID | Hypervisor hostname |
+----+---------------------+
| 1 | opst2-1
|
+----+---------------------+

- 同様にして、仮想マシン#3(OPST3-□)を作成して、コンピュートノードとして追加します。
(具体的な手順は次ページを参照)

■

注意:コンピュートノードへのRDOのインストールに失敗した場合の対応
- 演習環境では、仮想マシンの負荷が高すぎると下記のエラーでインストールに失敗する場合があ
ります。この場合は、インストール対象のコンピュートノードの仮想マシンを再起動して、再
度、コントローラーノードから、「add_compute.sh」を実行してください。
ERROR : Error during puppet run : Error: /usr/sbin/tuned-adm profile virtual-host returned 2
instead of one of [0]
Please check log file /var/tmp/packstack/20131231-072547-nrwIvc/openstack-setup.log for more
information

32
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

コンピュートノードの追加方法
■

■

同じ手順を繰り返すことで、コンピュートノードをさらに追加することができます。
コンピュートノードごとに変更が必要な点は次のとおりです。仮想マシン#3(OPST3□)を追加する場合の例を示します。
- KickStartファイル「opst2.ks」を「opst3.ks」としてコピーして、「--hostname(ホストネー
ム)」「--ip(IPアドレス)」の指定を変更します。
network --bootproto=static --hostname=opst3-_USER_ --device=eth0 --gateway=172.16.0.1
--ip=172.16._USER_.13 --nameserver=172.16.0.1 --netmask=255.255.0.0 --activate

- virt-installコマンドの「--name(仮想マシン名)」「--disk path(仮想ディスクイメージファ
イル)」「--initrd-inject(KickStartファイル)」「--extra-args(KickStartファイル)」の
指定を変更します。
$ virt-install --connect=qemu+ssh://root@localhost/system 
--name OPST3-□ --vcpus 2 --ram 4096 
--disk path=/var/lib/libvirt/images/opst3-□.img,size=32,sparse=false 
--network network:external01 
--network network:internal0□ 
--cpu host 
--os-variant fedora18 
--graphics vnc --noautoconsole 
--location http://reposerver/repo/Fedora18/os/ 
--initrd-inject=opst3.ks 
--extra-args="ks=file:/opst3.ks"

- コントローラノードで「add_compute.sh」を実行する際のIPアドレス指定を変更します。
# cd ~/quickrdo
# ./add_compute.sh 172.16.□.13

33
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

メモとしてお使いください

34
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

コマンドによる操作

35
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Keystoneの操作 (1)
■

コントローラノードからコマンドラインでKeystoneを操作します。
- ホストLinuxからコントローラノードにrootユーザでログインします。
$ ssh root@172.16.□.11

- 管理ユーザ「admin」用の環境変数設定ファイルがあることを確認して、読み込みます。
# cd ~
# cat keystonerc_admin
export OS_USERNAME=admin
export OS_TENANT_NAME=admin
export OS_PASSWORD=51e8860c354f4549
export OS_AUTH_URL=http://172.16.□.11:35357/v2.0/
export PS1='[u@h W(keystone_admin)]$
# . ~/keystonerc_admin

- テナント(プロジェクト)を一覧表示します。
●

「demo」はインストール時の初期設定スクリプトで作成したものです。

# keystone tenant-list
+----------------------------------+----------+---------+
|
id
|
name
| enabled |
+----------------------------------+----------+---------+
| 221e8f29bf18453dba555b883b7b2a4b | admin
|
True |
| 67a8d2bb80d24b26a94959081d2aaa2a |
demo
|
True |
| 4e11791e81894494a3556911d81150a9 | services |
True |
+----------------------------------+----------+---------+

36

Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Keystoneの操作 (2)
- 登録ユーザを一覧表示します。
●

「demo_admin」と「demo_user」はインストール時の初期設定スクリプトで作成したものです。

# keystone user-list
+----------------------------------+------------+---------+-------------------+
|
id
|
name
| enabled |
email
|
+----------------------------------+------------+---------+-------------------+
| a47b2958f57f45c989fafef659369169 |
admin
|
True |
test@test.com
|
| dacc67b5da4e4e9bbbfc718ec46d5021 |
cinder
|
True | cinder@localhost |
| 7e88f7a917c34838bec6aaa9f66e7dd2 | demo_admin |
True |
|
| 2c7a5ebb47f645c9b05d2e1a6d4c623f | demo_user |
True |
|
| 45d7c12e852746a08ec2e41261e561d1 |
glance
|
True | glance@localhost |
| 126e744f5f1f4e9eb3c3b4f0e7a0f819 |
nova
|
True |
nova@localhost |
| 14ff613cec194ba58938f175af44696f | quantum
|
True | quantum@localhost |
+----------------------------------+------------+---------+-------------------+

- ロールを一覧表示します。
●

現在のOpenStackの実装では、ロールの使い方は、管理者ロール「admin」と一般ユーザロール(admin以外
のすべて)の2種類の使い分けしかありません。

# keystone role-list
+----------------------------------+----------+
|
id
|
name
|
+----------------------------------+----------+
| e9d37957582340d68ec238c089e47b5d | Member |
| 9fe2ff9ee4384b1894a90878d3e92bab | _member_ |
| 051e475688404eebb6fd9f5084252a3e | admin
|
+----------------------------------+----------+
37
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Keystoneの操作 (3)
- 各テナントのユーザを一覧表示します。
●

「--tenant-id」には、先にテナント一覧で確認したIDを指定します。

●

テナント「services」は、OpenStackのコンポーネントを表すユーザが所属します。

テナント「admin」

# keystone user-list --tenant-id=221e8f29bf18453dba555b883b7b2a4b
+----------------------------------+-------+---------+---------------+
|
id
| name | enabled |
email
|
+----------------------------------+-------+---------+---------------+
| a47b2958f57f45c989fafef659369169 | admin |
True | test@test.com |
+----------------------------------+-------+---------+---------------+

テナント「demo」
# keystone user-list --tenant-id=67a8d2bb80d24b26a94959081d2aaa2a
+----------------------------------+------------+---------+-------+
|
id
|
name
| enabled | email |
+----------------------------------+------------+---------+-------+
| 7e88f7a917c34838bec6aaa9f66e7dd2 | demo_admin |
True |
|
| 2c7a5ebb47f645c9b05d2e1a6d4c623f | demo_user |
True |
|
+----------------------------------+------------+---------+-------+
# keystone user-list --tenant-id=4e11791e81894494a3556911d81150a9
+----------------------------------+---------+---------+-------------------+
|
id
|
name | enabled |
email
|
+----------------------------------+---------+---------+-------------------+
| dacc67b5da4e4e9bbbfc718ec46d5021 | cinder |
True | cinder@localhost |
| 45d7c12e852746a08ec2e41261e561d1 | glance |
True | glance@localhost |
| 126e744f5f1f4e9eb3c3b4f0e7a0f819 |
nova |
True |
nova@localhost |
| 14ff613cec194ba58938f175af44696f | quantum |
True | quantum@localhost |
+----------------------------------+---------+---------+-------------------+

テナント「services」

38

Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Keystoneの操作 (4)
- ユーザ「nova」「demo_admin」「demo_user」のロールを確認します。
# keystone user-role-list --user=nova --tenant-id=4e11791e81894494a3556911d81150a9
+----------------------------------+-------+----------------------------------+----------------------------------+
|
id
| name |
user_id
|
tenant_id
|
+----------------------------------+-------+----------------------------------+----------------------------------+
| 051e475688404eebb6fd9f5084252a3e | admin | 126e744f5f1f4e9eb3c3b4f0e7a0f819 | 4e11791e81894494a3556911d81150a9 |
+----------------------------------+-------+----------------------------------+----------------------------------+
# keystone user-role-list --user=demo_admin --tenant-id=67a8d2bb80d24b26a94959081d2aaa2a
+----------------------------------+-------+----------------------------------+----------------------------------+
|
id
| name |
user_id
|
tenant_id
|
+----------------------------------+-------+----------------------------------+----------------------------------+
| 051e475688404eebb6fd9f5084252a3e | admin | 7e88f7a917c34838bec6aaa9f66e7dd2 | 67a8d2bb80d24b26a94959081d2aaa2a |
+----------------------------------+-------+----------------------------------+----------------------------------+
# keystone user-role-list --user=demo_user --tenant-id=67a8d2bb80d24b26a94959081d2aaa2a
+----------------------------------+--------+----------------------------------+----------------------------------+
|
id
| name |
user_id
|
tenant_id
|
+----------------------------------+--------+----------------------------------+----------------------------------+
| e9d37957582340d68ec238c089e47b5d | Member | 2c7a5ebb47f645c9b05d2e1a6d4c623f | 67a8d2bb80d24b26a94959081d2aaa2a |
+----------------------------------+--------+----------------------------------+----------------------------------+

- 一般ユーザ「demo_user」用の環境変数設定ファイル「keystonerc_demo_user」を下図の内容
で作成します。
keystonerc_demo_user
export
export
export
export
export

OS_USERNAME=demo_user
一般ユーザは5000番ポートを使用
OS_TENANT_NAME=demo
OS_PASSWORD=passw0rd
OS_AUTH_URL=http://172.16.□.11:5000/v2.0/
PS1='[u@h W(keystone_demo_user)]$ '

39

Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Keystoneの操作 (5)
- 環境変数を読み込んで、テナント一覧を表示してみます。
●

一般ユーザのため一覧表示には失敗します。

# . ~/keystonerc_demo_user
# keystone tenant-list
Unable to communicate with identity service: {"error": {"message": "You are not
authorized to perform the requested action: admin_required", "code": 403, "titl
e": "Not Authorized"}}. (HTTP 403)

- パスワードを変更します。
●

最後のメッセージは、環境変数設定ファイルのパスワードを修正しておくことを促しています。

# keystone password-update
新規パスワードを入力
New Password:
Repeat New Password:
  新規パスワードを再入力
You should update the password you are using to authenticate to match your new
password

- 環境変数設定ファイル「keystonerc_demo_user」の「OS_PASSWORD」を新しく設定したパスワード
に修正して、再度、設定を読み込みます。
# . ~/keystonerc_demo_user

※ 管理者権限で他のユーザのパスワードを変更する際は「keystone user-password-update」を使用します。
40
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Glanceの操作
■

コントローラノードからコマンドラインでGlanceを操作します。
- 先ほどの操作に続けて、一般ユーザ「demo_user」で作業を継続します。「demo_user」用の環
境変数設定ファイルを読み込んでおいてください。
# . ~/keystonerc_demo_user

- インターネットからテンプレートイメージをダウンロードして、登録します。
●

ここではサンプルの小さなテンプレートイメージ「CirrOS」を使用します。

# cd ~/work
# wget https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img
# glance image-create --name=cirros-0.3.0 --disk-format=qcow2 --container-format=bare
--file=/root/work/cirros-0.3.0-x86_64-disk.img

- 登録されたイメージを一覧表示します。
# glance image-list
+--------------------------------------+--------------+-------------+------------------+-----------+--------+
| ID
| Name
| Disk Format | Container Format | Size
| Status |
+--------------------------------------+--------------+-------------+------------------+-----------+--------+
| c7a5fcaf-935c-48a2-a073-4124c1d1fea4 | cirros-0.3.0 | qcow2
| bare
| 9761280
| active |
| 12cf8861-825c-4b90-af19-b096b402f169 | Fedora19
| qcow2
| bare
| 237371392 | active |
+--------------------------------------+--------------+-------------+------------------+-----------+--------+

41
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Novaの操作 (1)
■

コントローラノードからコマンドラインでNovaを操作します。
- 先ほどの操作に続けて、一般ユーザ「demo_user」で作業を継続します。「demo_user」用の環
境変数設定ファイルを読み込んでおいてください。
# . ~/keystonerc_demo_user

- 仮想マシンインスタンスを起動する際に指定する各種情報を確認します。
# nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| ID | Name
| Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | extra_specs |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| 1 | m1.tiny
| 512
| 0
| 0
|
| 1
| 1.0
| True
| {}
|
| 2 | m1.small | 2048
| 20
| 0
|
| 1
| 1.0
| True
| {}
|
| 3 | m1.medium | 4096
| 40
| 0
|
| 2
| 1.0
| True
| {}
|
| 4 | m1.large | 8192
| 80
| 0
|
| 4
| 1.0
| True
| {}
|
| 5 | m1.xlarge | 16384
| 160 | 0
|
| 8
| 1.0
| True
| {}
|
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
# nova keypair-list
+-------+-------------------------------------------------+
| Name | Fingerprint
|
+-------+-------------------------------------------------+
| mykey | 81:db:c9:1e:0d:ce:c3:b4:18:45:f1:14:8c:e1:10:b7 |
+-------+-------------------------------------------------+
# nova image-list
+--------------------------------------+--------------+--------+--------+
| ID
| Name
| Status | Server |
+--------------------------------------+--------------+--------+--------+
| 12cf8861-825c-4b90-af19-b096b402f169 | Fedora19
| ACTIVE |
|
| c7a5fcaf-935c-48a2-a073-4124c1d1fea4 | cirros-0.3.0 | ACTIVE |
|
+--------------------------------------+--------------+--------+--------+

42

Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Novaの操作 (2)
# nova net-list
+--------------------------------------+-------------+------+
| ID
| Label
| CIDR |
+--------------------------------------+-------------+------+
| 35378f50-a2e3-4b3a-ae50-5a45398736d3 | ext-network | None |
| 541bb203-f13c-4eb7-ac91-2432b389572f | private01
| None |
| f4ada310-3962-4ece-a6f5-c25b50fbc85a | private02
| None |
+--------------------------------------+-------------+------+
# nova secgroup-list
+---------+-------------+
| Name
| Description |
+---------+-------------+
| default | default
|
+---------+-------------+

- 確認した情報を元にして、仮想マシンインスタンスを起動します。
●

「net-id」には接続する仮想ネットワークのID(この例では「private01」)を指定します。

# nova boot --flavor m1.tiny --image Fedora19 --key-name mykey --security-groups default
--nic net-id=541bb203-f13c-4eb7-ac91-2432b389572f vm01
# nova list
+--------------------------------------+------+--------+----------+
| ID
| Name | Status | Networks |
+--------------------------------------+------+--------+----------+
| dbe1fa9e-d8d1-45ee-83a0-98a2dc48b288 | vm01 | BUILD |
|
+--------------------------------------+------+--------+----------+

43
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Novaの操作 (3)
- 「Status」が「ACTIVE」になると、ゲストOSの起動が開始しています。
# nova list
+--------------------------------------+------+--------+-------------------------+
| ID
| Name | Status | Networks
|
+--------------------------------------+------+--------+-------------------------+
| 9d3170fd-d2d5-42ab-8396-d5a1d6e3e170 | vm01 | ACTIVE | private01=192.168.101.2 |
+--------------------------------------+------+--------+-------------------------+

- フローティングIPの一覧を確認します。
# nova floating-ip-list
+--------------+-------------+----------+-------------+
| Ip
| Instance Id | Fixed Ip | Pool
|
+--------------+-------------+----------+-------------+
| 172.16.□.101 | None
| None
| ext-network |
| 172.16.□.102 | None
| None
| ext-network |
| 172.16.□.103 | None
| None
| ext-network |
| 172.16.□.104 | None
| None
| ext-network |
| 172.16.□.105 | None
| None
| ext-network |
+--------------+-------------+----------+-------------+

44
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Novaの操作 (4)
- フローティングIPの1つを起動した仮想マシンインスタンスに割り当てます。
# nova add-floating-ip vm01 172.16.□.101
# nova floating-ip-list
+--------------+--------------------------------------+---------------+-------------+
| Ip
| Instance Id
| Fixed Ip
| Pool
|
+--------------+--------------------------------------+---------------+-------------+
| 172.16.□.101 | c853866a-77a7-4c6a-b3d7-8732ca4abd47 | 192.168.101.2 | ext-network |
| 172.16.□.102 | None
| None
| ext-network |
| 172.16.□.103 | None
| None
| ext-network |
| 172.16.□.104 | None
| None
| ext-network |
| 172.16.□.105 | None
| None
| ext-network |
+--------------+--------------------------------------+---------------+-------------+

- フローティングIPを指定して、仮想マシンインスタンスにログインできることを確認します。
●

ログインできない場合は、Horizonのダッシュボードから仮想マシンインスタンスのコンソールを開いて、ゲ
ストOSの起動が完了している事を確認してください。

# ssh -i ~/mykey fedora@172.16.□.101
RSA key fingerprint is 7f:db:4b:71:42:ff:cc:36:20:e1:f7:a7:40:e9:9b:fb.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.□.101' (RSA) to the list of known hosts.
[fedora@vm01 ~]$ lsblk
NAME
MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda
252:0
0
2G 0 disk
└─vda1 252:1
0
2G 0 part /
[fedora@vm01 ~]$ exit
ログアウト
45
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

仮想ディスクのバックエンドファイルの確認 (1)
■

起動中の仮想マシンインスタンスについて、仮想ディスクのバックエンドファイルを確
認します。
- 仮想マシンが起動しているコンピュートノードを確認します。
●

この例では、IPアドレス「172.16.□.12」のコンピュートノードで起動しています。

# ssh 172.16.□.12 virsh list
Id
名前
状態
---------------------------------------------------1
instance-00000001
実行中
# ssh 172.16.□.13 virsh list
Id
名前
状態
----------------------------------------------------

- 該当のコンピュートノードの「/var/lib/nova/instances」の下にインスタンスIDのディレクト
リがあることを確認します。
# ssh 172.16.□.12
# ls -l /var/lib/nova/instances/
合計 16
drwxr-xr-x. 2 nova nova 4096 1月
drwxr-xr-x. 2 nova nova 4096 1月
-rw-r--r--. 1 nova nova
31 1月
drwxr-xr-x. 2 nova nova 4096 1月

11
11
11
11

12:42
13:03
12:53
12:42

_base
c853866a-77a7-4c6a-b3d7-8732ca4abd47
compute_nodes
locks
46

Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

仮想ディスクのバックエンドファイルの確認 (2)
- インスタンスIDのディレクトリの下にディスクイメージファイル「disk」があり、qcow2のオー
バーレイファイルであることを確認します。
# ls -l /var/lib/nova/instances/c853866a-77a7-4c6a-b3d7-8732ca4abd47/
合計 6884
-rw-rw----. 1 qemu qemu
24110 1月 11 13:04 console.log
-rw-r--r--. 1 qemu qemu 7077888 1月 11 13:08 disk
-rw-r--r--. 1 nova nova
1510 1月 11 13:03 libvirt.xml
# qemu-img info /var/lib/nova/instances/c853866a-77a7-4c6a-b3d7-8732ca4abd47/disk
image: /var/lib/nova/instances/c853866a-77a7-4c6a-b3d7-8732ca4abd47/disk
file format: qcow2
virtual size: 2.0G (2147483648 bytes)
disk size: 6.7M
cluster_size: 65536
backing file: /var/lib/nova/instances/_base/b5ca0d9b45e98b492cd004d74de5fd31833bd191
# exit
ログアウト

47
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Cinderの操作 (1)
■

コントローラノードからコマンドラインでCinderを操作します。
- 先ほどの操作に続けて、一般ユーザ「demo_user」で作業を継続します。「demo_user」用の環
境変数設定ファイルを読み込んでおいてください。
# . ~/keystonerc_demo_user

- 5GBのブロックボリュームを作成します。
# cinder create --display-name volume01 2
# cinder list
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
|
ID
|
Status | Display Name | Size | Volume Type | Bootable | Attached to |
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
| c95b2854-2ce9-4afd-bc32-f1b1b986a709 | available |
volume01
| 2
|
None
| false
|
|
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+

- ボリュームIDを指定して、ボリュームを起動中の仮想マシンインスタンスに接続します。
# nova volume-attach vm01 c95b2854-2ce9-4afd-bc32-f1b1b986a709 auto

- 仮想マシンインスタンスにログインして、ボリュームが接続されていることを確認します。
# ssh -i ~/mykey.pem fedora@172.16.□.101
[fedora@vm01 ~]$ lsblk
NAME
MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda
252:0
0
2G 0 disk
└─vda1 252:1
0
2G 0 part /
vdb
252:16
0
2G 0 disk
[fedora@vm01 ~]$ exit
ログアウト

48

Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Cinderの操作 (2)
- ブロックボリュームに対応する論理ボリュームが作成されており、iSCSIのLUNとして公開され
ていることを確認します。
# lvdisplay
--- Logical volume --LV Path
LV Name
VG Name
LV UUID
LV Write Access
LV Creation host, time
LV Status
# open
LV Size
(中略)

/dev/cinder-volumes/volume-c95b2854-2ce9-4afd-bc32-f1b1b986a709
volume-c95b2854-2ce9-4afd-bc32-f1b1b986a709
cinder-volumes
HH7jsL-TjxT-pTEf-nCKn-5iaw-0hRo-I53I18
read/write
opst1-99, 2014-01-11 13:09:14 +0900
available
1
2.00 GiB

# tgt-admin -s
(中略)
LUN: 1
Type: disk
SCSI ID: IET
00010001
SCSI SN: beaf11
Size: 2147 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
SWP: No
Thin-provisioning: No
Backing store type: rdwr
Backing store path: /dev/cinder-volumes/volume-c95b2854-2ce9-4afd-bc32-f1b1b986a709
Backing store flags:
Account information:
ACL information:
ALL

49

Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Cinderの操作 (3)
- 仮想マシンインスタンスが起動しているコンピュートノードにおいて、仮想マシンにiSCSIの
LUNが仮想ディスクとして接続されていることを確認します。
# ssh 172.16.□.12
# virsh list
Id
名前
状態
---------------------------------------------------1
instance-00000001
実行中
# virsh dumpxml instance-00000001
(中略)
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/var/lib/nova/instances/e47597a4-0afb-404e-b326-88b6465f00c0/disk'/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source dev='/dev/disk/by-path/ip-172.16.□.11:3260-iscsi-iqn.2010-10.org.openstack
:volume-c95b2854-2ce9-4afd-bc32-f1b1b986a709-lun-1'/>
<target dev='vdb' bus='virtio'/>
<serial>a770e8b7-4a7b-4aa7-9361-27b1aa7b8b10</serial>
<alias name='virtio-disk1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
(以下省略)
# exit
ログアウト

50
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Cinderの操作 (4)
- ボリュームの接続を解除して、スナップショットを作成します。
# nova volume-detach vm01 c95b2854-2ce9-4afd-bc32-f1b1b986a709
# cinder snapshot-create --display-name volume01-snap c95b2854-2ce9-4afd-bc32-f1b1b986a709
# cinder snapshot-list
+--------------------------------------+--------------------------------------+-----------+---------------+------+
|
ID
|
Volume ID
|
Status | Display Name | Size |
+--------------------------------------+--------------------------------------+-----------+---------------+------+
| 3dfa60cb-d0b2-4a10-9d49-817f5cee78b5 | c95b2854-2ce9-4afd-bc32-f1b1b986a709 | available | volume01-snap | 2
|
+--------------------------------------+--------------------------------------+-----------+---------------+------+

- ブロックボリュームとそのスナップショットに対応して、LVMの論理ボリュームのスナップ
ショットが作成されていることを確認します。
# lvdisplay
(中略)
--- Logical volume --LV Path
LV Name
VG Name
LV UUID
LV Write Access
LV Creation host, time
LV snapshot status
LV Status
# open
LV Size
Current LE
COW-table size
(以下省略)

/dev/cinder-volumes/_snapshot-3dfa60cb-d0b2-4a10-9d49-817f5cee78b5
_snapshot-3dfa60cb-d0b2-4a10-9d49-817f5cee78b5
cinder-volumes
FvfElo-cFOY-96RH-djBa-YYAR-Ufh8-c4YTaY
read/write
opst1-99, 2014-01-11 13:17:35 +0900
active destination for volume-c95b2854-2ce9-4afd-bc32-f1b1b986a709
available
0
2.00 GiB
64
2.00 GiB

- 仮想マシンインスタンスを停止します。
# nova delete vm01

51
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

ブロックボリュームからの起動 (1)
■

起動可能なブロックボリュームを作成して、仮想マシンインスタンスを起動します。
- 先ほどの操作に続けて、一般ユーザ「demo_user」で作業を継続します。「demo_user」用の環
境変数設定ファイルを読み込んでおいてください。
# . ~/keystonerc_demo_user

- Fedora19のテンプレートイメージのIDを確認して、--image-idオプションに指定してボリュー
ムを作成しまします。ボリュームのサイズは4GBを指定します。
# glance image-list
+--------------------------------------+--------------+-------------+------------------+-----------+--------+
| ID
| Name
| Disk Format | Container Format | Size
| Status |
+--------------------------------------+--------------+-------------+------------------+-----------+--------+
| c7a5fcaf-935c-48a2-a073-4124c1d1fea4 | cirros-0.3.0 | qcow2
| bare
| 9761280
| active |
| 12cf8861-825c-4b90-af19-b096b402f169 | Fedora19
| qcow2
| bare
| 237371392 | active |
+--------------------------------------+--------------+-------------+------------------+-----------+--------+
# cinder create --image-id 12cf8861-825c-4b90-af19-b096b402f169 --display-name Fedora19-bootvol 4

- 作成したボリュームの「Sataus」が「available」になるまでしばらく待ちます。
●

作成したボリュームは「Bootable」が「true」になっています。

# cinder list
+--------------------------------------+-----------+------------------+------+-------------+----------+-------------+
|
ID
|
Status |
Display Name
| Size | Volume Type | Bootable | Attached to |
+--------------------------------------+-----------+------------------+------+-------------+----------+-------------+
| 78b4d23b-3b57-4a38-9f6e-10e5048170ef | available |
volume01
| 2
|
None
| false
|
|
| bdde9405-8be7-48d5-a879-35e37c97512f | available | Fedora19-bootvol | 4
|
None
|
true
|
|
+--------------------------------------+-----------+------------------+------+-------------+----------+-------------+
52
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

ブロックボリュームからの起動 (2)
- 「--block_device_mapping」オプションに作成したボリュームのIDを指定して、仮想マシンイ
ンスタンスを起動します。
# nova boot --flavor m1.small --image Fedora19 --key-name mykey 
--security-groups default --nic net-id=541bb203-f13c-4eb7-ac91-2432b389572f 
--block_device_mapping vda=bdde9405-8be7-48d5-a879-35e37c97512f:::0 vm01
# nova volume-list
+----------||-----------+-----------+------------------+------+-------------+--------------------------------------+
| ID
||
| Status
| Display Name
| Size | Volume Type | Attached to
|
+----------||-----------+-----------+------------------+------+-------------+--------------------------------------+
| 78b4d23b-||e5048170ef | available | volume01
| 2
| None
|
|
| bdde9405-||e37c97512f | in-use
| Fedora19-bootvol | 2
| None
| b4cb7edd-317f-44e9-97db-5a04c41a4510 |
+----------||-----------+-----------+------------------+------+-------------+--------------------------------------+

- フローティングIPを割り当ててログインすると、4GBのボリュームがvdaとして接続されている
ことがわかります。
# nova add-floating-ip vm01 172.16.□.102
# ssh -i ~/mykey fedora@172.16.□.102
RSA key fingerprint is 8c:7e:50:15:34:89:b1:d8:2b:e8:3d:94:c4:47:f3:61.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.□.102' (RSA) to the list of known hosts.
[fedora@vm01 ~]$ lsblk
NAME
MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda
252:0
0
4G 0 disk
└─vda1 252:1
0
4G 0 part /
[fedora@vm01 ~]$ exit
ログアウト

- 最後に仮想マシンインスタンスを停止しておきます。
# nova delete vm01

53
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

メモとしてお使いください

54
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Pythonスクリプトによる操作

55
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Pythonスクリプトによる操作 (1)
■

Python用クライアントライブラリを使用して、仮想マシンインスタンスの起動・停止
を行うスクリプトを作成します。
- 講義テキストの「クライアントライブラリによるAPI操作」に記載のスクリプト「clients.py」と
「launch_vm.py」をカレントディレクトリに作成します。「launch_vm.py」には、実行権を設
定しておきます。
# chmod u+x launch_vm.py

- 「launch_vm.py」を実行すると、仮想マシンインスタンスが起動した後に、ブロックボリュー
ムの作成と接続、フローティングIPの割り当てが自動で行われます。
# . ~/keystonerc_demo_user
# ./launch_vm.py
/usr/lib/python2.7/site-packages/novaclient/client.py:16: UserWarning: Module backports was already imported
from /usr/lib64/python2.7/site-packages/backports/__init__.pyc, but /usr/lib/python2.7/site-packages is being
added to sys.path
import pkg_resources
Waiting status to be active.
(中略)
このWarningはpython-backportsパッケージの既知の問題です。
Waiting status to be active.
ここでは無視して下さい。
Floating IP: 172.16.1.104
# nova list
+--------------------------------------+------+--------+---------------------------------------+
| ID
| Name | Status | Networks
|
+--------------------------------------+------+--------+---------------------------------------+
| f4cdee8d-e145-4014-bea4-0d000667dfff | vm01 | ACTIVE | private01=192.168.101.3, 172.16.1.104 |
+--------------------------------------+------+--------+---------------------------------------+
# cinder list
(出力は省略)

56
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

Pythonスクリプトによる操作 (2)
- 下図のスクリプト「delete_all_vm.py」は起動中の仮想マシンインスタンスをまとめて停止しま
す。先のスクリプトと同じディレクトリに作成して、実行権を設定します。
# chmod u+x delete_all_vm.py

delete_all_vm.py
#!/usr/bin/python
from clients import nova, glance, cinder
for instance in nova.servers.list():
if instance.status == 'ACTIVE':
print "Destroying instance %s (id:%s)." % (instance.name, instance.id)
instance.delete()

- 「delete_all_vm.py」を実行すると、先ほど起動した仮想マシンインスタンスが停止します。
# . ~/keystonerc_demo_user
# ./delete_all.py
/usr/lib/python2.7/site-packages/novaclient/client.py:16: UserWarning: Module backports was
already imported from /usr/lib64/python2.7/site-packages/backports/__init__.pyc, but
/usr/lib/python2.7/site-packages is being added to sys.path
import pkg_resources
Destroying instance vm01 (id:f4cdee8d-e145-4014-bea4-0d000667dfff).

- ただし、先ほど作成したブロックボリュームはそのまま残っています。ブロックボリュームを削
除するスクリプトも考えてみて下さい。

57
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
第2日 ハンズオンガイド No.1

メモとしてお使いください

58
Copyright (C) 2014 National Institute of Informatics, All rights reserved.
59
Copyright (C) 2014 National Institute of Informatics, All rights reserved.

Contenu connexe

Tendances

クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!Etsuji Nakai
 
Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介Etsuji Nakai
 
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門Etsuji Nakai
 
インフラエンジニアのこれから ~Red Hatの描くLinuxの今後とクラウド~(第ニ部)
インフラエンジニアのこれから ~Red Hatの描くLinuxの今後とクラウド~(第ニ部)インフラエンジニアのこれから ~Red Hatの描くLinuxの今後とクラウド~(第ニ部)
インフラエンジニアのこれから ~Red Hatの描くLinuxの今後とクラウド~(第ニ部)Etsuji Nakai
 
RDOとPackstackのご紹介
RDOとPackstackのご紹介RDOとPackstackのご紹介
RDOとPackstackのご紹介Etsuji Nakai
 
Personal Cloud Automation
Personal Cloud AutomationPersonal Cloud Automation
Personal Cloud AutomationEtsuji Nakai
 
OpenStack(RDO/Grizzly) ダッシュボード利用演習
OpenStack(RDO/Grizzly) ダッシュボード利用演習OpenStack(RDO/Grizzly) ダッシュボード利用演習
OpenStack(RDO/Grizzly) ダッシュボード利用演習Etsuji Nakai
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門Etsuji Nakai
 
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門Etsuji Nakai
 
Aeolus Conductorによる複数環境へのデプロイ自動化
Aeolus Conductorによる複数環境へのデプロイ自動化Aeolus Conductorによる複数環境へのデプロイ自動化
Aeolus Conductorによる複数環境へのデプロイ自動化Etsuji Nakai
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介Etsuji Nakai
 
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニックOpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニックEtsuji Nakai
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1Etsuji Nakai
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSnpsg
 
入門!Software Defined Network
入門!Software Defined Network入門!Software Defined Network
入門!Software Defined NetworkEtsuji Nakai
 
完全分散エッジ処理で実現するNeutron仮想ネットワーク
完全分散エッジ処理で実現するNeutron仮想ネットワーク完全分散エッジ処理で実現するNeutron仮想ネットワーク
完全分散エッジ処理で実現するNeutron仮想ネットワークEtsuji Nakai
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...VirtualTech Japan Inc.
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよnpsg
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~Masaya Aoyama
 

Tendances (20)

クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!
 
Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介
 
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門
 
インフラエンジニアのこれから ~Red Hatの描くLinuxの今後とクラウド~(第ニ部)
インフラエンジニアのこれから ~Red Hatの描くLinuxの今後とクラウド~(第ニ部)インフラエンジニアのこれから ~Red Hatの描くLinuxの今後とクラウド~(第ニ部)
インフラエンジニアのこれから ~Red Hatの描くLinuxの今後とクラウド~(第ニ部)
 
RDOとPackstackのご紹介
RDOとPackstackのご紹介RDOとPackstackのご紹介
RDOとPackstackのご紹介
 
Personal Cloud Automation
Personal Cloud AutomationPersonal Cloud Automation
Personal Cloud Automation
 
OpenStack(RDO/Grizzly) ダッシュボード利用演習
OpenStack(RDO/Grizzly) ダッシュボード利用演習OpenStack(RDO/Grizzly) ダッシュボード利用演習
OpenStack(RDO/Grizzly) ダッシュボード利用演習
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
 
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第一部 OpenStack入門
 
Aeolus Conductorによる複数環境へのデプロイ自動化
Aeolus Conductorによる複数環境へのデプロイ自動化Aeolus Conductorによる複数環境へのデプロイ自動化
Aeolus Conductorによる複数環境へのデプロイ自動化
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
 
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニックOpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
OpenStackをさらに”使う”技術 - OpenStack&Docker活用テクニック
 
OpenStack Icehouse構築手順書
OpenStack Icehouse構築手順書OpenStack Icehouse構築手順書
OpenStack Icehouse構築手順書
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
 
ラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaSラズパイ2で動く Docker PaaS
ラズパイ2で動く Docker PaaS
 
入門!Software Defined Network
入門!Software Defined Network入門!Software Defined Network
入門!Software Defined Network
 
完全分散エッジ処理で実現するNeutron仮想ネットワーク
完全分散エッジ処理で実現するNeutron仮想ネットワーク完全分散エッジ処理で実現するNeutron仮想ネットワーク
完全分散エッジ処理で実現するNeutron仮想ネットワーク
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~
 

Similaire à OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1

CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1Kotaro Noyama
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1Kotaro Noyama
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例maebashi
 
LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)Kazuko Itoda
 
Osc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 jOsc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 jAkira Yoshiyama
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!ksk_ha
 
ベンチマーク勉強会#02
ベンチマーク勉強会#02ベンチマーク勉強会#02
ベンチマーク勉強会#02milk hanakara
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1Etsuji Nakai
 
Cloud founryインストール手順
Cloud founryインストール手順Cloud founryインストール手順
Cloud founryインストール手順Kotaro Noyama
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Emma Haruka Iwao
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on dockerHiroshi Miura
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on dockerHiroshi Miura
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondTaisuke Yamada
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜Hideki Takase
 
Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Etsuji Nakai
 
Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記96smcln
 

Similaire à OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1 (20)

CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
 
Fab
FabFab
Fab
 
LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)LPICレベル1技術解説セミナー(2012/11/11)
LPICレベル1技術解説セミナー(2012/11/11)
 
20170124 linux basic_1
20170124 linux basic_120170124 linux basic_1
20170124 linux basic_1
 
Osc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 jOsc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 j
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
 
ベンチマーク勉強会#02
ベンチマーク勉強会#02ベンチマーク勉強会#02
ベンチマーク勉強会#02
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
 
Cloud founryインストール手順
Cloud founryインストール手順Cloud founryインストール手順
Cloud founryインストール手順
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on docker
 
Building production server on docker
Building production server on dockerBuilding production server on docker
Building production server on docker
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
 
Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会
 
Oss dev-04
Oss dev-04Oss dev-04
Oss dev-04
 
Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記
 

Plus de Etsuji Nakai

「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考えるEtsuji Nakai
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Etsuji Nakai
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowEtsuji Nakai
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスEtsuji Nakai
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモEtsuji Nakai
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsEtsuji Nakai
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English LearningEtsuji Nakai
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎Etsuji Nakai
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門Etsuji Nakai
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2Etsuji Nakai
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersEtsuji Nakai
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterEtsuji Nakai
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginnersEtsuji Nakai
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQNEtsuji Nakai
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかEtsuji Nakai
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜Etsuji Nakai
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftEtsuji Nakai
 

Plus de Etsuji Nakai (20)

PRML11.2-11.3
PRML11.2-11.3PRML11.2-11.3
PRML11.2-11.3
 
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlow
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English Learning
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application Developers
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with Jupyter
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginners
 
Life with jupyter
Life with jupyterLife with jupyter
Life with jupyter
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQN
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきか
 
PRML7.2
PRML7.2PRML7.2
PRML7.2
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
 

Dernier

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Dernier (8)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1

  • 1. OpenStackクラウド基盤構築ハンズオンセミナー 第2日 ハンズオンガイド No.1 ver1.3 2014/03/05 1 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 3. 第2日 ハンズオンガイド No.1 演習環境の説明 3 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 4. 第2日 ハンズオンガイド No.1 演習環境 (1) ■ 受講生(最大)7名ごとに演習用の物理サーバが割り当てられています。 - 各受講生は、自分に割り当てられた「物理サーバ(IPアドレス)」と「ログインユーザ (user01〜user07)」を確認してください。 ■ 各物理サーバには、ホストLinuxとして、Fedora 18が導入されています。このホスト Linuxのデスクトップ画面をVNCで受講生用端末に表示して演習を行います。 - VNC接続の方法は、別途インストラクタよりガイドがあります。 ■ この演習では、Linux KVMによる仮想化環境を利用して、Fedora 18をゲストOSとする 仮想マシンを「受講生1名につき3台」作成します。 - 各受講生は自分が作成する仮想マシンについて、「仮想マシン名、ホストネーム、IPアドレス」 の割り当てルール(次ページ参照)を確認してください。 user01 user01 ・・・ user07 仮想マシン OPST1-2 仮想マシン OPST1-7 仮想マシン OPST2-2 仮想マシン OPST3-1 物理サーバ user07 仮想マシン OPST2-1 VNCでホストLinuxの デスクトップ画面を転送 user02 仮想マシン OPST1-1 受講生用端末 仮想マシン OPST3-2 ・・・ 仮想マシン OPST2-7 仮想マシン OPST3-7 ホストLinux Fedora 18 4 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 5. 第2日 ハンズオンガイド No.1 演習環境の詳細 (2) ■ 演習で作成する仮想マシンは、ホストLinux上の仮想ネットワークに接続されます。 - OpenStackのパブリックネットワークとして使う仮想ネットワーク(external01) 同じグループのユーザが共有して使用します。IPマスカレードで外部ネットワークに接続可能です。 ● - OpenStackのプライベートネットワークとして使う仮想ネットワーク(internal01〜internal07) ユーザごとに個別に用意されています。 ● - 下図において、「OPST1-□」はコントローラーノード、「OPST2-□」「OPST3-□」はコン ピュートノードとして構成します。 仮想ネットワークの構成 internal01 eth2 OPST1-1 eth0 internal02 eth1 OPST2-1 eth1 eth1 OPST3-1 eth0 eth0 eth2 OPST1-2 eth0 eth1 OPST2-2 eth1 eth0 internal07 eth1 OPST3-2 eth0 eth2 ・・・ OPST1-7 eth0 eth1 OPST2-7 eth1 eth0 eth1 OPST3-7 eth0 external01 172.16.0.0/16 IPマスカレード ホストLinux emX 外部ネットワーク 5 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 6. 第2日 ハンズオンガイド No.1 演習環境の詳細 (3) ■ 仮想マシンを使用する際は、ホストLinuxから仮想マシンにSSHでログインします。 - 仮想マシン名、ホストネーム、IPアドレスは下表を使用します。□には、割り当てられたユーザ 番号(1〜7)が入ります。 ※演習手順において、□で示された部分も同様に、ユーザ番号(1〜7)を入れてください。 仮想マシン名 ホストネーム IPアドレス /ネットマスク デフォルトゲートウェイ (およびネームサーバ) アドレスプール 仮想マシン#1 OPST1-□ opst1-□ 172.16.□.11 /255.255.0.0 172.16.0.1 172.16.□.100 〜172.16.□.199 仮想マシン#2 OPST2-□ opst2-□ 172.16.□.12 /255.255.0.0 172.16.0.1 仮想マシン#2 OPST3-□ opst3-□ 172.16.□.13 /255.255.0.0 172.16.0.1 (注意)この演習を始める前に、これまでの演習で作成した仮想マシンは、すべて       シャットダウンしておいてください。 6 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 7. 第2日 ハンズオンガイド No.1 コントローラノードの構築 7 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 8. 第2日 ハンズオンガイド No.1 演習内容 ■ この演習では、次の作業を行います。 - 仮想マシン#1(OPST1-□)を作成して、コントローラーノードとして構成します。 ● ● virt-installとKickStartを利用して、仮想マシンの作成とゲストOS(Fedora 18)のインストールを自動で行 います。 インターネット上のGitHubで公開されているツール「quickrdo」を利用して、RDOのインストールとコント ローラーノードとしての初期設定を行います。 internal0□ OPST1-□ GitHub eth2 172.16.□.11 eth0 quickrdo eth1 IPマスカレード external01 172.16.0.0/16 ホストLinux emX 外部ネットワーク 8 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 9. 第2日 ハンズオンガイド No.1 仮想マシン#1の作成 (1) ■ Fedora 18を自動インストールするためのKickStartファイルを用意します。 - この作業はホストLinuxで実施します。KickStartファイル「opst1.ks」をダウンロードします。 $ cd ~/work $ curl http://reposerver/files/opst1.ks > opst1.ks - viエディタでopst1.ksを開いて、下記の2箇所の_USER_をユーザ番号(1〜7)に修正します。 install url --url="http://reposerver/repo/Fedora18/os/" network --bootproto=static --hostname=opst1-_USER_ --device=eth0 --gateway=172.16.0.1 --ip=172.16._USER_.11 --nameserver=172.16.0.1 --netmask=255.255.0.0 --activate network --device=eth1 --onboot=no network --device=eth2 --onboot=no rootpw --iscrypted $1$9GDUyF5b$b5SFhqDVlvCXWff7IgbvS. graphical firstboot --disable keyboard jp106 lang en_US reboot timezone --isUtc Asia/Tokyo bootloader --location=mbr zerombr clearpart --all --initlabel part /boot --asprimary --fstype="ext4" --size=512 part swap --fstype="swap" --size=4096 part / --fstype="ext4" --grow --size=1 part pv.1 --size=20480 volgroup cinder-volumes pv.1 %packages @core @standard %end 9 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 10. 第2日 ハンズオンガイド No.1 仮想マシン#1の作成 (2) ■ virt-installコマンドで仮想マシンを作成して、ゲストOSをインストールします。 - 次のコマンドを実行します。最後に「ゲスト OS のインストールが進行中です。インストール処 理を完了させるために、コンソールに再接続できます。」と表示されるまで、少し待ちます。 $ virt-install --connect=qemu+ssh://root@localhost/system --name OPST1-□ --vcpus 4 --ram 4096 --disk path=/var/lib/libvirt/images/opst1-□.img,size=32,sparse=false --network network:external01 --network network:external01 --network network:internal0□ --cpu host --os-variant fedora18 --graphics vnc --noautoconsole --location http://reposerver/repo/Fedora18/os/ --initrd-inject=opst1.ks --extra-args="ks=file:/opst1.ks" ● ● 3箇所の□は、ユーザ番号(1〜7)を入れてください。 3個の仮想NICに対応して、「--network network:external01」の行が2つと、 「--network network:internal0□」の行が1つあります。 ※ コマンドが長いので、テキストエディタに入力してから、コマンド端末にコピペすることをお勧めします。 - コマンドが完了すると、仮想マシンが作成されて、ゲストOSのインストールが開始されていま す。virt-managerで仮想マシン「OPST1-□」のコンソールを開いて、インストールの様子を確 認してください。 - インストールが完了すると、仮想マシンが停止します。virt-managerから、再度、仮想マシン 「OPST1-□」を起動してください。 10 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 11. 第2日 ハンズオンガイド No.1 仮想マシン#1の作成 (3) ■ 注意 - インストールに失敗した場合は、virt-managerで仮想マシンを強制停止・削除した後に、 opst1.ksの内容とvirt-installコマンドのオプションを確認して、再度、virt-installコマンドを 実行してください。 - 仮想マシンを停止/削除する際は、対象の仮想マシンの右クリックメニューから「強制停止」/ 「削除」を選択します。削除する際は、「関連するストレージファイルを削除する」にチェック を入れたままで「削除」を実施します。 11 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 12. 第2日 ハンズオンガイド No.1 仮想マシン#1の作成 (4) ■ 作成した仮想マシンにログインして、環境を確認します。 - ホストLinuxからrootユーザでログインします。パスワードは「edubase」です。 $ ssh root@172.16.□.11 - ボリュームグループ「cinder-volumes」が存在することを確認します。 # vgs VG #PV #LV #SN Attr VSize VFree cinder-volumes 1 0 0 wz--n- 19.97g 19.97g - YUMリポジトリの設定ファイルをダウンロードします。 # mkdir ~/work # mv /etc/yum.repos.d/* ~/work/ # curl http://reposerver/files/fedora.repo > /etc/yum.repos.d/fedora.repo # yum repolist (中略) リポジトリー ID リポジトリー名 状態 fedora Fedora 18 - x86_64 33,827 updates Fedora 18 - x86_64 - Updates 18,363 repolist: 52,190 ● ● 最後の「yum repolist」で、「fedora」「updates」の2個のリポジトリが表示されることを確認します。 デフォルトではインターネット上のリポジトリを利用するようになっていますが、ここでは、演習環境に事前 に用意したリポジトリを利用するためにこの作業を行なっています。 12 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 13. 第2日 ハンズオンガイド No.1 仮想マシン#1の作成 (5) - 全てのパッケージを最新にアップデートして、仮想マシンを再起動します。 # yum -y update # mv -f /etc/yum.repos.d/fedora-updates* ~/work/ # reboot ● パッケージをアップデートすると、YUMリポジトリの設定ファイルが追加されますが、演習環境では不要なた め、mvコマンドで取り除いています。 13 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 14. 第2日 ハンズオンガイド No.1 RDOのインストール (1) ■ quickrdoを利用して、コントローラーノードにRDOをインストールします。 - ホストLinuxから仮想マシン#1(OPST1-□)にログインします。 $ ssh root@172.16.□.11 - GitHubからquickrdoを取得します。 # yum -y install git # cd ~ # git clone https://github.com/enakai00/quickrdo # cd quickrdo # git checkout f18-grizzly-mn Branch f18-grizzly-mn set up to track remote branch f18-grizzly-mn from origin. Switched to a new branch 'f18-grizzly-mn' ● チェックアウトするブランチは「f18-grizzly-mn」です。最後に「Switched to a new branch 'f18-grizzlymn'」と表示されることを確認します。 - 演習環境に事前に用意したリポジトリからインストールするように、設定を変更します。(イン ターネット上のリポジトリを使用する場合は、これらの作業は不要です。) スクリプト「setup.sh」を開いて、19行目(下記の矢印の行)を「#」でコメントアウトします。 ~/quickrdo/setup.shのコメントアウト部分 ● この行 function rdo_install { # yum install -y http://rdo.fedorapeople.org/openstack/openstack-grizzly/rdo-release-grizzly.rpm yum install -y openstack-packstack-2013.1.1-0.20.dev642.fc19.noarch ● 続いて、RDOのリポジトリ設定ファイルをダウンロードします。 # curl http://reposerver/files/rdo.repo > /etc/yum.repos.d/rdo.repo 14 ● Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 15. 第2日 ハンズオンガイド No.1 RDOのインストール (2) # yum repolist (中略) リポジトリー ID fedora openstack-grizzly updates repolist: 52,502 ● リポジトリー名 Fedora 18 - x86_64 OpenStack Grizzly Repository Fedora 18 - x86_64 - Updates 状態 33,827 312 18,363 「yum repolist」で、「openstack-grizzly」のリポジトリが表示されることを確認します。 - インストールスクリプト「setup.sh」を実行します。 # ./setup.sh ● 途中で次のメッセージが出たら、rootパスワード(edubase)を入力します。 Setting up ssh keys...root@172.16.□.11's password: ● この後、インストールが完了するまでしばらく時間がかかります。 - インストールが完了すると、「Done. Now, you need to reboot the server.」というメッセージ がでます。 ● その他のメッセージで終了した場合は、インストールに失敗しています。この後のページを参考にして、再 度、インストールを行って下さい。 15 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 16. 第2日 ハンズオンガイド No.1 演習環境に固有の設定 ■ 演習環境に固有の設定を追加します。 - 次のコマンドで、ブロックボリューム削除の際のゼロクリア処理を無効化します。 ● 2つ目のコマンドで「none」と表示されることを確認してください。 # openstack-config --set /etc/cinder/cinder.conf DEFAULT volume_clear none # openstack-config --get /etc/cinder/cinder.conf DEFAULT volume_clear none - ここで、一度、仮想マシンを再起動します。 # reboot 16 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 17. 第2日 ハンズオンガイド No.1 RDOのインストールに失敗した場合の対応 ■ 注意 - インストールが途中で失敗した場合は、次のコマンドを実行するとインストール前の状態に戻り ます。再度、「setup.sh」を実行してください。 # cd ~/quickrdo # ./cleanup.sh This will completely uninstall all openstack-related components. Are you really sure? (yes/no) yes 「yes」を入力 # vgcreate cinder-volumes /dev/vda2 # reboot 17 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 18. 第2日 ハンズオンガイド No.1 OpenStackの稼働確認 (1) ■ OpenStackの稼動状態を確認します。 - ホストLinuxから仮想マシン#1(OPST1-□)にログインします。 $ ssh root@172.16.□.11 - OpenStackに関連するサービスの稼動状態を確認します。 # . ~/keystonerc_admin # openstack-status == Nova services == openstack-nova-api: openstack-nova-cert: openstack-nova-compute: openstack-nova-network: openstack-nova-scheduler: openstack-nova-volume: openstack-nova-conductor: == Glance services == openstack-glance-api: openstack-glance-registry: == Keystone service == openstack-keystone: == Horizon service == openstack-dashboard: (以下省略) ● active active active inactive (disabled on boot) active inactive (disabled on boot) active active active active active すべてのサービスの状態が「active」もしくは「inactive (disabled on boot)」であることを確認します。 18 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 19. 第2日 ハンズオンガイド No.1 OpenStackの稼働確認 (2) - メッセージキューとの接続状態をログファイルから確認します。 # grep AMQP /var/log/nova/scheduler.log | tail -5 2013-12-12 21:23:03.288 ERROR nova.openstack.common.rpc.impl_qpid [req-f3e997c2-6ba3-4290-a8f4ea9f4a04ab75 None None] Unable to connect to AMQP server: connection-forced: Authentication failed(320). Sleeping 32 seconds 2013-12-12 21:23:35.297 ERROR nova.openstack.common.rpc.impl_qpid [req-f3e997c2-6ba3-4290-a8f4ea9f4a04ab75 None None] Unable to connect to AMQP server: connection-forced: Authentication failed(320). Sleeping 60 seconds 2013-12-12 21:24:35.322 ERROR nova.openstack.common.rpc.impl_qpid [req-f3e997c2-6ba3-4290-a8f4ea9f4a04ab75 None None] Unable to connect to AMQP server: connection-forced: Authentication failed(320). Sleeping 60 seconds 2013-12-12 21:25:10.161 INFO nova.openstack.common.rpc.impl_qpid [req-c2ccc03f-79c3-45a1-ad574c91cf5afcf3 None None] Connected to AMQP server on 172.16.1.11:5672 2013-12-12 21:25:10.256 INFO nova.openstack.common.rpc.impl_qpid [req-c2ccc03f-79c3-45a1-ad574c91cf5afcf3 None None] Connected to AMQP server on 172.16.1.11:5672 ● 最初の方は、ERRORが表示されていますが、最後に「Connected to AMQP server」というメッセージが出て いれば問題ありません。最後までERRORの場合は、qpidd.serviceを再起動して、再度、先のログファイルを 確認してください。 # systemctl restart qpidd.service 19 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 20. 第2日 ハンズオンガイド No.1 プロジェクト環境の初期設定 (1) ■ サンプルプロジェクトを構成して、利用開始に必要な初期設定を行います。 - ここでは、quickrdoの初期設定スクリプト「config.sh」を利用して、次の設定を行います。 ● ● サンプルプロジェクト「demo」の作成 OpenStack利用ユーザ「demo_user」と管理ユーザ「demo_admin」の作成(パスワードはどちらも 「passw0rd」) ● プロジェクト「demo」用の仮想ルータと仮想ネットワーク「private01」「private02」の作成 ● セキュリティグループ「default」の設定(SSH接続とpingの許可) ● SSHログイン認証用のキーペア「mykey」の作成と登録 ● マシンイメージ「Fedora19」の登録 - 初期設定スクリプト「~/quickrdo/config.sh」をviエディタで開き、冒頭の変数を下図のように 変更します。 ● □は、ユーザ番号(1〜7)を入れてください。 ~/quickrdo/config.shの変更部分 public="172.16.0.0/16" gateway="172.16.0.1" nameserver="172.16.0.1" pool=("172.16.□.100" "172.16.□.199") private=("192.168.101.0/24" "192.168.102.0/24") サブネットマスク「16」と「24」の違いに注意 20 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 21. 第2日 ハンズオンガイド No.1 プロジェクト環境の初期設定 (2) - 同じく、22行目の「--copy-from」オプションのURLを下記に変更します。 if ! glance image-show "Fedora19" >/dev/null 2>&1; then glance image-create --name "Fedora19" --disk-format qcow2 --container-format bare --is-public true --copy-from http://reposerver/files/fedora-19.x86_64.qcow2 fi この行 - 初期設定スクリプトを実行します。 # cd ~/quickrdo # ./config.sh External NIC: eth1 Private NIC: eth2 「eth1」を入力 「eth2」を入力 - 上記のように「External NIC:」「Private NIC:」という表示がでるので、仮想マシンインスタン スがアクセスするNIC(パブリック側「eth1」とプライベート側「eth2」)を入力します。 - 最後に「Configuration finished.」と表示されれば完了です。 ● ■ 上記のメッセージがでないで終了した場合は、初期設定に失敗しています。失敗した原因を取り除いた後に、 「./config.sh」を再度実行すると、以前の設定を削除して、新しく設定が行われます。 この後、コンピュートノードを追加することで、実際に仮想マシンインスタンスが起動 できるようになります。 - コンピュートノードは、運用中に任意のタイミングで自由に追加することができます。 21 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 23. 第2日 ハンズオンガイド No.1 コンピュートノードの追加 23 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 24. 第2日 ハンズオンガイド No.1 演習内容 ■ この演習では、次の作業を行います。 - 仮想マシン#2(OPST2-□)を作成して、コンピュートノードとして構成します。 ● ● virt-installとKickStartを利用して、仮想マシンの作成とゲストOS(Fedora 18)のインストールを自動で行 います。 コントローラーノードのquickrdoを利用して、ネットワーク経由でコンピュートノードにRDOをインストール します。 internal0□ OPST1-□ eth2 172.16.□.11 eth0 OPST2-□ quickrdo eth1 IPマスカレード eth1 172.16.□.12 eth0 external01 172.16.0.0/16 ホストLinux emX 外部ネットワーク 24 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 25. 第2日 ハンズオンガイド No.1 仮想マシン#2の作成 (1) ■ Fedora 18を自動インストールするためのKickStartファイルを用意します。 - この作業はホストLinuxで実施します。KickStartファイル「opst2.ks」をダウンロードします。 $ mkdir ~/work $ cd ~/work $ curl http://reposerver/files/opst2.ks > opst2.ks - viエディタでopst2.ksを開いて、下記の2箇所の_USER_をユーザ番号(1〜7)に修正します。 install url --url="http://reposerver/repo/Fedora18/os/" network --bootproto=static --hostname=opst2-_USER_ --device=eth0 --gateway=172.16.0.1 --ip=172.16._USER_.12 --nameserver=172.16.0.1 --netmask=255.255.0.0 --activate network --device=eth1 --onboot=no rootpw --iscrypted $1$9GDUyF5b$b5SFhqDVlvCXWff7IgbvS. graphical firstboot --disable keyboard jp106 lang en_US reboot timezone --isUtc Asia/Tokyo bootloader --location=mbr zerombr clearpart --all --initlabel part /boot --asprimary --fstype="ext4" --size=512 part swap --fstype="swap" --size=4096 part / --fstype="ext4" --grow --size=1 %packages @core @standard %end 25 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 26. 第2日 ハンズオンガイド No.1 仮想マシン#2の作成 (2) ■ virt-installコマンドで仮想マシンを作成して、ゲストOSをインストールします。 - 次のコマンドを実行します。最後に「ゲスト OS のインストールが進行中です。インストール処 理を完了させるために、コンソールに再接続できます。」と表示されるまで、少し待ちます。 $ virt-install --connect=qemu+ssh://root@localhost/system --name OPST2-□ --vcpus 2 --ram 4096 --disk path=/var/lib/libvirt/images/opst2-□.img,size=32,sparse=false --network network:external01 --network network:internal0□ --cpu host --os-variant fedora18 --graphics vnc --noautoconsole --location http://reposerver/repo/Fedora18/os/ --initrd-inject=opst2.ks --extra-args="ks=file:/opst2.ks" ● ● 3箇所の□は、ユーザ番号(1〜7)を入れてください。 2個の仮想NICに対応して、「--network network:external01」の行が1つと、 「--network network:internal0□」 の行が1つあります。 ※ コマンドが長いので、テキストエディタに入力してから、コマンド端末にコピペすることをお勧めします。 - コマンドが完了すると、仮想マシンが作成されて、ゲストOSのインストールが開始されていま す。virt-managerで仮想マシン「OPST2-□」のコンソールを開いて、インストールの様子を確 認してください。 - インストールが完了すると仮想マシンが停止しますので、virt-managerから仮想マシンを起動し てください。 26 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 27. 第2日 ハンズオンガイド No.1 仮想マシン#2の作成 (3) ■ 注意 - インストールに失敗した場合は、virt-managerで仮想マシンを強制停止・削除した後に、 opst2.ksの内容とvirt-installコマンドのオプションを確認して、再度、virt-installコマンドを 実行してください。 - 仮想マシンを停止/削除する際は、対象の仮想マシンの右クリックメニューから「強制停止」/ 「削除」を選択します。削除する際は、「関連するストレージファイルを削除する」にチェック を入れたままで「削除」を実施します。 27 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 28. 第2日 ハンズオンガイド No.1 仮想マシン#2の作成 (4) ■ 作成した仮想マシンにログインして、環境を確認します。 - ホストLinuxからrootユーザでログインします。パスワードは「edubase」です。 $ ssh root@172.16.□.12 - 仮想化支援機能が有効化されていることを確認します。 ● /proc/cpuinfoの「flags」に「vmx」もしくは「svm」が含まれています。 # cat /proc/cpuinfo | grep -E "(vmx|svm)" flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl pni pclmulqdq vmx ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm 28 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 29. 第2日 ハンズオンガイド No.1 仮想マシン#2の作成 (5) - YUMリポジトリの設定ファイルをダウンロードします。 # mkdir ~/work # mv /etc/yum.repos.d/* ~/work/ # curl http://reposerver/files/fedora.repo > /etc/yum.repos.d/fedora.repo # yum repolist (中略) リポジトリー ID リポジトリー名 状態 fedora Fedora 18 - x86_64 33,827 updates Fedora 18 - x86_64 - Updates 18,363 repolist: 52,190 ● ● 最後の「yum repolist」で、「fedora」「updates」の2個のリポジトリが表示されることを確認します。 デフォルトではインターネット上のリポジトリを利用するようになっていますが、ここでは、演習環境に事前 に用意したリポジトリを利用するためにこの作業を行なっています。 - 全てのパッケージを最新にアップデートして、仮想マシンを再起動します。 # yum -y update # mv -f /etc/yum.repos.d/fedora-updates* ~/work/ # reboot ● パッケージをアップデートすると、YUMリポジトリの設定ファイルが追加されますが、演習環境では不要なた め、mvコマンドで取り除いています。 29 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 30. 第2日 ハンズオンガイド No.1 RDOのインストール (1) ■ quickrdoを利用して、コンピュートノードにRDOをインストールします。 - この作業はコントローラノード(OPST1-□)から実施します。 - ホストLinuxから仮想マシン#1(OPST1-□)にログインします。 $ ssh root@172.16.□.11 - 演習環境に事前に用意したリポジトリからインストールするように、設定を変更します。(イン ターネット上のリポジトリを使用する場合は、これらの作業は不要です。) ● スクリプト「~/quickrdo/lib/prep_compute.sh」を開いて、下記のように、8行目を「#」でコメントアウト して、curlコマンドの行を追加します。 lib/prep_compute.shの変更部分 function pre_install { setenforce 0 sed -i.bak 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config # yum update -y yum install -y http://rdo.fedorapeople.org/openstack/openstack-grizzly/rdo-release-grizzly.rpm curl http://reposerver/files/rdo.repo > /etc/yum.repos.d/rdo.repo yum install -y patch iptables-services この行を追加 この行をコメントアウト 30 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 31. 第2日 ハンズオンガイド No.1 RDOのインストール (2) - quickrdoの「add_compute.sh」を実行します。 # cd ~/quickrdo # ./add_compute.sh 172.16.□.12 Private NIC: eth1 Doing preparations... インストール対象のコンピュートノードのIPアドレスを指定 コンピュートノードのプライベートネットワーク側のNIC(eth1)を入力 The authenticity of host '172.16.□.12 (172.16.□.12)' can't be established. RSA key fingerprint is 26:ea:40:c7:1d:f3:83:9b:78:f5:f2:d4:64:55:c6:37. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '172.16.□.12' (RSA) to the list of known hosts. root@172.16.□.12's password: 「yes」を入力 コンピュートノードのrootパスワード(edubase)を入力 - この後、RDOのインストールが自動で進みます。途中でインストール中のコンピュートノードが 再起動しますが、そのまま待ちます。下記のように、最後に「Done.」と表示されてスクリプト が終了すればインストール完了です。 Done. Now, rebooting the server... Connection to 172.16.1.13 closed by remote host. ssh: connect to host 172.16.1.13 port 22: Connection refused Network default destroyed Network default unmarked as autostarted Done. ● 「All-in-one構成」での導入時に実施した、仮想化ハイパーバイザにKVMを指定する作業は、 「add_compute.sh」の中で自動で行われています。 31 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 32. 第2日 ハンズオンガイド No.1 RDOのインストール (3) - コンピュートノードが起動したら、コントローラノードで、次のコマンドにより、コンピュート ノードが認識されていることを確認します。 # . ~/keystonerc_admin # nova hypervisor-list +----+---------------------+ | ID | Hypervisor hostname | +----+---------------------+ | 1 | opst2-1 | +----+---------------------+ - 同様にして、仮想マシン#3(OPST3-□)を作成して、コンピュートノードとして追加します。 (具体的な手順は次ページを参照) ■ 注意:コンピュートノードへのRDOのインストールに失敗した場合の対応 - 演習環境では、仮想マシンの負荷が高すぎると下記のエラーでインストールに失敗する場合があ ります。この場合は、インストール対象のコンピュートノードの仮想マシンを再起動して、再 度、コントローラーノードから、「add_compute.sh」を実行してください。 ERROR : Error during puppet run : Error: /usr/sbin/tuned-adm profile virtual-host returned 2 instead of one of [0] Please check log file /var/tmp/packstack/20131231-072547-nrwIvc/openstack-setup.log for more information 32 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 33. 第2日 ハンズオンガイド No.1 コンピュートノードの追加方法 ■ ■ 同じ手順を繰り返すことで、コンピュートノードをさらに追加することができます。 コンピュートノードごとに変更が必要な点は次のとおりです。仮想マシン#3(OPST3□)を追加する場合の例を示します。 - KickStartファイル「opst2.ks」を「opst3.ks」としてコピーして、「--hostname(ホストネー ム)」「--ip(IPアドレス)」の指定を変更します。 network --bootproto=static --hostname=opst3-_USER_ --device=eth0 --gateway=172.16.0.1 --ip=172.16._USER_.13 --nameserver=172.16.0.1 --netmask=255.255.0.0 --activate - virt-installコマンドの「--name(仮想マシン名)」「--disk path(仮想ディスクイメージファ イル)」「--initrd-inject(KickStartファイル)」「--extra-args(KickStartファイル)」の 指定を変更します。 $ virt-install --connect=qemu+ssh://root@localhost/system --name OPST3-□ --vcpus 2 --ram 4096 --disk path=/var/lib/libvirt/images/opst3-□.img,size=32,sparse=false --network network:external01 --network network:internal0□ --cpu host --os-variant fedora18 --graphics vnc --noautoconsole --location http://reposerver/repo/Fedora18/os/ --initrd-inject=opst3.ks --extra-args="ks=file:/opst3.ks" - コントローラノードで「add_compute.sh」を実行する際のIPアドレス指定を変更します。 # cd ~/quickrdo # ./add_compute.sh 172.16.□.13 33 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 34. 第2日 ハンズオンガイド No.1 メモとしてお使いください 34 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 35. 第2日 ハンズオンガイド No.1 コマンドによる操作 35 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 36. 第2日 ハンズオンガイド No.1 Keystoneの操作 (1) ■ コントローラノードからコマンドラインでKeystoneを操作します。 - ホストLinuxからコントローラノードにrootユーザでログインします。 $ ssh root@172.16.□.11 - 管理ユーザ「admin」用の環境変数設定ファイルがあることを確認して、読み込みます。 # cd ~ # cat keystonerc_admin export OS_USERNAME=admin export OS_TENANT_NAME=admin export OS_PASSWORD=51e8860c354f4549 export OS_AUTH_URL=http://172.16.□.11:35357/v2.0/ export PS1='[u@h W(keystone_admin)]$ # . ~/keystonerc_admin - テナント(プロジェクト)を一覧表示します。 ● 「demo」はインストール時の初期設定スクリプトで作成したものです。 # keystone tenant-list +----------------------------------+----------+---------+ | id | name | enabled | +----------------------------------+----------+---------+ | 221e8f29bf18453dba555b883b7b2a4b | admin | True | | 67a8d2bb80d24b26a94959081d2aaa2a | demo | True | | 4e11791e81894494a3556911d81150a9 | services | True | +----------------------------------+----------+---------+ 36 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 37. 第2日 ハンズオンガイド No.1 Keystoneの操作 (2) - 登録ユーザを一覧表示します。 ● 「demo_admin」と「demo_user」はインストール時の初期設定スクリプトで作成したものです。 # keystone user-list +----------------------------------+------------+---------+-------------------+ | id | name | enabled | email | +----------------------------------+------------+---------+-------------------+ | a47b2958f57f45c989fafef659369169 | admin | True | test@test.com | | dacc67b5da4e4e9bbbfc718ec46d5021 | cinder | True | cinder@localhost | | 7e88f7a917c34838bec6aaa9f66e7dd2 | demo_admin | True | | | 2c7a5ebb47f645c9b05d2e1a6d4c623f | demo_user | True | | | 45d7c12e852746a08ec2e41261e561d1 | glance | True | glance@localhost | | 126e744f5f1f4e9eb3c3b4f0e7a0f819 | nova | True | nova@localhost | | 14ff613cec194ba58938f175af44696f | quantum | True | quantum@localhost | +----------------------------------+------------+---------+-------------------+ - ロールを一覧表示します。 ● 現在のOpenStackの実装では、ロールの使い方は、管理者ロール「admin」と一般ユーザロール(admin以外 のすべて)の2種類の使い分けしかありません。 # keystone role-list +----------------------------------+----------+ | id | name | +----------------------------------+----------+ | e9d37957582340d68ec238c089e47b5d | Member | | 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | | 051e475688404eebb6fd9f5084252a3e | admin | +----------------------------------+----------+ 37 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 38. 第2日 ハンズオンガイド No.1 Keystoneの操作 (3) - 各テナントのユーザを一覧表示します。 ● 「--tenant-id」には、先にテナント一覧で確認したIDを指定します。 ● テナント「services」は、OpenStackのコンポーネントを表すユーザが所属します。 テナント「admin」 # keystone user-list --tenant-id=221e8f29bf18453dba555b883b7b2a4b +----------------------------------+-------+---------+---------------+ | id | name | enabled | email | +----------------------------------+-------+---------+---------------+ | a47b2958f57f45c989fafef659369169 | admin | True | test@test.com | +----------------------------------+-------+---------+---------------+ テナント「demo」 # keystone user-list --tenant-id=67a8d2bb80d24b26a94959081d2aaa2a +----------------------------------+------------+---------+-------+ | id | name | enabled | email | +----------------------------------+------------+---------+-------+ | 7e88f7a917c34838bec6aaa9f66e7dd2 | demo_admin | True | | | 2c7a5ebb47f645c9b05d2e1a6d4c623f | demo_user | True | | +----------------------------------+------------+---------+-------+ # keystone user-list --tenant-id=4e11791e81894494a3556911d81150a9 +----------------------------------+---------+---------+-------------------+ | id | name | enabled | email | +----------------------------------+---------+---------+-------------------+ | dacc67b5da4e4e9bbbfc718ec46d5021 | cinder | True | cinder@localhost | | 45d7c12e852746a08ec2e41261e561d1 | glance | True | glance@localhost | | 126e744f5f1f4e9eb3c3b4f0e7a0f819 | nova | True | nova@localhost | | 14ff613cec194ba58938f175af44696f | quantum | True | quantum@localhost | +----------------------------------+---------+---------+-------------------+ テナント「services」 38 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 39. 第2日 ハンズオンガイド No.1 Keystoneの操作 (4) - ユーザ「nova」「demo_admin」「demo_user」のロールを確認します。 # keystone user-role-list --user=nova --tenant-id=4e11791e81894494a3556911d81150a9 +----------------------------------+-------+----------------------------------+----------------------------------+ | id | name | user_id | tenant_id | +----------------------------------+-------+----------------------------------+----------------------------------+ | 051e475688404eebb6fd9f5084252a3e | admin | 126e744f5f1f4e9eb3c3b4f0e7a0f819 | 4e11791e81894494a3556911d81150a9 | +----------------------------------+-------+----------------------------------+----------------------------------+ # keystone user-role-list --user=demo_admin --tenant-id=67a8d2bb80d24b26a94959081d2aaa2a +----------------------------------+-------+----------------------------------+----------------------------------+ | id | name | user_id | tenant_id | +----------------------------------+-------+----------------------------------+----------------------------------+ | 051e475688404eebb6fd9f5084252a3e | admin | 7e88f7a917c34838bec6aaa9f66e7dd2 | 67a8d2bb80d24b26a94959081d2aaa2a | +----------------------------------+-------+----------------------------------+----------------------------------+ # keystone user-role-list --user=demo_user --tenant-id=67a8d2bb80d24b26a94959081d2aaa2a +----------------------------------+--------+----------------------------------+----------------------------------+ | id | name | user_id | tenant_id | +----------------------------------+--------+----------------------------------+----------------------------------+ | e9d37957582340d68ec238c089e47b5d | Member | 2c7a5ebb47f645c9b05d2e1a6d4c623f | 67a8d2bb80d24b26a94959081d2aaa2a | +----------------------------------+--------+----------------------------------+----------------------------------+ - 一般ユーザ「demo_user」用の環境変数設定ファイル「keystonerc_demo_user」を下図の内容 で作成します。 keystonerc_demo_user export export export export export OS_USERNAME=demo_user 一般ユーザは5000番ポートを使用 OS_TENANT_NAME=demo OS_PASSWORD=passw0rd OS_AUTH_URL=http://172.16.□.11:5000/v2.0/ PS1='[u@h W(keystone_demo_user)]$ ' 39 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 40. 第2日 ハンズオンガイド No.1 Keystoneの操作 (5) - 環境変数を読み込んで、テナント一覧を表示してみます。 ● 一般ユーザのため一覧表示には失敗します。 # . ~/keystonerc_demo_user # keystone tenant-list Unable to communicate with identity service: {"error": {"message": "You are not authorized to perform the requested action: admin_required", "code": 403, "titl e": "Not Authorized"}}. (HTTP 403) - パスワードを変更します。 ● 最後のメッセージは、環境変数設定ファイルのパスワードを修正しておくことを促しています。 # keystone password-update 新規パスワードを入力 New Password: Repeat New Password:   新規パスワードを再入力 You should update the password you are using to authenticate to match your new password - 環境変数設定ファイル「keystonerc_demo_user」の「OS_PASSWORD」を新しく設定したパスワード に修正して、再度、設定を読み込みます。 # . ~/keystonerc_demo_user ※ 管理者権限で他のユーザのパスワードを変更する際は「keystone user-password-update」を使用します。 40 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 41. 第2日 ハンズオンガイド No.1 Glanceの操作 ■ コントローラノードからコマンドラインでGlanceを操作します。 - 先ほどの操作に続けて、一般ユーザ「demo_user」で作業を継続します。「demo_user」用の環 境変数設定ファイルを読み込んでおいてください。 # . ~/keystonerc_demo_user - インターネットからテンプレートイメージをダウンロードして、登録します。 ● ここではサンプルの小さなテンプレートイメージ「CirrOS」を使用します。 # cd ~/work # wget https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img # glance image-create --name=cirros-0.3.0 --disk-format=qcow2 --container-format=bare --file=/root/work/cirros-0.3.0-x86_64-disk.img - 登録されたイメージを一覧表示します。 # glance image-list +--------------------------------------+--------------+-------------+------------------+-----------+--------+ | ID | Name | Disk Format | Container Format | Size | Status | +--------------------------------------+--------------+-------------+------------------+-----------+--------+ | c7a5fcaf-935c-48a2-a073-4124c1d1fea4 | cirros-0.3.0 | qcow2 | bare | 9761280 | active | | 12cf8861-825c-4b90-af19-b096b402f169 | Fedora19 | qcow2 | bare | 237371392 | active | +--------------------------------------+--------------+-------------+------------------+-----------+--------+ 41 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 42. 第2日 ハンズオンガイド No.1 Novaの操作 (1) ■ コントローラノードからコマンドラインでNovaを操作します。 - 先ほどの操作に続けて、一般ユーザ「demo_user」で作業を継続します。「demo_user」用の環 境変数設定ファイルを読み込んでおいてください。 # . ~/keystonerc_demo_user - 仮想マシンインスタンスを起動する際に指定する各種情報を確認します。 # nova flavor-list +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+ | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | extra_specs | +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+ | 1 | m1.tiny | 512 | 0 | 0 | | 1 | 1.0 | True | {} | | 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True | {} | | 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True | {} | | 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True | {} | | 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | {} | +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+ # nova keypair-list +-------+-------------------------------------------------+ | Name | Fingerprint | +-------+-------------------------------------------------+ | mykey | 81:db:c9:1e:0d:ce:c3:b4:18:45:f1:14:8c:e1:10:b7 | +-------+-------------------------------------------------+ # nova image-list +--------------------------------------+--------------+--------+--------+ | ID | Name | Status | Server | +--------------------------------------+--------------+--------+--------+ | 12cf8861-825c-4b90-af19-b096b402f169 | Fedora19 | ACTIVE | | | c7a5fcaf-935c-48a2-a073-4124c1d1fea4 | cirros-0.3.0 | ACTIVE | | +--------------------------------------+--------------+--------+--------+ 42 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 43. 第2日 ハンズオンガイド No.1 Novaの操作 (2) # nova net-list +--------------------------------------+-------------+------+ | ID | Label | CIDR | +--------------------------------------+-------------+------+ | 35378f50-a2e3-4b3a-ae50-5a45398736d3 | ext-network | None | | 541bb203-f13c-4eb7-ac91-2432b389572f | private01 | None | | f4ada310-3962-4ece-a6f5-c25b50fbc85a | private02 | None | +--------------------------------------+-------------+------+ # nova secgroup-list +---------+-------------+ | Name | Description | +---------+-------------+ | default | default | +---------+-------------+ - 確認した情報を元にして、仮想マシンインスタンスを起動します。 ● 「net-id」には接続する仮想ネットワークのID(この例では「private01」)を指定します。 # nova boot --flavor m1.tiny --image Fedora19 --key-name mykey --security-groups default --nic net-id=541bb203-f13c-4eb7-ac91-2432b389572f vm01 # nova list +--------------------------------------+------+--------+----------+ | ID | Name | Status | Networks | +--------------------------------------+------+--------+----------+ | dbe1fa9e-d8d1-45ee-83a0-98a2dc48b288 | vm01 | BUILD | | +--------------------------------------+------+--------+----------+ 43 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 44. 第2日 ハンズオンガイド No.1 Novaの操作 (3) - 「Status」が「ACTIVE」になると、ゲストOSの起動が開始しています。 # nova list +--------------------------------------+------+--------+-------------------------+ | ID | Name | Status | Networks | +--------------------------------------+------+--------+-------------------------+ | 9d3170fd-d2d5-42ab-8396-d5a1d6e3e170 | vm01 | ACTIVE | private01=192.168.101.2 | +--------------------------------------+------+--------+-------------------------+ - フローティングIPの一覧を確認します。 # nova floating-ip-list +--------------+-------------+----------+-------------+ | Ip | Instance Id | Fixed Ip | Pool | +--------------+-------------+----------+-------------+ | 172.16.□.101 | None | None | ext-network | | 172.16.□.102 | None | None | ext-network | | 172.16.□.103 | None | None | ext-network | | 172.16.□.104 | None | None | ext-network | | 172.16.□.105 | None | None | ext-network | +--------------+-------------+----------+-------------+ 44 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 45. 第2日 ハンズオンガイド No.1 Novaの操作 (4) - フローティングIPの1つを起動した仮想マシンインスタンスに割り当てます。 # nova add-floating-ip vm01 172.16.□.101 # nova floating-ip-list +--------------+--------------------------------------+---------------+-------------+ | Ip | Instance Id | Fixed Ip | Pool | +--------------+--------------------------------------+---------------+-------------+ | 172.16.□.101 | c853866a-77a7-4c6a-b3d7-8732ca4abd47 | 192.168.101.2 | ext-network | | 172.16.□.102 | None | None | ext-network | | 172.16.□.103 | None | None | ext-network | | 172.16.□.104 | None | None | ext-network | | 172.16.□.105 | None | None | ext-network | +--------------+--------------------------------------+---------------+-------------+ - フローティングIPを指定して、仮想マシンインスタンスにログインできることを確認します。 ● ログインできない場合は、Horizonのダッシュボードから仮想マシンインスタンスのコンソールを開いて、ゲ ストOSの起動が完了している事を確認してください。 # ssh -i ~/mykey fedora@172.16.□.101 RSA key fingerprint is 7f:db:4b:71:42:ff:cc:36:20:e1:f7:a7:40:e9:9b:fb. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '172.16.□.101' (RSA) to the list of known hosts. [fedora@vm01 ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 252:0 0 2G 0 disk └─vda1 252:1 0 2G 0 part / [fedora@vm01 ~]$ exit ログアウト 45 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 46. 第2日 ハンズオンガイド No.1 仮想ディスクのバックエンドファイルの確認 (1) ■ 起動中の仮想マシンインスタンスについて、仮想ディスクのバックエンドファイルを確 認します。 - 仮想マシンが起動しているコンピュートノードを確認します。 ● この例では、IPアドレス「172.16.□.12」のコンピュートノードで起動しています。 # ssh 172.16.□.12 virsh list Id 名前 状態 ---------------------------------------------------1 instance-00000001 実行中 # ssh 172.16.□.13 virsh list Id 名前 状態 ---------------------------------------------------- - 該当のコンピュートノードの「/var/lib/nova/instances」の下にインスタンスIDのディレクト リがあることを確認します。 # ssh 172.16.□.12 # ls -l /var/lib/nova/instances/ 合計 16 drwxr-xr-x. 2 nova nova 4096 1月 drwxr-xr-x. 2 nova nova 4096 1月 -rw-r--r--. 1 nova nova 31 1月 drwxr-xr-x. 2 nova nova 4096 1月 11 11 11 11 12:42 13:03 12:53 12:42 _base c853866a-77a7-4c6a-b3d7-8732ca4abd47 compute_nodes locks 46 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 47. 第2日 ハンズオンガイド No.1 仮想ディスクのバックエンドファイルの確認 (2) - インスタンスIDのディレクトリの下にディスクイメージファイル「disk」があり、qcow2のオー バーレイファイルであることを確認します。 # ls -l /var/lib/nova/instances/c853866a-77a7-4c6a-b3d7-8732ca4abd47/ 合計 6884 -rw-rw----. 1 qemu qemu 24110 1月 11 13:04 console.log -rw-r--r--. 1 qemu qemu 7077888 1月 11 13:08 disk -rw-r--r--. 1 nova nova 1510 1月 11 13:03 libvirt.xml # qemu-img info /var/lib/nova/instances/c853866a-77a7-4c6a-b3d7-8732ca4abd47/disk image: /var/lib/nova/instances/c853866a-77a7-4c6a-b3d7-8732ca4abd47/disk file format: qcow2 virtual size: 2.0G (2147483648 bytes) disk size: 6.7M cluster_size: 65536 backing file: /var/lib/nova/instances/_base/b5ca0d9b45e98b492cd004d74de5fd31833bd191 # exit ログアウト 47 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 48. 第2日 ハンズオンガイド No.1 Cinderの操作 (1) ■ コントローラノードからコマンドラインでCinderを操作します。 - 先ほどの操作に続けて、一般ユーザ「demo_user」で作業を継続します。「demo_user」用の環 境変数設定ファイルを読み込んでおいてください。 # . ~/keystonerc_demo_user - 5GBのブロックボリュームを作成します。 # cinder create --display-name volume01 2 # cinder list +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+ | ID | Status | Display Name | Size | Volume Type | Bootable | Attached to | +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+ | c95b2854-2ce9-4afd-bc32-f1b1b986a709 | available | volume01 | 2 | None | false | | +--------------------------------------+-----------+--------------+------+-------------+----------+-------------+ - ボリュームIDを指定して、ボリュームを起動中の仮想マシンインスタンスに接続します。 # nova volume-attach vm01 c95b2854-2ce9-4afd-bc32-f1b1b986a709 auto - 仮想マシンインスタンスにログインして、ボリュームが接続されていることを確認します。 # ssh -i ~/mykey.pem fedora@172.16.□.101 [fedora@vm01 ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 252:0 0 2G 0 disk └─vda1 252:1 0 2G 0 part / vdb 252:16 0 2G 0 disk [fedora@vm01 ~]$ exit ログアウト 48 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 49. 第2日 ハンズオンガイド No.1 Cinderの操作 (2) - ブロックボリュームに対応する論理ボリュームが作成されており、iSCSIのLUNとして公開され ていることを確認します。 # lvdisplay --- Logical volume --LV Path LV Name VG Name LV UUID LV Write Access LV Creation host, time LV Status # open LV Size (中略) /dev/cinder-volumes/volume-c95b2854-2ce9-4afd-bc32-f1b1b986a709 volume-c95b2854-2ce9-4afd-bc32-f1b1b986a709 cinder-volumes HH7jsL-TjxT-pTEf-nCKn-5iaw-0hRo-I53I18 read/write opst1-99, 2014-01-11 13:09:14 +0900 available 1 2.00 GiB # tgt-admin -s (中略) LUN: 1 Type: disk SCSI ID: IET 00010001 SCSI SN: beaf11 Size: 2147 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No SWP: No Thin-provisioning: No Backing store type: rdwr Backing store path: /dev/cinder-volumes/volume-c95b2854-2ce9-4afd-bc32-f1b1b986a709 Backing store flags: Account information: ACL information: ALL 49 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 50. 第2日 ハンズオンガイド No.1 Cinderの操作 (3) - 仮想マシンインスタンスが起動しているコンピュートノードにおいて、仮想マシンにiSCSIの LUNが仮想ディスクとして接続されていることを確認します。 # ssh 172.16.□.12 # virsh list Id 名前 状態 ---------------------------------------------------1 instance-00000001 実行中 # virsh dumpxml instance-00000001 (中略) <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> <source file='/var/lib/nova/instances/e47597a4-0afb-404e-b326-88b6465f00c0/disk'/> <target dev='vda' bus='virtio'/> <alias name='virtio-disk0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='block' device='disk'> <driver name='qemu' type='raw' cache='none'/> <source dev='/dev/disk/by-path/ip-172.16.□.11:3260-iscsi-iqn.2010-10.org.openstack :volume-c95b2854-2ce9-4afd-bc32-f1b1b986a709-lun-1'/> <target dev='vdb' bus='virtio'/> <serial>a770e8b7-4a7b-4aa7-9361-27b1aa7b8b10</serial> <alias name='virtio-disk1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </disk> (以下省略) # exit ログアウト 50 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 51. 第2日 ハンズオンガイド No.1 Cinderの操作 (4) - ボリュームの接続を解除して、スナップショットを作成します。 # nova volume-detach vm01 c95b2854-2ce9-4afd-bc32-f1b1b986a709 # cinder snapshot-create --display-name volume01-snap c95b2854-2ce9-4afd-bc32-f1b1b986a709 # cinder snapshot-list +--------------------------------------+--------------------------------------+-----------+---------------+------+ | ID | Volume ID | Status | Display Name | Size | +--------------------------------------+--------------------------------------+-----------+---------------+------+ | 3dfa60cb-d0b2-4a10-9d49-817f5cee78b5 | c95b2854-2ce9-4afd-bc32-f1b1b986a709 | available | volume01-snap | 2 | +--------------------------------------+--------------------------------------+-----------+---------------+------+ - ブロックボリュームとそのスナップショットに対応して、LVMの論理ボリュームのスナップ ショットが作成されていることを確認します。 # lvdisplay (中略) --- Logical volume --LV Path LV Name VG Name LV UUID LV Write Access LV Creation host, time LV snapshot status LV Status # open LV Size Current LE COW-table size (以下省略) /dev/cinder-volumes/_snapshot-3dfa60cb-d0b2-4a10-9d49-817f5cee78b5 _snapshot-3dfa60cb-d0b2-4a10-9d49-817f5cee78b5 cinder-volumes FvfElo-cFOY-96RH-djBa-YYAR-Ufh8-c4YTaY read/write opst1-99, 2014-01-11 13:17:35 +0900 active destination for volume-c95b2854-2ce9-4afd-bc32-f1b1b986a709 available 0 2.00 GiB 64 2.00 GiB - 仮想マシンインスタンスを停止します。 # nova delete vm01 51 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 52. 第2日 ハンズオンガイド No.1 ブロックボリュームからの起動 (1) ■ 起動可能なブロックボリュームを作成して、仮想マシンインスタンスを起動します。 - 先ほどの操作に続けて、一般ユーザ「demo_user」で作業を継続します。「demo_user」用の環 境変数設定ファイルを読み込んでおいてください。 # . ~/keystonerc_demo_user - Fedora19のテンプレートイメージのIDを確認して、--image-idオプションに指定してボリュー ムを作成しまします。ボリュームのサイズは4GBを指定します。 # glance image-list +--------------------------------------+--------------+-------------+------------------+-----------+--------+ | ID | Name | Disk Format | Container Format | Size | Status | +--------------------------------------+--------------+-------------+------------------+-----------+--------+ | c7a5fcaf-935c-48a2-a073-4124c1d1fea4 | cirros-0.3.0 | qcow2 | bare | 9761280 | active | | 12cf8861-825c-4b90-af19-b096b402f169 | Fedora19 | qcow2 | bare | 237371392 | active | +--------------------------------------+--------------+-------------+------------------+-----------+--------+ # cinder create --image-id 12cf8861-825c-4b90-af19-b096b402f169 --display-name Fedora19-bootvol 4 - 作成したボリュームの「Sataus」が「available」になるまでしばらく待ちます。 ● 作成したボリュームは「Bootable」が「true」になっています。 # cinder list +--------------------------------------+-----------+------------------+------+-------------+----------+-------------+ | ID | Status | Display Name | Size | Volume Type | Bootable | Attached to | +--------------------------------------+-----------+------------------+------+-------------+----------+-------------+ | 78b4d23b-3b57-4a38-9f6e-10e5048170ef | available | volume01 | 2 | None | false | | | bdde9405-8be7-48d5-a879-35e37c97512f | available | Fedora19-bootvol | 4 | None | true | | +--------------------------------------+-----------+------------------+------+-------------+----------+-------------+ 52 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 53. 第2日 ハンズオンガイド No.1 ブロックボリュームからの起動 (2) - 「--block_device_mapping」オプションに作成したボリュームのIDを指定して、仮想マシンイ ンスタンスを起動します。 # nova boot --flavor m1.small --image Fedora19 --key-name mykey --security-groups default --nic net-id=541bb203-f13c-4eb7-ac91-2432b389572f --block_device_mapping vda=bdde9405-8be7-48d5-a879-35e37c97512f:::0 vm01 # nova volume-list +----------||-----------+-----------+------------------+------+-------------+--------------------------------------+ | ID || | Status | Display Name | Size | Volume Type | Attached to | +----------||-----------+-----------+------------------+------+-------------+--------------------------------------+ | 78b4d23b-||e5048170ef | available | volume01 | 2 | None | | | bdde9405-||e37c97512f | in-use | Fedora19-bootvol | 2 | None | b4cb7edd-317f-44e9-97db-5a04c41a4510 | +----------||-----------+-----------+------------------+------+-------------+--------------------------------------+ - フローティングIPを割り当ててログインすると、4GBのボリュームがvdaとして接続されている ことがわかります。 # nova add-floating-ip vm01 172.16.□.102 # ssh -i ~/mykey fedora@172.16.□.102 RSA key fingerprint is 8c:7e:50:15:34:89:b1:d8:2b:e8:3d:94:c4:47:f3:61. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '172.16.□.102' (RSA) to the list of known hosts. [fedora@vm01 ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 252:0 0 4G 0 disk └─vda1 252:1 0 4G 0 part / [fedora@vm01 ~]$ exit ログアウト - 最後に仮想マシンインスタンスを停止しておきます。 # nova delete vm01 53 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 54. 第2日 ハンズオンガイド No.1 メモとしてお使いください 54 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 55. 第2日 ハンズオンガイド No.1 Pythonスクリプトによる操作 55 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 56. 第2日 ハンズオンガイド No.1 Pythonスクリプトによる操作 (1) ■ Python用クライアントライブラリを使用して、仮想マシンインスタンスの起動・停止 を行うスクリプトを作成します。 - 講義テキストの「クライアントライブラリによるAPI操作」に記載のスクリプト「clients.py」と 「launch_vm.py」をカレントディレクトリに作成します。「launch_vm.py」には、実行権を設 定しておきます。 # chmod u+x launch_vm.py - 「launch_vm.py」を実行すると、仮想マシンインスタンスが起動した後に、ブロックボリュー ムの作成と接続、フローティングIPの割り当てが自動で行われます。 # . ~/keystonerc_demo_user # ./launch_vm.py /usr/lib/python2.7/site-packages/novaclient/client.py:16: UserWarning: Module backports was already imported from /usr/lib64/python2.7/site-packages/backports/__init__.pyc, but /usr/lib/python2.7/site-packages is being added to sys.path import pkg_resources Waiting status to be active. (中略) このWarningはpython-backportsパッケージの既知の問題です。 Waiting status to be active. ここでは無視して下さい。 Floating IP: 172.16.1.104 # nova list +--------------------------------------+------+--------+---------------------------------------+ | ID | Name | Status | Networks | +--------------------------------------+------+--------+---------------------------------------+ | f4cdee8d-e145-4014-bea4-0d000667dfff | vm01 | ACTIVE | private01=192.168.101.3, 172.16.1.104 | +--------------------------------------+------+--------+---------------------------------------+ # cinder list (出力は省略) 56 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 57. 第2日 ハンズオンガイド No.1 Pythonスクリプトによる操作 (2) - 下図のスクリプト「delete_all_vm.py」は起動中の仮想マシンインスタンスをまとめて停止しま す。先のスクリプトと同じディレクトリに作成して、実行権を設定します。 # chmod u+x delete_all_vm.py delete_all_vm.py #!/usr/bin/python from clients import nova, glance, cinder for instance in nova.servers.list(): if instance.status == 'ACTIVE': print "Destroying instance %s (id:%s)." % (instance.name, instance.id) instance.delete() - 「delete_all_vm.py」を実行すると、先ほど起動した仮想マシンインスタンスが停止します。 # . ~/keystonerc_demo_user # ./delete_all.py /usr/lib/python2.7/site-packages/novaclient/client.py:16: UserWarning: Module backports was already imported from /usr/lib64/python2.7/site-packages/backports/__init__.pyc, but /usr/lib/python2.7/site-packages is being added to sys.path import pkg_resources Destroying instance vm01 (id:f4cdee8d-e145-4014-bea4-0d000667dfff). - ただし、先ほど作成したブロックボリュームはそのまま残っています。ブロックボリュームを削 除するスクリプトも考えてみて下さい。 57 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 58. 第2日 ハンズオンガイド No.1 メモとしてお使いください 58 Copyright (C) 2014 National Institute of Informatics, All rights reserved.
  • 59. 59 Copyright (C) 2014 National Institute of Informatics, All rights reserved.