基盤構築演習
Cloud Infrastructure Design and Deployment
11. チ ー OpenStackと ー 制御の演習
2017.v1
Table of contents
本演習 講義 内容 元 ー 上 稼働
OpenStack 環境 構築
構築 環境上 複数 ン 構成 中 構成
仮想 ワー 動 い 確認 ワー 隔離 い 理解 深
演習環境 い
o 環境 初期化
o 演習環境 構築
ー OpenStack環境 構築
OpenStack上へ 環境構築
複数 ー 仮想 ワー 確認
ー ー設定 配置順序 差
ン演習:
o ー ー 設定
2
演習環境に いて
演習環境の概要
演習用 OpenStack環境上 各自割 当 ン 内 演習 行い
o 各環境 生徒 独立 い
最初 演習 実施 前 共通演習環境 構築 実施 必要 あ
前回 演習環境 残 い 場合 演習環境 削除方法 実施 く い
4
openstack
tenant-XX / student-XX tenant-YY / student-YY ・・・
物理 ー ー ワー 装置 ー
資源層
抽象化層
ン
( )
仮想 ー ー
内部 ワー
192.168.199.0/24
共通演習環境
演習環境 演習環境
共通演習環境 構築 実施
構築: 第N回 演習環境 構築 作成
削除: 演習環境 削除方法 実施
各自 端末 操作 行う
演習環境の削除方法
各演習回の前に 前回の環境を削除す めに実施
演習環境を構築す 前の状態
各演習環境 構築 前 以下 状態 い 事 確認 く い
o default 以外 存在 い い
default 共通演習環境 作成
o キ ー 以外 ー 存在 い い
以下 3 画面 確認 く い
o 何 ー や 残 い 場合 次項 手順 削除 く い
6
default
存在 い
Security Groups 以
外 消費 い い
3 存在
い
Stacks の確認
以下 確認
o Orchestration → Stacks default 以外 存在 い い
default 以外 存在 い 場合 対象 削除
o 削除 default 以外 選択 Delete Stacks 押下
default
存在 い
例 hands-on-3 選
択
ー 消費量の確認
以下 確認
o Compute → Overview Limit Summary Security Groups 以外 消費
0 状態 い
ー 残 い 場合 前項 手順 Stacks 確認 不要
削除 く い
ー 残 い 場合 次項 手順 個別 ー 削除
く い
8
Security Groups 以外 消費
い い 0 状態 確認
個別の ー 削除
ー 一覧 表示 残 い ー 削除
o 以下 削除例
ン ン 削除
Floating IP 削除
キー 削除
ッ ワー の状態
以下 確認
o Network → Network Topology [public] - [Ext-Router] - [work-net] 状態
い
余分 ー 作成 い 場合 個別 削除 く
い
10
3 存在
い
第11回 演習環境の構築
ッ の起動
左 ー Orchestration → Stacks 選択
後 Launch Stack 押下
12
第11回
ンプ ー の指定
Template Source URL 指定
Template URL http://<<repo_ip>>/hands-on/11_handson.yaml 指定
o <<repo_ip>> 部分 講師 値 指定 あ
値 設定 Next 押下
URL 選択
http://<<repo_ip>>/hands-on/11_handson.yaml
第11回
メー ーの指定
Stack Name hands-on-11 入力
Password 自分 OpenStack ワー 入力
hands-on repository server ー ー IP 入力
o IP 講師 指示 あ
14
hands-on-11
自分 OpenStack ワー
入力
ー ー IP
起動 ー ー
ワー 設定
後 ン 使用
第11回
正常終了の確認
10〜15分前後 作成 完了 Create Complete
o 設定 完了 待 間 後 演習 進 方 い キ 確認 い く い
失敗 場合 hands-on-11 選択 Delete Stack 押下 削除
後 再度作成 や 直 く い
第11回
環境の確認
Network → Network Topology 選択 作成 ワー 環
境 確認
正常 作成 完了 以下 状態 い
16
第11回
ー ーの確認
Compute → Instances 選択 作成 1 台 ー ー 情報 確
認
o 4 台 ー ー 起動 い 確認
第11回
ン情報の確認
作成 ー ーへ ン 情報 確認
Orchestration → Stacks → hands-on-11 → Overview 選択
い
o 情報 後 演習 何回 必要 新規 ン 開い く 演習
ー 進
18
第11回
ン情報
Overview 必要
情報 確認
o instance
ー ー IP
ー ー名
Floating IP
各自 ー PC IP
対 SSH 行い
o password
上記 ー ー ン ワー
ー ー名 centos
ワー 自分 設定 値
表示
o private_key
各 ン ン 利用
秘密鍵
ワー 認証 行え 各PC
SSH ン へ設定 く
ワー 入力 ン
可能
第11回
チ ー OpenStack環境の構築
20
演習の概要
今回 演習 予 OpenStack環境 構築 完了 い
o 演習環境 構築 行う 以下 状態 い
o 環境 利用 仮想 ワー 構成や 資源管理 仕組 い 理解 い
複数 ー OpenStack 環境 構築 際 基本的 手順 All-in-One 大
差異 あ
o 興味 あ 方 環境 構築 利用 参照 く い
o 構造 い 後 講義 説明 行い
外部 ワー (public)
仮想 ー ー
ン ーン openstack-cc
( ン ー ー)
eth0 eth1
論理
work-net
Portfloating-net
論理 Port
openstack- node1 openstack-
node2
eth0
論理 Port
eth0
論理 Port 論理
Port
192.168.199.10 192.168.199.22 192.168.199.21 192.168.199.20
172.16.100.200 172.16.100.201 172.16.100.202 172.16.100.203 172.16.100.204
演習環境の確認
ン ー ー ー 経由 演習用OpenStackへ ン 行い
o ン先 IP Orhecstraion → Stacks Overview 確認
く い
ン 成功 環境 確認 行い
22
# ssh centos@xx.xx.xx.xx
The authenticity of host '157.1.141.220 (157.1.141.220)' can't be established. ECDSA key fingerprint is c2:e3:e9:7b:f5:8e:67:4b:23:73:6a:4e:b9:d4:d0:11. Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '157.1.141.220' (ECDSA) to the list of known hosts. centos@157.1.141.220's password:
[centos@handson11-console ~]$
[centos@handson11-console ~]$ ssh root@192.168.199.20
The authenticity of host '192.168.199.20 (192.168.199.20)' can't be established. ECDSA key fingerprint is 4a:43:12:8a:ab:39:d7:ba:dc:f3:e2:09:2f:4c:8f:2f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.199.20' (ECDSA) to the list of known hosts. Last login: Sun May 7 11:28:58 2017 from 192.168.199.10
[root@handson11-openstack-cc ~]# source keystonerc_admin [root@handson11-openstack-cc ~(keystone_admin)]# nova list +----+---+---+---+---+---+
| ID | Name | Status | Task State | Power State | Networks | +----+---+---+---+---+---+ +----+---+---+---+---+---+ [root@handson11-openstack-cc ~(keystone_admin)]# neutron net-list [root@handson11-openstack-cc ~(keystone_admin)]# openstack image list [root@handson11-openstack-cc ~(keystone_admin)]#
ン ー ー ー 経由 OpenStack ン
ー ーへ ン
起動 い OpenStack ー 出 い 確認
OpenStack 上への環境構築
演習の概要
構成 OpenStack 上 以下 環境 構築 い
o ン 同 設定 ワー 持 ン 内 台 仮想
ン 配置
o 台 仮想 ン 別々 ホ node1 node2 へ配置 う ン
ン 起動
う 環境 OpenStack う 動作 い 確認
24
openstack-node-2
openstack-node-1
ン 001 ン 002
仮想 ン
仮想 ン
仮想 ン
仮想 ン
10.10.10.0/24 10.10.10.0/24
演習の流
ー 登録
外部 ワー 作成
ーン 設定
ン ー ー 作成
仮想 ワー 設定
allowed-address-pairs 設定
仮想 ン 起動
メー と ー ーの登録
起動 ー 新規 ー ー 登録
26
[root@openstack-cc ~]# source keystonerc_admin
[root@openstack-cc ~(keystone_admin)]# glance --os-image-api-version 1 image-create --name "CentOS7" \ --disk-format qcow2 --container-format bare \
--copy-from http://reposerver/images/CentOS-7-x86_64-GenericCloud.qcow2 \ --is-public True --is-protected True --progress
[root@openstack-cc ~(keystone_admin)]# openstack image list +---+---+---+
| ID | Name | Status |
+---+---+---+
| 5245ce1c-2e7d-4a04-b103-f47710886833 | CentOS7 | active | +---+---+---+
[root@openstack-cc ~(keystone_admin)]# nova flavor-create my.standard 99 1024 10 1 [root@openstack-cc ~(keystone_admin)]# nova flavor-list
+----+---+---+---+---+---+---+---+---+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | +----+---+---+---+---+---+---+---+---+
| 1 | m1.tiny | 512 | 1 | 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 |
| 99 | my.standard | 1024 | 10 | 0 | | 1 | 1.0 | True | +----+---+---+---+---+---+---+---+---+
openstack-cc 上で実行
外部 ッ ワー の作成
外部 ワー 作成
[root@openstack-cc ~(keystone_admin)]# neutron net-create --router:external public
[root@openstack-cc ~(keystone_admin)]# neutron subnet-create --name public-subnet \
--allocation-pool start=172.16.100.200,end=172.16.100.204 \ --disable-dhcp \
--gateway 172.16.100.254 \ public 172.16.100.0/24
[root@openstack-cc ~(keystone_admin)]# neutron net-list
+---+---+---+
| id | name | subnets | +---+---+---+
| 268c3211-c195-451a-a06b-782d30553289 | public | 294ef643-2498-402a-a7ed-db5f1bc51067 172.16.100.0/24 | +---+---+---+
openstack-cc 上で実行
ベ ーン AZ の設定
初期状態 nova いうAZ 作成 全 ホ 属 い
28
[root@openstack-cc ~(keystone_admin)]# nova hypervisor-list +----+---+---+---+
| ID | Hypervisor hostname | State | Status | +----+---+---+---+
| 1 | openstack-node-2.novalocal | up | enabled |
| 2 | openstack-node-1.novalocal | up | enabled | +----+---+---+---+
[root@openstack-cc ~(keystone_admin)]# nova availability-zone-list
+---+---+
| Name | Status | +---+---+
| internal | available |
| |- openstack-cc.novalocal | |
| | |- nova-conductor | enabled :-) 2016-04-25T23:57:17.000000 |
| | |- nova-consoleauth | enabled :-) 2016-04-25T23:57:17.000000 |
| | |- nova-scheduler | enabled :-) 2016-04-25T23:57:17.000000 |
| | |- nova-cert | enabled :-) 2016-04-25T23:57:17.000000 |
| nova | available |
| |- openstack-node-1.novalocal | |
| | |- nova-compute | enabled :-) 2016-04-25T23:57:24.000000 |
| |- openstack-node-2.novalocal | |
| | |- nova-compute | enabled :-) 2016-04-25T23:57:20.000000 | +---+---+
openstack-cc 上で実行
nova 認識 い ー ーホ
確認
標準 AZ 確認
nova いうAZ 2台 ホ
所属 い
AZ の作成
AZ ホ ー いう機能 ホ 束 実現
ー 作成 い
ー AZ 作成 意外 様々 利用方法 あ
o 詳細 参照 く い
o https://wiki.openstack.org/wiki/Host-aggregates
[root@openstack-cc ~(keystone_admin)]# nova aggregate-create ag-az1 AZ1 +----+---+---+---+---+
| Id | Name | Availability Zone | Hosts | Metadata | +----+---+---+---+---+
| 1 | ag-az1 | AZ1 | | 'availability_zone=AZ1' | +----+---+---+---+---+ [root@openstack-cc ~(keystone_admin)]# nova aggregate-create ag-az2 AZ2 +----+---+---+---+---+
| Id | Name | Availability Zone | Hosts | Metadata | +----+---+---+---+---+
| 2 | ag-az2 | AZ2 | | 'availability_zone=AZ2' | +----+---+---+---+---+ [root@openstack-cc ~(keystone_admin)]# nova aggregate-list
+----+---+---+
| Id | Name | Availability Zone | +----+---+---+
| 1 | ag-az1 | AZ1 |
| 2 | ag-az2 | AZ2 | +----+---+---+
openstack-cc 上で実行
ー ag-az1 作成 AZ1 いう名
前 い
ー ag-az2 作成 AZ2 いう名
前 い
AZ へのホ 追加
作成 ー へホ 追加
30
[root@openstack-cc ~(keystone_admin)]# nova aggregate-add-host ag-az1 handson11-openstack-node1.novalocal Host openstack-node-1.novalocal has been successfully added for aggregate 1
+----+---+---+---+---+
| Id | Name | Availability Zone | Hosts | Metadata | +----+---+---+---+---+
| 1 | ag-az1 | AZ1 | 'openstack-node-1.novalocal' | 'availability_zone=AZ1' | +----+---+---+---+---+
[root@openstack-cc ~(keystone_admin)]# nova aggregate-add-host ag-az2 handson11-openstack-node2.novalocal Host openstack-node-2.novalocal has been successfully added for aggregate 2
+----+---+---+---+---+
| Id | Name | Availability Zone | Hosts | Metadata | +----+---+---+---+---+
| 2 | ag-az2 | AZ2 | 'openstack-node-2.novalocal' | 'availability_zone=AZ2' | +----+---+---+---+---+ [root@openstack-cc ~(keystone_admin)]# nova availability-zone-list
+---+---+
| Name | Status | +---+---+
| internal | available |
| |- openstack-cc.novalocal | |
| | |- nova-conductor | enabled :-) 2016-04-26T00:03:27.000000 |
| | |- nova-consoleauth | enabled :-) 2016-04-26T00:03:27.000000 |
| | |- nova-scheduler | enabled :-) 2016-04-26T00:03:27.000000 |
| | |- nova-cert | enabled :-) 2016-04-26T00:03:27.000000 |
| AZ2 | available |
| |- openstack-node-2.novalocal | |
| | |- nova-compute | enabled :-) 2016-04-26T00:03:30.000000 |
| AZ1 | available |
| |- openstack-node-1.novalocal | |
| | |- nova-compute | enabled :-) 2016-04-26T00:03:24.000000 | +---+---+
openstack-cc 上で実行
ー へホ 追
加
ー へホ 追
加
AZ 状態 変わ 確認
補足: の ベ ーン
先 手順 作成 ーン ン ン 作成時 指定
ン ン 作成先 ホ ン ー
AZ 利用 配置先 ン ー ー ー ー 中 AZ
実現 い
ン ン 起動時 AZ 与え 場合 AZ キ
AZ 利用 配置 ン ー ン演習 動作 確認
ン と ー ーを作成
ン ー ー 追加
32
[root@openstack-cc ~(keystone_admin)]# keystone role-create --name student [root@openstack-cc ~(keystone_admin)]# keystone role-list
+---+---+
| id | name | +---+---+
| 9fe2ff9ee4384b1894a90878d3e92bab | _member_ |
| 70ae0d3f61fd4cfb974d17a5eab72312 | admin |
| 8b4115f0cbd54c8cb4eac401c178454b | student | 省略
[root@openstack-cc ~(keystone_admin)]# for i in 001 002 do
keystone tenant-create --name tenant-${i}
keystone user-create --name student-${i} --pass "pass-${i}"
keystone user-role-add --user student-${i} --tenant tenant-${i} --role student done
[root@openstack-cc ~(keystone_admin)]# keystone tenant-list +---+---+---+
| id | name | enabled | +---+---+---+
| 95013bff20904cb090b32128e6403ee3 | admin | True |
| 7b48e2a88bf64279a02199cf5bfc2c1c | services | True |
| 64b8212f72d544eb8395a9aa6880825f | tenant-001 | True |
| ae6dbcddc58748a29ba25bd2c48d44be | tenant-002 | True | +---+---+---+
[root@openstack-cc ~(keystone_admin)]# keystone user-list
+---+---+---+---+
| id | name | enabled | email | +---+---+---+---+
| 0890474b54a045cbab6bbceeb1c5ec87 | admin | True | root@localhost |
| 88da7239417e496894f3db752c61850d | cinder | True | cinder@localhost |
| 5cc8f1975f9140abb8dcd9ac2cc24f10 | glance | True | glance@localhost |
| 15b46db79186489eb34272b019b889d6 | neutron | True | neutron@localhost |
| 8684b364208044d1ac09e295dbf825bf | nova | True | nova@localhost |
| cebc6c922cf7406e9a82899a07e49c65 | student-001 | True | |
| 7e958249f4e945808843cfd254a3b26a | student-002 | True | | +---+---+---+---+
openstack-cc 上で実行
ン 作成
ン へ ー ー 追加
tenant-001/student-001 tenant-002/student-002
補足:keystoneコ ン 実行時の警告メッセー に いて
keystone ン 実行 以下 警告 表示
現在OpenStack 各種 ン (nova,keystone等) openstack
ン いう ン 形態へ 集約 進 keystone 既 移行
完了 い 以降 openstack ン 使 く い いう
ー
o ン 移行状況 あ
/usr/lib/python2.7/site-packages/keystoneclient/shell.py:65: DeprecationWarning: The keystone CLI is deprecated in favor of python-openstackclient. For a Python library, continue using python-keystoneclient.
'python-keystoneclient.', DeprecationWarning)
仮想 ッ ワー を作成(student001)
ン 001,002 同 設定 ワー 作成
o 実行 い ー ー student-00X 注意 く い
34
[root@openstack-cc ~(keystone_admin)]# wget http://reposerver/hands-on/openrc_student001 [root@openstack-cc ~(keystone_admin)]# source openrc_student001
[root@openstack-cc ~(student001)]# neutron router-create Ext-Router
[root@openstack-cc ~(student001)]# neutron router-gateway-set Ext-Router public
[root@openstack-cc ~(student001)]# neutron net-create work-net
[root@openstack-cc ~(student001)]# neutron subnet-create --ip-version 4 --gateway 10.10.10.254 --name work-subnet \ --dns-nameserver 8.8.8.8 --dns-nameserver 8.8.4.4 work-net 10.10.10.0/24 [root@openstack-cc ~(student001)]# neutron router-interface-add Ext-Router work-subnet
[root@openstack-cc ~(student001)]# nova keypair-add temp-key-001 | tee temp-key-001.pem [root@openstack-cc ~(student001)]# chmod 600 temp-key-001.pem
[root@openstack-cc ~(student001)]# neutron security-group-create open_all --description "allow all communications"
[root@openstack-cc ~(student001)]# neutron security-group-rule-create --direction ingress --ethertype IPv4 --protocol icmp \ --remote-ip-prefix 0.0.0.0/0 open_all
[root@openstack-cc ~(student001)]# neutron security-group-rule-create --direction ingress --ethertype IPv4 --protocol tcp \ --port-range-min 1 --port-range-max 65535 --remote-ip-prefix 0.0.0.0/0 open_all [root@openstack-cc ~(student001)]# neutron security-group-rule-create --direction ingress --ethertype IPv4 --protocol udp \
--port-range-min 1 --port-range-max 65535 --remote-ip-prefix 0.0.0.0/0 open_all openstack-cc 上で実行
仮想 ッ ワー を作成(student002)
ン 001,002 同 設定 ワー 作成
o 実行 い ー ー student-00X 注意 く い
[root@openstack-cc ~(keystone_admin)]# wget http://reposerver/hands-on/openrc_student002 [root@openstack-cc ~(keystone_admin)]# source openrc_student002
[root@openstack-cc ~(student002)]# neutron router-create Ext-Router
[root@openstack-cc ~(student002)]# neutron router-gateway-set Ext-Router public
[root@openstack-cc ~(student002)]# neutron net-create work-net
[root@openstack-cc ~(student002)]# neutron subnet-create --ip-version 4 --gateway 10.10.10.254 --name work-subnet \ --dns-nameserver 8.8.8.8 --dns-nameserver 8.8.4.4 work-net 10.10.10.0/24 [root@openstack-cc ~(student002)]# neutron router-interface-add Ext-Router work-subnet
[root@openstack-cc ~(student002)]# nova keypair-add temp-key-002 | tee temp-key-002.pem [root@openstack-cc ~(student002)]# chmod 600 temp-key-002.pem
[root@openstack-cc ~(student002)]# neutron security-group-create open_all --description "allow all communications"
[root@openstack-cc ~(student002)]# neutron security-group-rule-create --direction ingress --ethertype IPv4 --protocol icmp \ --remote-ip-prefix 0.0.0.0/0 open_all
[root@openstack-cc ~(student002)]# neutron security-group-rule-create --direction ingress --ethertype IPv4 --protocol tcp \ --port-range-min 1 --port-range-max 65535 --remote-ip-prefix 0.0.0.0/0 open_all [root@openstack-cc ~(student002)]# neutron security-group-rule-create --direction ingress --ethertype IPv4 --protocol udp \
--port-range-min 1 --port-range-max 65535 --remote-ip-prefix 0.0.0.0/0 open_all openstack-cc 上で実行
台目の ン ン を起動 ン 001
AZ 指定 ン ン 起動 い ホ ン
ン 起動 確認 う
36
[root@openstack-cc ~(keystone_admin)]# source openrc_student001
[root@openstack-cc ~(student001)]# nova-manage vm list
[root@openstack-cc ~(student001)]# function get_uuid () { cat - | grep " id " | awk '{print $4}'; } [root@openstack-cc ~(student001)]# export MY_WORK_NET=`neutron net-show work-net | get_uuid`
[root@openstack-cc ~(student001)]# echo $MY_WORK_NET debda615-21b1-47be-a1ae-beda0f33cf75
[root@openstack-cc ~(student001)]# wget -O userdata_setpass.txt http://reposerver/hands-on/userdata_setpass.txt
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \
--key-name temp-key-001 --security-groups open_all \ --user-data userdata_setpass.txt \
--nic net-id=${MY_WORK_NET} test-vm-1
[root@openstack-cc ~(student001)]# nova-manage vm list
instance node type state launched image
test-vm-1 openstack-node-1.novalocal my.standard building None 819f6604-de87-4bce-ac70-885d35b20d7c openstack-cc 上で実行
student001 作業
ン ン 一覧 管理者 ー 表示 ン
時点 ン ン 存在
ワー password 設定 useradata 使い
1台目 ン ン node-1
起動 確認 Noteン ン Active状態 次 手順 進 く
い
台目の ン ン を起動 ン 001
同 くAZ 指定 起動 い 今回 ホ 起動 確認
う
[root@openstack-cc ~(keystone_admin)]# source openrc_student001
[root@openstack-cc ~(student001)]# function get_uuid () { cat - | grep " id " | awk '{print $4}'; } [root@openstack-cc ~(student001)]# export MY_WORK_NET=`neutron net-show work-net | get_uuid`
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \
--key-name temp-key-001 --security-groups open_all \ --user-data userdata_setpass.txt \
--nic net-id=${MY_WORK_NET} test-vm-2
[root@openstack-cc ~(student001)]# nova-manage vm list
instance node type state launched image
test-vm-2 openstack-node-2.novalocal my.standard building None 819f6604-de87-4bce-ac70-
885d35b20d7c test-vm-1 openstack-node-1.novalocal my.standard active 2015-12-01 08:28:28+00:00 819f6604-de87-4bce-ac70-885d35b20d7c
openstack-cc 上で実行
2台目 ン ン node-2
起動 確認
Noteン ン Active状態 次 手順 進 く い
台目の ン ン を起動 ン 002
次 ン 変更 3 台目 起動
AZ 指定 ン ン 起動 い
38
[root@openstack-cc ~(keystone_admin)]# source openrc_student002
[root@openstack-cc ~(student002)]# function get_uuid () { cat - | grep " id " | awk '{print $4}'; } [root@openstack-cc ~(student002)]# export MY_WORK_NET=`neutron net-show work-net | get_uuid`
[root@openstack-cc ~(student002)]# nova boot --flavor my.standard --image "CentOS7" \
--key-name temp-key-002 --security-groups open_all \ --user-data userdata_setpass.txt \
--nic net-id=${MY_WORK_NET} test-vm-1
[root@openstack-cc ~(student002)]# nova-manage vm list
instance node type state launched image
test-vm-1 openstack-node-1.novalocal my.standard building None 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-2 openstack-node-2.novalocal my.standard active 2015-12-01 08:32:27+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-1 openstack-node-1.novalocal my.standard active 2015-12-01 08:28:28+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
openstack-cc 上で実行
3台目 ン ン node-1
起動 確認
student002 作業
Noteン ン Active状態 次 手順 進 く い
台目の ン ン を起動 ン 002
最後 ン ン ン AZ 指定 起動
[root@openstack-cc ~(keystone_admin)]# source openrc_student002
[root@openstack-cc ~(student002)]# function get_uuid () { cat - | grep " id " | awk '{print $4}'; } [root@openstack-cc ~(student002)]# export MY_WORK_NET=`neutron net-show work-net | get_uuid`
[root@openstack-cc ~(student002)]# nova boot --flavor my.standard --image "CentOS7" \
--key-name temp-key-002 --security-groups open_all \ --user-data userdata_setpass.txt \
--nic net-id=${MY_WORK_NET} test-vm-2
[root@openstack-cc ~(student002)]# nova-manage vm list
instance node type state launched image
test-vm-2 openstack-node-2.novalocal my.standard building None 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-1 openstack-node-1.novalocal my.standard active 2015-12-01 08:32:39+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-2 openstack-node-2.novalocal my.standard active 2015-12-01 08:32:27+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-1 openstack-node-1.novalocal my.standard active 2015-12-01 08:28:28+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
openstack-cc 上で実行
4台目 ン ン node-2
起動 確認
Noteン ン Active状態 次 手順 進 く い
ン ン の配置を確認
ー ー 空 容量 多いホ へ配置
いう動 演習 以下 様 動作
o ン ン 目
両 ン ー 仮想 ン 起動 い い 他 起動状況 空 多
いホ 選
o ン ン 目
既 ン ン 起動 い ホ 空 量 少 い ン ン 持 い
いホ 選
o ン ン 目
ン ン 目 同様
o ン ン 目
ン ン 目 同様
o ン演習 ー ー 設定 変え 配置 動 確認
40
[root@handson11-openstack-cc ~(student-001)]# unset OS_USER_DOMAIN_NAME OS_PROJECT_DOMAIN_NAME OS_IDENTITY_API_VERSION OS_VOLUME_API_VERSION [root@openstack-cc ~(student002)]# source keystonerc_admin
[root@openstack-cc ~(keystone_admin)]# nova list --all
+---+---+---+---+---+---+---+
| ID | Name | Tenant ID | Status | Task State | Power State | Networks | +---+---+---+---+---+---+---+
| 2a20abb5-f098-43b4-a253-a92d66d876b4 | test-vm-1 | 64b8212f72d544eb8395a9aa6880825f | ACTIVE | - | Running | work-net=10.10.10.2 |
| 5cb39c89-c9d6-4107-9270-05001aa01e6e | test-vm-1 | ae6dbcddc58748a29ba25bd2c48d44be | ACTIVE | - | Running | work-net=10.10.10.2 |
| 2322055e-17b8-48e4-bcf5-f5c201c05e0c | test-vm-2 | ae6dbcddc58748a29ba25bd2c48d44be | ACTIVE | - | Running | work-net=10.10.10.3 |
| 380ddc82-1134-4eca-83d0-82b3ff24ed51 | test-vm-2 | 64b8212f72d544eb8395a9aa6880825f | ACTIVE | - | Running | work-net=10.10.10.3 | +---+---+---+---+---+---+---+
openstack-cc 上で実行
複数 ー にま
仮想 ッ ワー の確認
演習の概要
本演習 前演習 作成 ン 環境 実際 ホ 上 う 構成
確認 い
42
?
演習の流
ワー 図 作成
ン ー ー い 通信 確認
ワー 図 作成 全体 俯瞰 う
o 利用 ー
plotnetcfg
graphviz
[centos@console ~]$ cd
[centos@console ~]$ ssh root@192.168.199.20 plotnetcfg > cc.dot [centos@console ~]$ ssh root@192.168.199.21 plotnetcfg > node1.dot [centos@console ~]$ ssh root@192.168.199.22 plotnetcfg > node2.dot [centos@console ~]$ dot -Tpng cc.dot > cc.png
[centos@console ~]$ dot -Tpng node1.dot > node1.png [centos@console ~]$ dot -Tpng node2.dot > node2.png
[centos@console ~]$ sudo cp cc.png node1.png node2.png /var/www/html/ console 上で実行
plotnetcfg ン ワー 設定 収集
収集 ワー 情報 Graphviz
使 可視化
ン ー ー ー httpd 起動
い 公開用 へ画像
ー
ッ ワー ップ図例
44
ン ー ${FIP} へ 以下 図 得
openstack-cc
openstack-node-1
openstack-node-2
ッ ワー ップ図例
以下 見や く編集 図
外部 ーターや DHCP 関 部分
All-in-One 同
こ 部分 All-in-One
大 く異 い
コン ー ー をま い 通信の確認
46
ン ー ー 間 転送 OpenFlow vxlan 実現 い
こ 部分 内部を見 い
br-tun の ン ー ー 構成
br-tun vxlan 転送 ン ー ー 作成 い
ン ー ー vxlan 受 取 設定 ー ホ へ
転送 行い
[centos@console ~]$ ssh root@192.168.199.21 [root@openstack-node-1 ~]# ovs-vsctl show 0057a055-40ba-413e-a508-b40fb8967771
Bridge br-int
fail_mode: secure Port "qvo26a3ca4b-6f"
tag: 1
Interface "qvo26a3ca4b-6f" Port patch-tun
Interface patch-tun type: patch
options: {peer=patch-int} Port br-int
Interface br-int type: internal Port "qvo256924b8-3c"
tag: 2
Interface "qvo256924b8-3c" Bridge br-tun
fail_mode: secure Port "vxlan-c0a86416"
Interface "vxlan-c0a86416" type: vxlan
options: {df_default="true", in_key=flow, local_ip="192.168.100.21", out_key=flow, remote_ip="192.168.100.22"} Port patch-int
Interface patch-int type: patch
options: {peer=patch-tun} Port "vxlan-c0a86414"
Interface "vxlan-c0a86414" type: vxlan
options: {df_default="true", in_key=flow, local_ip="192.168.100.21", out_key=flow, remote_ip="192.168.100.20"} Port br-tun
Interface br-tun type: internal ovs_version: "2.3.1"
openstack-node-1 上で実行
転送先 ホ
br-tun のOpenFlow構成
br-tun OpenFlow 利用 br-int 側 vlan id vxlan idへ 付 替え 操作 行 い
ー ン ー 確認
o 説明文 ー 番号 い 次項
48
[root@openstack-node-1 ~]# ovs-ofctl dump-flows br-tun NXST_FLOW reply (xid=0x4):
cookie=0x0, duration=15319.041s, table=0, n_packets=0, n_bytes=0, idle_age=15319, priority=0 actions=drop cookie=0x0, duration=15312.729s, table=0, n_packets=251, n_bytes=31418, idle_age=8293, priority=1,in_port=6 actions=resubmit(,4)
cookie=0x0, duration=15312.543s, table=0, n_packets=52, n_bytes=4926, idle_age=8228, priority=1,in_port=5 actions=resubmit(,4)
cookie=0x0, duration=15319.117s, table=0, n_packets=519, n_bytes=48378, idle_age=8263, priority=1,in_port=4 actions=resubmit(,2)
cookie=0x0, duration=15318.978s, table=2, n_packets=467, n_bytes=43380, idle_age=8263, priority=0,dl_dst=00:00:00:00:00:00/01:00:00:00:00:00 actions=resubmit(,20)
cookie=0x0, duration=15318.915s, table=2, n_packets=52, n_bytes=4998, idle_age=8885, priority=0,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=resubmit(,22)
cookie=0x0, duration=15318.851s, table=3, n_packets=0, n_bytes=0, idle_age=15318, priority=0 actions=drop cookie=0x0, duration=15318.789s, table=4, n_packets=10, n_bytes=744, idle_age=9555, priority=0 actions=drop cookie=0x0, duration=9165.276s, table=4, n_packets=146, n_bytes=17703, idle_age=8302, priority=1,tun_id=0x5e actions=mod_vlan_vid:1,resubmit(,10)
cookie=0x0, duration=8913.296s, table=4, n_packets=147, n_bytes=17897, idle_age=8228, priority=1,tun_id=0x61 actions=mod_vlan_vid:2,resubmit(,10)
cookie=0x0, duration=15318.724s, table=10, n_packets=293, n_bytes=35600, idle_age=8228, priority=1
actions=learn(table=20,hard_timeout=300,priority=1,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load :0->NXM_OF_VLAN_TCI[],load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[],output:NXM_OF_IN_PORT[]),output:4
cookie=0x0, duration=15318.659s, table=20, n_packets=7, n_bytes=509, idle_age=8293, priority=0 actions=resubmit(,22)
cookie=0x0, duration=15318.592s, table=22, n_packets=14, n_bytes=1156, idle_age=8913, priority=0 actions=drop cookie=0x0, duration=8913.356s, table=22, n_packets=23, n_bytes=2218, idle_age=8293, dl_vlan=2
actions=strip_vlan,set_tunnel:0x61,output:6,output:5
cookie=0x0, duration=9165.336s, table=22, n_packets=22, n_bytes=2133, idle_age=8543, dl_vlan=1 actions=strip_vlan,set_tunnel:0x5e,output:6,output:5
openstack-node-1 上で実行
vxlan id い ケッ をvlan idへ付け替え ー 10へ転送 ー 4へ ケッ を送 ン
vxlan id い ケッ をvlan idへ付
け替え ー 6,5へ送信
OpenFlow の ー 番号
Open vSwitch 構成 接続 ン ー ー 番号
ー 番号 持 ー 中 番号 指定 い
o vxlan id い vlan id 付 替え ー 4へ転送
o vlan id い vxlan id 付与 ー 5,6へ転送
[root@openstack-node-1 ~]# ovs-ofctl dump-ports br-tun vxlan- c0a86416
OFPST_PORT reply (xid=0x4): 1 ports
port 5: rx pkts=52, bytes=4926, drop=0, errs=0, frame=0, over=0, crc=0
tx pkts=45, bytes=4351, drop=0, errs=0, coll=0
[root@openstack-node-1 ~]# ovs-ofctl dump-ports br-tun vxlan- c0a86414
OFPST_PORT reply (xid=0x4): 1 ports
port 6: rx pkts=251, bytes=31418, drop=0, errs=0, frame=0, over=0, crc=0
tx pkts=505, bytes=47222, drop=0, errs=0, coll=0
[root@openstack-node-1 ~]# ovs-ofctl dump-ports br-tun patch-int OFPST_PORT reply (xid=0x4): 1 ports
port 4: rx pkts=590, bytes=54592, drop=0, errs=0, frame=0, over=0, crc=0
tx pkts=318, bytes=37252, drop=0, errs=0, coll=0
ー ー設定に
配置順序の差
50
演習の概要
本演習 ー ー 重 操作 最 容量 少 いホ へ
仮想 ン 配置 う 設定 動作 確認
Nova ー ー ン ン 配置先 決定 い
配置先 重 決定
o 配置 いホ 決定
o 重 ホ 台 抽出
ホ 最 空 容量 多いホ
選
o 重 計算 際 係数 負 値 設定 い
演習の流
環境 ーン
ー 上限値 変更
ー ー 設定変更
ン ン 作成 配置 確認
52
演習の準備
演習 作成 仮想 ン 削除
[centos@console ~]$ ssh root@192.168.199.20 [root@openstack-cc ~]# source keystonerc_admin
[root@openstack-cc ~(keystone_admin)]# nova list --all-tenants
+---+---+---+---+---+---+--- ---+
| ID | Name | Tenant ID | Status | Task State | Power State | Networks
|
+---+---+---+---+---+---+--- ---+
| 2a20abb5-f098-43b4-a253-a92d66d876b4 | test-vm-1 | 64b8212f72d544eb8395a9aa6880825f | ACTIVE | - | Running | work- net=10.10.10.2 |
| 5cb39c89-c9d6-4107-9270-05001aa01e6e | test-vm-1 | ae6dbcddc58748a29ba25bd2c48d44be | ACTIVE | - | Running | work- net=10.10.10.2 |
| 2322055e-17b8-48e4-bcf5-f5c201c05e0c | test-vm-2 | ae6dbcddc58748a29ba25bd2c48d44be | ACTIVE | - | Running | work- net=10.10.10.3 |
| 380ddc82-1134-4eca-83d0-82b3ff24ed51 | test-vm-2 | 64b8212f72d544eb8395a9aa6880825f | ACTIVE | - | Running | work- net=10.10.10.3 |
+---+---+---+---+---+---+--- ---+
[root@openstack-cc ~(keystone_admin)]# for i in `nova list --all-tenants --minimal | grep test-vm | awk '{print
$2}'` do
nova delete ${i:?} done
[root@openstack-cc ~(keystone_admin)]# nova list --all-tenants +----+---+---+---+---+---+---+
| ID | Name | Tenant ID | Status | Task State | Power State | Networks | +----+---+---+---+---+---+---+ +----+---+---+---+---+---+---+
openstack-cc 上で実行
全 ン ン 削除
消え い環境 あ 場合 個別 以下 実行
nova delete xxxxxx
ー の拡大
ー ー 動作確認 多数 ン ン 起動 tenant-001 ー
上限 上
54
[root@openstack-cc ~(keystone_admin)]# tenant=$(openstack project list | awk '/tenant-001/ {print $2}') [root@openstack-cc ~(keystone_admin)]# nova quota-show --tenant $tenant
+---+---+
| Quota | Limit | +---+---+
| instances | 10 |
| cores | 20 |
| ram | 51200 |
| floating_ips | 10 |
| fixed_ips | -1 |
| metadata_items | 128 |
| injected_files | 5 |
| injected_file_content_bytes | 10240 |
| injected_file_path_bytes | 255 |
~~ 省略 ~~
[root@openstack-cc ~(keystone_admin)]# nova quota-update --instances 30 $tenant [root@openstack-cc ~(keystone_admin)]# nova quota-update --cores 120 $tenant [root@openstack-cc ~(keystone_admin)]# nova quota-update --ram 512000 $tenant [root@openstack-cc ~(keystone_admin)]# nova quota-show --tenant $tenant
+---+---+
| Quota | Limit | +---+---+
| instances | 30 |
| cores | 120 |
| ram | 512000 |
| floating_ips | 10 |
| fixed_ips | -1 |
| metadata_items | 128 |
| injected_files | 5 |
| injected_file_content_bytes | 10240 |
| injected_file_path_bytes | 255 |
~~ 省略 ~~
openstack-cc 上で実行
ク ータ値を確認 い
イン ン 数 コア数 数 ク ータを
変更 い
変更後 値を確認 い
ー ーの設定を変更
重 計算 値 使用 う 設定
o : nova.scheduler.weights.all_weighers 利用 利用可能 重 計
算式 全 利用 設定
o nova.scheduler.weights.ram.RAMWeigher 変更
上 重 値 値 設定 ー ー 再起動
o ram_weight_multiplier
1.0 -1.0 設定
合わ 以下 値 設定 値 重 付 行い降順 ー ホ
上位何個 取 出 いう ー
取 出 ホ ン ホ 決定 い
o scheduler_host_subset_size
o 今回 ー ー紹介 掲載 い
[root@openstack-cc ~(keystone_admin)]# openstack-config --set /etc/nova/nova.conf \ DEFAULT scheduler_weight_classes nova.scheduler.weights.ram.RAMWeigher
[root@openstack-cc ~(keystone_admin)]# openstack-config --set /etc/nova/nova.conf DEFAULT ram_weight_multiplier -1.0
[root@openstack-cc ~(keystone_admin)]# openstack-config --set /etc/nova/nova.conf DEFAULT scheduler_host_subset_size 1
[root@openstack-cc ~(keystone_admin)]# systemctl restart openstack-nova-scheduler openstack-cc 上で実行
ケ ュー ー ロ を再起動 設定
を反映させ
初期状態の確認
tenant-001 作業 進
nova 構成管理DB 直接参照 詳細 利用状況 把握
56
[root@openstack-cc ~(keystone_admin)]# source openrc_student001 [root@openstack-cc ~(student001)]# nova list
+----+---+---+---+---+---+
| ID | Name | Status | Task State | Power State | Networks | +----+---+---+---+---+---+ +----+---+---+---+---+---+
[root@openstack-cc ~(student001)]# function get_uuid () { cat - | grep " id " | awk '{print $4}'; } [root@openstack-cc ~(student001)]# export MY_WORK_NET=`neutron net-show work-net | get_uuid`
[root@openstack-cc ~(student001)]# wget -O userdata_setpass.txt http://reposerver/hands-on/userdata_setpass.txt
[root@openstack-cc ~(student001)]# mysql -uroot nova \
-e 'select host, vcpus_used, free_ram_mb, memory_mb_used, memory_mb, free_disk_gb, local_gb_used, local_gb from compute_nodes;'
+---+---+---+---+---+---+--- ----+---+
| host | vcpus_used | free_ram_mb | memory_mb_used | memory_mb | free_disk_gb | local_gb_used | local_gb |
+---+---+---+---+---+---+--- ----+---+
| openstack-node-1.novalocal | 0 | 7311 | 512 | 7823 | 99 | 0 | 99 |
| openstack-node-2.novalocal | 0 | 7311 | 512 | 7823 | 99 | 0 | 99 |
+---+---+---+---+---+---+--- ----+---+
openstack-cc 上で実行
student-001 認証情報を設定
nova ータベー 各ホ ー 状況 確認
こ 時点 xxx_used 1 台 イン タン を起動 い い 全 ロ
い
台目の起動
Nova 管理 ン ー ー 状態 確認 ン ン 起動
い
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all \
--user-data userdata_setpass.txt \ --nic net-id=${MY_WORK_NET} test-vm-1
[root@openstack-cc ~(student001)]# nova-manage vm list | grep -v deleted
instance node type state launched image
test-vm-1 openstack-node-1.novalocal my.standard active 2015-12-01 17:03:15+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
[root@openstack-cc ~(student001)]# mysql -uroot nova \
-e 'select host, vcpus_used, free_ram_mb, memory_mb_used, memory_mb, free_disk_gb, local_gb_used, local_gb from compute_nodes;'
+---+---+---+---+---+---+--- ----+---+
| host | vcpus_used | free_ram_mb | memory_mb_used | memory_mb | free_disk_gb | local_gb_used | local_gb |
+---+---+---+---+---+---+--- ----+---+
| openstack-node-2.novalocal | 0 | 7311 | 512 | 7823 | 199 | 0 | 199 |
| openstack-node-1.novalocal | 1 | 6287 | 1536 | 7823 | 189 | 10 | 199 |
+---+---+---+---+---+---+--- ----+---+
openstack-cc 上で実行
nova-manage 削除済 イン タン 情
報 表示さ ここ 表示を除外 い
起動 イン タン 分 け ー 消費さ い こ 確認
台目の起動
台目 起動 後 ホ ー 使用状況 注目 く い
消費 い ー 量 選択 ー ー分
58
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all \
--user-data userdata_setpass.txt \ --nic net-id=${MY_WORK_NET} test-vm-2
[root@openstack-cc ~(student001)]# nova-manage vm list | grep -v deleted
instance node type state launched image
test-vm-2 openstack-node-1.novalocal my.standard building None 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-1 openstack-node-1.novalocal my.standard active 2015-12-01 17:03:15+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
[root@openstack-cc ~(student001)]# mysql -uroot nova \
-e 'select host, vcpus_used, free_ram_mb, memory_mb_used, memory_mb, free_disk_gb, local_gb_used, local_gb from compute_nodes;'
+---+---+---+---+---+---+--- ----+---+
| host | vcpus_used | free_ram_mb | memory_mb_used | memory_mb | free_disk_gb | local_gb_used | local_gb |
+---+---+---+---+---+---+--- ----+---+
| openstack-node-2.novalocal | 0 | 7311 | 512 | 7823 | 199 | 0 | 199 |
| openstack-node-1.novalocal | 2 | 5263 | 2560 | 7823 | 179 | 20 | 199 |
+---+---+---+---+---+---+--- ----+---+
openstack-cc 上で実行
台目の起動
同 く 起動 ホ ー 使用量 注目
台目 起動 vcpu 4 消費 ー CPU 数 超え い
際 う 注目 4 台目以降 起動 く い
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all \
--user-data userdata_setpass.txt \ --nic net-id=${MY_WORK_NET} test-vm-3
[root@openstack-cc ~(student001)]# nova-manage vm list | grep -v deleted
instance node type state launched image
test-vm-3 openstack-node-1.novalocal my.standard building None 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-2 openstack-node-1.novalocal my.standard active 2015-12-01 17:06:18+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-1 openstack-node-1.novalocal my.standard active 2015-12-01 17:03:15+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
[root@openstack-cc ~(student001)]# mysql -uroot nova \
-e 'select host, vcpus_used, free_ram_mb, memory_mb_used, memory_mb, free_disk_gb, local_gb_used, local_gb from compute_nodes;'
+---+---+---+---+---+---+--- ----+---+
| host | vcpus_used | free_ram_mb | memory_mb_used | memory_mb | free_disk_gb | local_gb_used | local_gb |
+---+---+---+---+---+---+--- ----+---+
| openstack-node-2.novalocal | 0 | 7311 | 512 | 7823 | 199 | 0 | 199 |
| openstack-node-1.novalocal | 3 | 4239 | 3584 | 7823 | 169 | openstack-cc 上で実行
~ 台目の起動
60
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all --user-data userdata_setpass.txt \ --nic net-id=${MY_WORK_NET} test-vm-4
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all --user-data userdata_setpass.txt \ --nic net-id=${MY_WORK_NET} test-vm-5
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all --user-data userdata_setpass.txt \ --nic net-id=${MY_WORK_NET} test-vm-6
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all --user-data userdata_setpass.txt \ --nic net-id=${MY_WORK_NET} test-vm-7
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all --user-data userdata_setpass.txt \ --nic net-id=${MY_WORK_NET} test-vm-8
[root@openstack-cc ~(student001)]# nova-manage vm list | grep -v deleted
instance node type state launched image
test-vm-8 openstack-node-1.novalocal my.standard active 2015-12-01 17:26:18+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-7 openstack-node-1.novalocal my.standard active 2015-12-01 17:25:16+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-6 openstack-node-1.novalocal my.standard active 2015-12-01 17:24:14+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-5 openstack-node-1.novalocal my.standard active 2015-12-01 17:23:12+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-4 openstack-node-1.novalocal my.standard active 2015-12-01 17:22:12+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-3 openstack-node-1.novalocal my.standard active 2015-12-01 17:15:02+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-2 openstack-node-1.novalocal my.standard active 2015-12-01 17:06:18+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-1 openstack-node-1.novalocal my.standard active 2015-12-01 17:03:15+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
[root@openstack-cc ~(student001)]# mysql -uroot nova \
-e 'select host, vcpus_used, free_ram_mb, memory_mb_used, memory_mb, free_disk_gb, local_gb_used, local_gb from compute_nodes;'
+---+---+---+---+---+---+--- openstack-cc 上で実行
搭載量 イン タン 消費
多く 値 イ い
搭載vcpuを大 く超え ノー 1 起動 い こ ー ーコ ッ 設定 さ
い 後述
~ 台目を起動
起動 前 ホ 起動 考え く い
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all \
--user-data userdata_setpass.txt \ --nic net-id=${MY_WORK_NET} test-vm-9
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all \
--user-data userdata_setpass.txt \ --nic net-id=${MY_WORK_NET} test-vm-10
[root@openstack-cc ~(keystone_admin)]# nova-manage vm list | grep -v deleted
instance node type state launched image
test-vm-10 openstack-node-1.novalocal my.standard active 2015-12-01 17:30:30+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-9 openstack-node-1.novalocal my.standard active 2015-12-01 17:28:16+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-8 openstack-node-1.novalocal my.standard active 2015-12-01 17:26:18+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-7 openstack-node-1.novalocal my.standard active 2015-12-01 17:25:16+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-6 openstack-node-1.novalocal my.standard active 2015-12-01 17:24:14+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-5 openstack-node-1.novalocal my.standard active 2015-12-01 17:23:12+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-4 openstack-node-1.novalocal my.standard active 2015-12-01 17:22:12+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-3 openstack-node-1.novalocal my.standard active 2015-12-01 17:15:02+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-2 openstack-node-1.novalocal my.standard active 2015-12-01 17:06:18+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-1 openstack-node-1.novalocal my.standard active 2015-12-01 17:03:15+00:00 819f6604-de87-4bce-ac70- openstack-cc 上で実行
台目を起動
時 ホ 起動 起動前 考え う
o 環境 11 台目 node1 起動 場合 あ 時 12台目 起動
く い
62
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all \
--user-data userdata_setpass.txt \ --nic net-id=${MY_WORK_NET} test-vm-11
[root@openstack-cc ~(student001)]# nova-manage vm list | grep -v deleted
instance node type state launched image
test-vm-11 openstack-node-2.novalocal my.standard active 2015-12-01 17:33:11+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-10 openstack-node-1.novalocal my.standard active 2015-12-01 17:30:30+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-9 openstack-node-1.novalocal my.standard active 2015-12-01 17:28:16+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-8 openstack-node-1.novalocal my.standard active 2015-12-01 17:26:18+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-7 openstack-node-1.novalocal my.standard active 2015-12-01 17:25:16+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-6 openstack-node-1.novalocal my.standard active 2015-12-01 17:24:14+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-5 openstack-node-1.novalocal my.standard active 2015-12-01 17:23:12+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-4 openstack-node-1.novalocal my.standard active 2015-12-01 17:22:12+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-3 openstack-node-1.novalocal my.standard active 2015-12-01 17:15:02+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-2 openstack-node-1.novalocal my.standard active 2015-12-01 17:06:18+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
test-vm-1 openstack-node-1.novalocal my.standard active 2015-12-01 17:03:15+00:00 819f6604-de87-4bce-ac70- 885d35b20d7c
[root@openstack-cc ~(student001)]# mysql -uroot nova \
-e 'select host, vcpus_used, free_ram_mb, memory_mb_used, memory_mb, free_disk_gb, local_gb_used, local_gb from compute_nodes;'
+---+---+---+---+---+---+--- openstack-cc 上で実行
台目 起動ホ 変わ 原因
ー 量 N(memory_mb) MB mysql 値
標準 ー ー 値 1.5倍
→ 1.5N MB 分 ン ン 起動 可能
10台起動 際 ー 消費量 <memory_mb_used> MB
o ー ー my.standard 量 1,024MB
o OpenStack 各 ー 予 ー ー 見込 い 量512MB
10台目 起動 際 予想使用 量 10,752 (=1024 x 10 + 512)MB
11台目 起動 際 予想使用 量 11,776 (=1024 x 11 + 512)MB
12台目 起動 際 予想使用 量 12,800 (=1024 x 12 + 512)MB
予想 使用量 > 1.5<memory_mb>(起動可能容量) 11 台目
く 12台目 ン ン ー 起動 い
ー ー 数値 関 ン 解説
プ ン演習
ベ ーン
ー ーコ ッ 設定
64
ベ ーン
環境を初期化
ン ン 削除 ー ー設定 戻 作業
66
[root@openstack-cc ~]# openstack-config --set /etc/nova/nova.conf \
DEFAULT scheduler_weight_classes nova.scheduler.weights.all_weighers
[root@openstack-cc ~]# openstack-config --set /etc/nova/nova.conf DEFAULT ram_weight_multiplier 1.0 [root@openstack-cc ~]# systemctl restart openstack-nova-scheduler
[root@openstack-cc ~]# ps -ef |grep nova-scheduler
nova 2971 1 13 16:04 ? 00:00:01 /usr/bin/python /usr/bin/nova-scheduler
[root@openstack-cc ~]# unset OS_USER_DOMAIN_NAME OS_PROJECT_DOMAIN_NAME OS_IDENTITY_API_VERSION OS_VOLUME_API_VERSION [root@openstack-cc ~]# source keystonerc_admin
[root@openstack-cc ~(keystone_admin)]# for i in `nova list --all-tenants --minimal | grep test-vm | awk '{print $2}'` do
nova delete ${i:?} done
[root@openstack-cc ~(keystone_admin)]# nova list --all-tenants
+----+---+---+---+---+---+---+
| ID | Name | Tenant ID | Status | Task State | Power State | Networks | +----+---+---+---+---+---+---+ +----+---+---+---+---+---+---+
openstack-cc 上で実行
標準 重 設定 戻
荷 算出 負
値 正 戻
空 多い
ホ 選択 う
全 ン ン 削除
AZ を指定して ン ン を起動す
AZ 指定 演習 ー , 対 交互 ン ン 作
成 い
AZ 指定 場合 う 確認 う
[root@openstack-cc ~]# source openrc_student001
[root@openstack-cc ~(student001)]# function get_uuid () { cat - | grep " id " | awk '{print $4}'; } [root@openstack-cc ~(student001)]# export MY_WORK_NET=`neutron net-show work-net | get_uuid`
[root@openstack-cc ~(student001)]# wget -O userdata_setpass.txt http://reposerver/hands-on/userdata_setpass.txt [root@openstack-cc ~(student001)]# nova availability-zone-list
+---+---+
| Name | Status | +---+---+
| AZ2 | available |
| AZ1 | available | +---+---+
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all --user-data userdata_setpass.txt \ --nic net-id=${MY_WORK_NET} --availability-zone AZ2 test-vm-1
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all --user-data userdata_setpass.txt \ --nic net-id=${MY_WORK_NET} --availability-zone AZ2 test-vm-2
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all --user-data userdata_setpass.txt \ --nic net-id=${MY_WORK_NET} --availability-zone AZ2 test-vm-3
[root@openstack-cc ~(student001)]# nova boot --flavor my.standard --image "CentOS7" \ --key-name temp-key-001 --security-groups open_all --user-data userdata_setpass.txt \
openstack-cc 上で実行 stundet-001 操作
利用可能 AZ 確認
AZ2( ー 2) 指定
4台 ン ン 起
動 い
Note
4台 起動 う 配
置 い 確認 く い
ー ーコ ッ 設定
68
ー ーコ ッ に関す 設定
ー ー 設定 変更 起動 ン ン 台数 い 自由 確認 く い
Nova ー ー ン ー ホ 対 実 ー 以上 ン ン 配置 可能
o RetryFilter
o AvailabilityZoneFilter o RamFilter
o ComputeFilter
o ComputeCapabilitiesFilter o ImagePropertiesFilter o CoreFilter
代表的 値 値
o cpu_allocation_ratio = 16.0 o disk_allocation_ratio = 1.0 o ram_allocation_ratio = 1.5
変更方法
o openstack-config --set /etc/nova/nova.conf DEFAULT key value
例) openstack-config --set /etc/nova/nova.conf DEFAULT cpu_allocation_ratio 1.0
ー 使用状況 確認
o mysql -uroot nova -e 'select host, vcpus_used, free_ram_mb, memory_mb_used, memory_mb, free_disk_gb, local_gb_used, local_gb from compute_nodes;'