今回のとことんDevOps勉強会は「MicroCloudではじめよう! ご家庭向け仮想化クラスター超入門」と題して、日本仮想化技術の水野が登壇しました。
LXD、MicroCeph、MicroOVNを組み合わせた仮想化基盤の構築方法から、自宅環境での活用術までを解説しました。
- セミナー動画
- 発表資料
- Q&Aまとめ
- LXDは業務利用されますか?セキュリティ面は大丈夫?
- MicroCloudという名称の背景について
- Proxmox利用者にとってMicroCloudは必要か?
- MicroCloudの設定が難しく感じた理由と対処法
- 構成単位は役割ごと、必ずしも1台ずつではない
- NICごとにSSDを3本用意する必要はありますか?
- MicroCloudにおけるネットワーク構成の可視化
- AWSの代替としてそのまま再現できるわけではない?
- OVNの仕組みを理解しやすい点について
- ノード復旧後のストレージ同期は差分だけ行われるの?
- 2ノード同時に障害が発生した場合の挙動について
- 異なるCPUベンダー(Intel/AMD)を混在させても問題ない?
- Proxmox上で3台用意すればMicroCloudは動く?
- GPU対応の可否について
- 管理コンソールの言語設定は変更できるか
- イメージ配布元の追加はできる?
- Windows OSへの対応について
- NICが少ない環境でもできる冗長化の考え方
- 検証環境で構築したVM/LXCの最大数について
- x64とARMは同じクラスターに混在できる?
- Terraformによる構成管理や監視連携の可否について
- ノードごとにNICは1枚でも運用できるのか?
- 4ポートNIC構成とbondingの実用性について
- IPアドレスを持たないNICの役割とは?
- MicroCloud/LXDでvGPUは使えるの?Proxmoxとの違い
- cloud-init講座の開催予定について
- NICを2つ使う構成はHyper-Vと同じ考え方?
- MicroCloudでのUSBパススルー対応について
- クラスタ内のノード構成と役割について
- クセ強のProxmoxの話も改めて聞きたい
セミナー動画
発表資料
Q&Aまとめ
LXDは業務利用されますか?セキュリティ面は大丈夫?
質問
proxmoxでも同様ですが、lxdを業務で使用することはあるのでしょうか。 コンテナサーバーに個々のコンテナを作成しなくて済みますが、ハイパーバイザーと直接繋がっているのでセキュリティが気になっています。
回答
LXDは、開発環境の迅速な払い出しやCI実行基盤、社内向けの軽量な仮想化基盤として業務利用されることはよくあります。
MicroCloudという名称の背景について
質問
CanonicalはOpenStackのsnap版のMicroStack, K8sのsnap版をMicroK8sとして提供しているので、類似する製品の名前をMicroCloudにしたんでしょうね。
回答
Canonicalは、MicroStack(OpenStack)やMicroK8s(Kubernetes)など、snapで簡単に導入できる小規模向け製品群に「Micro」という名称を一貫して用いています。MicroCloudもその流れを踏襲したものでしょうね。
Proxmox利用者にとってMicroCloudは必要か?
質問
今から詳細解説があるかもしれませんが、Proxmoxで満足している人には不要なものですか?それでもMicroCloudを選ぶべきケースはどんな時ですか?(と書いていたら、乗り換えなくていいと解説されました・・・)
回答
すでにProxmoxで運用に満足している場合、無理にMicroCloudへ乗り換える必要はないでしょう。
MicroCloudの設定が難しく感じた理由と対処法
質問
MicroCloudは以前試してみたけど、コンフィグレーションがドキュメントを見てもよくわからなくて泣いて諦めました
回答
たしかに公式ドキュメントだけでは分かりづらい点もあります。ドキュメントの例から外れた構成に読みかえて構築しようとすると詰まることもあるので、まずはドキュメントとまったく同じ構成で試してみることをお勧めします。
構成単位は役割ごと、必ずしも1台ずつではない
質問
3台以上が必要とのことですが、LXD, MicroCeph, MicroOVN が1台ずつなのですか?
回答
3台以上が必要というのは、LXD・MicroCeph・MicroOVNをそれぞれ1台ずつ分けるという意味ではありません。これらすべてがインストールされたノードが、最低3台以上という意味です。
NICごとにSSDを3本用意する必要はありますか?
質問
NIC2つは良いけど夫々にSSD3つはハードル高い…
回答
ドキュメント上ではOS/ローカル/CephでSSDを3本使う例が紹介されていますが、Cephを省略してSSD2本で作るといったことも可能です。
MicroCloudにおけるネットワーク構成の可視化
質問
ネットワーク構成が可視化されるのはいいですね。
回答
そうですね。MicroCloudのUIでは、クラスタ内のノードやネットワーク構成が分かりやすく可視化されており、構成全体を把握しやすいとは思います。
AWSの代替としてそのまま再現できるわけではない?
質問
AWSで試すとお金かかるので、検証用にそれと同じような動作をするものが作れることを期待していたのですが、そうじゃないみたいですね
回答
検証環境としてAWSと同じ挙動を期待されることは多いのですが、MicroCloudやLXDはAWSのマネージドサービスをそのまま再現するものではありません。
OVNの仕組みを理解しやすい点について
質問
MicroCloudの方が、OpenStackよりOVNの中身がわかりやすくて良いですね。
回答
はい。MicroCloudは構成要素がシンプルなため、内部で動いているOVNについても理解しやすいのではないでしょうか。
ノード復旧後のストレージ同期は差分だけ行われるの?
質問
3ノードクラスタのうち、1台に障害が起きたとして、そのノードを復旧させるとストレージ同期はどうなるんでしょうか。差分だけ?フル同期?
回答
3ノードクラスタのうち1台が復旧した場合、基本的には差分のみが同期されます。バックエンドとなっているCephは、障害中に更新されたデータや不足しているオブジェクトだけを検出し、自動的にリカバリを行います。
2ノード同時に障害が発生した場合の挙動について
質問
2ノード障害が起きるとどうなりますか?
回答
MicroCloudでは通常、クラスタの過半数(クォーラム)が維持できないと、安全のためにクラスタ全体の制御が停止します。そのため、3ノード構成で2ノードが同時に停止すると、残る1ノードは自律的に稼働を続けられません。
異なるCPUベンダー(Intel/AMD)を混在させても問題ない?
質問
IntelとAMDのプロセッサ混在でも大丈夫ですか?
回答
MicroCloudは構成の柔軟性をウリにしているため、基本的には問題ありません。ただしあくまで「混在したCPUでもクラスターを構成し、ワークロードの動作が可能なこと」までしか指しておらず、ライブマイグレーション時などには、問題が発生する可能性がないとは言い切れない点には注意してください。
Proxmox上で3台用意すればMicroCloudは動く?
質問
試してみたい時、Proxmox上に3台用意したら動きますか?
回答
はい、Proxmox上に3台の仮想マシンを用意すればMicroCloudは問題なく動作します。検証やお試し用途であれば十分な構成です。ちなみにMicroCloudはシングルノードでも構築は可能です。ただし台数が少ない場合は冗長性やクラスタらしい挙動を体験しにくいため、「試してみたい」という目的であれば3台構成がおすすめです。
GPU対応の可否について
質問
gpuには対応していますか?
回答
MicroCloudは基盤にLXDを採用しているため、GPUの利用にも対応しています。LXDではGPUをデバイスとして仮想マシンやコンテナに割り当てることができ、NVIDIA GPUのパススルーなども可能です。
管理コンソールの言語設定は変更できるか
質問
管理コンソールの言語設定変更は可能でしょうか?
回答
現時点のMicroCloudの管理コンソールでは、UIの言語を切り替える設定は用意されていません。表示は英語が基本となります。
イメージ配布元の追加はできる?
質問
VMのイメージをリストから拾ってきていたと思うんですが、あれってレポジトリの追加的な形でソースを追加できるんでしょうか?
回答
MicroCloud(LXD)で一覧表示されるVMイメージは、既定ではLXDのイメージサーバーから取得されていますが、別途配布元を追加することも可能です。
Windows OSへの対応について
質問
仮想マシンはWindowsOSも対応しているのでしょうか?
回答
はい。実際に試してはいませんが、中身はKVMですのでWindows OSも利用できるはずです。
NICが少ない環境でもできる冗長化の考え方
質問
NICが2つしかない場合、冗長化は行えないですか?どの程度柔軟に構成できるのでしょうか
回答
MicroCloud自体が2つのNICを別々の用途で要求するため、その場合はNICそのものを冗長化することはできないでしょう。ただしこうしたクラスターはクラスター全体で冗長化を行うため、各ノードのNICまでを冗長化するかどうかは検討の余地がありそうです。
検証環境で構築したVM/LXCの最大数について
質問
最大でどれくらいVMやLXC立てましたか?
回答
自分の場合は家庭用なので、同時に動かしたのは20〜30程度です。
x64とARMは同じクラスターに混在できる?
質問
興味本位ですが、プロセッサについてx64とarmが混在できるんでしょうか?
回答
(試したことはないですが)LXDがアーキテクチャの混在をサポートしているため、MicroCloudのクラスターとして成立させること自体は可能でしょう。ですがOSイメージがアーキテクチャごとに必要になったり、アーキテクチャをまたいだマイグレーションはできないなどの制約があるため、自分の運用スタイルや運用難易度とあわせて考える必要はありそうです。
Terraformによる構成管理や監視連携の可否について
質問
terraformで構成管理もできますかね? prometheusのexporterとかもあれば嬉しいですが、なければAPIを叩いて取りたいが、APIは用意されてるんですかね?
回答
中身はLXDのため、LXD部分をTerraformで管理することは可能です。またこういう話もあるようですが、試してはいません。
Prometheusのexporterは、LXD自体が内蔵しているため、こちらを利用するのがよいでしょう。CephもPrometheus連携は可能です。
質問
仮想マシンはmacOSもいけますか??出来ればiosアプリの開発をしたいですが学生のためお金がありません...
回答
技術的にはおそらく可能ですが、macOSのライセンス違反となります。
ノードごとにNICは1枚でも運用できるのか?
質問
管理コンソール上ではnode(物理PC)に対してIPアドレス一つでしたが、node1つに対してNIC1つじゃだめでしょうか。
回答
(これも試してないですが)NIC1つでも構築自体はおそらく可能です。ですがOVNが管理用とUplinkの分離を推奨しているため、おそらくVLANを切るなどの対応が必要になる気がします。そもそもここでトリッキーなことをして苦労するよりは、USBでNICを足しちゃった方が簡単で安上がりでしょう。最近は格安のミニPCでも2つ以上のNICを搭載しているのが当たり前になってきているので、ここのハードルはそれほど高くないはずです。
4ポートNIC構成とbondingの実用性について
質問
4ポートはもはやアプライアンスレベルですね。nic0,nic1でbond0,nic2,nic3でbond1など
回答
そうですね。MS-A2のように、4ポート持っているPCなどでは、下のレイヤーでbondingしてみても面白いかもしれません。
IPアドレスを持たないNICの役割とは?
質問
IPアドレスを振らないNICというのがイメージできません。何に使うのでしょうか
回答
NICにIPアドレスを振らない理由は、それを単にL2の土管として使うためです。複数ノードでクラスターを組むような場合、物理NICがIPアドレスを持ってしまうと、ノードの障害などに対応できません。そこで物理NIC自体は通信の出入口に徹し、その上に作られる仮想NICや仮想ルーターがIPアドレスに応答するようになっています。
MicroCloud/LXDでvGPUは使えるの?Proxmoxとの違い
質問
あ、vGPUできるか気になります…(PVEだと有償で使えたはず)
回答
コンテナの場合、vGPUなしでもホストGPUを複数コンテナで直接使い回すことが可能です。ただしリソース制御が完全にできないなどの制約はあります。VMの場合は有償のライセンスが必要となりますが、vGPUをVMに割り当てられます。
cloud-init講座の開催予定について
質問
今回の議題に関係ないですが、cloudinitの講座やる予定はありませんか?
回答
3月以降にcloud-initをテーマにした講座を開催する方向で決まりました。詳細な日程や内容は、準備が整い次第connpassでお知らせしますので、ぜひ楽しみにお待ちください。
NICを2つ使う構成はHyper-Vと同じ考え方?
質問
nicが二つ必要なのはhyper-vと似ていますね
回答
(Hyper-Vの経験に乏しいので)Hyper-Vもそうなんですね。
MicroCloudでのUSBパススルー対応について
質問
ProxmoxはたしかUSBのパススルーできたと思うのですが、MicroCloudも可能でしょうか?
回答
MicroCloudでもUSBデバイスのパススルーは可能です。MicroCloudは内部でLXDを利用しており、仮想マシン(VM)に対してUSBデバイスを割り当てることができます。
クラスタ内のノード構成と役割について
質問
ノードは全て対等ですか?管理ノードのようなものはありますか
回答
内部的にはデータベースリーダーが存在するのですが、ユーザーからはノードの違いを意識しなくてよいような作りになっています。どのノードにもログインできますし、どのノードに対してもAPIを叩くことができます。
クセ強のProxmoxの話も改めて聞きたい
質問
そのクセ強のProxmoxの話も改めて聞きたいです!
回答
リクエストありがとうございます。 勉強会の企画の参考にさせて頂きます。
