RMAで交換してもらったUSBメモリだが、RAIDに組み込めなかった → いや、できました!
後の製品ほど容量が少なくなっている?
先日RMAでの交換手続きをしたTranscendのUSBメモリだが、昨日無事に新しい物が届いた。早速、RAIDに組み込もうとしたのだが・・・ダメだった(;_;)。
新しいUSBメモリをハブに刺し、デバイスを見てみると、
# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 4月 25 18:59 /dev/sda
brw-rw---- 1 root disk 8, 1 4月 25 18:59 /dev/sda1
brw-rw---- 1 root disk 8, 32 4月 25 18:59 /dev/sdc
brw-rw---- 1 root disk 8, 33 4月 25 18:59 /dev/sdc1
brw-rw---- 1 root disk 8, 48 4月 25 18:59 /dev/sdd
brw-rw---- 1 root disk 8, 49 4月 25 18:59 /dev/sdd1
brw-rw---- 1 root disk 8, 64 8月 13 07:41 /dev/sde
brw-rw---- 1 root disk 8, 65 8月 13 07:41 /dev/sde1
# fdisk -l /dev/sde
Disk /dev/sde: 56.3 GiB, 60472426496 bytes, 118110208 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/sde1 192 118110207 118110016 56.3G c W95 FAT32 (LBA)
|
という具合に "/dev/sde" として追加された。そこで、これにRAID用パーティションを作ったところ、
# fdisk /dev/sde
Welcome to fdisk (util-linux 2.25.2).
〜略〜
First sector (2048-118110207, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-118110207, default 118110207):
Created a new partition 1 of type 'Linux' and of size 56.3 GiB.★以前よりもサイズが小さい!
〜略〜
|
以前にRMAで交換してもらったUSBメモリよりも容量が1.3GiB少ない。最初にRAID構築した際のUSBメモリと比べると2.6GiBも少なくなっている。USBメモリって後のものになると容量が少なくなるのか?
RAIDに組み込むためには、他のRAIDを構成している装置と同じかそれ以上の容量がなければならない筈。嫌な予感がしながらもRAIDに組み込ませようとしてみたが・・・
# mdadm --manage /dev/md0 --add /dev/usbmc1
mdadm: /dev/usbmc1 not large enough to join array
|
やっぱりダメだった(;_;)。
さて困ったぞ。どうしよう。考え得る手段としては、
- RAIDに保存されている内容をバックアップした後、RAID全体を再構築する
- 容量の大きいUSBメモリ(128GB)を購入する
- 他社の同容量(64GB)のUSBメモリを購入する
くらいか。結局のところUSBメモリでRAIDを構築するってのは、故障した時の事を考えると、あまり良くないかもしれないな。
第四の選択。ダメ元で少し悪あがきしてみることにした。もしかしたら余裕を持たせてパーティションを切ってあって、少し未使用領域があるかもしれない。それなら一旦初期化してしまえば容量が増えるかも?
と言うわけで、先ずはTranscend製のUSBメモリフォーマッタJetFlash Online Recoveryツールを試してみた。ところが、このツールはWindows版のみでMac版は無い。まぁウチにはWindows機もあるので大丈夫だけど。
その結果・・・
ダメじゃん(;_;)。これって不良品ってこと?
不良品なのか調べるため、様々なフォーマッタを使って、フォーマットだけでなく全域0書き込みテストなどやってみた。
- Windowsの「ディスク管理」でパーティションを削除した後、ボリューム再作成
→成功
- macOSの「ディスクユーティリティ」で消去。その際、全域0書き込みを実施
→成功
- Transcendの「SD Card Formatter」で上書きフォーマット
→これも問題なく成功
どうやら不良品というわけではなさそうだ。と、これだけやって、ふと気が付いたら容量が増えていた(以降はRaspberry Pi再起動後なので、デバイス名が "/dev/sdb" になっている)。
# fdisk -l /dev/sdb
Disk /dev/sdb: 58.9 GiB, 63216549888 bytes, 123469824 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: 0x2b2bec46
Device Boot Start End Sectors Size Id Type
/dev/sdb1 32768 123469823 123437056 58.9G 7 HPFS/NTFS/exFAT
|
どれが効いたのか分からないけど、これならRAIDに組み込めるはずだ。RAID用のパーティションに作り直して、
# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.25.2).
〜略〜
First sector (2048-123469823, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-123469823, default 123469823):
Created a new partition 1 of type Linux and of size 58.9 GiB.
〜略〜
|
USBメモリを再初期化するとデバイスのserialが変わってしまうようなので、serialを抽出してudebルールファイルを修正する。
# udevadm info -a -n /dev/sdb | grep serial
ATTRS{serial}=="3X7EVZ3NACA4XYTF"
ATTRS{serial}=="3f980000.usb"
# cd /etc/udev/rules.d/
# vi 99-usbmem.rules
KERNEL=="sd*", SUBSYSTEMS=="usb", ATTRS{serial}=="55WWWN4CFK04UUMU", SYMLINK+="usbma%n"
KERNEL=="sd*", SUBSYSTEMS=="usb", ATTRS{serial}=="55F61HE3NQYMG17D", SYMLINK+="usbmb%n"
KERNEL=="sd*", SUBSYSTEMS=="usb", ATTRS{serial}=="3X7EVZ3NACA4XYTF", SYMLINK+="usbmc%n"
KERNEL=="sd*", SUBSYSTEMS=="usb", ATTRS{serial}=="35X1O77QDI8K8UZ7", SYMLINK+="usbmd%n"
|
一旦、再起動した後、RAIDに組み込む。
# mdadm --manage /dev/md0 --add /dev/usbmc1
mdadm: added /dev/usbmc1
# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb1[5] sdd1[0] sda1[4] sdc1[1]
181094400 blocks super 1.2 level 5, 128k chunk, algorithm 2 [4/3] [UU_U]
[>....................] recovery = 1.5% (950048/60364800) finish=112.0min speed=8836K/sec
unused devices: <none>
|
無事にRAIDに組み込まれて、縮退状態からの再構築が始まった。ヨカッタ〜
[今回の教訓]
USBメモリを購入したら、そのまま使用せず、先ず初期化、フォーマットしてみること。製品によっては少し容量が増えるかもよ。
|