• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
 

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

on

  • 2,527 views

 

Statistics

Views

Total Views
2,527
Views on SlideShare
2,525
Embed Views
2

Actions

Likes
3
Downloads
239
Comments
0

1 Embed 2

http://www.linkedin.com 2

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • 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.