3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenStack環境のCinderでONTAP利用①【Packstack利用のOpenStack QueensのAll in One Installメモ】

Last updated at Posted at 2024-03-25

はじめに

この記事では、最近検証環境を設定する必要があった経験をメモとして共有します。具体的には、OpenStackのBlock StorageでONTAPを利用する方法に焦点を当てています。

まずこの記事では、Hyper-V上の仮想マシンにPackStackを使用してOpenStackをAll in One構成でインストールする部分について記載します。

qiita-square

何をしたい?できる?

  • 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機能も提供します。
011.png

記事における環境情報

本記事では、以下の環境で実施した内容となります。

  • ONTAP: 9.10.1
  • CentOS: 7
  • OpenStack: Queens
  • OpenStackはHyper-Vの仮想マシンへ導入
  • Networkは1つのセグメントを用意 (検証なのでシンプル構成)
qiita-square
  • OpenStack内で作成したインスタンスも外部NWの機器と疎通できるようにする
qiita-square

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環境の場合、仮想スイッチのセキュリティで「無差別モード」を「承諾」

qiita-square

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を実施します。

qiita-square

2-2. 言語の選択

OpenStackの必要なパッケージをまとめてインストールするPackstackを使用する際には英語環境の指定が必要となる為、予め英語環境でのInstallを実施します。

qiita-square

2-3. キーボード操作は日本語指定にする

英語キーボード操作は慣れていないので、この環境では日本語キーボード操作の設定にします。
qiita-square

2-4. Install Softwareの指定

Minimal Installを指定します。

qiita-square

2-5. パーティション構成

/(root)のサイズを大きくしたシンプルな構成にします。

qiita-square

2-6. Network/IPの指定

環境に合わせた内容を入力します。
qiita-square

2-7. Installの開始

Installを進めます。
qiita-square

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にアクセスできるか確認します。

qiita-square

参考及びリンク

RPM Distribution of OpenStack (RDO)

Why NetApp with OpenStack?

The Queens Deployment & Operations Guide

Highly Available OpenStack Deployment on NetApp

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?