ProxmoxVE2(3)クラスター内の物理マシンをDRBDから新しいハードウェアに移行する

DRBD統合ストレージを備えたProxmox上に2つのサーバーのクラスターがあるため、このクラスター内のマシンを停止せずに、このクラスター内のノードを更新する必要がある場合があります。 タスクは難しいことではありませんが、プロセスの一部の瞬間が常に記憶されているわけではありません。

したがって、私にとっては、コンソールでの将来のコピーアンドペーストのためにアクションが記録されました。 さて、一度書いたら、それを人々と共有してみませんか?

PS最後に、DRBDと呼ばれるブロックデバイスの拡張、チューニング、および有用なリンクに関する小さなボーナス。





始めましょう。



1.すべての仮想マシンを、存続する1つのノード(PM2)に移行します。

2.特権ユーザーからPM2のコンソールにアクセスします。 1つのノードをクラスターに含めることができます。

pvecm expected 1
      
      





3.クラスター内のノードを確認します。

 pvecm nodes
      
      





4.クラスターから移動ノードを削除します。

 pvecm delnode pm1
      
      





5. DRBD同期を停止します。

 drbdadm disconnect all
      
      





次のコマンドでStandAloneのステータスを確認します

 cat /proc/drbd
      
      





6. / etc / pve / priv / {autorized_keys、know_hosts}および/root/.sshの古いマシンエントリを削除します。

7.新しいマシン(PM1)にProxmoxVE2をインストールします。インストール中のパーティションのサイズを示し、招待状を作成します

boot: linux ext4 maxroot = 8 swapsize = 1 maxvz = 10 (minfreeキー= 200もあります)

8.更新されたコンソールPM1に移動します:

 apt-get update && apt-get dist-upgrade
      
      





9.クラスターに追加します。

 pvecm add 192.168.0.12
      
      



(192.168.0.12はPM2のIPアドレスです)

10. DRBDを使用するためのユーティリティをインストールします。

 apt-get install drbd8-utils
      
      





しかし、debianリポジトリの古いユーティリティでは、カーネル内の同様のユーティリティに更新する必要があります。

 dpkg -i drbd8-utils_8.3.13-0_amd64.deb
      
      





(Debian 7ベースのProxmox 3では、バージョンは最新であるため、この点をスキップしてください)

11.次の内容の例については、PM2 /etc/drbd.d/r0.resからファイルを作成/コピーします。

 resource r0 { protocol C; startup { wfc-timeout 0; degr-wfc-timeout 600; become-primary-on both; } syncer { rate 500M; } net { cram-hmac-alg sha1; shared-secret "my-secret"; allow-two-primaries; after-sb-0pri discard-zero-changes; after-sb-1pri discard-secondary; after-sb-2pri disconnect; sndbuf-size 0; no-tcp-cork; unplug-watermark 16; max-buffers 8000; max-epoch-size 8000; } on pm1 { device /dev/drbd0; disk /dev/pve/drbd; address 192.168.0.11:7788; meta-disk internal; } on pm2 { device /dev/drbd0; disk /dev/pve/drbd; address 192.168.0.12:7788; meta-disk internal; }
      
      





12.稼働中のマシンとまったく同じサイズの論理パーティションを作成します。

 lvcreate -L450G -n drbd0 pve
      
      





そして私たちがチームで何をしたかを見てください

 lvscan
      
      





13. drbdを開始します。

 /etc/init.d/drbd start
      
      





14.メタデータを作成します。

 drbdadm create-md r0
      
      





15.念のため、セカンダリを作成します

 drbdadm secondary r0
      
      





そして、すべてから切断します

 drbdadm disconnect r0
      
      





16.私たちのマシンでは、次のコマンドでストレージが最新ではないと言います。

 drbdadm -- --discard-my-data connect r0
      
      





車を再起動します

17.最初のサーバーのコンソールで、次のコマンドで同期ステータスを確認します。

 watch cat /proc/drbd
      
      





18.クラスターストレージのWebインターフェースで、drbdを使用してリポジトリーのノードを許可します



ボーナス: DRBDボリュームの拡大



これは、外部メタディスクについても同様です。

1.リードにディスク容量を追加しました。 drbdが存在するセクションを展開します。

 lvextend -L+250G /dev/pve/drbd0
      
      





2.空のマシンで、ストレージをセカンダリにします。

 drbdadm secondary r0
      
      







3.仮想マシンが回転しているマシンで実行してdrbdを拡張します。 2番目のマシンのディスクは一時的にロックされています。

 drbdadm resize r0
      
      







4. drbdデバイスを拡張すると、このブロックデバイスのみが増加し、PVは増加しません。

 pvresize /dev/pve/drbd0
      
      







内蔵ディスクの場合、メタデータを一時的または永続的に別のディスクに転送する必要があります。 停止することなく、これは2段階で実行できます。

1.いずれかのサーバーで:

a)drbdを停止します。

 drbdadm down r0
      
      





次に、構成内の行を変更します

メタディスク内部



meta-disk / dev /”メタデータ用のデバイス” [0]

ssdドライブを強くお勧めしますが、しばらくの間はlvmパーティションを作成できます。

b)その後、別のマシンで

 drbdadm -- --overwrite-data-of-peer primary r0
      
      





しかし、現在

 drbdadm up r0
      
      





同期プロセスを見てください

 watch cat /proc/drbd
      
      





プロセスが完了すると、このサーバーでメタデータが別のデバイスに転送されます。

2.別のサーバーで手順1を繰り返します。



ssdがない場合は、拡張後にストレージの速度を損なわないために、逆の操作を行う必要があります。 ただし、予備のssdを2〜3個、または4個購入するか、各サーバーのRAID1に接続することをお勧めします。



アクションの前にバックアップを作成することは非常に自然であり、/ etc / vzdump.confファイルの行はそれらを高速化するのに役立ちます。

 bwlimit: 100000
      
      





これにより、100メガビットの速度制限が設定されます。デフォルトでは、コストはわずか10です。これは、100メガビットネットワークでは非常に普通ですが、ギガビット(a)ではソフトです。



便利なリンク:

Proxmox Webサイト

Proxmox wiki

Proxmoxフォーラム

インストール用のイメージをダウンロード



UPD:Debian WheezyベースのProxmox 3.0のリリースおめでとうございます



All Articles