CentOS 7でのOpenStackの構築手順

2015年2月19日(木)
古賀 政純

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)
  1. タイプにOVSPortを指定
  2. 紐づけるブリッジとして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
  1. デバイスタイプとして「ovs」を指定
  2. 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が提供する管理GUIのログイン画面。最初はadminユーザーでログインする。パスワードは、/root/keystonerc_adminに記載されている

図2:OpenStackが提供する管理GUIのログイン画面。最初はadminユーザーでログインする。パスワードは、/root/keystonerc_adminに記載されている(クリックで拡大)

Horizonにログインした直後の管理画面。Horizonからユーザーやテナントの作成を行う。仮想マシンの作成、起動もHorizonのGUI管理画面から行える

図3:Horizonにログインした直後の管理画面。Horizonからユーザーやテナントの作成を行う。仮想マシンの作成、起動もHorizonのGUI管理画面から行える(クリックで拡大)

以上で、OpenStack JunoをCentOS 7にインストールする手順を紹介しました。OpenStackは、先進のオープンソースソフトウェアであり、CentOS 7での導入実績もこれから益々増えてくることでしょう。クラウド基盤ソフトウェアは進化が速いため習得が大変ですが、掲載したインストール手順で最新のクラウド基盤を体験してみて下さい。

この連載が書籍になりました!
CentOS 7実践ガイド

古賀 政純 著
価格:3,000円+税
発売日:2015年2月25日発売
ISBN:978-4-8443-3753-9
発行:インプレスジャパン

CentOS 7実践ガイド

本書は、CentOS 7を取り巻く市場動向、CentOS 7が利用されるサーバーシステムの選定、CentOS 7の基礎、システム設計、OS管理やCentOS 7に対応したアプリケーションサーバーの構築手順などの勘所をご紹介します。連載では書ききれなかった本の内容、見どころが満載!

  • セキュリティ管理
  • チューニング
  • 自動インストール
  • Hadoop構築
  • GlusterFS
  • Ceph

Amazon詳細ページへImpress詳細ページへ

日本ヒューレット・パッカード株式会社 プリセールス統括本部 ソリューションセンター OSS・Linux担当 シニアITスペシャリスト

兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバーのSE及びスーパーコンピューターの並列計算プログラミング講師を担当。科学技術計算サーバーのSI経験も持つ。2005年、大手製造業向けLinuxサーバー提案で日本HP社長賞受賞。2006年、米国HPからLinux技術の伝道師に与えられる「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。日本HPプリセールスMVPを4度受賞。現在は、Linux、FreeBSD、Hadoop等のOSSを駆使したスケールアウト型サーバー基盤のプリセールスSE、技術検証、技術文書執筆を担当。日本HPのオープンソース・Linuxテクノロジーエバンジェリストとして講演活動も行っている。Red Hat Certified Engineer、Red Hat Certified Virtualization Administrator、Novell Certified Linux Professional、EXIN Cloud Computing Foundation Certificate、HP Accredited Systems Engineer Cloud Architect、Red Hat Certified System Administrator in Red Hat OpenStack、Cloudera Certified Administrator for Apache Hadoop認定技術者。HP公式ブログ執筆者。趣味はレーシングカートとビリヤード

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています