NetUP UTM5課金システムの展開パート1

カットの下で、フェールオーバークラスターをセットアップしてNetUR UTM5課金システムを起動し、暗号化をセットアップし、「貴重な」データをバックアップすることについて説明します。



なぜまさにクラスターなのか?

請求は可能な限りフォールトトレラントであるべきだという大きな秘密を明かさないことを願っています。 そしてご存じのとおり、フォールトトレランスを実現する主な方法は冗長性です。 Ganetiを通じてこれを達成します。

Ganetiは、XenまたはKVM仮想化システムに基づく仮想化クラスター管理システムです。 DRBDを使用して、フェールオーバークラスターを整理します。

このアイデアを実装するには、Debian lennyがプリインストールされた2つのサーバーが必要です。 実際、1つの「課金が開始される」と、2つ目はホットリザーブになります。

サーバーの1つをnode1とし、残りの1つをnode2にします。

次のすべてを各ノードで実行する必要があります。

ディスクのパーティション分割から始めましょう。 各サーバーには2つの同一のハードドライブがあると想定されています。 インストール中に、サイズが2 GBのソフトウェア「ミラー」レイドを作成し、ベースシステムをインストールしました。

こんな感じです。



node1:~# fdisk -l /dev/hda

Device Boot Start End Blocks Id System

/dev/hda1 1 243 1951866 fd Linux raid autodetect

node1:~# fdisk -l /dev/hdb

/dev/hdb1 1 243 1951866 fd Linux raid autodetect

node1:~# cat /proc/mdstat

Personalities : [raid1]

md0 : active raid1 hda1[0] hdb1[1]

1951744 blocks [2/2] [UU]








ここで、別のミラー化されたRAIDアレイを作成してみましょう。たとえば、サイズが5 GBで、作成されたアレイのサイズですが、両方のノードが必ず一致する必要があります。



node1:〜#fdisk -l / dev / hda

/ dev / hda1 1 243 1951866 fd Linux raid autodetect

/ dev / hda2 244865 4996215 83 Linux

node1:〜#fdisk -l / dev / hdb

/ dev / hdb1 1 243 1951866 fd Linux raid autodetect

/ dev / hdb2 244865 4996215 83 Linux



レイドを作成します。



node1:〜#mdadm --create / dev / md1 --level 1 --raid-devices = 2 / dev / hda2 / dev / hdb2



起動時に登録します。



node1:〜#mdadm --examine --scan | grep -v / dev / md0 >> /etc/mdadm/mdadm.conf



/ etc / hostsにホストの説明を追加します。正しい承認のために必要です



node1:〜#mcedit / etc / hosts



192.168.0.111 node1.name.org node1

192.168.0.112 node2.name.org node2

192.168.0.113 cluster1.name.org cluster1

192.168.0.114 inst1.name.org inst1



インターフェースの設定の説明は省略します。これは自分で処理できると思います。



LVM2パッケージをインストールする



node1:〜#apt-get install lvm2

node1:〜#pvcreate / dev / md1

物理ボリューム「/ dev / md1」が正常に作成されました

node1:〜#vgcreate xenvg / dev / md1

ボリュームグループ「xenvg」が正常に作成されました



ガネーティを入れる

node1:〜#apt-get install ganeti



Xenをカスタマイズする



node1:〜#mcedit /etc/xen/xend-config.sxp



(xend-relocation-server yes)

(xend-relocation-port 8002)

(xend-relocation-address '')

(ネットワークスクリプトネットワークブリッジ)

#(network-script network-dummy)

(vif-script vif-bridge)

(dom0-min-mem 0)



GRUBをカスタマイズする



node1:〜#mcedit /boot/grub/menu.lst



##デフォルトのXenブートオプションで使用するXenハイパーバイザーオプション

#xenhopt = dom0_mem = 256M



ブートローダーの更新

node1:〜#/ sbin / update-grub



リブートし、すべてが機能する場合、クラスターの作成に進みます。

DRBDをインストールする



node1:〜#apt-get install drbd8-modules-2.6.26-2-xen-686 drbd8-utils



スタートアップに追加



node1:〜#echo drbd minor_count = 64 >> / etc / modules



モジュールをロードします(もちろん、ノードを再起動しなかった場合)



node1:〜#modprobe drbd minor_count = 64



LVMを構成します



node1:〜#mcedit /etc/lvm/lvm.conf



filter = ["r | / dev / cdrom |"、 "r | / dev / drbd [0-9] + |"]



これで、クラスターを開始する準備がすべて整いました。 クラスターをnode1が所有するようにします。

最初のノード(node1)でコマンドを実行します



node1:〜#gnt-cluster init -b eth0 -g xenvg --master-netdev eth0 cluster1.name.org



node2をクラスターに追加します。



node1:〜#gnt-node add node2.name.org



すべてがうまくいった場合、インスタンスを作成します(請求が機能する仮想マシン)



node1:〜#gnt-instance add -t drbd -n node2.name.org:node1.name.org -o debootstrap -s 2g --swap-size 128 -m 256 --kernel /boot/vmlinuz-2.6.26 -2-xen-686 --ip 192.168.0.114 inst1.name.org



したがって、このコマンドは想定しています。

1. inst1.name.orgというクラスターに新しい仮想マシンを作成します

2. 2 GBのディスク、128 MBのスワップファイル、および256 MBのランダムアクセスメモリを割り当てました。

3.仮想マシンの配布-Debian(debootstrap)、xenカーネル

4. -nオプションに注意を払ってください。 どのノードがメインになり、どのノードが予約されるかを決定します。

したがって、エントリnode2.name.org:node1.name.orgは、node2がプライマリであり、node1が補助(ホットスタンバイ)であることを意味します。

クラスターの所有者が最初のノード(node1)である場合、インスタンスは2番目のノード(node2)で実行することをお勧めします。 最初のノード(node1)に障害が発生した場合、最初のノード(node1)が動作に戻るとすぐに課金が継続されます。ネットワークRAIDは同期し、クラスターは通常の動作に復元されます。 2番目のノード(node2)に障害が発生した場合、クラスターの制御を維持し、最小限のダウンタイムで最初のノード(node1)にインスタンスを転送し、「スプリットブライアン」を恐れることなく2番目のノードを静かに運用する機会があります。



インスタンスにアクセスするために、いくつかの操作を実行します。



node1:〜#gnt-instance shutdown inst1.name.org

node1:〜#gnt-instance startup --extra "xencons = tty1 console = tty1" inst1.name.org



今だけフルアクセスを取得できます



node1:〜#gnt-instance console inst1.name.org



「内部」インスタンスの操作のリスト(デフォルトでは、ルートには空のパスワードがあります)。

ネットワークをセットアップします。 (もう一度、あなたの知性、または忍耐力を願っています)

aptを構成します。

openssh-serverとudevをインストールします

/ etc / fstabに行を追加します

なし/ dev / pts devpts gid = 5、モード= 620 0 0



echo inst1> / etc / hostname(ホスト名の構成)

apt-getインストールロケール

dpkg-reconfigureロケール

tasksel install standard(「標準アセンブリ」に含まれるパッケージのインストール)



クラスタの初期セットアップが完了しました。

ganetiのドキュメントを必ず学習することをお勧めします。 通常モードでノードからノードにインスタンスを転送する方法、事故で転送する方法などを明確にする必要があります。 繰り返しますが、メモを作成することが不可欠です:事故が発生することはほとんどなく、脳は忘れがちであるため、緊急時にどのように行動し、ラミネートし、目の前に吊るすか

クラスターを起動した後、最初に何を考えるべきですか? 個人的には、何かを拒否するのが非常に難しい重度の仮面の男性の予期せぬ訪問に、あなたは非常に準備する必要があるように思えます。 準備は、すべての貴重なデータの暗号化とそのタイムリーなバックアップで構成されます。

その他の設定はすべて、仮想マシン(インスタンス)に直接関連しています。

暗号化から始めましょう。 このようにして実行します。 インスタンスが起動すると、ベースシステムがロードされ、システムは暗号化されたパーティションでファイルをマウントするためのパスフレーズを期待します。その後、データベース、請求、その他の「必要なサービス」を開始します。

これにより、すべてがインスタンス内に保存されますが、移行のためにマシンを完済する必要があります(暗号化されたパーティションをアンマウントします)。

必要なパッケージをインストールします。



inst1:〜#apt-get install loop-aes-modules-2.6.26-2-xen

inst1:〜#apt-get install loop-aes-utils



「古い」モジュールをアンロードします(インスタンスを再ロードできますが、これは確実です)



inst1:〜#modprobe -r loop



更新されたモジュールをダウンロードする



inst1:〜#insmod /lib/modules/2.6.26-2-xen/updates/loop.ko



暗号化されたパーティションのファイルを作成します



inst1:〜#dd if = / dev / zero of = / var / encrypt_file bs = 4k count = 10000



作成したファイルをマウントします。 パスフレーズについては推奨しませんが、それは好みの問題です。



inst1:〜#losetup -e AES256 / dev / loop1 / var / encrypt_file



ファイルシステムを作成し、ext2の複製レベルで十分です



inst1:〜#mkfs -t ext2 / dev / loop1



ファイルをアンマウントします



inst1:〜#losetup -d / dev / loop1



暗号化されたパーティションをマウントする例



inst1:〜#ボリュームのマウント-o loop = / dev / loop1、暗号化= AES256 / var / secure / -t ext2



スワップファイルの暗号化はあなたの裁量ですが、注意してください-パラノイアは伝染性のものです。



データのバックアップを整理する方法は? クラウンですばらしいバックアップスクリプトを実行できます。 または、責任を持ってアプローチし、一元化されたバックアップシステム(たとえば、bacula)をセットアップすることができます。チューニングの推奨事項と例は、Baculaの構成と理解を参照してください 暗号化されたパーティションにもバックアップを保存することをお勧めします。また、サーバーを遠く離れた場所に、狭い人々に知られている場所に保管することをお勧めします。

データベースをバックアップするには、ジョブの説明に行を追加することをお勧めします

ClientRunBeforeJob = "/ usr / local / bin / create_mysql_dump"

ClientRunAfterJob = "/ bin / rm -f /var/lib/bacula/mysql.dump"

データベースはサイズが大きくなる傾向があるため、データベースのダンプ時間が増加していることに注意してください。 この問題を回避するには、アセンブリ006以降に実装されたアーカイブテーブルの機能を使用できます。ロジックは単純です。アーカイブテーブルを別のデータベースに保存し、請求カーネルにアクセスしてデータをアーカイブし、アーカイブテーブルにビューを作成します。 データ自体はなく、ビューの構造のみが保存されるため、バックアップは大幅に高速化されます。 アーカイブテーブルのデータはバックアップできません。火災が発生した場合に保存するコピーは2つだけで十分です。



上記のすべての結果は、ディスクサブシステムの冗長性を高めたフェイルセーフクラスターの作成、ノードの地理的多様性、貴重なデータの暗号化とバックアップになります。

PSなぜNetUR UTM5を選んだのですか?

会社がこのライセンスを購入したとき、最初は詳細なドキュメントが原因であると考えました。詳細なドキュメントは2006年末の時点で260ページにも及ぶことが判明しました。 それから私は有能なもののためだと思った。 サポート。 私は主張しませんが、サポートは高レベルであることが判明しましたが、例外的な「非友好的」であり、生のドキュメントと相まって「製品」を購入する喜びを覆い隠し、移行を1年以上延長しました。 結局、すべてがシンプルであることが判明し、私たちの監督は友人に会いに行きました。そして、あなたが知っているように、猿は他の猿が同じことをしているのを見た場合にのみ狂乱で赤い果実を食べます。 したがって、ここで私たちはこの「製品」の所有者を誇りに思っています。

最後に正直に言うと、「製品」は非常に気まぐれで、文書化が不十分であることが判明しましたが、正しく構成された場合、非常に安定していたことが判明したため、調整されたシステムは、介入なしで1年以上機能しました。唯一のことはベースをきれいにすることでした



All Articles