LoginSignup
12
18

More than 3 years have passed since last update.

Packstackを使ってCentOS7.7にOpenstack SteinのAll in One環境を立ててみる

Last updated at Posted at 2020-02-13

目次

  • OpenstackのAll in One環境
  • 環境
  • 手順
  • やらかしたこと
  • 参考サイト

OpenstackのAll in One環境

私のOpenstackのイメージはコンピュートノードとそれを制御するコントローラがバラバラのマシンに乗っているイメージだったのだが、RDOにて用意されているPackstackを使うことで、一つのマシン上に全てを立ち上げるAll in Oneという構成が作れるようだ。
https://www.rdoproject.org/install/packstack/
Qiitaの先輩方の記事を参考に私も自宅にOpenstack環境を作ってみようとチャレンジしてみる。

環境

Windows10にインストールしたVMWareplayer上にCentOS7を用意した。
OSはyum update後にver7.7
リソースはCPU4コア、MEM4GB、HDD80GBを振った。
(ネタバレになるが、失敗したのでメモリを8GBに増量した。)
今回はお試しに立ち上げるので、NICは1つのみ用意。
NICはブリッジの設定にし、192.168.1.20/24を設定。
デフォルトゲートウェイはWindowsに合わせ、192.168.1.1
DNSは過去の成功例に倣い、8.8.8.8

手順

手順は以下を参考に進めた。
https://qiita.com/mfujita/items/ee2da9d1e241926fc790
https://www.rdoproject.org/install/packstack/

ファイアウォールの無効化とNetworkManagerの無効化。
RDOの推奨です。

# systemctl disable firewalld
# systemctl stop firewalld
# systemctl disable NetworkManager
# systemctl stop NetworkManager
# systemctl enable network
# systemctl start network

SE Linuxも無効化します。
リブート、忘れずに。

# vi /etc/sysconfig/selinux
SELINUX=disabled  ←書き換える

# shutdown -r now

アップデートと、必要なものをインストールしていきます。

# yum update -y
# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
# yum install -y centos-release-openstack-stein
# yum update -y
# yum install -y openstack-packstack

answer.txtの作成・編集
packstack構築時の読み込ませる設定ファイルがこのanswer.txt

# packstack --gen-answer-file=answer.txt
# vi answer.txt

以下の項目を変更
ダッシュボード画面のパスワードをhoge12345に変更

CONFIG_KEYSTONE_ADMIN_PW=hoge12345

タイムアウトの時間設定を300→0に変更

# cd /usr/share/
# grep -Ri "timeout = 30"

以下の4つの"db_sync timeout = 300"を"db_sync timeout = 0"にviで編集する。

openstack-puppet/modules/nova/manifests/db/online_data_migrations.pp:  $db_sync timeout = 300,
openstack-puppet/modules/nova/manifests/db/sync.pp:  $db_sync_timeout = 300,
openstack-puppet/modules/nova/manifests/db/sync_api.pp:  $db_sync_timeout = 300,
openstack-puppet/modules/neutron/manifests/db/sync.pp:  $db_sync_timeout = 300,

編集したら念のため、0になっていることを確認しましょう。

# grep -Ri "timeout = 0"

いよいよ肝が冷えるpackstackコマンド。ディレクトリはrootに戻ります。

# cd
# packstack --answer-file=answer.txt --timeout=0 --debug

下の画面で10分ほど固まります。本当に冷や冷やします。
2020-02-14 (1).png

...どーん!

ERROR : Error appeared during Puppet run: 192.168.1.20_controller.pp
Error: Cannot allocate memory - fork(2)

どうやらメモリ不足で失敗しました。

一度、VMを落として、メモリを8GBにしてみます。なぜ最初にケチった?

# cat /proc/meminfo
MemTotal:        7990124 kB

もう一度流してみましょう。

# packstack --answer-file=answer.txt --timeout=0 --debug

2020-02-14 (2).png

Installation completed successfully!

どうやら成功したようです。
成功すると(しなくても)Horizonと呼ばれるダッシュボードのアドレスを教えてくれます。
answerファイルで設定したパスワードでログインできます。
answer.txtを弄らなくても、adminパスワードは/root/keystonerc_adminというファイルの中に入っています。

HORIZONの画面はこのような感じです。
2020-02-14 (4).png

これで、インスタンスを立ち上げたり、ネットワークを構築したりする最初の土台の部分が作れました。
もう少し進めたかったのですが、予想外にトラブったのでここまでとします。

次回は、この上にインスタンスを立ち上げます。
自宅に構築したOpenStack環境にインスタンスを立ち上げてみるまでの話…

やらかしたこと

・SELINUXを無効化しようとして、違う箇所を書き換える。
 結果、カーネルパニックを起こす。
 以下を参考に起動DISKからレスキューモードに入り、救出。
SElinuxの無効化に失敗してOSが起動しなくなった話

参考サイト

非常にお世話になりました。
【OpenStackチャレンジ】 第1回 OpenStackインストール編
DbsyncのエラーでOpenStackがインストールできない。トラブルシュートを備忘録
OpenStack Mitakaの導入 (Win7, Virtual Box, CentOS 7, RDO)

12
18
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
12
18