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

障害のあるRAID6ドライブをmdadmに置き換える

このハウツーでは、mdadmによって管理されるソフトウェアRAIDで障害が発生したドライブを交換する方法について説明します。 効用。 mdadmで障害が発生したRAID6ドライブを交換するには :

  1. 問題を特定します。
  2. RAIDアレイから詳細を取得します。
  3. 障害のあるディスクをRAIDアレイから取り外します。
    1. マシンをシャットダウンし、ディスクを交換します。
    2. 新しいディスクをパーティション化します。
    3. 新しいディスクをRAIDアレイに追加します。
  4. リカバリを確認します。

例を見て、このプロセスを詳しく見ていきましょう。

問題を特定する

RAIDアレイ内で障害が発生しているディスクを特定するには、次のコマンドを実行します。

[root@server loc]# cat /proc/mdadm 

または:

[root@server loc]# mdadm -–query -–detail /dev/md2

障害のあるディスクは、障害として表示されます。 または削除 。例:

[root@server loc]# mdadm -–query -–detail /dev/md2 
/dev/md2: 
Version : 1.2 
Creation Time : Mon Jun 22 08:47:09 2015 
Raid Level : raid6 
Array Size : 5819252736 (5549.67 GiB 5958.91 GB) 
Used Dev Size : 2909626368 (2774.84 GiB 2979.46 GB) 
Raid Devices : 4 
Total Devices : 4 
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Mon Oct 15 11:55:06 2018 
State : clean, degraded, recovering 
Active Devices : 3 
Working Devices : 4 
Failed Devices : 0 
Spare Devices : 1

Layout : left-symmetric 
Chunk Size : 512K

Consistency Policy : bitmap

Rebuild Status : 3% complete

Name : localhost.localdomain:2 
UUID : 54404ab5:4450e4f3:aba6c1fb:93a4087e 
Events : 1046292

Number Major Minor Raid  Device  State 
0           0        0        0                   removed 
1           8        36      1      active    sync /dev/sdc4 
2           8        52      2      active    sync /dev/sdd4 
3           8        68      3      active    sync /dev/sde4 

RAIDアレイから詳細を取得

RAIDアレイの状態を調べて、RAID内のディスクの状態を特定するには:

[root@server loc]# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md2 : active raid6 sdb4[4](F) sdd4[2] sdc4[1] sde4[3]
5819252736 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/3] [_UUU] 
[>………………..] recovery = 3.4% (100650992/2909626368) finish=471.5min speed=99278K/sec 
bitmap: 2/22 pages [8KB], 65536KB chunk

unused devices: <none>

ご覧のとおり、デバイス/dev/sdb4 RAIDで失敗しました。

障害が発生したディスクが/dev/sdb4であることが確認されたため (このサーバーの場合)、smartctlを使用してディスクのシリアル番号を取得する必要があります :

[root@server loc]# smartctl -–all /dev/sdb | grep -i 'Serial'

ディスクの物理ラベルに従って、サーバーから削除するディスクを知る必要があるため、上記のコマンドは重要です。

障害のあるディスクをRAIDアレイから削除します

アレイから障害のあるディスクを削除して、アレイが一貫した状態を維持し、次のようにすべての変更を認識できるようにすることが重要です。

[root@server loc]# mdadm -–manage /dev/md2 -–remove /dev/sdb4

削除が成功すると、次のようなメッセージが返されます:

[root@server loc]# mdadm: hot removed /dev/sdb4 from /dev/md2 

/proc/mdstatの状態を確認してください もう一度:

[root@server loc]# cat /proc/mdstat 

/dev/sdb4が表示されます 表示されなくなります。

マシンをシャットダウンしてディスクを交換します

次に、システムをシャットダウンして、障害のあるディスクを新しいディスクと交換しますが、システムをシャットダウンする前に、/dev/md2にコメントしてください。 /etc/fstabから ファイル。以下の例を参照してください:

[root@server loc]# cat /etc/fstab

# 
# /etc/fstab 
# Created by anaconda on Fri May 20 13:12:25 2016 
# 
# Accessible filesystems, by reference, are maintained under ‘/dev/disk’ 
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info 
# 
/dev/mapper/centos-root / xfs defaults 0 0 
UUID=1300b86d-2638-4a9f-b366-c5e67e9ffa4e /boot xfs defaults 0 0 
#/dev/mapper/centos-home /home xfs defaults 0 0 
/dev/mapper/centos-swap swap swap defaults 0 0 
#/dev/md2 /var/loc xfs defaults 0 0

新しいディスクをパーティション分割する

RAIDアレイ内には他の作業ディスクがあるため、作業ディスクのパーティションスキーマを新しいディスクにコピーするのは簡単で便利です。このタスクは、sgdiskを使用して実行されます gdiskによって提供されるユーティリティ パッケージ。

gdiskをインストールします このように(ディストリビューションに合わせてこのコマンドを調整します):

[root@server loc]# yum install gdisk

gdiskを使用する 、最初に-Rを渡します オプション(Replicateの略)。作業ディスクのパーティションスキーマを複製するようにしてください。正しい順序のディスクを使用して、作業中のディスクから新しいディスクにパーティションスキーマを複製することが重要です。私たちの状況では、新しいディスクには/dev/sdbがあります 動作中のディスクは/dev/sdcです。 、/dev/sdd/dev/sde

次に、作業ディスクのパーティションスキーマを複製します(たとえば、/dev/sdc )新しいディスク/dev/sdbに 、次のコマンドが必要です:

[root@server loc]# sgdisk -R /dev/sdb /dev/sdc

GUIDが他のドライブと競合しないようにするには、次を使用して新しいドライブのGUIDをランダム化する必要があります。

[root@server loc]# sgdisk -G /dev/sdb 
The operation has completed successfully. 

次に、partedを使用して/dev/sdbの出力を確認します ユーティリティ:

[root@server loc]# parted /dev/sdb print

新しいディスクをRAIDアレイに追加します


新しいドライブへのパーティションスキーマのレプリケーションが完了したら、ドライブをRAIDアレイに追加できます。

[root@server loc]# mdadm -–manage /dev/md2 -–add /dev/sdb4
mdadm: added /dev/sdb4 

リカバリを確認する

RAIDリカバリを確認するには、次を使用します。

[root@server loc]# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md2 : active raid6 sdb4[4] sdd4[2] sdc4[1] sde4[3] 
5819252736 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/3] [_UUU] 
[==>………………] recovery = 12.2% (357590568/2909626368) finish=424.1min speed=100283K/sec 
bitmap: 0/22 pages [0KB], 65536KB chunk

unused devices: <none>

または:

[root@server loc]# mdadm -–query -–detail /dev/md2 
/dev/md2: 
Version : 1.2 
Creation Time : Mon Jun 22 08:47:09 2015 
Raid Level : raid6 
Array Size : 5819252736 (5549.67 GiB 5958.91 GB) 
Used Dev Size : 2909626368 (2774.84 GiB 2979.46 GB) 
Raid Devices : 4 
Total Devices : 4 
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Mon Oct 15 12:37:37 2018 
State : clean, degraded, recovering 
Active Devices : 3 
Working Devices : 4 
Failed Devices : 0 
Spare Devices : 1

Layout : left-symmetric 
Chunk Size : 512K

Consistency Policy : bitmap

Rebuild Status : 12% complete

Name : localhost.localdomain:2 
UUID : 54404ab5:4450e4f3:aba6c1fb:93a4087e 
Events : 1046749

Number Major  Minor  Raid  Device  State 
          4        8       20      0   spare   rebuilding /dev/sdb4 
          1        8       36      1   active   sync /dev/sdc4 
          2        8       52      2   active   sync /dev/sdd4 
          3        8       68      3   active   sync /dev/sde4

上記の出力から、/dev/sdb4であることがわかります。 は再構築中であり、4つの動作中のアクティブなデバイスが利用可能です。合計ディスクサイズとディスクタイプ(従来型またはソリッドステート)によっては、再構築プロセスに時間がかかる場合があります。

祝う

これで、障害が発生したRAID6ドライブをmdadmに正常に置き換えることができました。 。うまくいけば、これを行う必要はありませんが、ハードウェアは失敗します。 RAID 6を使用している場合、最終的には発生する可能性があります。可能であれば、ラボをセットアップし、RAID 6を強制的に失敗させてから、リカバリします。問題に対処する方法を知っていると、考えられないことが起こったときの経験がはるかにストレスが少なくなります。


Linux
  1. デスクトップインストーラーを使用してRAID1でUbuntu14.04をどのようにTonstallしますか?

  2. mdadm:コマンドが見つかりません

  3. シンプルな mdadm RAID 1 がスペアをアクティブにしない

  1. Linuxでduを使用して使用済みディスク容量を確認する

  2. ディスク/ディスクコピーを遅くする

  3. KVM を使用してオンラインでディスクのサイズを変更できますか?

  1. LinuxでGNUPartedを使用してドライブをパーティション分割する

  2. ハードウェアRAIDコントローラの背後にあるハードディスク情報?

  3. Gptパーティショニングを使用したMdadmRAIDの実装?