[Storage] RAID1のArrayにディスクを1本足した

SmartArrayにディスクを1本足したらどうなるんだろう?

今までに、例えばRAID60のボリュームにディスクを足してプールを拡張したりと言ったことはよくやっていた訳なんですが、果たしてRAID1で稼働しているArrayに対してディスクを足した場合、それがどうなるのか・・・と言うのを、今回( ゚∀゚)チョウドイイ!!機会だったんでやってみました。

環境

今回対象にした環境は2つなのですが、ログをちゃんととれたのは片方なのでその環境を。

サーバ前面(物理2台+エンクロージャ)

上の写真内最上段にある StorageWorks D2600 の12番ベイ(写真一番右下のスロット)に今回1TBのNL-SASディスクを搭載することにしました。元々このベイの上にある10番11番ベイに同等のディスクが装填されており、これがRAID1になっています。

このRAIDアレイは Array-F と名付けられています。コントローラは中段にあるDL360e Gen8に装填されている SmartArray P222 (FBWC 512MB Cache) です。このサーバ内にはVMware ESXiが導入されており、しかもHP Customized Imageでの導入を行ったため、ちゃんとアレイ設定ユーティリティが入っております。こちらを使ってアレイ拡張をやってみようかと。

では増設してみるであります

増設前の状態

増設前の状態はこんな感じです。Physicalドライブの状態です。

./ssacli ctrl slot=1 pd all show status

   physicaldrive 2I:1:1 (port 2I:box 1:bay 1, 450 GB): Predictive Failure
   physicaldrive 2I:1:2 (port 2I:box 1:bay 2, 450 GB): OK
   physicaldrive 2I:1:3 (port 2I:box 1:bay 3, 450 GB): OK
   physicaldrive 2I:1:4 (port 2I:box 1:bay 4, 450 GB): Predictive Failure
   physicaldrive 1E:1:4 (port 1E:box 1:bay 4, 250 GB): OK
   physicaldrive 1E:1:1 (port 1E:box 1:bay 1, 450 GB): OK
   physicaldrive 1E:1:2 (port 1E:box 1:bay 2, 450 GB): OK
   physicaldrive 1E:1:3 (port 1E:box 1:bay 3, 450 GB): Predictive Failure
   physicaldrive 1E:1:6 (port 1E:box 1:bay 6, 960 GB): OK
   physicaldrive 1E:1:7 (port 1E:box 1:bay 7, 300 GB): OK
   physicaldrive 1E:1:9 (port 1E:box 1:bay 9, 450 GB): OK
   physicaldrive 1E:1:10 (port 1E:box 1:bay 10, 1 TB): OK
   physicaldrive 1E:1:11 (port 1E:box 1:bay 11, 1 TB): OK
   physicaldrive 1E:1:12 (port 1E:box 1:bay 12, 1 TB): OK

ハイライトさせた箇所が増設ディスクになります。そしてアレイの状態は以下のように。

./ssacli ctrl slot=1 array all show detail


Smart Array P222 in Slot 1
      :
      :
     中略
      :
      :
   Array: F
      Interface Type: SAS
      Unused Space: 0  MB (0.0%)
      Used Space: 1.8 TB (100.0%)
      Status: OK
      MultiDomain Status: OK
      Array Type: Data
      SSD Smart Path: disable

増設コマンド投入

./ssacli ctrl slot=1 array F add drives=1E:1:12 forced

SSACLIの特性なんですが、アレイにディスクドライブを足すとき、末尾に「forced」を加える必要があります。うまくいけばプロンプト応答のみかえってきます。

増設後

早速アレイの状態を眺めてみる。

./ssacli ctrl slot=1 array all show detail

Smart Array P222 in Slot 1
      :
      :
     中略
      :
      :
   Array: F
      Interface Type: SAS
      Unused Space: 1430756  MB (50.0%)
      Used Space: 1.4 TB (50.0%)
      Status: OK
      MultiDomain Status: OK
      Array Type: Data
      SSD Smart Path: disable

微妙に表記が変わりました。それにしても1.4TB・・・??さらに論理ボリュームの状態を確認します。

./ssacli ctrl slot=1 ld all show detail

Smart Array P222 in Slot 1
      :
      :
     中略
      :
      :
   Array F

      Logical Drive: 6
         Size: 931.5 GB
         Fault Tolerance: 5
         Heads: 255
         Sectors Per Track: 32
         Cylinders: 65535
         Strip Size: 256 KB
         Full Stripe Size: 512 KB
         Status: Transforming, 0.13% complete
         MultiDomain Status: OK
         Caching:  Enabled
         Parity Initialization Status: In Progress
         Unique Identifier: 600508B1001CD4FDE9BDD8AA6F7F9954
         Logical Drive Label: 14143C72PDSXH0BRH5X1T22E84
         Drive Type: Data
         LD Acceleration Method: Controller Cache

容量に変化がないのですが、Statusを見るとTransformingと言う処理が走っているのが分かります。どうやらRAID1->RAID5への変換が行われているようです。

アレイに組み入れたことにより、ディスク3本->RAID5が最適と判断されたようです。さすがにRAIDレベルの変更処理なので、結構な時間がかかることが予想されます。恐らくはこれが完了した後、ボリュームのExpandコマンドを打ち込むことで領域が拡張されるんだろうと考えられます。

意外とやらないRAID変更

私の経験が浅いだけなのかもしれないんですが、RAIDの拡張をやることは結構あります。特に最近のストレージではプールという複数のアレイを合体させた概念が広く知られてることもあり、新たにアレイを構成してプール拡張をし、論理ボリュームを拡張すると言うのが比較的多いのかなと思います。

逆にRAIDレベルの変更はそれこそディスク内データの洗い替えに近いことを行うので、コントローラ負荷も高く、結構危険な行為であると言うことで、余り積極的にはやりません。と言うかやったことありません。

故に今回実施したRAID1アレイにディスク一本足したら即座にRAID5へ移行しようとすると言う特性は今回初めて知りました。インフラエンジニア17年、ストレージエンジニア4年やっていて初めての経験だったなぁと言うのは何ともこっぱずかしい・・・

とは言え、この操作自体がリスキーである上に、有無言わさずRAID変換処理が発生したことから、多分今後も仕事でやることはないでしょう・・・・・たぶん。