はじめに
この記事では、最近検証環境を設定する必要があった経験をメモとして共有します。具体的には、OpenStackのBlock StorageでONTAPを利用する方法に焦点を当てています。
まずこの記事では、Hyper-V上の仮想マシンにPackStackを使用してOpenStackをAll in One構成でインストールする部分について記載します。
何をしたい?できる?
- OpenStack QueensをHyper-V上の仮想マシン(CentSOS)にInstall
OpenStackについて
OpenStackは、クラウドコンピューティングを提供するためのオープンソースのソフトウェアプラットフォームで、パブリックまたはプライベートなクラウド環境を構築し管理することが可能です。
OpenStackは、コンピューティング、Storage、ネットワーキングなど、クラウド環境に必要な機能を提供するための複数のコンポーネントから構成されています。
コンポーネント | 説明 |
---|---|
Cinder | 仮想マシンへの永続ボリュームの管理 |
Glance | マシンイメージの管理 |
Horizon | ユーザや管理者のWeb管理画面機能 |
Keystone | Openstack環境の認証や認可の管理 |
Nova | ハイパーバイザーと仮想マシン管理 |
Neutron | 仮想Switchや仮想Router等の仮想ネットワークの管理 |
その機能の一つであるCinderはOpenStackのBlock Storageサービスで、仮想マシン(VM)に永続的なStorageを提供します。
例えば、データベースやアプリケーションのデータを保存するために使用され、Cinderは、ハードウェアの詳細を抽象化し、ユーザーがStorageを簡単に管理できるようにします。
また、Cinderは、スナップショット、バックアップ、データの複製など、高度なStorage機能も提供します。
記事における環境情報
本記事では、以下の環境で実施した内容となります。
- ONTAP: 9.10.1
- CentOS: 7
- OpenStack: Queens
- OpenStackはHyper-Vの仮想マシンへ導入
- Networkは1つのセグメントを用意 (検証なのでシンプル構成)
- OpenStack内で作成したインスタンスも外部NWの機器と疎通できるようにする
OpenStack QeensのAll in One Install手順
1. Hyper-Vで仮想マシンの作成
Hyper-V上で新規の仮想マシンを作成します。
この記事では、以下の設定となっています。
- CPUは4個
- メモリは16GB
- 仮想Diskは200GB
- NICは1つ
1-1. 仮想マシンの設定を編集
Hyper-V上の仮想マシンで作成したOpenStack上で、インスタンス(仮想マシン)を作成する入れ子の構成になりますが、OpenStack上のインスタンスと外部のNetApp Storage等と疎通を取れるようにする為、仮想マシンの設定から[ネットワークアダプター]の[高度な機能]を選択し、[MACアドレスのスプーフィングを有効にする]へチェックを入れます。
VMware環境の場合、仮想スイッチのセキュリティで「無差別モード」を「承諾」
1-2. 仮想化機能の設定
仮想化機能をHyper-V内の仮想マシンでも利用できるように、Hyper-Vを提供しているWindows ServerのPowershellで入れ子の設定を実施します。
> Set-VMProcessor -VMName "Openstack-Queens" -ExposeVirtualizationExtensions $true
2. CentOS 7のInstall
RPM Distribution of OpenStack (RDO)のblog にはOpenStackのQueens利用の際にCentOS 7での利用提供の記載があったので、仮想マシンはCentOS 7を用意します。
2-1. ISOイメージを接続して起動
仮想マシンにCentOS 7のISOイメージを接続し、電源を入れてInstallを実施します。
2-2. 言語の選択
OpenStackの必要なパッケージをまとめてインストールするPackstackを使用する際には英語環境の指定が必要となる為、予め英語環境でのInstallを実施します。
2-3. キーボード操作は日本語指定にする
英語キーボード操作は慣れていないので、この環境では日本語キーボード操作の設定にします。
2-4. Install Softwareの指定
Minimal Installを指定します。
2-5. パーティション構成
/(root)のサイズを大きくしたシンプルな構成にします。
2-6. Network/IPの指定
2-7. Installの開始
3. OpenStack Queensの導入
作成したCentOS 7においてRPM Distribution of OpenStack (RDO)の手順を参考に進めていきます。
3-1. NIC情報の確認
後ほど設定ファイルに対してNIC名の記載を行うので、IPの表示を実施します。
(通信で使われているNICがeth0という事を確認したい)
OpenStackで作成したインスタンスを外部NWと接続するには、固定IPアドレスを設定し、NetworkManagerを無効にする必要があります。
[root@queens ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:01:c8:28 brd ff:ff:ff:ff:ff:ff
inet 172.16.10.144/24 brd 172.16.10.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::215:5dff:fe01:c828/64 scope link
valid_lft forever preferred_lft forever
3-2. CentOSの最新化
InstallしたパッケージのUpdateを実施します。
[root@queens ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@queens ~]# yum update
Loaded plugins: fastestmirror
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/4): extras/7/x86_64/primary_db | 250 kB 00:00:00
(2/4): base/7/x86_64/group_gz | 153 kB 00:00:01
(3/4): base/7/x86_64/primary_db | 6.1 MB 00:00:09
(4/4): updates/7/x86_64/primary_db | 25 MB 00:00:12
Determining fastest mirrors
* base: mirror.bizflycloud.vn
* extras: mirror-hk.koddos.net
(中略)
3-3. 使用する言語の設定
[root@queens ~]# LANG=en_US.utf-8
[root@queens ~]# LC_ALL=en_US.utf-8
3-4. FirewallやNetworkManagerの無効化
[root@queens ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@queens ~]# systemctl stop firewalld
[root@queens ~]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
Removed symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.
[root@queens ~]# systemctl stop NetworkManager
[root@queens ~]# systemctl enable network
network.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig network on
[root@queens ~]# systemctl start network
3-5. SELinuxを無効化
/etc/selinux/config ファイルについては、SELINUX=disabled へ修正を実施します。
[root@queens ~]# setenforce 0
[root@queens ~]# cat /etc/selinux/config |grep "SELINUX="
# SELINUX= can take one of these three values:
SELINUX=disabled
3-6. Packstack及び必要なパッケージ導入
[root@queens ~]# yum install -y python-setuptools
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.xtom.com.hk
* extras: mirror-hk.koddos.net
* updates: mirror-hk.koddos.net
(中略)
[root@queens ~]# yum install -y centos-release-openstack-queens
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.xtom.com.hk
* extras: mirror-hk.koddos.net
(中略)
[root@queens ~]# yum install -y openstack-packstack
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.xtom.com.hk
* centos-qemu-ev: mirror.xtom.com.hk
* extras: mirror-hk.koddos.net
* (中略)
[root@queens ~]# yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.xtom.com.hk
* centos-qemu-ev: mirror.xtom.com.hk
* (中略)
3-7. Answer-file生成と修正
InstallするOpenStackコンポーネントのカスタマイズや複数ノードへのInstall、管理ユーザのログインパスワード設定を事前に行うには、Answer-fileを生成及び修正を行い、修正したAnswer-fileを指定してInstallするのが便利です。
[root@queens ~]# packstack --gen-answer-file=queens_answers.cfg
Packstack changed given value to required value /root/.ssh/id_rsa.pub
[root@queens ~]# ls
queens_answers.cfg
作成したAnswer-fileについては、以下の内容を修正しています。
- CONFIG_CINDER_VOLUMES_SIZE
CentOS上のBlock Storageの容量(ONTAP設定は後で実施)
- CONFIG_NEUTRON_OVS_BRIDGE_IFACES
仮想スイッチとOpanstackをInstallしているLinuxのNICを接続するための設定
- CONFIG_PROVISION_DEMO
デモ機能の有効化もしくは無効化
- CONFIG_KEYSTONE_ADMIN_PW
OpenStackの管理アカウントとしてadminユーザーのパスワード
Compute Node(NOVA)を別Nodeで構築したい場合や、All in one構成に+αで追加したい場合には、別途用意したCentOSのIPを以下に記載します。
(複数台立てる場合は、複数のIP追記)
CONFIG_COMPUTE_HOSTS =xxx.xxx.xxx.xxx
#導入環境に合わせて適宜変更してください
[root@queens ~]# cat queens_answers.cfg
(中略)
CONFIG_CINDER_VOLUMES_SIZE=120G
(中略)
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0
(中略)
CONFIG_PROVISION_DEMO=n
(中略)
CONFIG_KEYSTONE_ADMIN_PW=PassP@ss1357word
(中略)
3-8. Packstackを使ったOpenStackInstall
前述で修正したAnswer-fileを指定してOpenStackのInstallを実行します。
(Install完了まで20~30分)
[root@queens ~]# packstack --answer-file=./queens_answers.cfg
Welcome to the Packstack setup utility
The installation log file is available at: /var/tmp/packstack/20240315-172612-Vm_MT3/openstack-setup.log
Installing:
Clean Up [ DONE ]
Discovering ip protocol version [ DONE ]
Setting up ssh keys [ DONE ]
Preparing servers [ DONE ]
(中略)
Applying Puppet manifests [ DONE ]
Finalizing [ DONE ]
**** Installation completed successfully ******
Additional information:
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
* File /root/keystonerc_admin has been created on OpenStack client host 172.16.10.144. To use the command line tools you need to source the file.
* To access the OpenStack Dashboard browse to http://172.16.10.144/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
* The installation log file is available at: /var/tmp/packstack/20240315-172612-Vm_MT3/openstack-setup.log
* The generated manifests are available at: /var/tmp/packstack/20240315-172612-Vm_MT3/manifests
[root@queens ~]#
4. OpenStack環境へのアクセス
logに表示されていた、http:// IPアドレス /dashboardにアクセスできるか確認します。
参考及びリンク
RPM Distribution of OpenStack (RDO)