Ganetiで楽々仮想環境♪ 話し手:某企業の社内SE 長谷川 哲 発表者略歴 197x三重県生まれのとある企業の社内SE 主な仕事はMonsterHunter、副業でSI業務 専門はOracle+Java 仕事ではCentOS/RedHat、趣味ではDebian 自宅サーバ運営中 Ganetiとは? Google社内システムで採用されている。 Xen/KVMをベースとした仮想化インフラ。 DRBD/LVMでディスク冗長化。 これらの技術をPythonで接着。 本家 http://code.google.com/p/ganeti/ ■よくあるエンタープライズな仮想環境の一例 共有ディスク 物理サーバ 物理サーバ 物理サーバ この共有ディスクがやられると全滅。 仮想化ソフト 仕組み上、単一障害点が必ずできてしまう。 VMWare ESXi OracleVM etc しかも共有ディスクのリプレイス時には、 関連するサーバ・サービスが全部止まる。 おまけに普通のサーバよりも高額。 色んなサーバが動きます。 ■とある企業のシステム部門 このストレージが販売後5年経過したので ディスコンになりました。保守できませーん。 リプレイスの見積もりがこちらになりまーす。 と言うわけで、リプレイスの予算をください。 後、作業時、システムも全面停止します。 そんな予算あるわけないだろ、JK あ、システム止めたら減俸な。 そんな~(泣 創意工夫と気合いと根性で乗り切れ。 ※登場する人物、団体は全てフィクションです。 ■そこで?提案したGanetiのアーキテクチャ 物理サーバ 物理サーバ DRBD 物理サーバ LVM これらの各技術をPythonで接着。 コマンド一発で色々管理できるように! LVM LVM DRBD LVM LVM DRBD 仮想化ソフト Xen/KVM LVM ■インストールまで Debianを普通にインストール。 パッケージは aptitude install ganeti で一発。 Dom0の割当メモリ量を制限 xen-linux-2.6.26-1からブートするように設定 lvmコマンドでPVを作ってxenvgと言う名前のVGを作る。 /etc/network/interfacesを編集して eth0→xen-br0にブリッジ設定 Drbdモジュールを有効にする。特に難しい設定等は無し。 英語で詳しいドキュメントがあるのでそっちを見て下さい! ハマった点 – 共有ディスク領域に最低20GBが必要。 – Kernel2.6.26-2だとうまく動かなかった? – 多重化する場合、/etc/hostnameをFQDNにしないと gnt-node add時に名前解決できなかった。 – NICのブリッジ化やXenの設定をミスると結構大変。 ■Ganetiの論理サーバ構成 物理サーバ 物理サーバ 物理サーバ クラスタ1 VM1 P VM3 S 物理サーバ クラスタ2 VM1 S VM2 P 物理サーバ VM2 S VM3 P VM4 P VM4 S VM5 S VM5 P P:Primaryノード S:Secondaryノード ■仮想マシンの管理 ●クラスタを初期化 # gnt-cluster init <cluster-name> ●とりあえず仮想マシンを作る # gnt-instance add -n –node=<pv> \ -o debootstrap -t plain <vm> ↑ここでVMのメモリやディスク設定も可。 ●コンソールにログイン # gnt-instance console <vm> LVMやXenの管理コマンドを使うと、 VMのディスクやら何やらが見れます。 ■クラスタの管理 ●クラスタに物理ノードを追加 # gnt-node add <node2> ●ディスク冗長化した仮想マシン作成 # gnt-instance add -n <node1>:<node2> -o debootstrap -t drbd <vm> ●フェイルオーバー/Migrate # gnt-instance failover <vm> # gnt-instance migrate <vm> ●マスタノードの切り替え 上記操作はマスタノードから実行する必要あり。 マスタが落ちたら?→他のノードで、以下を実行 # gnt-cluster masterfailover ■まとめ Ganetiはいいよ! – 高価な共有ディスクは要らないよ。 – コマンド一発で仮想マシンが管理できるよ。 – DRBDの制約上、プライマリなノードは存在するけ ど、単一障害点では無いよ。 •イマイチな点 – 日本語ドキュメントがまだまだ少ないよ。 – ディスク割当とか細かい設定できないよ。 – 対応OSもとりあえずDebianとUbuntuだけだよ。 – GUIが無いよ→ダメ管理者にとって死活問題だよ まとめ Debian/Ubuntuで使うならそのまま導入できるよ。 技術要素として見ても面白いよ。 うちの自宅鯖に入れるよ。 ■とある企業のシステム部門(その後) Oracleが動作保証されてないん だから、黙ってOracleVM使え。 予算はお前の給料削って 捻出したから安心しる。 えー?!(・д・) 毎度ありー♪ (とほほ~今日は定時で上がって、 この前、自宅サーバ用に買った ML115x2台にGaneti導入しよう。。。) ※登場する人物、団体は全てフィクションです。
© Copyright 2024 ExpyDoc