CentOS 7でのOpenStackの構築手順

OpenStackの設定
OpenStackの初期設定を行います。OpenStackではソフトウェア定義ネットワークを実現するOpen vSwitchを使った仮想ネットワークを構成する必要があります。RDOが提供するpackstackを使ったインストールを行うと、Open vSwitchのための設定ファイルの雛型(ifcfg-eth0とifcfg-br-ex)が/etc/sysconfig/network-scriptsディレクトリに生成されています。まずは、ifcfg-eth0を編集します。
# cd /etc/sysconfig/network-scripts/ # cp ifcfg-br-ex org.ifcfg-br-ex # cp ifcfg-eth0 org.ifcfg-eth0 # vi ifcfg-eth0 DEVICE="eth0" ONBOOT=yes HWADDR=52:54:00:6C:BD:2C NM_CONTROLLED=yes TYPE=OVSPort (1) OVS_BRIDGE=br-ex (2)
- タイプにOVSPortを指定
- 紐づけるブリッジとしてbr-exを指定
次に、ifcfg-br-exを編集します。
# vi ifcfg-br-ex DEVICE=br-ex DEVICETYPE=ovs (1) TYPE=OVSBridge (2) BOOTPROTO=none IPADDR=172.16.31.71 NETMASK=255.255.0.0 GATEWAY=172.16.1.1 ONBOOT=yes NM_CONTROLLED=yes
- デバイスタイプとして「ovs」を指定
- Open vSwitchが提供する仮想ブリッジとして振る舞う
CentOS 7において、Open vSwitchのサービスが、NetworkManagerの後に起動するように、Afterの行にNetworkManager.serviceを追加します。
# vi /usr/lib/systemd/system/openvswitch.service [Unit] Description=Open vSwitch After=syslog.target network.target openvswitch-nonetwork.service NetworkManager.service Requires=openvswitch-nonetwork.service [Service] Type=oneshot ExecStart=/bin/true ExecStop=/bin/true RemainAfterExit=yes [Install] WantedBy=multi-user.target
br-exのポートをeth0に紐づけます。もしeth0経由で遠隔から設定を行っている場合、以下のコマンドを入力すると、ネットワークが切断されますので、別途用意した管理用のネットワーク、あるいは、ローカルマシンで直接操作を行うか、サーバーに搭載されている遠隔管理チップの仮想端末経由などで作業するようにして下さい。
# ovs-vsctl add-port br-ex eth0
OSを再起動します。
# reboot
OSを再起動後、br-exという名前の仮想ブリッジの状態を確認します。Open vSwitchが提供する仮想ブリッジの状態を確認するには、ovs-vsctlコマンドにshowを付与します。
# ovs-vsctl show ... Bridge br-ex Port "eth0" Interface "eth0" Port "qg-3d4570df-7f" Interface "qg-3d4570df-7f" type: internal Port br-ex Interface br-ex type: internal ovs_version: "2.1.3" ...
上記のように、仮想ブリッジbr-exにおいて、eth0のポートとbr-exのポートが両方表示されているかどうかを確認してください。ipコマンドで、IPアドレスの付与状況の確認と、仮想ブリッジのbr-ex経由で外部のネットワークと通信が可能かどうかも確認してください。
# ip a 1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast master ovs-system state UP qlen 1000 link/ether 52:54:00:e7:05:bb brd ff:ff:ff:ff:ff:ff 3: ovs-system: <broadcast,multicast> mtu 1500 qdisc noop state DOWN link/ether 32:f4:8f:99:ca:2e brd ff:ff:ff:ff:ff:ff 4: br-ex: <broadcast,multicast,up,lower_up> mtu 1500 qdisc noqueue state UNKNOWN link/ether e2:00:92:c0:43:41 brd ff:ff:ff:ff:ff:ff inet 172.16.31.73/16 brd 172.16.255.255 scope global br-ex valid_lft forever preferred_lft forever inet6 fe80::e000:92ff:fec0:4341/64 scope link valid_lft forever preferred_lft forever 5: br-int: <broadcast,multicast> mtu 1500 qdisc noop state DOWN link/ether 42:b6:94:8d:de:45 brd ff:ff:ff:ff:ff:ff 8: br-tun: <broadcast,multicast> mtu 1500 qdisc noop state DOWN link/ether ca:32:bb:f5:90:47 brd ff:ff:ff:ff:ff:ff </broadcast,multicast></broadcast,multicast></broadcast,multicast,up,lower_up></broadcast,multicast></broadcast,multicast,up,lower_up></loopback,up,lower_up>
以上で、packstackによるOpenStackのインストールは完了しましたので、OpenStackの管理GUIであるHorizonにログインできるかを確認します。Horizonにadminアカウントでログインするために、adminアカウントのパスワードを確認します。adminアカウントのパスワードは、/root/keystonerc_adminファイル内に記述された環境変数「OS_PASSWORD」の値です。
# cat /root/keystonerc_admin export OS_USERNAME=admin export OS_TENANT_NAME=admin export OS_PASSWORD=ad51908068f34883 export OS_AUTH_URL=http://172.16.31.71:5000/v2.0/ export OS_REGION_NAME=RegionOne export PS1='[\u@\h \W(keystone_admin)]\$ '
OpenStackを構築したサーバーにHTTP経由でアクセスします。
以上で、OpenStack JunoをCentOS 7にインストールする手順を紹介しました。OpenStackは、先進のオープンソースソフトウェアであり、CentOS 7での導入実績もこれから益々増えてくることでしょう。クラウド基盤ソフトウェアは進化が速いため習得が大変ですが、掲載したインストール手順で最新のクラウド基盤を体験してみて下さい。
この連載が書籍になりました! | |
---|---|
![]() 古賀 政純 著 |
CentOS 7実践ガイド本書は、CentOS 7を取り巻く市場動向、CentOS 7が利用されるサーバーシステムの選定、CentOS 7の基礎、システム設計、OS管理やCentOS 7に対応したアプリケーションサーバーの構築手順などの勘所をご紹介します。連載では書ききれなかった本の内容、見どころが満載!
|