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のリリースおめでとうございます

Source: https://habr.com/ru/post/J180699/


All Articles