備忘録のため,内容の正当性については責任を持ちません。

corega の RAID 対応ハードディスクケースを購入したので,CentOS 5.5 上の VirtualBox で FreeNAS 7 を走らせて,RAID1 の NAS を構築した。

corega CG-HDC4EU3500



材料

今回調達した機材は次のとおり。

ちなみに,このケースに上記の HDD を 2 個セットし,ワットチェッカーで消費電力を測定したところ,アイドル時で 12W くらいを示した。ベアボーンの方は,アイドル時で 30W 前後だった。


ファイルシステムの構築

今回は RAID1 (2 台のハードデイスクをミラーリング) を用いることにする。導入した HDD 2 台をケースに格納し,ケースの取説どおりに設定を行なってから,マシンとケースを eSATA ケーブルで接続する。

dmesg でデバイスを確認する。

# dmesg | grep SCSI
  :
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sdb: 3906928640 512-byte hdwr sectors (2000347 MB)
SCSI device sdb: drive cache: write through
SCSI device sdb: 3906928640 512-byte hdwr sectors (2000347 MB)
SCSI device sdb: drive cache: write through

2TB のディスクが sdb として認識されていることがわかる。

fdisk でハードデイスクのパーティションを構築する。今回は 2TB まるごと NAS として使う。

# fdisk /dev/sdb

このディスクのシリンダ数は 243195 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-243195, default 1):
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-243195, default 243195):
Using default value 243195

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

mkfs でファイルシステムを構築する。

# mkfs.ext3 /dev/sdb1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
244187136 inodes, 488365951 blocks
24418297 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
14904 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

VirtualBox でアクセス

VirtualBox のゲスト OS から raw デバイス (/dev/sdb1) に直接アクセスするための設定を行なう。

まず,一般ユーザでも sdb1 を読み書きできるようにする。

# chmod a+rw /dev/sdb1

VirtualBox を実行するユーザ (USERNAME) の権限で,ディスクを作成する。

# su USERNAME
$ cd ~/.VirtualBox/HardDisks/
$ VBoxManage internalcommands createrawvmdk -filename nas.vmdk -rawdisk /dev/sdb1

あとは VirtualBox の「ストレージ」設定で nas.vmdk を指定すれば良い。今回はデータのみ RAID1 ドライブ上に格納するようにする。

「ストレージ」設定

最後に FreeNAS でディスクをフォーマットする。ホストの CentOS からも読み書きできるフォーマット (ext3 や FAT32) にしたかったが,うまく動かなかったのでデフォルトの UFS を使うことにした。

以上で RAID1 の NAS が構築できた。

参考ページ

コメント

コメントする




CAPTCHA