前回の続きです。

元々3TB×2台のLANDISKに対して、前回は壊れたHDDを6TBに変更しました。

もちろん、RAID1ですから少ないほうの容量に合わせて3TBとして利用していました。

今回、もう片方のHDDも6TBに変更して6TBのRAID1にしましたので、その手順を紹介します。

前回同様にまねする場合は自己責任でお願いします。なお、今回紹介する手順をRAID0のものに適用してしまうと一貫の終わりなので気を付けてください。

HDDを取り出しLinuxに接続する

新しく買った6TBのHDDを接続する前に、既存の6TBのHDDのパーティション拡張などを行います。

まずLANDISKを停止し、6TBと3TBのHDDを取り出します。3TBのHDDは何かあった時のために取り出してそっとしておきます。

6TBのHDDをLinuxにつないでパーティション拡張を行うのですが、今回は、SATAのHDDをUSB接続できるキットを用いてパソコン(Windows)につなぎ、Hyper-Vを通してCentOS 7に接続することにしました。

CentOS 7はこちらの記事などを参考にインストールしておいてください。

まずWindows上でHDDをオフラインにします。「ディスクの管理」を開いて、赤枠の部分で右クリックして出てくるメニューから「オフライン」を選択します。

次にHyper-Vマネージャーを開きます。HDDを追加するCentOSは起動しておいてください。

該当のCentOSの「設定」を開きます。SCSIコントローラーにて「ハードドライブ」を選らび「追加」をクリックします。

「物理ハードディスク」を選んでプルダウンから該当のHDDを選択後、「OK」をクリックします

これでHDDを接続することができました。

パーティション拡張する

次に、パーティション拡張をします。mdadminがない場合はyumでインストールしておきます。

#yum install mdadm

私の環境では、今回接続したHDDは/dev/sdc で認識されているようでした。以下、必要に応じて読み替えてください。
RAID構成を確認します。

# cat /proc/mdstat
Personalities : [raid1] 
md124 : inactive sdc6[2](S)
      2925941076 blocks super 1.0
       
md125 : inactive sdc1[1](S) sdb1[0](S)
      1048448 blocks
       
md126 : inactive sdc2[1](S) sdb2[0](S)
      2097024 blocks
       
md127 : inactive sdc5[1](S) sdb5[0](S)
      1048448 blocks

unused devices: <none>

一番大きなsdc6(md124)がデータ領域なので、これをactiveにします。

# mdadm --run /dev/md124
mdadm: started array /dev/md/6_0

# cat /proc/mdstat
Personalities : [raid1] 
md124 : active (auto-read-only) raid1 sdc6[2]
      2925941012 blocks super 1.0 [2/1] [_U]
      
md125 : inactive sdc1[1](S) sdb1[0](S)
      1048448 blocks
       
md126 : inactive sdc2[1](S) sdb2[0](S)
      2097024 blocks
       
md127 : inactive sdc5[1](S) sdb5[0](S)
      1048448 blocks
       
unused devices: <none>

activeになりました。マウントして中身を見てみます。

# mkdir /mnt/test
# mount /dev/md124 /mnt/test
# ls /mnt/test
AppleDB        dlna  model                  raps         share
Program Files  dms   nasdsync_download_tmp  remotelink2

ディスクの中身が覗けるようになりました。
この状態でdfをすると、

# df -hT
ファイルシス            タイプ   サイズ  使用  残り 使用% マウント位置
・・・
/dev/md124              xfs        2.8T  2.3T  472G   84% /mnt/test

と、容量は2.8TBとなっていることが確認できます。
拡張前のArray Sizeを確認しておきます。

# mdadm --detail /dev/md124
/dev/md124:
           Version : 1.0
     Creation Time : Sat Nov 15 14:42:28 2014
        Raid Level : raid1
        Array Size : 2925941076 (2790.39 GiB 2996.16 GB)
     Used Dev Size : 2925941076 (2790.39 GiB 2996.16 GB)
      Raid Devices : 2
     Total Devices : 1
       Persistence : Superblock is persistent

       Update Time : Thu Jun 13 07:52:41 2019
             State : clean, degraded 
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : 6
              UUID : dd133c5b:542fbd1b:dc7d7889:1cc6db99
            Events : 450647

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       2       8       38        1      active sync   /dev/sdc6

「Array Size : 2925941076 (2790.39 GiB 2996.16 GB)」でした。
いよいよ容量拡張します。

# parted /dev/sdc
GNU Parted 3.1
/dev/sdc を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) unit s
(parted) print
モデル: External USB 3.0 (scsi)
ディスク /dev/sdc: 11721045168s
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始      終了         サイズ       ファイルシステム  名前     フラグ
 1    40s       1048623s     1048584s     ext3              primary
 2    1048624s  3145783s     2097160s                       primary
 3    3145784s  7340095s     4194312s     linux-swap(v1)    primary
 4    7340096s  7602247s     262152s                        primary
 5    7602248s  8650831s     1048584s                       primary
 6    8650832s  5860533127s  5851882296s  xfs               primary

(parted) rm 6
エラー: パーティション 6 (/dev/sdc 上)
できませんでした。おそらく、使用中だったのが原因だと思われます。そのため、古いパーティション情報がそのまま使われます。さらなる変更をする前に再起動してください。

エラーが出てしまいました。が、printしてみると、

(parted) print
番号  開始      終了      サイズ    ファイルシステム  名前     フラグ
 1    40s       1048623s  1048584s  ext3              primary
 2    1048624s  3145783s  2097160s                    primary
 3    3145784s  7340095s  4194312s  linux-swap(v1)    primary
 4    7340096s  7602247s  262152s                     primary
 5    7602248s  8650831s  1048584s                    primary

ちゃんと消えていますね。大丈夫そうなので続けます。

(parted) mkpart prmimary 8650832s 100%
警告: 操作の結果できるパーティションはアライメントが正しくないためにパフォーマンスがでません。
無視(I)/Ignore/取消(C)/Cancel? I

警告が出ましたが気にせず Ignoreしました。

(parted) print
モデル: External USB 3.0 (scsi)
ディスク /dev/sdc: 11721045168s
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始      終了          サイズ        ファイルシステム  名前     フラグ
 1    40s       1048623s      1048584s      ext3              primary
 2    1048624s  3145783s      2097160s                        primary
 3    3145784s  7340095s      4194312s      linux-swap(v1)    primary
 4    7340096s  7602247s      262152s                         primary
 5    7602248s  8650831s      1048584s                        primary
 6    8650832s  11721045134s  11712394303s  xfs               primary

パーティション拡張が成功しました。次にRAIDのサイズを変えます。

# mdadm --grow /dev/md124 -z max
mdadm: component size of /dev/md124 has been set to 5856197076K

増えました。次にファイルシステムの拡張を行います。

# xfs_growfs /dev/md124
meta-data=/dev/md124             isize=256    agcount=4, agsize=182871314 blks
         =                       sectsz=512   attr=2, projid32bit=0
         =                       crc=0        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=731485253, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=32768, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 731485253 to 1464049269

# df -h
ファイルシス            サイズ  使用  残り 使用% マウント位置
・・・
/dev/md124                5.5T  2.3T  3.2T   42% /mnt/test

しっかり容量が増えました。HDDを取り外します。

# umount /mnt/md124

Hyper-Vからの割り当ても削除しておきます。

パーティション拡張したHDDのみをLANDISKにセットして起動する

このHDDだけをLANDISKにセットし、起動します。

起動するとディスクエラーであり、全てのパーティションが壊れているというエラーが発生していました。(スクリーンショット撮り忘れ)

どうやら仕様で出てしまうみたいで、慌てず、容量が増えていることと、データ領域にアクセスできることを確認します。

新しいHDDもセットして起動する

確認出来たらいったんLANDISKをシャットダウンし、新しく買った6TBのHDDを空きポートにセットし、LANDISKを起動します。

ちゃんと起動できると、RAIDの再構築が始まります。(前回起動時に発生してたディスクエラーは解消されていました)

RAIDの再構築が完了したら作業完了です。空き容量が増えてうれしい限りです。