• Like
RDOを使ったOpenStack Havana - Neutron 構築編 :補足資料
Upcoming SlideShare
Loading in...5
×

RDOを使ったOpenStack Havana - Neutron 構築編 :補足資料

  • 1,753 views
Uploaded on

日時:2014/02/06 …

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,753
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
82
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. RDO Neutron Quickstart Plus ++++++++++++++++++++++++++++++++ ■この文書について この文書は以下の公開資料を補足するものです。 RDO Neutron Quickstart http://openstack.redhat.com/Neutron-Quickstart http://openstack.redhat.com/Neutron_with_existing_external_network Step 0: 要件 Software: ・Red Hat Enterprise Linux (RHEL) 6.4以降 ・RHEL互換OSのバージョン6.4以降(CentOSなど..) ・Fedora 19 Hardware: ・CPU 2Core以上 ・メモリー4GB以上 ・最低1つのNIC ※Privateネットワーク用はloインターフェイスを利用することができます。 Network: ・インターネットにアクセスできる環境 ・ノードに以下を設定 >-# 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 (設定を反映) --<
  • 2. /etc/rc.localファイルに追記 >-echo 0 > /proc/sys/net/bridge/bridge-nf-call-iptables echo 0 > /proc/sys/net/bridge/bridge-nf-call-ip6tables echo 0 > /proc/sys/net/bridge/bridge-nf-call-arptables --< 【参考】 ・OpenStackの仮想ネットワーク管理機能「Quantum」の基本的な設定 http://sourceforge.jp/magazine/13/04/11/080000/3 ・公式ガイド Compute http://docs.openstack.org/admin-guide-cloud/content/ch_introductionto-openstack-compute.html#section_network-troubleshoot ※仮想化上で実行する場合は、CPUの設定で「仮想化支援機能」を有効にしてください。 Step 3までやっておいて、スナップショットを作っておくと動作テスト時に便利。 Step 1:アンサーファイルを自分の環境に合わせて設定 とりあえず1台構成のOpenStack環境を作るには最低限以下のパラメータを設定します。 ・アンサーファイルのIPアドレス部分を自IPアドレスに変更(複数個所) ・NICを利用したいものに変更する CONFIG_NOVA_COMPUTE_PRIVIF=lo CONFIG_NOVA_NETWORK_PRIVIF=lo CONFIG_NOVA_NETWORK_PUBIF=eth0 ・Dashboardにアクセスするパスワード CONFIG_KEYSTONE_ADMIN_PW=admin ・テスト用demoユーザーとかネットワークを作らないようにする(default:y/作る) CONFIG_PROVISION_DEMO=n Step 2: ソフトウェアリポジトリの追加 ソフトウェアパッケージのインストールとアップデートを行う。 Neutron環境の構築にはSELinuxの設定変更が必要なので設定完了後、一旦再起動する。 次のコマンドを実行: >-# yum install -y http://rdo.fedorapeople.org/openstack-havana/rdorelease-havana.rpm --<
  • 3. Note: For Neutron to work properly, a network namespaces-enabled kernel is required. On RHEL systems, please do an update and reboot prior to continuing. >-# yum -y update # reboot --< Due to the quantum/neutron rename, SELinux policies are currently broken for Havana, so SELinux must be disabled/permissive on machines running neutron services, edit /etc/selinux/config to set SELINUX=permissive. Step 3: Packstackおよび必要パッケージのインストール >-# yum install -y openstack-packstack python-netaddr --< Step 4: Packstackを実行してOpenStackのインストール PackstackはOpenStackに関した手動設定を排除します。シングルノードでの導入では、 以下のコマンドを実行します。 >-# packstack --allinone --< インストールすると1台構成のOpenStack環境を構成できます。 パブリックネットワークには仮のネットワークが設定されているため、外部PCからのアク セスはできません。 packstackであらかじめ構成を指定した上でOpenStackをデプロイするにはアンサーファ イルを利用します。packstack --allinoneを実行すると/rootディレクトリにアンサー ファイルが作成されます。もしくは以下のコマンドを実行するとアンサーファイルを作るこ とができます。 >-# packstack --gen-answer-file=answer.txt # vi answer.txt [general] # Path to a Public key to install on servers. If a usable key has not # been installed on the remote servers the user will be prompted for a
  • 4. # password and this key will be installed so the password will not be # required again CONFIG_SSH_KEY= # Set to 'y' if you would like Packstack to install MySQL CONFIG_MYSQL_INSTALL=y # Set to 'y' if you would like Packstack to install OpenStack Image # Service (Glance) CONFIG_GLANCE_INSTALL=y (略) --< 作成したアンサーファイルは1台のマシンにすべてをインストールする設定が行われていま す。IPアドレスや各種パスワードなどを適宜設定します。 アンサーファイルを設定したら、packstackコマンドでOpenStackの構築開始です。 アンサーファイルを指定して実行します。 >-# packstack --answer-file=~/packstack-answers-*.txt --< The installer will ask you to enter the root password for each host node you are installing on the network, to enable remote configuration of the host so it can remotely configure each node using Puppet. If the installer had to upgrade your kernel, packstack will inform you that manual reboot will be required. Once the process is complete, you can log in to the OpenStack web interface "Horizon" by going to http://$YOURIP/dashboard. The username is "demo". The password can be found in the file keystonerc_demo in the /root/ directory of the control node. You can find the demo network topology here: http://$YOURIP/ dashboard/project/network_topology/ Step 5: ネットワーク設定の変更 次に外部と通信できるようにするための設定を行います。 http://openstack.redhat.com/Neutron_with_existing_external_network ◆public用として使うNICの設定ファイルを修正 packstack実行後、eth0をbr-exにつなぐように設定をします(※BOOTPROTOは設定しな い)
  • 5. >-# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes HWADDR=52:54:00:92:05:AE # your eth0's hwaddr TYPE=OVSPort DEVICETYPE=ovs OVS_BRIDGE=br-ex --< ◆ブリッジインターフェイスの作成 br-exにeth0のIPアドレスを設定します。 >-# 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 since we want the network restart to not kill the connection, otherwise pick something outside your dhcp range NETMASK=255.255.255.0 # your netmask GATEWAY=192.168.1.1 # your gateway DNS1=8.8.8.8 # nameserver DNS1=8.8.4.4 --< /etc/neutron/plugin.iniに次の設定を追加します。 >-network_vlan_ranges = physnet1 bridge_mappings = physnet1:br-ex --< ここまでできたらいったんホストを再起動します。 >-# reboot --< Step 6: ネットワークの追加 br-exにeth0を割り当てて仮想マシンをハイパーバイザー外部と通信できるようにする為 の経路が確保されていることを確認します。 >-# ovs-vsctl show 903f6cd5-29f3-4b8d-9cda-3411ddf98ecb Bridge br-int
  • 6. Port "qr-4c4fb9f1-a6" tag: 1 Interface "qr-4c4fb9f1-a6" type: internal Port br-int Interface br-int type: internal Port "tap80d3399f-1e" tag: 1 Interface "tap80d3399f-1e" type: internal Bridge br-ex Port "qg-bca7776d-14" Interface "qg-bca7776d-14" type: internal Port br-ex Interface br-ex type: internal Port "eth0" Interface "eth0" ovs_version: "1.11.0" --< OSやハードウェア側の設定が終わったら、OpenStackが利用するネットワークを作成して みましょう。OpenStackにおけるネットワークの設定は以下の順で行います。 ・ルーターを作成 ・ネットワークを作成 ・ネットワークサブネットを作成 それでは順に行っていきましょう。 ◆ルーターの作成 ルーターの作成は次のようにコマンドを実行します。 >-# neutron router-create router1 --< ◆ネットワークの作成 ネットワークの作成は次のようにコマンドを実行します。 ・パブリックネットワークの場合 >-# neutron net-create public --tenant-id 449cf61950f5488ca789e07d217d1ca5 --router:external=True --< net-createコマンドの先頭にはまずネットワーク名を記述します。tenant-idは
  • 7. 「keystone tenant-list」で出力される中から「テナント」を指定します。 router:external=Trueは外部ネットワークとして指定するかしないかを設定します。プ ライベートネットワークを作る場合は指定する必要はありません。 ・プライベートネットワークの場合 >-# neutron net-create demo-net --tenant-id f11c28b9d0e841ea907d48e318296d4f --shared --< ネットワークを共有するには--sharedオプションを付けて実行します。 ◆ネットワークサブネットの登録 ネットワークで利用するサブネットを定義します。 >-# 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 --< これでpublic側ネットワークにサブネットなどを登録することができました。 次にdemo-net(プライベート)側に登録してします。 >-# 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 --< ◆ゲートウェイの設定 作成したルーター(router1)とパブリックネットワークを接続するため、「ゲートウェイ の設定」を行います。 >-# neutron router-gateway-set b195f4e5-c8f5-4dbd-b265-14e1736faefb becc216a-7c58-4a73-8ad9-8d9424004f9c --< ◆外部ネットワークと内部ネットワークの接続 最後にプライベートネットワークを割り当てたインスタンスがFloating IPを割り当てら れたときに外に出られるようにするために「ルーターにインターフェイスの追加」を行いま す。 >-neutron router-interface-add b195f4e5-c8f5-4dbd-b265-14e1736faefb
  • 8. subnet=demo-net_subnet --< router-idはneutron router-listコマンドで確認、サブネットはneutron subnetlistコマンドで確認することができます。 Step 7: ユーザーの追加 次に、ユーザーの追加を行います。 まずはOpenStackのコマンドを利用するためにkeystonerc_adminを読み込みます。 >-# source /root/keystonerc_admin --< demoユーザーを作成してみます。 >-# keystone user-create --name demo --pass demo --tenant services -enabled true --< ユーザー作成コマンドはkeystone user-createです。 パラメータはいくつかあるので--helpで確認。--nameがユーザー名、--passがパスワー ド、--tenantはテナント(Horizonではプロジェクト)名、--enabledは有効化の可否を 指定します。 tenantはHorizonで登録されている「プロジェクト」を確認するか、コマンドでは次のコ マンドで確認できます。 >-# keystone tenant-list --< Step 8: Novaの設定変更 デフォルト設定のままインストールした場合、Novaは仮想化基盤にqemuを利用するように なっています。パフォーマンスを上げるには以下のように設定を変更します。 KVMモジュールが読み込まれていることを確認します。 >-# lsmod | grep kvm kvm_intel kvm (Intel CPUの場合) kvm (AMD CPUの場合) 54285 332980 6 1 kvm_intel 332980 1 kvm_amd # vi /etc/nova/nova.conf (略) libvirt_type=kvm
  • 9. #libvirt_type=qemu (設定を変更) --< ■動作確認 ・「セキュリティグループ」でICMPとSSHを有効化 ・インスタンスを起動 ・Floating IPをインスタンスに割り当て ・ホストにSSHアクセスしてそこからインスタンスにアクセス(※下記注) ■FAQ Q1:RDOで環境構築後、アンサーファイルを書き換えて再度packstackを実行したところ、 スクリプトの途中で停止しました。 A1:おそらくそのような使用は想定していないようです。環境構築後は直接各confファイル をいじって通常のOpenStackの設定を変更するか、RDOによるインストールを行う前の状 態に戻してから再度新しい設定を仕込んだアンサーファイルを使って環境構築してくださ い。 Q2:ゲートウェイがDOWNなんですけど A2:無視 Q3:ステータスを確認するには? A3:openstack-statusコマンドを実行! Q4:openstack-statusコマンドを実行するとサービスの一部が動いていないようです A4:「RDO Neutron Quickstart」の末尾に注意書きがあります If you installed the updated kernel and rebooted prior to running packstack, everything should work. If you installed the updated kernel as part of running packstack, you will need to reboot when packstack completes to boot into the new kernel. This reboot will cause br-ex to reset, so after the reboot you will need to re-run packstack as shown below: >-# packstack --answer-file=~/packstack-answers-*.txt --< 同じアンサーファイルを使って、もう一度packstackを実行するようですね。
  • 10. Q5:仮想ネットワークを作り直したい A5:こんな感じ >-# source /root/keystonerc_admin # neutron router-gateway-clear router1 # neutron subnet-delete public_subnet --< ※Floating IPが発行されているとneutron subnet-deleteコマンドの実行に失敗する 作り直して再割り当て >-# 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 --< Q6:日本語キーボードがつかえない A6:コンピュートノードのnova.confに以下のように追記 >-# vi /etc/nova/nova.conf (略) # keymap for vnc (string value) #vnc_keymap=en-us vnc_keymap=ja #追加する行 # service nova-compute restart --< Q7:マルチノードでやるには A7:以下を参照(まだわたしは未検証)。 http://openstack.redhat.com/Adding_a_compute_node