※以下の手順はrootが必須です
※私が今回使用した8TBのディスクは
Seagate BarraCuda ST8000DM004 ですが
どのHDDでも同じ手順で動くと思います。
既にrootを取得している前提で手順を記載致します。
#パーティションの作成
- 電源を切ります。
- ドライブをイジェクトします。
- 新しい8TBのドライブに入れ替えて電源を入れます。
- ターミナルからログインし、rootになります。
- 以下のコマンドでパーティションを切ります。
cd /sbin
-- /dev/sda に対してのパーティション設定
./parted /dev/sda
mklabel gpt
yes
unit TB
-- 今回は8TBのディスクなので自分で8TBと入力している
mkpart primary 0.00TB 8.00TB
print
quit
-- /dev/sdb に対してのパーティション設定
./parted /dev/sdb
mklabel gpt
yes
unit TB
-- 今回は8TBのディスクなので自分で8TBと入力している
mkpart primary 0.00TB 8.00TB
print
quit
#raid1の作成
-- 以下のコマンドでraid1 を構成する。
./mdadm --create /dev/md0 --level=1 --chunk=128 --raid-devices=2 /dev/sda1 /dev/sdb1
-- ちなみにraid0 の場合には以下のコマンドで作成できると思う(未検証)
./mdadm --create /dev/md0 --level=0 --chunk=128 --raid-devices=2 /dev/sda1 /dev/sdb1
-- 以下のコマンドであとどれくらいで完了するのかを確認することができます。
watch cat /proc/mdstat
################ 実行結果例 ################
Every 2.0s: cat /proc/mdstat Sun Jun 20 15:10:45 2004
Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[1] sda1[0]
7814026412 blocks super 1.0 [2/2] [UU]
[=>...................] resync = ★5.5% (432168192/7814026412) finish=278.9min speed=184446K/sec★
ここで表示されている★5.5% (432168192/7814026412) finish=278.9min speed=184446K/sec★が重要な個所です。
上記例では現在5.5%が完了しており、ここり時間の目安は278.9分、毎秒184MB処理されているという表示になります。
※ただし、この時間は全くあてになりません。
ネット上の情報を見る限り1TBに付き、90分は必要なようです。
私も8TBで14時間くらいかかりました。
#ファイルシステムの作成と自動マウントの設定
-- ファイルシステムの作成
./mkfs.xfs /dev/md0
-- 念の為、普通にマウントできることを確認する
mount -t xfs /dev/md0 /home
-- 自動で/dev/md0がマウントされるように以下を設定しておく
-- /etc/fstab の以下の箇所をコメントアウトする
/dev/md0 /home xfs defaults,bsdgroups,noatime,nodiratime 0 0
-- raidの設定を保存
./mdadm -Q --detail --brief /dev/md0 > /etc/mdadm.conf
-- 再起動
./reboot
再起動し正常にマウントされていることを確認する
$ df -h
~中略
/dev/md0 7.3T 502M 7.3T 1% /home
/dev/md0 7.3T 502M 7.3T 1% /tmp
/dev/md0 7.3T 502M 7.3T 1% /var/cache/mt-daapd
-bash-3.2$
#元のディスクの内容を /home へ戻す
PCからネットワーク経由で戻しても良いのですが、
権限を再設定するのも手間なので、元のディスクはUSBで接続してしまい、
rsync -av で権限ごとコピーしてしまう方が作業量が少ないです。
ここではUSBでHDDを接続し、元に戻す手順について記載します。
-- ディレクトリの作成
cd
mkdir /mnt/temp_disk
-- マウント
mount -t xfs /dev/sdc1 /mnt/temp_disk
-- 念の為、危なそうなファイル名のファイルは消しておく
# rm /mnt/temp_disk/.swapfile
-- 元の場所に戻す
cd /mnt/temp_disk/
rsync -av ./* /home/
-- ↑ ちなみに私の環境では転送速度は実測 16MB/s 程度でした。
-- 元の2TBのHDDのデータを全て移動し終わるまでには、約45時間必要でした。
-- 再起動
./reboot
これで元に戻す手順は完了です。
再起動の完了後はネットワークからドライブが見えることを確認して下さい。
※storaの管理画面にログインし、何か操作すると
設定の上書きが行われる可能性があることにも注意して下さい。
余談ですがstoraはUSBのHDDも認識できるので、
rootを取っているのであれば、外付けのUSB raid1 箱などを追加して、
シンボリックリンクでパスを通してしまう方法も可能です。
このページの手順の場合4日近くかかってしまう為、
短期的な延命で良いのであれば、USB HDDの追加する方が良いと思います。