2021年2月7日日曜日

CentOS7 に OpnStackを構築してみようかと思います

 こんにちは

先日ガレリアにメモリ増設して40Gバイトくらいのメモリになりましたので、さっそくOpenStackのインストールをやってみています。まあいろいろとあって、もう何回目だ?というくらい入れ直しをしてしまっているのですが、毎回毎回手順が分からなくなってしまってあちこち検索したり、書籍を開いたりとしてしまっているので、一度自分の覚書ということでまとめておきたいと思います。

1.OSのセットアップ

OSはCentOS7をセットアップしました。より新しいほうがいいと思います。私は、CentOS8のほうがいいかなと思って一度途中までやりかけたのですが、なんだがデスクトップがすごく重たいので途中でやめてしまって(それだけ!?)今はCentOS7で設定します。そのうち8も最後までやろうと思います。

セットアップ上の注意としはまあ特にないですが、ネットワーク構成を少し気にしたほうが良いかなと思います。OpenStackがListenするネットワークをDefault Switch にしたり、DHCPにしたりするとIPアドレスが変化してしまいますので、IPアドレスが固定できるI/Fにしたほうが良いと思います。私は、NetworkManagerをONでもIPを固定にすればいいと思います。

あとは、SELinuxをdisabledにして、sysctl.conf に以下の行を追加して、ipv6 を disable にしたくらいだと思います。

net.ipv6.conf.default.disable_ipv6 = 1


2.cinder-volumes 用のパーティションを作ります。
Hyper-V上の環境でやってますので、仮想デバイスとしてディスクを作って/dev/sdbとして接続しました。容量は127GBで可変にしました。テキトーです。。。接続したらまずparted ユーティリティでパーティションを作ります。

parted /dev/sdb
(parted) mklabel gpt
(parted) mkpart primary 0 -1
(parted) set 1 lvm on 
(parted) print                                                           
モデル: Msft Virtual Disk (scsi)
ディスク /dev/sdb: 34.4GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ:

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
 1    17.4kB  34.4GB  34.4GB                    primary  lvm

(parted)  quit

 
3.次に、lvmのボリュームとして設定します。cinder-volumes という名前にします。
 
設定したら、vg-display cinder-volumesと実行してvolume の情報が表示されれば良いです。

[root@localhost ~]# pvcreate -y -ff /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
[root@localhost ~]# vgcreate -y -f cinder-volumes /dev/sdb1
  Volume group "cinder-volumes" successfully created
[root@localhost ~]#
[root@localhost ~]# vgdisplay cinder-volumes
  --- Volume group ---
  VG Name               cinder-volumes
  System ID            
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <127.00 GiB
  PE Size               4.00 MiB
  Total PE              32511
  Alloc PE / Size       0 / 0  
  Free  PE / Size       32511 / <127.00 GiB
  VG UUID               qXt2tc-UdBL-gIEJ-Q9Rb-fjtL-yRVf-HvaeEF
  
[root@localhost ~]#

※以下2021/02/17追記
別のディスクが用意できない場合配下のようにして仮想のボリュームを作成する
dd if=/dev/zero of=/root/cinder.img bs=1024M count=32
losetup /dev/loop0 /root/cinder.img
partprobe /dev/loop0
parted  -s /dev/loop0 'mklabel gpt'
parted -s /dev/loop0 'mkpart primary 0 -1'
parted -s /dev/loop0 'set 1 lvm on'

pvcreate -y -ff /dev/loop0p1
vgcreate -y -f cinder-volumes /dev/loop0p1

設定が再起動すると消えてしまうので /etc/rc.d/rc.localに以下の行を追記
losetup /dev/loop0 /root/cinder.img
partprobe /dev/loop0 
vgcreate -y -f cinder-volumes /dev/loop0p1
 
追記したらrc.localに実行権限を付ける。
※以上2021/02/17追記
 
5.openstackのレポジトリを登録します。
 
yum install -y https://repos.fedorapeople.org/openstack/openstack-train/rdo-release-train-1.noarch.rpm


7.一応アップデートの確認をして。再起動をします。

yum update -y
reboot

8.いよいよ openstack のインストール。以下のコマンドを実行してインストールします。

yum install -y openstack-packstack

9.アンサーファイルの作成
openstack 起動時に読み込むファイルのひな型を作成します。ちょっと一部のパラメータで指定されている機能がサポートされませんといったような表示がされますが気にせず進めてしまいます。

packstack --gen-answer=param.txt

10.先ほど作成した param.txt を修正します。

・中のホストのIPアドレスが指定されている項目をすべて自分のホストのIPアドレスにします。例えば CONFIG_CONTROLLER_HOST=xxx.xxx.xxx.xxx のところを起動したいIPアドレスにします。おそらくI/Fが一つしかないサーバで起動していれば、そのまま起動しても大丈夫だと思います。

・cinder volume をすでに作成していますので、CONFIG_CINDER_VOLUMES_CREATE=n とします。

・管理者のパスワードを指定します。CONFIG_DEFAULT_PASSWORD= に設定したいパスワードを指定します。

11.起動設定をします。

packstack --answer-file=param.txt


12.管理コンソールに接続します

FireFox を起動して先ほどOpenStackのLiten IP として指定したIPアドレスに接続します。
今回の例では、172.16.1.121です。



実は、param.txt のパスワードの設定をしなかったため、ログインできなくて困ってしまったのですが、keystonerc_admin という自動生成されたパスワードが書かれていました。そこのパスワードでログインして自分で好きなものに変更するとよいと思います。



0 件のコメント:

結局 Kindle にケースを買いました。

 こんばんわ 私、最近ほとんど外出しなくなったのですが、妻の買い物に一緒に行って、ぼけーっと待っていたり、病院に行ってぼけーっと待っていたりする機会が多くなり、なんなら家でもボケーっとしていることが非常に多くなったためか、Kindleの出番が結構ありそうです。 前回、タブレットで...