LoginSignup
5
5

More than 5 years have passed since last update.

RDOを試してみる

Last updated at Posted at 2016-01-19

RDO

  • OpenstackのRedHatによるディストリビューションのコミュニティ版 ⇒ 【RDO
  • エンタープライズ版は Red Hat Enterprise Linux OpenStack Platform

インストール

準備

  • vagrant
    • メモリは最低4GB以上と書いてある
  • rhel7系のLinux(x86_64): CentOS7にする
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box = "centos7_opscode"
  config.vm.box_url = "https://github.com/holms/vagrant-centos7-box/releases/download/7.1.1503.001/CentOS-7.1.1503-x86_64-netboot.box"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.provider "virtualbox" do |vb|
    vb.gui = false
    vb.customize ["modifyvm", :id, "--memory", "4096", "--cpus", "2", "--ioapic", "on"]
  end
end
  • ディスク容量が少なかったので、VirtualBoxで容量追加した

実行

1. VM起動してsshログイン

$ vagrant up
$ vagrant ssh
$ sudo su -

2. ネットワーク設定の変更

# systemctl stop NetworkManager
# systemctl disable NetworkManager
# systemctl restart network
  • ifconfig等のコマンドを使用可能にする
    • 使用したイメージではinstall済みだった
# yum install net-tools
  • ifcfg編集
# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
DEVICE="enp0s3"
ONBOOT=yes
NETBOOT=yes
UUID="580a3547-a628-41cf-bb6b-43f9bae2f592"
#IPV6INIT=yes
IPV6INIT=no
#BOOTPROTO=dhcp
BOOTPROTO=static
HWADDR="08:00:27:c3:36:f0"
TYPE=Ethernet
NAME="enp0s3"
# add
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPADDR="10.0.2.15"
NETMASK="255.255.255.0"
GATEWAY="10.0.2.2"
DNS1="8.8.8.8"
# ifdown enp0s3 && systemctl restart network

3. RDOインストール

  • パッケージをインストール
# yum update -y
# yum install -y https://www.rdoproject.org/repos/rdo-release.rpm
# yum install -y openstack-packstack

4. answerファイル作成

  • インストール時の設定を記載したアンサーファイルを用意しておく
  • packstackコマンドでアンサーファイルを作成し、設定値を変更
# packstack --gen-answer-file answer-file.txt
# vi answer-file.txt
  • CONFIG_HEAT_INSTALL=y
    オーケストレーション機能を有効化
  • CONFIG_SAHARA_INSTALL=y
    データ処理サービスを有効化
  • CONFIG_LBAAS_INSTALL=y
    ロードバランスサービスを有効化
  • CONFIG_NEUTRON_FWAAS=y
    ファイアウォールサービスを有効化
  • CONFIG_TROVE_INSTALL=y
    データベースサービスを有効化
  • CONFIG_HORIZON_SSL=y
    ダッシュボードアクセスをhttpsに変更
  • CONFIG_KEYSTONE_ADMIN_PW=secrete
    パスワードをsecreteに変更
  • CONFIG_NTP_SERVERS=133.243.238.244
    NTPサーバのアドレスを設定(ntp.nict.jp)
  • CONFIG_PROVISION_DEMO=n
    デモ機能の無効化
  • CONFIG_NAGIOS_INSTALL=n
    nagiox無効化

5. openstackインストール実行

  • packstackコマンドでアンサーファイルを指定して実行
# packstack --answer-file answer-file.txt

6. 設定ファイルの変更

6-1. ネットワーク設定
# cp /etc/sysconfig/network-scripts/ifcfg-enp0s3 ifcfg-enp0s3_bak
# cp /etc/sysconfig/network-scripts/ifcfg-enp0s3 /etc/sysconfig/network-scripts/ifcfg-br-ex
  • br-ex
# vi /etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE="br-ex"
DEVICETYPE=ovs
ONBOOT=yes
NETBOOT=yes
IPV6INIT=no
BOOTPROTO=static
TYPE=OVSBridge
NAME="br-ex"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPADDR="10.0.2.15"
NETMASK="255.255.255.0"
GATEWAY="10.0.2.2"
DNS1="8.8.8.8"
  • enp0s3
# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
DEVICE="enp0s3"
ONBOOT=yes
TYPE=OVSPort
OVS_BRIDGE="br-ex"
DEVICETYPE="ovs"
  • ネットワーク再起動
# service network restart
# service neutron-openvswitch-agent restart
# service neutron-server restart
6-2. nova設定
  • キーマップ変更
# vi /etc/nova/nova.conf
vnc_keymap=ja
# service openstack-nova-compute restart

管理画面で操作してみる

  • web管理画面(horizon)にアクセスする(https://192.168.33.10/dashboard)

  • CentOS7のイメージを登録する

  • インスタンス起動

    • 「エラー: ボリュームのリソース上限情報を取得できません。」と表示されて作成できない
      • インスタン起動エラーの原因ではない模様。。。
    • 画面的にネットワーク設定が必須のようだが、既存ネットワークが存在していない
      • ネットワーク作成してリトライしてみる

ネットワーク作成

# source keystonerc_admin
# neutron net-create net1
Created a new network:
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| id                        | 9a1c106f-5fc7-4fbd-b4ed-663385343177 |
| mtu                       | 0                                    |
| name                      | net1                                 |
| provider:network_type     | vxlan                                |
| provider:physical_network |                                      |
| provider:segmentation_id  | 100                                  |
| router:external           | False                                |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tenant_id                 | 2220b4c8bbb44d859a4ffa4e4804baa7     |
+---------------------------+--------------------------------------+
# neutron subnet-create net1 192.168.2.0/24 --name subnet1
Created a new subnet:
+-------------------+--------------------------------------------------+
| Field             | Value                                            |
+-------------------+--------------------------------------------------+
| allocation_pools  | {"start": "192.168.2.2", "end": "192.168.2.254"} |
| cidr              | 192.168.2.0/24                                   |
| dns_nameservers   |                                                  |
| enable_dhcp       | True                                             |
| gateway_ip        | 192.168.2.1                                      |
| host_routes       |                                                  |
| id                | 323561f9-b99e-476d-bae1-d17cb8a78fac             |
| ip_version        | 4                                                |
| ipv6_address_mode |                                                  |
| ipv6_ra_mode      |                                                  |
| name              | subnet1                                          |
| network_id        | 9a1c106f-5fc7-4fbd-b4ed-663385343177             |
| subnetpool_id     |                                                  |
| tenant_id         | 2220b4c8bbb44d859a4ffa4e4804baa7                 |
+-------------------+--------------------------------------------------+
# neutron router-create router1
Created a new router:
+-----------------------+--------------------------------------+
| Field                 | Value                                |
+-----------------------+--------------------------------------+
| admin_state_up        | True                                 |
| distributed           | False                                |
| external_gateway_info |                                      |
| ha                    | False                                |
| id                    | 20d32ce1-6af9-48bf-bb61-f9c6a6e5dc23 |
| name                  | router1                              |
| routes                |                                      |
| status                | ACTIVE                               |
| tenant_id             | 2220b4c8bbb44d859a4ffa4e4804baa7     |
+-----------------------+--------------------------------------+
# neutron router-gateway-set 20d32ce1-6af9-48bf-bb61-f9c6a6e5dc23 9a1c106f-5fc7-4fbd-b4ed-663385343177
Bad router request: Network 9a1c106f-5fc7-4fbd-b4ed-663385343177 is not an external network
# neutron net-create ext-net --router:external True
Created a new network:
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| id                        | 86cc9bed-f006-4386-942b-0df4bc307451 |
| mtu                       | 0                                    |
| name                      | ext-net                              |
| provider:network_type     | vxlan                                |
| provider:physical_network |                                      |
| provider:segmentation_id  | 75                                   |
| router:external           | True                                 |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tenant_id                 | 2220b4c8bbb44d859a4ffa4e4804baa7     |
+---------------------------+--------------------------------------+
# neutron router-gateway-set 20d32ce1-6af9-48bf-bb61-f9c6a6e5dc23 86cc9bed-f006-4386-942b-0df4bc307451
Set gateway for router 20d32ce1-6af9-48bf-bb61-f9c6a6e5dc23
# neutron router-gateway-set 20d32ce1-6af9-48bf-bb61-f9c6a6e5dc23 323561f9-b99e-476d-bae1-d17cb8a78fac
Added interface bed45cb2-807e-4444-b4bb-263b71c06a24 to router 20d32ce1-6af9-48bf-bb61-f9c6a6e5dc23.
  • 管理画面の「プロジェクト > ネットワーク > ネットワークトポロジー」で表示を確認
    • router1, net1, ext-net が結合されて表示されていることを確認

フレーバー作成

  • CentOS7のインスタンスを作りたいので、「管理 > システム > フレーバー」から
    • メモリ: 512MB
    • HDD: 10GB

くらいのフレーバーを作成しておく

インスタンス起動

  • 「コンピュート > イメージ」で、登録したイメージと、上記のネットワーク(net1)、フレーバーを指定して「インスタンスの起動」を実行したがエラー

    • libvirtError: internal error: process exited while connecting to monitor: Cannot set up guest memory 'pc.ram': Cannot allocate memory
  • freeコマンドでメモリ確認したところ、ほとんどのメモリが使われていた。。

    • vagrantで割り当てメモリを6144にあげて再実行したところ無事に起動できた
5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5