クラスタ管理 · 1 min read · Dec 09, 2025
Debian Etch上のGanetiによるXenクラスタ管理
Debian Etch上のGanetiによるXenクラスタ管理
バージョン 1.0
著者: Falko Timme
GanetiはXenに基づくクラスタ仮想化管理システムです。このチュートリアルでは、2つの物理ノードのクラスタ上に1つの仮想Xenマシン(インスタンスと呼ばれます)を作成する方法と、このインスタンスを2つの物理ノード間で管理およびフェイルオーバーする方法を説明します。
この文書にはいかなる保証もありません!これがあなたにとって機能するという保証はありません!
[更新 2010/01/21] Ganeti開発チームからメッセージを受け取りました:
“ […] 最近、私たちは人々があなたの指示に従おうとして、古いまたは非常に古いバージョンのGanetiをインストールしてしまうという不幸な事実に気付きました。両方のチュートリアルを更新し、最近のGanetiバージョンに更新されていないことを示す注記を追加し、最新のドキュメントをhttp://docs.ganeti.org/ganeti/で確認するように人々にお願いできますか? “
このチュートリアルは古いバージョンのGanetiに基づいています。最新のドキュメントについてはhttp://docs.ganeti.org/ganeti/を参照してください。
1 前提条件
Ganetiはまだ初期段階にあります。現在、Debian Etchノードにインストールでき、Debian Etchを使用する仮想マシンを作成できます。他のLinuxディストリビューションも理論的には動作するはずですが、まだドキュメントはありません。
このチュートリアルでは、物理ノードnode1.example.comとnode2.example.comを使用します:
- node1.example.com: IPアドレス 192.168.0.100; クラスタのマスターになります。
- node2.example.com: IPアドレス 192.168.0.101; 仮想マシン(インスタンス)のプライマリノードになります。
両方のノードには50GBのハードドライブがあり、そのうち10GBを/パーティションに、1GBをスワップに使用し、残りは未パーティションのままにしてGanetiで使用できるようにします(最小は20GBです!)。もちろん、パーティショニングはお好みに応じて変更できますが、未使用の最小スペースを忘れないでください。
私が作成するクラスタはcluster1.example.comと名付けられ、IPアドレスは192.168.0.100になります。
Xen仮想マシン(Ganeti用語ではインスタンスと呼ばれます)はinst1.example.comと名付けられ、IPアドレスは192.168.0.105になります。inst1.example.comはDRBDを使用して2つの物理ノード間でミラーリングされます - これはネットワークRAID1の一種と見なすことができます。
ご覧の通り、node1.example.comはクラスタマスターになります。つまり、クラスタを制御および管理できるマシンです。そして、node2.example.comはinst1.example.comのプライマリノードになります。つまり、inst1.example.comはnode2.example.comで実行され(inst1.example.comのすべての変更はDRBDを介してnode1.example.comにミラーリングされます)、node2.example.comをメンテナンスのために停止する場合などに、フェイルオーバーされるまで続きます。これはアクティブ-パッシブ構成です。
私は、2つのノード間で役割を分けることが良いプラクティスだと思います。これにより、1つのノードがダウンしてもクラスタマスターとプライマリノードを同時に失うことがありません。
私のテストでは、node1とnode2にそれぞれ204MBのRAMを使用していました。これはかなり少ないため、特に本番システムではかなり多くのRAMを使用するべきです。しかし、私のテストには問題ありませんでした。RAMが少ないため、Xenのdom0(node1とnode2)の使用を64MBに制限しました。Ganetiのインストールガイドによれば、512MBが妥当です - 256MBでも動作すると思います。とにかく、あなたのシステムはdom0に指定したRAMよりも多くのRAMを持っている必要があります。そうしないと、仮想マシンに十分なRAMが残りません。
最後に注意すべきことは、ここで言及されているすべてのホスト名は、すべてのホストに解決可能である必要があるということです。つまり、DNSに存在するか、すべてのホストのすべての/etc/hostsファイルにすべてのホスト名を追加する必要があります(これが私がここで行うことです)。
では、始めましょう…
2 物理ノードに基本Debianシステムをインストールする
node1とnode2の両方に最小限のDebian Etchシステムをセットアップします:
node1/node2:
Debian Etch Netinstall CDをシステムに挿入し、そこからブートします。ENTERを押してブートします:

インストールが開始され、最初に言語を選択する必要があります:

次に、場所を選択します:


キーボードレイアウトを選択します:

インストーラーはインストールCD、ハードウェアをチェックし、ネットワークにDHCPサーバーがある場合はDHCPでネットワークを構成します:

ホスト名を入力します。node1.example.comの場合はnode1、node2.example.comの場合はnode2と入力します:

ドメイン名を入力します。この例ではexample.comです:

次に、ハードドライブをパーティション分割する必要があります。第1章に記載されているように、10GBの/パーティション、1GBのスワップパーティションを希望し、残りは未パーティションのままにします。パーティショニング方法として手動を選択します:

ハードドライブを選択します:

このデバイスに新しい空のパーティションテーブルを作成しますか?と聞かれたら「はい」を選択します:

ハードドライブの空き領域を選択します:

新しいパーティションを作成を選択します:

パーティションサイズとして10GBを入力します(または/パーティションに希望するサイズを入力します):

パーティションタイプとしてプライマリを選択します:

開始位置を選択します:

ブート可能フラグをオンに設定し、パーティションの設定を完了したら選択します:

/パーティションが設定されました。次にスワップパーティションを作成します。再度空き領域を選択します:

再度新しいパーティションを作成を選択します:

パーティションのサイズとして1GBを入力します(またはスワップパーティションに希望するサイズを入力します):

プライマリを選択します:

開始位置を選択します:

次に、使用方法の行に移動し、ENTERを押します:

スワップ領域を選択します:

その後、パーティションの設定を完了したら選択します:

その後、パーティショニングを終了し、変更をディスクに書き込むを選択します(未パーティションのディスクスペースが少なくとも20GBあることを確認してください):

変更をディスクに書き込みますか?と聞かれたら「はい」を選択します:

その後、新しいパーティションが作成され、フォーマットされます:

新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。