71
OpenStack マルチノード環境構築 IceHouse VLAN編 ほんま

OpenStack マルチノード環境構築

Embed Size (px)

Citation preview

Page 1: OpenStack マルチノード環境構築

OpenStackマルチノード環境構築

IceHouse VLAN編

ほんま

Page 2: OpenStack マルチノード環境構築

まず、はじめに。

私は、OpenStackを初めてすぐのものです。あまり詳しくはありません。

コミュニティにも参加したことはありません。

インストールするのに苦労したので、簡単に手順を紹介します。

いろんなインストール仕方があると思います。あくまでも1つの参考手順です。

間違った記載があるかもしれませんが、ご了承ください。

皆さまが、少しでもOpenStackをインストールするときの助けになればと思います。

環境による違いなど、質問などお答えすることは難しいと思いますので、可能な限り私の環境を説明させて頂いています。

2014/11 2

Page 3: OpenStack マルチノード環境構築

利用ソフトウェア

CentOS 7を利用します。

http://www.centos.org/

OpenStackはIceHouseを利用します。RDOを利用してインストールします。利用するレポジトリは、以下のrpmで利用できるものです。

https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-4.noarch.rpm

詳細は、https://openstack.redhat.com/を見て下さい。

家のパソコンを利用するので、VMware Player(6.0.4)を利用して仮想環境を作ります。

オープンソースに感謝!!

2014/11 3

Page 4: OpenStack マルチノード環境構築

システム構成

42014/11

Windows 8.1+VMware Player

Opst01CentOS 7

Opst02CentOS 7

NIC

ルータ

ブリッジ接続

NIC1NIC1

NIC2 NIC2

VMnet1

ブリッジ接続

192.168.1.0/24

192.168.1.21 192.168.1.22

VLAN

コンピュートノードすべて

インターネット

Page 5: OpenStack マルチノード環境構築

参考に

VMware Playerを動かしている環境です。

Intel(R) Core(TM) i7-2600

3.4GHz, 4コア(8スレッド)

DDR3-1333 12G

1HDD(約900G)

Windows 8.1

VMware Playerで動かく仮想マシーンは、以下の通り設定しています。

プロセッサ数は、4

メモリは、3.5G

HDD容量は、100G

DVD

ネットワークアダプタ1(ブリッジ接続)

ネットワークアダプタ2(VMnet1)

2014/11 5

※注意事項vmxファイルの設定を変更しています。自己責任でお願いします。

ethernet1.virtualDev = "e1000"mainMem.useNamedFile = "FALSE"

Page 6: OpenStack マルチノード環境構築

CentOS 7のインストール設定①

2014/11 6

Page 7: OpenStack マルチノード環境構築

CentOS 7のインストール設定②

OpenStackは/var/lib/nova以下を使用しますので、/var以下のディスク容量を確保するようにしてください。

今回は、検証環境ですので、ディスクの残りをすべて「/」に割り当てています。

2014/11 7

Page 8: OpenStack マルチノード環境構築

OpenStackのインストール①

最新に更新します

#yum –y update

RDOをインストールします。

RDO Quickstartを参考にしてください。

#yum install -yhttps://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-4.noarch.rpm

#yum install -y openstack-packstack

#packstack --allinone

これで、AllInOne環境が出来上がりです。

2014/11 8

※注意事項hostnameを設定している場合は、/etc/hostsに記載してください。しかし、うまく行ったことがないです。

localhost.localadminのままだとうまく行きます。

Page 9: OpenStack マルチノード環境構築

AllInOne環境の確認①

環境ができあがると、以下のように表示されます。

/root/以下に、以下のファイルができます。

keystonerc_admin

keystonerc_demo

packstack-answers-日時.txt

2014/11 9

記載のとおり、AllInOneで使用する場合は、NetManagerを停止してください。

このファイルを編集してマルチノードにします。

Page 10: OpenStack マルチノード環境構築

AllInOne環境の確認②

OpenStackの状態を確認するコマンドを実行します。

#. ./keystonerc_admin ← 環境変数を設定します。

[(keystone_admin)] #openstack-status

実行すると以下のような表示がでます。

2014/11 10

続く(一部省略)

続き

Page 11: OpenStack マルチノード環境構築

AllInOne環境の確認③

Horizonにログインしてみましょう。

/root/keystonerc_adminにパスワードが書かれています。確認してください。

2014/11 11

admin

keystonerc_adminに記載されたパスワード

ログインすると

Page 12: OpenStack マルチノード環境構築

参考に

この時、必要なOpenvSwitchの設定が行われています。以下のコマンドで確認してみましょう。

#ovs-vsctl show

2014/11 12

br-tun、br-int、br-exの3つのブリッジが作成されています。

物理NICの名前が記載されていません。まだ外部への接続はない状態です。

後で登場しますので、比較してみてください。

Page 13: OpenStack マルチノード環境構築

マルチノードに設定①

/root/以下に保存されたpackstack-answers-日時.txtを編集します。編集する項目は以下の通りです。

CONFIG_COMPUTE_HOSTS=192.168.1.21,192.168.1.22

CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE=vlan

CONFIG_NOVA_COMPUTE_PRIVIF=eno33554960

CONFIG_NOVA_NETWORK_PUBIF=eno16777736

CONFIG_NOVA_NETWORK_PRIVIF=eno33554960

CONFIG_NOVA_NETWORK_VLAN_START=1001

CONFIG_NEUTRON_L3_EXT_BRIDGE=br-ex

CONFIG_NEUTRON_L2_PLUGIN=openvswitch

CONFIG_NEUTRON_OVS_VLAN_RANGES=physnet1,physnet2:1001:1010

CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex,physnet2:br-priv

CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eno16777736,br-priv:eno33554960

2014/11 13

Page 14: OpenStack マルチノード環境構築

マルチノードに設定①

/root/以下に保存されたpackstack-answers-日時.txtを編集します。編集する項目は以下の通りです。

CONFIG_NEUTRON_OVS_TUNNEL_RANGES=1001:1010

CONFIG_NEUTRON_OVS_TUNNEL_IF=eno33554960

2014/11 14

Page 15: OpenStack マルチノード環境構築

マルチノードに設定②

全てのサーバで、NetworkManagerが動作していることを確認してください。packstackが設定するときには、NetworkMangerが必要です。

packstackを実行します。

packstack --answer-file=packstack-answers-日時.txt

インストールが成功すれば、とりあえずは一安心です。一応確認してみましょう。

# . keystonerc_admin

openstack-status

2014/11 15

localhost.localdomainが残っていると思います。

Page 16: OpenStack マルチノード環境構築

マルチノードに設定③

一度再起動します。

shutdown –r now

経験的にここで一度再起動しておく方が良いです。

再起動後の設定確認を確認するためです。

2014/11 16

Page 17: OpenStack マルチノード環境構築

データの修正①

localhost.localdomainを削除しましょう

mysql –u root

こんな感じでデータが管理されています。

削除するコマンドは以下のコマンドです。

delete from nova.compute_nodes where hypervisor_hostname = 'localhost.localdomain';

delete from nova.services where host = 'localhost.localdomain';

2014/11 17

Page 18: OpenStack マルチノード環境構築

データの修正②

cinderについても同様に消しておきましょう。

cinder-manage service list

MariaDB [(none)]> delete from cinder.services where host = 'localhost.localdomain';

localhost.localdomainが消すことができます。

cinder-manage service list

2014/11 18

Page 19: OpenStack マルチノード環境構築

外部ネットワークの修正①

P4で示した外部ネットワークを使用するためにはネットワークを設定しなおす必要があります。

Horizonにログインしてネットワークを確認してみましょう

2014/11 19

publicのネットワークです

割り当てられているのは、physnet2で、vlanになっており、これでは外部ネットワークと通信ができません。

これから、これを外部ネットワークに接続できるように設定を変更していきます。

Page 20: OpenStack マルチノード環境構築

外部ネットワークの修正②

「管理」-「ルーター」を開き、ネットワークdemoのprivateとadminのpublicを削除します。

2014/11 20

クリック

Page 21: OpenStack マルチノード環境構築

外部ネットワークの修正③

「管理」-「ネットワーク」を開き、ネットワークdemoのprivateとadminのpublicを削除します。

2014/11 21

クリック

※ルーターを削除してからでないと、ネットワークを削除できません。その他、コンピュータノードなどを作成しているときは、全て削除してからでないとできないので注意してください。

Page 22: OpenStack マルチノード環境構築

外部ネットワークの修正④

外部ネットワークを作成します。

2014/11 22

この青枠のネットワークを作成します。

Page 23: OpenStack マルチノード環境構築

外部ネットワークの修正⑤

Horizon上では設定できないので、コマンドで設定します。

neutron net-create public --provider:network-type flat \

--provider:physical_network physnet1 --router:external True --shared

2014/11 23

※注意事項physnet1は、P13で指定しています。br-ex:eno16777736と結びついています。

Page 24: OpenStack マルチノード環境構築

外部ネットワークの修正⑥

ここからはHorizonで設定できるので、WEBから設定していきます。

まず、「管理」-「ネットワーク」を表示します。

「public」をクリックします。

2014/11 24

クリック

Page 25: OpenStack マルチノード環境構築

ネットワークの修正⑦

「サブネットの作成」をクリックします。

2014/11 25

クリック

クリック

このネットワークは、physnet1で、faltで設定できています。

Page 26: OpenStack マルチノード環境構築

ネットワークの修正⑧

2014/11 26

クリック

クリック

Page 27: OpenStack マルチノード環境構築

外部ネットワークの修正⑨

2014/11 27

クリック

クリック

FloatingIPになりますので、開始IP、終了IPをカンマ区切りで

指定してください。

Page 28: OpenStack マルチノード環境構築

内部ネットワークの作成①

内部ネットワークを作成します。

2014/11 28

この青枠で構成するネットワークを作成します。

最終形はこうなります。

ルーター

Page 29: OpenStack マルチノード環境構築

内部ネットワークの作成②

「管理」-「ネットワーク」で表示される「ネットワーク作成」をクリックします。

2014/11 29

クリック

Page 30: OpenStack マルチノード環境構築

内部ネットワークの作成③

ウィンドウが表示されるので、設定し、「ネットワーク作成」をクリックします。

2014/11 30

クリック

Page 31: OpenStack マルチノード環境構築

内部ネットワークの作成④

サブネットを登録しますが、先ほど外部ネットワークのサブネットを作成したように設定していきます。

2014/11 31

クリック

クリック

Page 32: OpenStack マルチノード環境構築

内部ネットワークの作成⑤

サブネットを作成します。

2014/11 32

Page 33: OpenStack マルチノード環境構築

内部ネットワークの作成⑥

内部ネットワークを外部ネットワークに接続します。

ネットワーク間を接続するのはルータです。ルータを追加します。これも、Horizonから設定できるので、ここではWEBから設定します。

「管理」ではルータの作成はできないので、「プロジェクト」-「ルータ」から設定します。

2014/11 33

クリック

Page 34: OpenStack マルチノード環境構築

内部ネットワークの作成⑦

ルーター名を指定します。

ルーターが追加されます。

2014/11 34

クリック

Page 35: OpenStack マルチノード環境構築

内部ネットワークの作成⑧

ルータにゲートウェイを設定します。

2014/11 35

クリック

Page 36: OpenStack マルチノード環境構築

内部ネットワークの作成⑨

外部ネットワークを「public」を選択します

「ゲートウェイの設定」をクリックします。

2014/11 36

publicを設定します

クリック

Page 37: OpenStack マルチノード環境構築

内部ネットワークの作成⑩

ルーターの外部ネットワークに「public」が追加されます。

これを正しく設定していないと、インスタンスを作成し、FloatingIPを付与するときにエラーとなります。

「インターフェースの追加」で作成されるのは、内部インターフェースなので注意しましょう。必ず、「ゲートウェイの設定」を行いましょう。

2014/11 37

publicが追加されます。

Page 38: OpenStack マルチノード環境構築

内部ネットワークの作成⑪

ここまで、以下のようなネットワーク環境が構築できています。

2014/11 38

ルーターが追加されます。

Page 39: OpenStack マルチノード環境構築

内部ネットワークの作成⑫

「プロジェクト」-「ルーター」を開き、ルーター「private-01-GW01」をクリックします。

2014/11 39

クリック

Page 40: OpenStack マルチノード環境構築

内部ネットワークの作成⑬

「ルーターの詳細」画面で、「インターフェースの追加」ができます。

2014/11 40

クリック

Page 41: OpenStack マルチノード環境構築

内部ネットワークの作成⑭

インターフェースの設定をし、「インターフェースの追加」をクリックします。

2014/11 41

クリック

内部ネットワークを選択します

サブネット作成時に指定したGWのIPを

設定します

Page 42: OpenStack マルチノード環境構築

内部ネットワークの作成⑮

これでネットワークが完成しました。

2014/11 42

外部ネットワークと内部ネットワークが接続できました。

Page 43: OpenStack マルチノード環境構築

イメージの追加①

インスタンスを追加して動作確認をしますが、まず、起動するためのインスタンスを追加しましょう。

「管理」-「イメージ」を開き、イメージの追加をクリックします。

2014/11 43

クリック

Page 44: OpenStack マルチノード環境構築

イメージの追加②

イメージの作成を設定し、「イメージの作成」をクリックします。

2014/11 44

http://cloud.centos.org/centos/7/devel/CentOS-7-x86_64-GenericCloud-20140917_02.qcow2

今回は、CentOS7のイメージを追加しました。

※注意事項アーキテクチャーは、空にしておく方が良いです。この情報をもとに、適切に判断して、どのコンピュータノードに配置するかをスケジュールしています。適切な文字列を設定しない場合は、どのコンピュータノードでも起動できないと判断され、起動できません。

正しく設定するか、空にしておいてください。

Page 45: OpenStack マルチノード環境構築

※Imageについて

RDOのページで確認することができます。

2014/11 45

https://openstack.redhat.com/Image_resources

Page 46: OpenStack マルチノード環境構築

イメージの追加③

このように、ダウンロードして登録されます。

2014/11 46

登録中

Page 47: OpenStack マルチノード環境構築

インスタンスを起動するための前準備①

インスタンスを起動するための前準備をします。

キーペアを作ります。

セキュリティグループを適切に設定します。

フレーバーの修正を行います。

「プロジェクト」-「アクセスとセキュリティ」を開きます。

2014/11 47

Page 48: OpenStack マルチノード環境構築

インスタンスを起動するための前準備②

「キーペア」を作成します。

キーペアを開き、「キーペアの作成」をクリックします。

2014/11 48

クリック

クリック

Page 49: OpenStack マルチノード環境構築

インスタンスを起動するための前準備③

ダウンロードが始まりますので、大切に保存してください。

2014/11 49

Page 50: OpenStack マルチノード環境構築

インスタンスを起動するための前準備④

次は、「セキュリティグループ」を設定します。

ここでは、defaultの設定を変更しますが、本来は、適切に設定するためにも、セキュリティグループを追加し、設定してください。

2014/11 50

クリック

Page 51: OpenStack マルチノード環境構築

インスタンスを起動するための前準備⑤

defaultの設定を変更します。

pingの許可とsshの許可を追加します。

2014/11 51

クリック

Page 52: OpenStack マルチノード環境構築

インスタンスを起動するための前準備⑥

pingの許可(送信、受信)

2014/11 52

クリック

Page 53: OpenStack マルチノード環境構築

インスタンスを起動するための前準備⑦

外部ネットワークからのssh許可

2014/11 53

クリック

Page 54: OpenStack マルチノード環境構築

インスタンスを起動するための前準備⑧

フレーバーですが、パソコン上の環境にはあっていないので、以下のように修正します。

m1.tiny、m1.smallを修正します。

メモリー、ルートディスクの容量を変更しています。

2014/11 54

Page 55: OpenStack マルチノード環境構築

インスタンスの起動①

では、インスタンスを起動します。

「プロジェクト」-「イメージ」を開き、「起動」をクリックします。

2014/11 55

クリック

Page 56: OpenStack マルチノード環境構築

インスタンスの起動③

「詳細」を設定します。

2014/11 56

動作確認のため4つを起動します

Page 57: OpenStack マルチノード環境構築

インスタンスの起動④

「アクセスとセキュリティ」を設定します。

2014/11 57

Page 58: OpenStack マルチノード環境構築

インスタンスの起動⑤

「ネットワーク」を設定します。

2014/11 58

内部ネットワークを指定します。

Page 59: OpenStack マルチノード環境構築

インスタンスの起動⑥

今回は、sshをパスワードでログインできるように下記を設定します。

2014/11 59

#cloud-configpassword: vmpasschpasswd: { expire: False }ssh_pwauth: True

ここを参考にしています。http://d.hatena.ne.jp/ytooyama/20140201/1391186305

内部ネットワークを指定します。

Page 60: OpenStack マルチノード環境構築

インスタンスの起動⑦

起動中になります。

2014/11 60

起動済み

起動処理中

パソコン上の仮想環境では、スペックの問題で、うまく起動できない場合があります。インスタンスをクリックして、ログから起動を確認してください。

本当は、1つずつ起動させる方が良いです。また、だめな場合は、アクションで、ハードウェアリセットを選択し、実行してください。

Page 61: OpenStack マルチノード環境構築

ネットワークの動作確認①

コマンドで確認します。

ホスト#1(OPST-01)にログインします。

namespaceを利用し、独立したネットワークを作り上げいるため、まず、namespaceの一覧を確認します。

# ip netns

以下の2つ出てきます。

qrouter-(ID) ルータ-

qdhcp-(ID) DHCP

qrouter-(ID)のIDは、Horizonで確認してみましょう。

同じIDになっていることが確認できると思います。

2014/11 61

同じです。

Page 62: OpenStack マルチノード環境構築

ネットワークの動作確認②

pingで、疎通を確認します。

pingをうつ先は、各インスタンスのIPアドレスです。

namespaceからpingをうつために以下のコマンドを使用します。

ip netns exec (namespace ID) ping (IPアドレス)

2014/11 62

Page 63: OpenStack マルチノード環境構築

ネットワークの動作確認②

2014/11 63

192.168.100.1にpingはOKです。

192.168.100.50にpingはOKです。

192.168.100.51にpingはOKです。

192.168.100.52にpingはOKです。

192.168.100.53にpingはOKです。

Page 64: OpenStack マルチノード環境構築

ネットワークの動作確認③

最後に外部ネットワークからアクセスできることを確認しましょう。

外部ネットワークに接続するには、FloatingIPの設定が必要です。

まずは、FloatingIPの設定をします。(FloatingIPとはNATを設定することです)

「プロジェクト」-「アクセスとセキュリティ」-「FloatingIP」を開きます。

「Floating IPの確保」を4回行ってください。

2014/11 64

クリック

Page 65: OpenStack マルチノード環境構築

ネットワークの動作確認④

確保すると以下のようになります。

2014/11 65

Page 66: OpenStack マルチノード環境構築

ネットワークの動作確認⑤

確保すると以下のようになります。

「割り当て」をクリックし、設定します。

2014/11 66

Page 67: OpenStack マルチノード環境構築

ネットワークの動作確認⑥

割り当てすると以下のようになります。

2014/11 67

Page 68: OpenStack マルチノード環境構築

ネットワークの動作確認⑦

「インスタンス」でみると、2つのIPが表示されています。

上にはprivate ip、下にはpublic ipが表示されます。

2014/11 68

Page 69: OpenStack マルチノード環境構築

ネットワークの動作確認⑧

外部からpingを打つと問題なくpingが通ります。

2014/11 69

192.168.1.151にpingはOKです。

192.168.1.152にpingはOKです。

192.168.1.153にpingはOKです。

192.168.1.154にpingはOKです。

Page 70: OpenStack マルチノード環境構築

ネットワークの動作確認⑨

SSHも問題なく接続できると思います。

以下は、パスワードでログインできるようにしていますので、キーペアは使用していません。

2014/11 70

Page 71: OpenStack マルチノード環境構築

Open vSwitchについて

今回使用したOpen vSwitchのVLAN構成は、以下のサイトが分かりやすいです。

http://openvswitch.org/support/config-cookbooks/vlan-configuration-cookbook/

非常にわかりやすく書かれているので、見て頂ければ、理解できると思います。

2014/11 71