65
RDO をををを OpenStack Havana Neutron ををを ををををををををををを

RDOを使ったOpenStack Havana - Neutron 構築編

Embed Size (px)

DESCRIPTION

日時:2014/02/06 タイトル:RDOを使ったOpenStack Havana - Neutron 構築編 概要: OpenStack最新情報セミナーのために用意していた資料「RDOを使ったOpenStack Havana - Neutron 構築編」を公開いたします。 - RHEL系のLinuxをインストール - RDOリポジトリーの追加 - RDOでOpenStackをインストール - RDOでOpenStackをカスタムインストール - コマンドでOpenStackを設定 補足資料はこちらにあります。 http://www.slideshare.net/VirtualTech-JP/140204-rdo-quickstart

Citation preview

Page 1: RDOを使ったOpenStack Havana - Neutron 構築編

RDOを使った OpenStack HavanaNeutron 構築編

日本仮想化技術株式会社

Page 2: RDOを使ったOpenStack Havana - Neutron 構築編

2

OpenStack構成図

Page 3: RDOを使ったOpenStack Havana - Neutron 構築編

RDOとは

• Red HatベースプラットフォームでOpenStackを利用するユーザーのためのコミュニティ

• OpenStack環境をクイックインストール

• Packstackを利用• Pythonで書かれている

Page 4: RDOを使ったOpenStack Havana - Neutron 構築編

お品書き

1. RHEL系の Linuxをインストール2. RDOリポジトリーの追加3. RDOで OpenStackをインストール4. RDOで OpenStackをカスタムインストール

5. コマンドで OpenStackを設定

Page 5: RDOを使ったOpenStack Havana - Neutron 構築編

事前準備

Page 6: RDOを使ったOpenStack Havana - Neutron 構築編

ソフトウェア要件

• Red Hat Enterprise LinuxおよびRHEL派生 OS 6.4以降

• Fedora 19以降

Page 7: RDOを使ったOpenStack Havana - Neutron 構築編

ハードウェア要件

• CPU 2Core以上– VT-x / AMD-V

• メモリー 4GB以上• 最低 1つの NIC

– Privateネットワーク用は loインターフェイスを利用可能。

• インターネットにアクセスできる環境

Page 8: RDOを使ったOpenStack Havana - Neutron 構築編

LinuxのインストールSTEP1

Page 9: RDOを使ったOpenStack Havana - Neutron 構築編

Linuxをインストール

• 次のバージョン以降の OS– RHEL 6.4– Fedora 19– CentOS 6.4– Scientific Linux 6.4

※本例では Scientific Linux 6.5をインストールしています。

Page 10: RDOを使ったOpenStack Havana - Neutron 構築編

あらかじめ設定# vi /etc/sysctl.conf

#設定を確認net.ipv4.ip_forward = 1net.bridge.bridge-nf-call-ip6tables = 0net.bridge.bridge-nf-call-iptables = 0net.bridge.bridge-nf-call-arptables = 0#設定を追記net.ipv4.conf.all.forwarding = 1net.ipv4.conf.all.rp_filter = 0#設定を変更net.ipv4.conf.default.rp_filter = 0

# sysctl -e -p /etc/sysctl.conf(設定を反映)

Page 11: RDOを使ったOpenStack Havana - Neutron 構築編

IPアドレスの固定化

• eth0に固定 IPアドレスを割り当て

Page 12: RDOを使ったOpenStack Havana - Neutron 構築編

RDOリポジトリーの追加STEP2

Page 13: RDOを使ったOpenStack Havana - Neutron 構築編

リポジトリーの追加

• 公式の手順に従ってコマンドを実行

• アップデートの実施# yum install -y http://rdo.fedorapeople.org/openstack-havana/rdo-release-havana.rpm# yum -y update

Page 14: RDOを使ったOpenStack Havana - Neutron 構築編

パッケージのインストール

• Packstackおよび必要パッケージをインストール

# yum install -y openstack-packstack python-netaddr

Page 15: RDOを使ったOpenStack Havana - Neutron 構築編

SELinux

• 公式の手順にしたがってオフにします。

• /etc/selinux/configファイルSELINUX=permissiveの設定も行う。

# setenforce 0# getenforce Permissive

Page 16: RDOを使ったOpenStack Havana - Neutron 構築編

RDOで OpenStackをインストール

STEP3

Page 17: RDOを使ったOpenStack Havana - Neutron 構築編

OpenStackをインストール

• インストールするには次のコマンドを実行するだけ

• しばらく待つ• ログインしてみる

# packstack --allinone

Page 18: RDOを使ったOpenStack Havana - Neutron 構築編

OpenStack ログイン画面

Page 19: RDOを使ったOpenStack Havana - Neutron 構築編

Web Interfaceで操作

Page 20: RDOを使ったOpenStack Havana - Neutron 構築編

デフォルトの構成

• プライベートネットワーク– 10.0.0.0/24

• パブリックネットワーク–デモ用–外部接続不可

• ユーザー– demo– admin

Page 21: RDOを使ったOpenStack Havana - Neutron 構築編

RDOで OpenStackをカスタムインストール

STEP4

Page 22: RDOを使ったOpenStack Havana - Neutron 構築編

カスタムインストールの方法

• packstackはアンサーファイルを用意することでカスタム可能

• packstackコマンド実行に指定–カスタム構成で OpenStackが構築できる

Page 23: RDOを使ったOpenStack Havana - Neutron 構築編

実行前に

• 必要パッケージがインストール済みか確認

# rpm -q openstack-packstackopenstack-packstack-2013.2.1-0.29.dev956.el6.noarch

Page 24: RDOを使ったOpenStack Havana - Neutron 構築編

  アンサーファイルの作成

• packstackコマンドでアンサーファイルを作成

※アンサーファイルはバージョンによって追加があるので使い回す際は注意

# packstack --gen-answer-file=answer.txt(answer.txtという名前のファイルを作成する場合 )

Page 25: RDOを使ったOpenStack Havana - Neutron 構築編

アンサーファイル例# vi answer.txt[general]CONFIG_MYSQL_INSTALL=yCONFIG_GLANCE_INSTALL=yCONFIG_CINDER_INSTALL=yCONFIG_NOVA_INSTALL=yCONFIG_NEUTRON_INSTALL=yCONFIG_HORIZON_INSTALL=yCONFIG_SWIFT_INSTALL=y(略 )CONFIG_NOVA_COMPUTE_PRIVIF=loCONFIG_NOVA_NETWORK_PRIVIF=loCONFIG_NOVA_NETWORK_PUBIF=eth0CONFIG_KEYSTONE_ADMIN_PW=adminCONFIG_PROVISION_DEMO=n

Page 26: RDOを使ったOpenStack Havana - Neutron 構築編

アンサーファイルの編集

• 自分の環境に合わせて修正• 最低設定するのは

–導入コンポーネント– Private用 NIC– Public用 NIC– adminユーザーのパスワード

Page 27: RDOを使ったOpenStack Havana - Neutron 構築編

OpenStackをインストール

• インストールするには次のコマンドを実行するだけ

• しばらく待つ

# packstack --answer-file=/root/answers.txt

Page 28: RDOを使ったOpenStack Havana - Neutron 構築編

ブリッジの設定STEP6

Page 29: RDOを使ったOpenStack Havana - Neutron 構築編

NICの設定変更

• eth0を public用にする• br-ex用のポートとして eth0を使う• Neutron Pluginの設定

※具体的な設定は次のスライドで

Page 30: RDOを使ったOpenStack Havana - Neutron 構築編

ifcfg-eth0

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0ONBOOT=yesHWADDR=xx:xx:xx:xx:xx:xx TYPE=OVSPortDEVICETYPE=ovsOVS_BRIDGE=br-ex

Page 31: RDOを使ったOpenStack Havana - Neutron 構築編

ifcfg-br-ex

# vi /etc/sysconfig/network-scripts/ifcfg-br-exDEVICE=br-exONBOOT=yesDEVICETYPE=ovsTYPE=OVSBridgeBOOTPROTO=staticIPADDR=192.168.1.140 # Old eth0 IP NETMASK=255.255.255.0 # Your netmaskGATEWAY=192.168.1.1 # Your gatewayDNS1=8.8.8.8 # DNS ServerDNS2=8.8.4.4

Page 32: RDOを使ったOpenStack Havana - Neutron 構築編

Neutron Pluginの設定変更

• 以下を追記する

• 一旦 OpenStackホストを再起動

# vi /etc/neutron/plugin.ini

(略 )

network_vlan_ranges = physnet1bridge_mappings = physnet1:br-ex

Page 33: RDOを使ったOpenStack Havana - Neutron 構築編

ovs-vsctlコマンドで確認

• br-exに eth0が追加されたことを確認# ovs-vsctl show

016948ac-32eb-4dc3-89bc-81b96a343d06 Bridge br-ex Port phy-br-ex Interface phy-br-ex Port br-ex Interface br-ex type: internal Port "qg-2aaf420a-c9" Interface "qg-2aaf420a-c9" type: internal Port "eth0" Interface "eth0"

Page 34: RDOを使ったOpenStack Havana - Neutron 構築編

コマンドで OpenStackを設定STEP7

Page 35: RDOを使ったOpenStack Havana - Neutron 構築編

実施項目

• OS設定の次は「 OpenStack」の設定1. ルーターを作成2. ネットワークを作成3. ネットワークサブネットを作成4. 外部と内部ネットワークの接続5. OpenStack利用ユーザーの追加

Page 36: RDOを使ったOpenStack Havana - Neutron 構築編

事前準備

• keystonercを読込む

• 設定を確認

[root@openstack]# source keystonerc_admin[root@openstack ~(keystone_admin)]#

コマンド 確認できる項目keystone tenant-list テナントneutron net-list ネットワークneutron router-list ルーター

Page 37: RDOを使ったOpenStack Havana - Neutron 構築編

ルーターの作成

• 次例のように実行

# neutron router-create router1(router1を作成 )

# neutron router-list(コマンドを実行して確認 )

Page 38: RDOを使ったOpenStack Havana - Neutron 構築編

Publicネットワークの作成• 次例のように登録

• TENANT-IDは keystone tenant-listコマンドで確認

• 「 --router:external=True」オプションで「外部ネットワーク」として登録

# neutron net-create public --tenant-id TENANT-ID --router:external=True# neutron net-list(コマンドを実行して確認 )

Page 39: RDOを使ったOpenStack Havana - Neutron 構築編

Privateネットワークの作成

• 次例のように登録

• TENANT-IDは keystone tenant-listコマンドで確認

• 「 --shared」オプションで他のユーザーとネットワークを共有できる

# neutron net-create demo-net --tenant-id TENANT-ID --shared# neutron net-list(コマンドを実行して確認 )

Page 40: RDOを使ったOpenStack Havana - Neutron 構築編

サブネットの登録

• ネットワークにサブネットを登録

# neutron subnet-create --name public_subnet --enable_dhcp=False --allocation-pool=start=192.168.1.241,end=192.168.1.254 --gateway=192.168.1.1 public 192.168.1.0/24

Page 41: RDOを使ったOpenStack Havana - Neutron 構築編

Privateネットワークに追加

• 次の構成で Privateネットワークにサブネットを追加してみよう

項目 設定

名前 demo-net_subnet

ネットワーク demo-net

DHCP 有効

IPアドレス割り当て範囲 10.0.0.0/24

ゲートウェイ 10.0.0.1

【問題】

Page 42: RDOを使ったOpenStack Havana - Neutron 構築編

正解は

• 次例のようにサブネットを登録

※アロケーションプールはゲートウェイを考慮すること

# neutron subnet-create --name demo-net_subnet --enable_dhcp=True --allocation-pool=start=10.0.0.2,end=10.0.0.254 --gateway=10.0.0.1 demo-net 10.0.0.0/24

Page 43: RDOを使ったOpenStack Havana - Neutron 構築編

ゲートウェイの設定

• 作成したルーター( router1)とパブリックネットワークを接続

※ROUTER-IDは neutron router-listコマンド、PUBLIC-NETWORK-IDは neutron net-listコマンドで確認できます。

# neutron router-gateway-set ROUTER-ID PUBLIC-NETWORK-ID

Page 44: RDOを使ったOpenStack Havana - Neutron 構築編

外部と内部ネットワークの接続

• プライベートネットワークを割り当てたインスタンスが Floating IPを割り当てられたときに外に出られるようにするために「ルーターにインターフェイスの追加」を行います

Page 45: RDOを使ったOpenStack Havana - Neutron 構築編

コマンドの実行

• 次例のように実行

※ROUTER-IDは neutron router-listコマンド、サブネットは neutron subnet-listコマンドで確認できます。

• 実行例# neutron router-interface-add b195f4e5-c8f5-4dbd-b265-14e1736faefb subnet=demo-net_subnet

# neutron router-interface-add ROUTER-ID INTERFACE

Page 46: RDOを使ったOpenStack Havana - Neutron 構築編

ユーザーの追加

• OpenStackの利用ユーザーを追加

• パラメータは --helpを参照• テナントは keystone tenant-listコマンドで確認できる

# keystone user-create --name demo --pass demo --tenant services --enabled true

Page 47: RDOを使ったOpenStack Havana - Neutron 構築編

コマンドで OpenStackを操作STEP8

Page 48: RDOを使ったOpenStack Havana - Neutron 構築編

実施項目

1. セキュリティグループの設定2. インスタンスの起動

Page 49: RDOを使ったOpenStack Havana - Neutron 構築編

セキュリティグループの設定

• neutron security-group-listコマンドで対象を確認

• neutron security-group-rule-createコマンドで定義

# neutron security-group-rule-create --protocol icmp GROUP-ID# neutron security-group-rule-create --protocol tcp --port-range-min FROM-PORT --port-range-max TO-PORT GROUP-ID# neutron security-group-rule-create --protocol udp --port-range-min FROM-PORT --port-range-max TO-PORT GROUP-ID

Page 50: RDOを使ったOpenStack Havana - Neutron 構築編

インスタンスの起動

• インスタンス起動に必要な情報を確認– nova flavor-list– nova image-list– neutron net-list

• nova listコマンドでインスタンスの稼働状況を確認

Page 51: RDOを使ったOpenStack Havana - Neutron 構築編

コマンドの実行

• 次例のように実行

• 実行例

# nova boot --flavor FLAVOR-NAME --image IMAGE-NAME --nic net-id=NETWORK-ID VMNAME

# nova boot --flavor m1.tiny --image CirrOS--nic net-id=10af861b-e640-4db8-ad56-a4d398d2b66c VM1

Page 52: RDOを使ったOpenStack Havana - Neutron 構築編

Novaの設定変更STEP9

Page 53: RDOを使ったOpenStack Havana - Neutron 構築編

設定変更のポイント

• 仮想化として QEMUを利用するように設定される場合がある

• 速さはQEMU < KVM• libvirt_typeの設定を確認

Page 54: RDOを使ったOpenStack Havana - Neutron 構築編

対応しているか確認

• Linux KVMに対応しているか確認

# lsmod | grep kvmkvm_intel 54285 6 kvm 332980 1 kvm_intel(Intel CPUの場合 )kvm 332980 1 kvm_amd(AMD CPUの場合 )

Page 55: RDOを使ったOpenStack Havana - Neutron 構築編

nova.conf設定の確認

• libvirt_typeの設定を確認• 対応なら kvmが選択されているはず# vi /etc/nova/nova.conf

(略)libvirt_type=kvm#libvirt_type=qemu( qemuから kvm利用に設定変更)

Page 56: RDOを使ったOpenStack Havana - Neutron 構築編

Enjoy!STEP9

Page 57: RDOを使ったOpenStack Havana - Neutron 構築編

インスタンスを操作

Page 58: RDOを使ったOpenStack Havana - Neutron 構築編

FAQ

Page 59: RDOを使ったOpenStack Havana - Neutron 構築編

ステータスの確認について

• ステータスを確認するには? ↓1. サービスの稼働状況を確認

– lsof , ps ax– nova-manage service list – neutron agent-list など

2. openstack-statusコマンドの実施– ただし、 Fedoraベースで構築した場合はうまく表示できません

Page 60: RDOを使ったOpenStack Havana - Neutron 構築編

サービスが動かない( 1)

• アップデート後ホストを再起動したところ、うまく動かなくなりました。 ↓• カーネルを更新してホストを再起動すると br-exがリセットされる

• 再度 packstackを実行する必要がある

Page 61: RDOを使ったOpenStack Havana - Neutron 構築編

サービスが動かない( 2)

• Fedoraベースで構築したところ、再起動したら色々なサービスが動かなくなりました ↓• packstackを再実行すれば復旧?

– CentOS や Scientific Linuxをオススメします。

Page 62: RDOを使ったOpenStack Havana - Neutron 構築編

キーボード関連• 日本語キーボードが使えない ↓• コンピュートノードの nova.confに追記

– vnc_keymap=ja と設定– 「 openstack-nova-compute」サービスを再起動

• 日本語キーボードが使えるかどうかはOS次第– Cirrosは英語キーマップで利用可– 多くの場合 loadkeys jp106コマンドで利用可

Page 63: RDOを使ったOpenStack Havana - Neutron 構築編

パスワード認証したい

• こう設定してインスタンスを起動!

Page 64: RDOを使ったOpenStack Havana - Neutron 構築編

マルチノード構成にするには

• 次の手順を参考に– http://openstack.redhat.com/Adding_a_compute_node

• 手動で構築したほうが簡単?– http://www.server-world.info/query?

os=CentOS_6&p=openstack_havana&f=10

Page 65: RDOを使ったOpenStack Havana - Neutron 構築編

参考 URLなど

• RDO Quick Start– http://openstack.redhat.com/Quickstart

• RDO Quick Start Neutron– http://openstack.redhat.com/Neutron-Quickstart

• Neutronと外部ネットワーク– http://openstack.redhat.com/

Neutron_with_existing_external_network

• RDO ドキュメント一覧– http://openstack.redhat.com/Docs