関連記事
- CloudStack 4.18をUbuntu 22.04 LTSにインストールしてみた
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: ネットワーク設定
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: マネージメントサーバー
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: ストレージ&システムVMイメージ設定
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: エージェント(KVMホスト)
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: マネージメントコンソールからのセットアップ
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: GPUパススルー
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: ゲストネットワークにL2ネットワークを設定
はじめに
開発用サーバーとか家族で使っているMincraftサーバーとかの個人的なサーバーをOpenNebulaで管理していたんだけど、CloudStackに変えてみる。
仮想サーバーのデータはイメージを移行するのではなく、各サーバー内の必要なファイルのバックアップを取ってCloudStackに新規作成する仮想サーバーにデータを移管することにする。なので、データ移管に関しては書きません。
CloudStackとは
まぁ、改めて書くことでもないんですが、CloudStackは下のような説明がよくされています。
CloudStackは、Apacheプロジェクトのオープンソースのクラウド基盤ソフトウェアです。クラウドとは、インターネット上にあるサーバーやストレージなどのリソースを利用することで、コンピューターやネットワークの機能を提供する仕組みです。
そのクラウドを構築・管理するためのソフトウェアで、パブリッククラウドやプライベートクラウドと呼ばれる形態で利用できます。パブリッククラウドとは、一般に公開されたクラウドサービスのことで、例えばAmazon EC2やMicrosoft Azureなどがあります。プライベートクラウドとは、特定の組織やグループが内部で利用するクラウドサービスのことで、セキュリティやコストなどの面でメリットがあります。
CloudStackの特徴は、以下のような点が挙げられます。
- オープンソースであること。CloudStackは、Apacheソフトウェア財団によって開発・運営されており、誰でも自由に利用・改良・配布できます。また、世界中の開発者やユーザーがコミュニティを形成し、情報交換や協力を行っています。
- 多様なハイパーバイザーに対応していること。ハイパーバイザーとは、仮想化という技術を使って、1台の物理的なマシンの中に複数の仮想的なマシンを作り出すソフトウェアのことです。CloudStackは、VMwareやHyper-V、KVM、Xenなどの主要なハイパーバイザーに対応しており、異なるハイパーバイザーを統合的に管理できます。
- 高度な機能を備えていること。CloudStackは、仮想マシンの作成や起動、停止、削除などの基本的な操作だけでなく、ネットワークやストレージの設定、ロードバランサーやファイアウォールなどのネットワーク機器の制御、ユーザーやプロジェクトの管理、課金や監視などの機能も提供しています。また、Webブラウザから操作できるグラフィカルなユーザーインターフェースや、APIを通じてプログラムから操作できるインターフェースも用意されています。
- 実績と信頼性が高いこと。CloudStackは、世界中の多くの企業や組織がクラウドサービスの提供や利用に採用しており、その性能や安定性が実証されています。日本では、IDCフロンティアがCloudStackを採用したクラウドサービスを提供しています。
使ってみた感じ、AWSのEC2で管理できる部分をそのままプライベートクラウドとして使える感じです。
OpenStackも移行先の候補だったんだけど機能が多すぎて使い切れないので、ちょうどいい規模のCloudStackにしました。
使用する環境
ハードウェア
OpenNebulaの時もminiONEでインストールしたオールインワン構成だったんだけど、同じハードを使うのでオールインワン構成です。
このマシンに全部詰め込みます。
CPU | AMD Ryzen 7 2700 (無印) |
メモリ | 48GB (16GB + 32GB) |
マザーボード | ASUS AMD X470 PRIME X470-PRO |
ディスク | KIOXIA EXCERIA SSD-CK240S/N 240GB x 1 (OS起動用) KIOXIA EXCERIA G2 SSD-CK1.0N3G2/N 1TB x 2 (RAID1 OSインストール、仮想環境データ) Western Digital WD60EZAZ-RT 6TB x 4 (RAID1+0 仮想環境データ) |
グラフィックボード | MSI N730K-2GD3H/LPV1 (GeForce GT 730 2GB) (ホストOS管理用) ZOTAC GAMING GeForce GTX 1650 OC 4GB (GPUパススルー用) |
ネットワーク | オンボード 1口 |
ネットワーク
ゲートウェイ | 192.168.0.1 |
ネットワーク | 192.168.0.0/20 |
ネットマスク | 255.255.240.0 |
DNS | 192.168.0.1 192.168.1.2 |
ホストサーバー | 192.168.1.16 |
仮想サーバー用レンジ | 192.168.1.56 – 192.168.1.183 |
システム構成
ソフトウェア
OS | Ubuntu Server 22.04 LTS |
プライベートクラウド | CloudStack 4.18 |
Webサーバー | NGINX |
ハイパーバイザ | KVM |
ディスク
KIOXIA EXCERIA SSD-CK240S/N 240GB | パーティション1: サイズ: 2GB マウントポイント: /boot 余った領域は未割り当てです。 超贅沢な使い方だけど、未使用領域が多いとその分長持ちするらしい。 boot領域のRAIDのしにくさをカバーできるかな。 |
KIOXIA EXCERIA G2 SSD-CK1.0N3G2/N 1TB x 2 | パーティションを2つに分ける。 パーティション1: 871.7GB => RAID1 パーティション2: 59.8GB => SWAP RAID1にした領域はさらに2つのパーティションに分ける。 パーティション1-1: サイズ: 251GB マウントポイント: / パーティション1-2: サイズ: 615GB マウントポイント: /mnt/pool00 |
Western Digital WD60EZAZ-RT 6TB x 4 | 全ての領域でRAID1+0を構成 パーティション1: サイズ: 11TB マウントポイント: /mnt/pool01 |
比較的容量の多い下記マウントポイントはNFSで共有することになります。
- /mnt/pool00
- /mnt/pool01
pool00 はプライマリストレージとして使います。
稼働する仮想サーバーのディスクが保存されるので容量が大きく、高速なディスクを使うのが良さそうです。
pool01はプライマリストレージおよびセカンダリストレージとして使います。
本当はセカンダリのみで使った方がいいんだろうけど、SSD高いからね… ファイルサーバー用の仮想サーバーを準備する予定だからこっちもプライマリとして使います。
セカンダリはインストール用ディスク等の保存など、それほど速度を重視しなくても大丈夫な用途が多いです。
今思えば、pool01は2つのパーティションに分けた方がよかったかも。
参考情報
- Management Server Installation Guide
- KVM Installation Guide
- Apache CloudStack on Ubuntu with x86_64 KVM
とりあえず、本題に入る前の環境はこんな感じです。
ネットワーク設定からCloudStackインストール・セットアップ方法などを次回以降で紹介します。
関連記事
- CloudStack 4.18をUbuntu 22.04 LTSにインストールしてみた
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: ネットワーク設定
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: マネージメントサーバー
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: ストレージ&システムVMイメージ設定
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: エージェント(KVMホスト)
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: マネージメントコンソールからのセットアップ
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: GPUパススルー
- CloudStack 4.18をUbuntu 22.04 LTSにインストール: ゲストネットワークにL2ネットワークを設定