2025年12月4日木曜日

CloudStackをインストールしてvSphereを登録してみる

 このブログは、vExperts Advent Calendar 2025の4日目です。 


まったくVCFの話ではないのですが、個人的に最近のお仕事の中で気になっていたネタから失礼します。

年末なので今年2025年の仕事を振り返ると、私自身のロールが変わったのもありますがVMwareのvSphere/VCFだけに限らず様々な仮想化製品に向き合う年でした。

仕事の中でお客様とお話するなかでも、vSphere/VCFの利用を継続するお客様もいれば、他の仮想化製品への切り替えを検討するお客様や、vSphereと並行して適材適所で複数ハイパーバイザーの利用を検討しているお話も聞きます。

様々なハイパーバイザーの利用・並行運用が増えていくとなると、長年VMware製品と関わってきた私としては、「サイロを無くす」考えから複数のハイパーバイザーをまとめる抽象化レイヤーの存在の有用性について気になって来ました。

複数ハイパーバイザー運用の視点では、管理/監視ツールなどの視点で考えることもできますが、今回はコンピューティングリソースを抽象化してサービス提供する機能の視点で、IaaS(Infrastructure as a Service)を実現するソリューションについて調べてみました。

調べるとOSSで利用できる代表的なものとして「CloudStack」「Openstack」といったソフトウェアが出てきます。("出てきます"って今回知ったように書いてますが、2017年ぐらいに調べてたなぁという遠い記憶・・・)

そこで試しに、我が家のホームラボに「CloudStack」の小規模環境を試しに作ってみた際の手順をご紹介します。





■構成

ホームラボのvSphere環境上にRocky Linux の仮想マシンを作成し、CloudStackをインストールして構成します。

  • CloudStackをインストールする仮想マシン
  • CloudStack
    • バージョン:4.22.0
  • vSphere
    • バージョン:8.0
      • ※vSphere 9は未対応
  • その他
    • CloudStackセカンダリストレージ:Synology NAS(NFS)
●イメージ図




■CloudStack のインストール

1. CloudStack 4.22 を Rocky Linux にインストール

 Rocky LinuxにSSHでログインして実行します。
まずはRocky Linuxの更新とツールのインストールを実施。

sudo dnf -y update
sudo dnf -y install epel-release wget curl gnupg2

2. SELinuxをとりあえずPermissive へ

SELinuxの設定変更を。とりあえずのPermissive に。

sudo nano /etc/selinux/config
#修正点
SELINUX=permissive
OS再起動を実施。

3. CloudStack リポジトリ追加

sudo tee /etc/yum.repos.d/cloudstack.repo <<EOF
[cloudstack]
name=Apache CloudStack
baseurl=http://download.cloudstack.org/centos/9/4.22/
enabled=1
gpgcheck=0
EOF

4. MariaDB インストール

sudo dnf -y install mariadb-server mariadb
sudo systemctl enable --now mariadb

5. MariaDB 初期設定

sudo mysql_secure_installation


ウィザードの質問

回答

Switch to unix_socket authentication

n

Change the root password?

Y

パスワードの値

データベースのパスワード

Remove anonymous users?

Y

Disallow root login remotely? 

Y

Remove test database and access to it? 

Y

Reload privilege tables now? 

Y


6. CloudStack 管理パッケージをインストール

sudo dnf -y install cloudstack-management

7. CloudStack DB の作成

sudo mysql -u root -p"データベースのパスワード" -e "DROP DATABASE IF EXISTS cloud; DROP DATABASE IF EXISTS cloud_usage;"
sudo mysql -u root -p"データベースのパスワード" -e "CREATE DATABASE cloud CHARACTER SET utf8;"
sudo mysql -u root -p"データベースのパスワード" -e "CREATE DATABASE cloud_usage CHARACTER SET utf8;"

8. DB の初期化

sudo cloudstack-setup-databases cloud:cloud@localhost --deploy-as=root:"データベースのパスワード" --force-recreate

9. CloudStack 管理サーバセットアップ

sudo cloudstack-setup-management


10. CloudStack サービス起動

sudo systemctl enable --now cloudstack-management
sudo systemctl status cloudstack-management


11.Firewall 設定(firewalld)

#CloudStack が使用するポートを解放:
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=8250/tcp
sudo firewall-cmd --permanent --add-port=8443/tcp
sudo firewall-cmd --permanent --add-port=9090/tcp
sudo firewall-cmd --reload


以上でCloudStackのインストール操作完了です。

しばらくして、ブラウザで以下URLにアクセスします。

http://"CloudStackServer-IP":8080/client

ログインID・パスワード:

username: admin

password: password



■ゾーン/Podなどの作成・vSphereクラスターの登録の流れ

CloudStackの管理ポータルにログインし、CloudStackの管理概念であるゾーンやポッドなどを作成し、vSphere環境を登録します。

※ゾーンなどのCloudStackの概念はこちら

https://docs.cloudstack.apache.org/en/4.22.0.0/conceptsandterminology/concepts.html


では登録していきます。
※詳細のパラメータを記載していないので、登録作業時の雰囲気メモとしてご確認ください。

ポータルにログインし、ダッシュボード画面の[インストールを継続する]をクリックし、パスワードを更新する。


ゾーンの設定に入る。ゾーンの種類は、今回は"Core"を選択しました。



次ににゾーンのタイプは、基本(Basic)を選択。




ゾーンの詳細設定を入力。ハイパーバイザーを"VMware"にする。


ネットワーク情報を入力・選択する。





任意の名前でポッドの名前と、ネットワーク情報を入力。




続けてゲストネットワークの情報を入力。



vSphereのデータセンター、クラスターの情報を入力



セカンダリーストレージを登録。今回はSynology NASでNFSのサービスを構成して準備しました。



確認画面で「ゾーンの起動」をクリック。



設定に問題がなければ各種設定が作成される。[ゾーンの有効化]をクリックして完了。


[インフラストラクチャ]-[ゾーン]を開くと、展開したZoneが確認できる。


しばらくするとシステムVM(CloudStackがクラウド内で様々なタスクを実行するために使用するVM)がvSphere上に作成される。




一応ここまでvSphereのインフラとしての登録は完了で、この後にテンプレートの準備をしたのち、仮想マシンの作成などが実施できるようになるようですが、長くなってきましたし今回のブログではここまでとさせて頂きます。
(テンプレート作成が思ったようにいかず、苦戦しているのもあり、、)


■おわりに

仕事で耳にするマルチハイパーバイザー利用の話をきっかけに、個人的興味でCloudStackをインストールしてvSphereを登録してみました。


インストールはそこまで時間がかかりませんでしたが、ポータル作成後のvSphere環境の登録作業が、概念の理解も含め正直言って「難しい・・・」というのが印象でした。ブログでまとめると一通りの流れになっていますが、結構詰まりながら苦戦してやっています・・・


なにより、新し目のバージョンでの日本語情報がインターネット上にほぼなく、公式ドキュメントとチャッピーだよりでトライ&エラー、一進一退で進めている状態でした。(Google検索で調べると、2015年前後の情報が結構上位に出てくる・・・)


複数ハイパーバイザー活用の難しさや、情報の少ない製品の大変さを実感したと共に、vSphere・VMware製品の使いやすさを自分なりに再認識した検証でした。

個人的興味で始めましたので、何とかCloudStackで仮想マシン展開、管理ができるところまでやるのと、OpenStack kolla-Ansibleも時間見つけて作ってみたいなーと思っています。