絖綛 N@i.jp  昨日:00011278
 今日:00000457
 総計:01740233
keywords
管理者専用
  Post   Add link   Control Panel 































新しいトピック
最新:11/14 16:41


新しいコメント
最新:07/28 16:47






管理人へMAIL

プライバシーポリシー

USBメモリでRAID 5を構築・USBメモリの増設方法

タイムセールしてたので・・・


 USBメモリを追加して4本でRAID 5構成にしてみます。追加するUSBメモリは、現在使用しているUSBメモリの容量と同じか大きい物である必要があります。既に外付けUSBハブのポートに空きはありませんが、Raspberry Pi 3本体のUSBポートには2ポート空いていますので、ここにUSBメモリを追加してみます。追加したUSBメモリは、今回も同じTranscendの64GB USB3メモリTS64GJF710SP。(Amazonタイムセールに、ついついポチッとしてしまいました ^^;)

 因に"/boot/config.txt"には、USBバスへの電流供給を増やす設定(max_usb_current=1)はしてありません。(Raspberry Pi 3では、この設定をしても無効だとの情報もあり)もしかしたらACアダプタの供給電力が不足して動作が不安定になるかもしれませんが、取り合えずこのままで試してみましょう。
 大まかな手順は以下のようになります。

  1. パーティションの作成、デバイス名固定
  2. RAIDアレイへの追加
  3. RAIDアレイの拡張
  4. ファイルシステムの領域拡張
  5. ストライドとストライプ幅の最適化
  6. 確認のため再起動

1. パーティションの作成、デバイス名固定

 Raspberry Pi 3本体のUSBポートにTS64GJF710SPを挿すと、/dev/sddが現われました。先ずパーティションを作成しなおし、デバイス名を固定します。パーティション作成、udevによるデバイス名固定までは同じ手順です。

# fdisk -l /dev/sdd

Disk /dev/sdd: 58.9 GiB, 63199772672 bytes, 123437056 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start       End   Sectors  Size Id Type
/dev/sdd1        2048 123437055 123435008 58.9G fd Linux raid autodetect

# ls -l /dev/usbmd*
lrwxrwxrwx 1 root root 3  8月 13 11:06 /dev/usbmd -> sdd
lrwxrwxrwx 1 root root 4  8月 13 11:06 /dev/usbmd1 -> sdd1

これをRAIDアレイに追加します。

2.RAIDアレイへの追加

# umount /media                              ※念のため作業中は一旦RAIDアレイをアンマウントしておく
# mdadm --manage /dev/md0 --add /dev/usbmd1  ※新しいUSBメモリデバイスを追加する
# mdadm --misc --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sat Jul 30 11:24:03 2016
     Raid Level : raid5
     Array Size : 123369472 (117.65 GiB 126.33 GB)
  Used Dev Size : 61684736 (58.83 GiB 63.17 GB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Sat Aug 13 11:10:45 2016
          State : clean
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 256K

           Name : RaspberryPi3:0  (local to host RaspberryPi3)
           UUID : c26559b7:abb329b4:1960d0d5:7b9c8287
         Events : 90

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       17        1      active sync   /dev/sdb1
       3       8        1        2      active sync   /dev/sda1

       4       8       48        -      spare   /dev/sdd1

 スペアとして追加されてますね。

3. RAIDアレイの拡張

# mdadm --grow /dev/md0 --raid-disks=4    ※構成ディスク数を4に増やし、拡張する
# mdadm --misc --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sat Jul 30 11:24:03 2016
     Raid Level : raid5
     Array Size : 123369472 (117.65 GiB 126.33 GB)
  Used Dev Size : 61684736 (58.83 GiB 63.17 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Sat Aug 13 11:12:34 2016
          State : clean, reshaping
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 256K

 Reshape Status : 0% complete
  Delta Devices : 1, (3->4)

           Name : RaspberryPi3:0  (local to host RaspberryPi3)
           UUID : c26559b7:abb329b4:1960d0d5:7b9c8287
         Events : 104

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       17        1      active sync   /dev/sdb1
       3       8        1        2      active sync   /dev/sda1
       4       8       49        3      active sync   /dev/sdd1
# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd[4] sdc1[0] sda1[3] sdb1[1]
      123369472 blocks super 1.2 level 5, 256k chunk, algorithm 2 [4/4] [UUUU]
      [>....................]  reshape =  0.3% (205808/61684736) finish=234.7min speed=4363K/sec

unused devices: <none>

 RAIDに組み込まれ、RAIDアレイの再構成が始まりました。構成に234分かかると言うので、速度制限を上げてみます。

# cat /proc/sys/dev/raid/speed_limit_min
1000
# cat /proc/sys/dev/raid/speed_limit_max
200000
# echo 500000 >/proc/sys/dev/raid/speed_limit_min
# echo 500000 >/proc/sys/dev/raid/speed_limit_max

 すると、残り時間が180分くらいになりましたが、値を大きくしたからと言って極端に短くなるわけではないようです。 仕方ないので放置して昼寝でもしながら待ちます。完了した状態は、このようになります。

# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd1[4] sdc1[0] sda1[3] sdb1[1]
      185054208 blocks super 1.2 level 5, 256k chunk, algorithm 2 [4/4] [UUUU]

unused devices: <none>

 RAID構成情報("/etc/mdadm/mdadm.conf")は更新する必要がない様子です。見てのとおり全く変わっていません。

# mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 name=RaspberryPi3:0 UUID=c26559b7:abb329b4:1960d0d5:7b9c8287
# tail -1 /etc/mdadm/mdadm.conf
ARRAY /dev/md0 metadata=1.2 name=RaspberryPi3:0 UUID=c26559b7:abb329b4:1960d0d5:7b9c8287

4. ファイルシステムの領域拡張

 ext4ファイルシステムのサイズを拡張します。

# resize2fs /dev/md0
resize2fs 1.42.12 (29-Aug-2014)
Please run 'e2fsck -f /dev/md0' first.

ん?先にfsckしろだと?まぁやってみますか。

# e2fsck -f /dev/md0
e2fsck 1.42.12 (29-Aug-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/md0: 97/7716864 files (1.0% non-contiguous), 11404668/30842368 blocks
# resize2fs /dev/md0
resize2fs 1.42.12 (29-Aug-2014)
Resizing the filesystem on /dev/md0 to 46263552 (4k) blocks.
The filesystem on /dev/md0 is now 46263552 (4k) blocks long.

5. ストライドとストライプ幅の最適化

拡張できたっぽいので、ストライドとストライプ幅を最適化します。

# tune2fs -E stride=64,stripe-width=192 /dev/md0
tune2fs 1.42.12 (29-Aug-2014)
Setting stride size to 64
Setting stripe width to 192

UUIDが変わっていない事を確認して、マウントします。

# tune2fs -l /dev/md0 | grep UUID
Filesystem UUID:          f8b8beba-56e0-4f91-a717-8f2bc7459453    ※UUIDも変わっていない
# mount /media
# df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/md0         174G   42G  124G   26% /media

6. 確認のため再起動

 RAIDアレイ構成とファイルシステムサイズが拡張されたので、再起動しても大丈夫か試してみます。reboot後、以下を確認。

# df -h
# cat /proc/mdstat
# mdadm --misc --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sat Jul 30 11:24:03 2016
     Raid Level : raid5
     Array Size : 185054208 (176.48 GiB 189.50 GB)
  Used Dev Size : 61684736 (58.83 GiB 63.17 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Sat Aug 13 20:10:25 2016
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 256K

           Name : RaspberryPi3:0  (local to host RaspberryPi3)
           UUID : c26559b7:abb329b4:1960d0d5:7b9c8287
         Events : 927

    Number   Major   Minor   RaidDevice State
       0       8       49        0      active sync   /dev/sdd1
       1       8       33        1      active sync   /dev/sdc1
       3       8       17        2      active sync   /dev/sdb1
       4       8        1        3      active sync   /dev/sda1

問題ない様子ですので、以上で作業は完了。
 因に再起動すれば、速度制限("/proc/sys/dev/raid/speed_limit_min", "/proc/sys/dev/raid/speed_limit_max")はリセットされます。


< 過去の記事 [ 8月の 全てのカテゴリ リスト ] 新しい記事 >

2016 calendar
8月
123456
78910111213
14151617181920
21222324252627
28293031


掲示板
最新:08/15 17:19


GsBlog was developed by GUSTAV, Copyright(C) 2003, Web Application Factory All Rights Reserved.