GNU/Linux >> Linux の 問題 >  >> Debian

新しい大容量ハードディスクへの移行によるDebian上のソフトウェアRAIDの拡張

セットアップ:RAID 1(ミラー)の2つの物理ドライブがさらに2つの容量のあるドライブに置き換えられます。外部のブートメディアから起動する必要なしに、実行中のオペレーティングシステムから直接「ホット」交換を行います。このガイドは、Debianディストリビューション6、7、8、32ビットと64ビットの両方でテストされています。

2つのドライブがルートパーティションとスワップパーティションでパーティション化されており、これら2つのパーティションが2つのRAIDデバイスmd0とmd1を構築していると想定しています。

  • ボリュームmd0(ルート)を構成するsda1およびsdb1パーティション
  • ボリュームmd1(スワップ)を構成するsda2およびsdb2パーティション

まず、すべてのデータのバックアップを作成します。ガイドが数回テストされたとしても、不運はまだあります...交換用に(私の意見では、最善の解決策を)提供し、2つの古いもののうちの1つを切断しますマシンをオフにした状態でドライブを作成し、新しい一時ドライブを1つ接続してから再同期します。これにより、RAIDが機能し、ドライブが1つ(RAIDが劣化モードの場合)、機能しない場合でも機能しているRAIDを再作成できます。これを行うには、ドライブ全体を空のドライブに置き換えた後、次のコマンドを入力するだけです。

 sfdisk -d / dev / hd source | sfdisk —force / dev / hd empty 
mdadm —zero-superblock / dev / hd empty
mdadm —add / dev / md(raid)/ dev / hd(empty)

システム上のRAID/パーティションごとに最後の2行を繰り返します

(例:

 mdadm -add / dev / md0 / dev / sdb1 

次に

 mdadm -add / dev / md1 / dev / sdb2 

など..

このようにして、パーティションテーブルをソースドライブから空のターゲットに強制し、これをRAIDに追加しました。

明らかに、再構築プロセスが終了するまで待つ必要があります。監視対象は次のとおりです。

 watch cat / pro / mdstat 

(もちろん、CTRL + Cでプロセスを終了します)

この時点でマシンをシャットダウンし、それぞれsdcとsddになる2つの新しいディスクを追加してから、サーバーを起動してコマンドを実行します。

 fdisk -l <​​/ pre> 

結果は次のようになります。

ディスク/dev/ sda:……MB、…………。バイト
…ヘッド、…セクター/トラック、…..シリンダー
I / Oサイズ(最小/最適):512バイト/512バイト
ディスク:識別子:………..
 
デバイスの起動開始終了ブロックIDシステム
 / dev / sda2 970 1044 602437+fdLinuxRAID自動検出
 / dev / sda2 1 969 7783461fdLinuxRAID自動検出
……
 / dev / sdb1 * 1 969 7783461 fdLinuxRAID自動検出
 / dev / sdb2 970 1044 602437+fdLinuxRAID自動検出
……
ディスク/dev/ sdc:…Mb、…….Bytes 
……
ディスク/dev/ sdd:…Mb、…….Bytes 
……
ディスク/dev/ md0:…Mb、…….Bytes 
…...
ディスク/dev/ md1:…Mb、……。バイト

ここで、次のように入力します:

 fdisk / dev / sdc 

nで新しいパーティションを作成します コマンド、

pを選択します プライマリパーティション

パーティション番号( 1 )を選択します 、2、3など...)、

開始シリンダーを選択します( 1 )、

+ と入力して、プライマリパーティションのサイズを選択します 記号の後にGB単位のサイズとGB 文字から(例: + 480GB

コマンドaで起動可能にします 、同じ数のパーティションを選択します。

fd」でパーティションIDを変更します "(Linux RAID自動検出) t 、16進コードとして記述し、「 fd "

次に、2番目のパーティションに対してすべてのコマンドを繰り返します(パーティションはスワップになります)。

w。で変更を保存します

明らかに、パーティションのサイズに注意してください。最善の解決策は、空き領域の合計の現在のスワップサイズを差し引いて、可能な限り広い領域で作業パーティションを作成することです。

次に、SDDドライブでまったく同じ操作を実行し、以前に使用したものと同じサイズで同じパーティションを作成するようにします。

この時点で、最初のドライブ「フル」と最初の新しいドライブの間で交換を行い、後者をスペアとしてRAIDに追加します。

 mdadm -add / dev / md0 / dev / sdc1 

次に、レイドディスクの状況を確認する必要があります。次のようになります。

 md0:アクティブレイド1 sdc1 [S] sda1 [2] sdb1 [3] 
………スーパー1.2をブロック[2/2][UU]

次に、元のドライブを挿入します:

 mdadm -f / dev / md0 / dev / sda1 

RAIDから削除します:

 mdadm -r / dev / md0 / dev / sda1 

ここで、再構築が自動的に開始されたことを確認し、次のコマンドで再度監視して、再構築が完了するまで待ちます。

 watch cat / proc / mdstat 

(もちろん、CTRL + Cでプロセスを終了します)

最後に、ブートローダー(grub)を新しいドライブ(/ dev / sdc)にインストールします:

 grub-install / dev / sdc 

システムパーティションごとに同じプロセスを繰り返す必要があります:

 mdadm -add / dev / md0 / dev / sdd1 
 mdadm -f / dev / md0 / dev / sdb1 
 mdadm -r / dev / md0 / dev / sdb1 

そして、再構築が完了するまでもう一度待ちます:

 watch cat / proc / mdstat 

(もちろん、CTRL + Cでプロセスを終了します)

次に、2つの新しいドライブの最初のスワップパーティションに対して同じ手順を実行します。

 mdadm -add / dev / md1 / dev / sdc2 
 mdadm -f / dev / md0 / dev / sda2 
 mdadm -r / dev / md0 / dev / sda2 

再構築が完了するまでもう一度待ちます:

 watch cat / proc / mdstat 

(もちろん、CTRL + Cでプロセスを終了します)

そして最後のドライブ:

 mdadm -add / dev / md1 / dev / sdd2 
 mdadm -f / dev / md0 / dev / sdb2 
 mdadm -r / dev / md0 / dev / sdb2 

再構築が完了するまでもう一度待ちます:

 watch cat / proc / mdstat 

(もちろん、CTRL + Cでプロセスを終了します)

この時点で、両方のドライブにブートローダーを再インストールします。

 grub-install / dev / sdc 
 grub-install / dev / sdd 

この時点で、RAIDから古いドライブが排出され、新しいドライブが取り付けられて動作していることがわかります。ただし、使用可能なスペースがパーティションで許可されている最大値を下回っています

次に、両方のボリュームで通常どおり、パーティションの拡大とその検証を行います。

 mdadm —grow —raid-devices =2 / dev / md0 
 mdadm -A —スキャン
 mdadm —grow / dev / md0 —size =max 
 mdadm —examine —scan 
 e2fsck -f / dev(md0 
 resize2fs / dev / md0 

 mdadm —grow —raid-devices =2 / dev / md1 
 mdadm -A —スキャン
 mdadm —grow / dev / md1 —size =max 
 mdadm —examine —scan 
 e2fsck -f / dev / md1 
 resize2fs / dev / md1 

終了したら、PCの電源を切り、古いドライブのリンクを解除して、マシンを再起動します。

再起動が機能していたとしても、新しいドライブの起動は古い(sdaとsdb)の名前になっているため、セキュリティ上の理由からgrubを再構築します。

 mv /boot/grub/device.map/boot/grub/device.map.old 
 grub-mkdevicemap 
 update-grub2 &&grub-install / dev / sda &&grub-install / dev / sdb 

新しいRAIDセットアップが機能していることを絶対に確認したい場合は、マシンをシャットダウンし、新しいドライブの1つを切断して、最初からやり直してください。問題なく開始する必要があります。その後、再度シャットダウンし、ドライブを接続して起動します。このコマンドを使用して、レイドの状態を確認できます。

 watch cat / proc / mdstat 

(もちろん、CTRL + Cでプロセスを終了します)

私たちは仕事を終えました、私たちは祝います


Debian
  1. Debian 8 Jessieがリリースされました–新機能

  2. Debian –ハードディスクは単にディスクのリストを取得するプロセス/アプリケーションによってスピンアップしますか?防ぐ方法は?

  3. Debian – SystemdでOnfailureを使用する適切な方法は?

  1. Debian 10(Buster)がリリースされました–新機能

  2. Debian Wheezy/JessieのmdadmソフトウェアRAIDにGRUB2をインストールする

  3. Debian – Devuan / debianのインストールを開始できませんか?

  1. Debian9にSnipe-IT資産管理ソフトウェアをインストールする方法

  2. Debian9にObserviumネットワーク監視ソフトウェアをインストールする

  3. Linux ソフトウェア RAID を新しいマシンに移動するにはどうすればよいですか?