RDO
- OpenstackのRedHatによるディストリビューションのコミュニティ版 ⇒ 【RDO】
- エンタープライズ版は Red Hat Enterprise Linux OpenStack Platform
インストール
- Quickstartの手順をやってみる
準備
- 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のイメージを登録する
- 「コンピュート > イメージ」の「+イメージの作成」からイメージファイルを登録する
- image-resources
- CentOS-7-x86_64-GenericCloud-1511.qcow2を選択
-
インスタンス起動
- 「エラー: ボリュームのリソース上限情報を取得できません。」と表示されて作成できない
- インスタン起動エラーの原因ではない模様。。。
- 画面的にネットワーク設定が必須のようだが、既存ネットワークが存在していない
- ネットワーク作成してリトライしてみる
- 「エラー: ボリュームのリソース上限情報を取得できません。」と表示されて作成できない
ネットワーク作成
- ネットワークの作成と管理 の手順を踏襲
# 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にあげて再実行したところ無事に起動できた