##目次
- 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
...どーん!
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
Installation completed successfully!
どうやら成功したようです。
成功すると(しなくても)Horizonと呼ばれるダッシュボードのアドレスを教えてくれます。
answerファイルで設定したパスワードでログインできます。
answer.txtを弄らなくても、adminパスワードは/root/keystonerc_adminというファイルの中に入っています。
これで、インスタンスを立ち上げたり、ネットワークを構築したりする最初の土台の部分が作れました。
もう少し進めたかったのですが、予想外にトラブったのでここまでとします。
次回は、この上にインスタンスを立ち上げます。
[自宅に構築したOpenStack環境にインスタンスを立ち上げてみるまでの話…]
(https://qiita.com/A0yama_anpl/items/126dfdaffe884c0bd6cf)
##やらかしたこと
・SELINUXを無効化しようとして、違う箇所を書き換える。
結果、カーネルパニックを起こす。
以下を参考に起動DISKからレスキューモードに入り、救出。
SElinuxの無効化に失敗してOSが起動しなくなった話
##参考サイト
非常にお世話になりました。
【OpenStackチャレンジ】 第1回 OpenStackインストール編
DbsyncのエラーでOpenStackがインストールできない。トラブルシュートを備忘録
OpenStack Mitakaの導入 (Win7, Virtual Box, CentOS 7, RDO)