Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

37,642 views

Published on

日時: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

Published in: Technology

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

  1. 1. RDOを使ったOpenStack Havana Neutron 構築編 日本仮想化技術株式会社
  2. 2. OpenStack構成図 2
  3. 3. RDOとは • Red Hatベースプラットフォームで OpenStackを利用するユーザーのた めのコミュニティ • OpenStack環境をクイックインストール • Packstackを利用 • Pythonで書かれている
  4. 4. お品書き 1. RHEL系のLinuxをインストール 2. RDOリポジトリーの追加 3. RDOでOpenStackをインストール 4. RDOでOpenStackをカスタムインストール 5. コマンドでOpenStackを設定
  5. 5. 事前準備
  6. 6. ソフトウェア要件 • Red Hat Enterprise LinuxおよびRHEL 派生OS 6.4以降 • Fedora 19以降
  7. 7. ハードウェア要件 • CPU 2Core以上 – VT-x / AMD-V • メモリー4GB以上 • 最低1つのNIC – Privateネットワーク用はloインターフェイスを利 用可能。 • インターネットにアクセスできる環境
  8. 8. Linuxのインストール STEP1
  9. 9. Linuxをインストール • 次のバージョン以降のOS – RHEL 6.4 – Fedora 19 – CentOS 6.4 – Scientific Linux 6.4 ※本例ではScientific Linux 6.5をインス トールしています。
  10. 10. あらかじめ設定 # vi /etc/sysctl.conf #設定を確認 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 #設定を追記 net.ipv4.conf.all.forwarding = 1 net.ipv4.conf.all.rp_filter = 0 #設定を変更 net.ipv4.conf.default.rp_filter = 0 # sysctl -e -p /etc/sysctl.conf (設定を反映)
  11. 11. IPアドレスの固定化 • eth0に固定IPアドレスを割り当て
  12. 12. RDOリポジトリーの追加 STEP2
  13. 13. リポジトリーの追加 • 公式の手順に従ってコマンドを実行 • アップデートの実施 # yum install -y http://rdo.fedorapeople.org/openstack- havana/rdo-release-havana.rpm # yum -y update
  14. 14. パッケージのインストール • Packstackおよび必要パッケージをイン ストール # yum install -y openstack-packstack python- netaddr
  15. 15. SELinux • 公式の手順にしたがってオフにします。 • /etc/selinux/configファイル SELINUX=permissiveの設定も行う。 # setenforce 0 # getenforce Permissive
  16. 16. RDOでOpenStackをインストール STEP3
  17. 17. OpenStackをインストール • インストールするには次のコマンドを 実行するだけ • しばらく待つ • ログインしてみる # packstack --allinone
  18. 18. OpenStack ログイン画面
  19. 19. Web Interfaceで操作
  20. 20. デフォルトの構成 • プライベートネットワーク – 10.0.0.0/24 • パブリックネットワーク – デモ用 – 外部接続不可 • ユーザー – demo – admin
  21. 21. RDOでOpenStackをカスタム インストール STEP4
  22. 22. カスタムインストールの方法 • packstackはアンサーファイルを用意 することでカスタム可能 • packstackコマンド実行に指定 – カスタム構成でOpenStackが構築できる
  23. 23. 実行前に • 必要パッケージがインストール済みか 確認 # rpm -q openstack-packstack openstack-packstack-2013.2.1- 0.29.dev956.el6.noarch
  24. 24. アンサーファイルの作成 • packstackコマンドでアンサーファイル を作成 ※アンサーファイルはバージョンによっ て追加があるので使い回す際は注意 # packstack --gen-answer-file=answer.txt (answer.txtという名前のファイルを作成する場合)
  25. 25. アンサーファイル例 # vi answer.txt [general] CONFIG_MYSQL_INSTALL=y CONFIG_GLANCE_INSTALL=y CONFIG_CINDER_INSTALL=y CONFIG_NOVA_INSTALL=y CONFIG_NEUTRON_INSTALL=y CONFIG_HORIZON_INSTALL=y CONFIG_SWIFT_INSTALL=y (略) CONFIG_NOVA_COMPUTE_PRIVIF=lo CONFIG_NOVA_NETWORK_PRIVIF=lo CONFIG_NOVA_NETWORK_PUBIF=eth0 CONFIG_KEYSTONE_ADMIN_PW=admin CONFIG_PROVISION_DEMO=n
  26. 26. アンサーファイルの編集 • 自分の環境に合わせて修正 • 最低設定するのは – 導入コンポーネント – Private用NIC – Public用NIC – adminユーザーのパスワード
  27. 27. OpenStackをインストール • インストールするには次のコマンドを 実行するだけ • しばらく待つ # packstack --answer-file=/root/answers.txt
  28. 28. ブリッジの設定 STEP6
  29. 29. NICの設定変更 • eth0をpublic用にする • br-ex用のポートとしてeth0を使う • Neutron Pluginの設定 ※具体的な設定は次のスライドで
  30. 30. ifcfg-eth0 # vi /etc/sysconfig/network- scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes HWADDR=xx:xx:xx:xx:xx:xx TYPE=OVSPort DEVICETYPE=ovs OVS_BRIDGE=br-ex
  31. 31. ifcfg-br-ex # vi /etc/sysconfig/network-scripts/ifcfg- br-ex DEVICE=br-ex ONBOOT=yes DEVICETYPE=ovs TYPE=OVSBridge BOOTPROTO=static IPADDR=192.168.1.140 # Old eth0 IP NETMASK=255.255.255.0 # Your netmask GATEWAY=192.168.1.1 # Your gateway DNS1=8.8.8.8 # DNS Server DNS2=8.8.4.4
  32. 32. Neutron Pluginの設定変更 • 以下を追記する • 一旦OpenStackホストを再起動 # vi /etc/neutron/plugin.ini (略) network_vlan_ranges = physnet1 bridge_mappings = physnet1:br-ex
  33. 33. 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"
  34. 34. コマンドでOpenStackを設定 STEP7
  35. 35. 実施項目 • OS設定の次は「OpenStack」の設定 1. ルーターを作成 2. ネットワークを作成 3. ネットワークサブネットを作成 4. 外部と内部ネットワークの接続 5. OpenStack利用ユーザーの追加
  36. 36. 事前準備 • keystonercを読込む • 設定を確認 [root@openstack]# source keystonerc_admin [root@openstack ~(keystone_admin)]# コマンド 確認できる項目 keystone tenant-list テナント neutron net-list ネットワーク neutron router-list ルーター
  37. 37. ルーターの作成 • 次例のように実行 # neutron router-create router1 (router1を作成) # neutron router-list (コマンドを実行して確認)
  38. 38. Publicネットワークの作成 • 次例のように登録 • TENANT-IDはkeystone tenant-list コマンドで確認 • 「--router:external=True」オプション で「外部ネットワーク」として登録 # neutron net-create public --tenant-id TENANT-ID --router:external=True # neutron net-list (コマンドを実行して確認)
  39. 39. Privateネットワークの作成 • 次例のように登録 • TENANT-IDはkeystone tenant-list コマンドで確認 • 「--shared」オプションで他のユーザーと ネットワークを共有できる # neutron net-create demo-net --tenant-id TENANT-ID --shared # neutron net-list (コマンドを実行して確認)
  40. 40. サブネットの登録 • ネットワークにサブネットを登録 # 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
  41. 41. Privateネットワークに追加 • 次の構成でPrivateネットワークにサブ ネットを追加してみよう 項目 設定 名前 demo-net_subnet ネットワーク demo-net DHCP 有効 IPアドレス割り当て範囲 10.0.0.0/24 ゲートウェイ 10.0.0.1 【問題】
  42. 42. 正解は • 次例のようにサブネットを登録 ※アロケーションプールはゲートウェイ を考慮すること # 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
  43. 43. ゲートウェイの設定 • 作成したルーター(router1)とパブリッ クネットワークを接続 ※ROUTER-IDはneutron router-listコマンド、 PUBLIC-NETWORK-IDはneutron net-listコマンドで確 認できます。 # neutron router-gateway-set ROUTER-ID PUBLIC-NETWORK-ID
  44. 44. 外部と内部ネットワークの接続 • プライベートネットワークを割り当てた インスタンスがFloating IPを割り当て られたときに外に出られるようにする ために「ルーターにインターフェイスの 追加」を行います
  45. 45. コマンドの実行 • 次例のように実行 ※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
  46. 46. ユーザーの追加 • OpenStackの利用ユーザーを追加 • パラメータは--helpを参照 • テナントはkeystone tenant-listコマンド で確認できる # keystone user-create --name demo --pass demo --tenant services --enabled true
  47. 47. コマンドでOpenStackを操作 STEP8
  48. 48. 実施項目 1. セキュリティグループの設定 2. インスタンスの起動
  49. 49. セキュリティグループの設定 • 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
  50. 50. インスタンスの起動 • インスタンス起動に必要な情報を確認 – nova flavor-list – nova image-list – neutron net-list • nova listコマンドでインスタンスの 稼働状況を確認
  51. 51. コマンドの実行 • 次例のように実行 • 実行例 # 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
  52. 52. Novaの設定変更 STEP9
  53. 53. 設定変更のポイント • 仮想化としてQEMUを利用するように 設定される場合がある • 速さはQEMU < KVM • libvirt_typeの設定を確認
  54. 54. 対応しているか確認 • Linux KVMに対応しているか確認 # lsmod | grep kvm kvm_intel 54285 6 kvm 332980 1 kvm_intel (Intel CPUの場合) kvm 332980 1 kvm_amd (AMD CPUの場合)
  55. 55. nova.conf設定の確認 • libvirt_typeの設定を確認 • 対応ならkvmが選択されているはず # vi /etc/nova/nova.conf (略) libvirt_type=kvm #libvirt_type=qemu (qemuからkvm利用に設定変更)
  56. 56. Enjoy! STEP9
  57. 57. インスタンスを操作
  58. 58. FAQ
  59. 59. ステータスの確認について • ステータスを確認するには? ↓ 1. サービスの稼働状況を確認 – lsof , ps ax – nova-manage service list – neutron agent-list など 2. openstack-statusコマンドの実施 – ただし、Fedoraベースで構築した場合はうまく表示 できません
  60. 60. サービスが動かない(1) • アップデート後ホストを再起動したとこ ろ、うまく動かなくなりました。 ↓ • カーネルを更新してホストを再起動す るとbr-exがリセットされる • 再度packstackを実行する必要がある
  61. 61. サービスが動かない(2) • Fedoraベースで構築したところ、再起 動したら色々なサービスが動かなくな りました ↓ • packstackを再実行すれば復旧? – CentOSやScientific Linuxをオススメします。
  62. 62. キーボード関連 • 日本語キーボードが使えない ↓ • コンピュートノードのnova.confに追記 – vnc_keymap=ja と設定 – 「openstack-nova-compute」サービスを再起動 • 日本語キーボードが使えるかどうかはOS 次第 – Cirrosは英語キーマップで利用可 – 多くの場合loadkeys jp106コマンドで利用可
  63. 63. パスワード認証したい • こう設定してインスタンスを起動!
  64. 64. マルチノード構成にするには • 次の手順を参考に – http://openstack.redhat.com/Adding_a_compute_node • 手動で構築したほうが簡単? – http://www.server- world.info/query?os=CentOS_6&p=openstack_havana &f=10
  65. 65. 参考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

×