新年明けましておめでとうございます。ちょうど一年前のこの時期もPC周りの整理をしていたように記憶しているのですが、今年も同じようにして年末年始、PC関連の整理をしてのんびり過ごしています。
一昨年末に自作した NAS 用マシン は昨年一年間、本当に活躍してくれました。このマシンがひとつあるだけで随分とデータ管理が楽になったように感じます。この FreeBSD ZFS Raid-Z で構成された NAS 用マシンのデータのバックアップは、今までは家にあった余ったHDDに分割して行っていました。しかし、NASに保存されたデータの量も増えてきたことですし、今回年末年始にあたり大容量HDDを新規で導入して、一箇所にまとめてバックアップを作成しておこうと思いました。現段階でこのNASは 10TB ほどある容量のうち 4TB ほど消費しています。
今回購入してみたのは、Ratoc Systems の RAID ケース (HDD 2台用, RS-EC32-U3R) と Seagate 3.5inch HDD 3.0TB (7200rpm, 64MB Cache, SATA3.0, ST3000DM001) x2 です。大阪日本橋の TWOTOP というお店にて合計3万円ほどでした。
はじめ HDD は WD Green 3TB にしようと思ったのですが、TWOTOP の店員さんに WD Green は非推奨であることを強調され、思い直し Seagate 3TB にしました。帰宅後 RATOC Systems の 2TBオーバーハードディスク対応状況 を確認してみると、「WD30EZRSなどAdvanced Format Technologyを採用したHDDは、最新のファームウェアで対応しています」とあるので、型番によれば注意が必要なものの、WD Green 3TB でも動作自体は一応問題はないようです。しかし WD Green はいずれにせよ、あまり RAID 構成やサーバー用途には向かないというのが定説のようです。
筐体はかなりコンパクトで高さはちょうどスマホと同じくらいです。
動作モードは SINGLE・JBOS・RAID1・RAID0 から選択できます。私は NAS データ (4TBほど) のバックアップをまとめて取りたかったので、RAID 0 構成 (3TBx2=6TB) にしました。Windows や Mac から利用できる RAID監視マネージャー を利用して RAID の作成・監視が可能なようですが、私は今回は FreeBSD (9.1-RELEASE-p7) のサーバー機に接続しますので、背面の「動作モード選択」ボタンを利用しました。これでも特に問題はないようです。
諸設定
xHCI 動作モード
この NAS 用マシンの M/B (ASUS P8H77-I) には USB3.0 ポートが 4つありますが (2x バックパネル / 1x 基板上コネクタ, ケースは NODE-304-BL を使用)、今まで利用する機会はありませんでした。今回購入したRAIDケース RS-EC32-U3R は USB3.0 対応ですので、これを有効活用するため BIOS で「xHCI 動作モード」を「有効」にしておきました。
usbconfig
usbconfig
を実行して RS-EC32-U3R の USB3.0 ポートへの接続を確認しました。「ugen0.2」のところが「spd=SUPER (5.0Gbps)」(USB3.0 の理論値) で認識されていることが確認できました。
# usbconfig list ugen0.1: <XHCI root HUB 0x8086> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE ugen1.1: <EHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE ugen2.1: <EHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE ugen1.2: <product 0x0024 vendor 0x8087> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE ugen2.2: <product 0x0024 vendor 0x8087> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE ugen0.2: <RS-EC32-U3R Ratoc Systems> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON ugen2.3: <Gaming Mouse G400 Logitech> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON ugen2.4: <product 0x005a vendor 0x0409> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE ugen2.5: <HHKB Professional Topre Corporation> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
デバイスの詳細は以下の様になっています。
# usbconfig -d 0.2 dump_device_desc ugen0.2: <RS-EC32-U3R Ratoc Systems> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0300 bDeviceClass = 0x0000 bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0009 idVendor = 0x0584 idProduct = 0x0270 bcdDevice = 0x0001 iManufacturer = 0x0001 <Ratoc Systems> iProduct = 0x0002 <RS-EC32-U3R> iSerialNumber = 0x0003 <xxxxxxxxxxxxxxxxx> bNumConfigurations = 0x0001
zfs mount
まず、デバイス名を確認しておきました。
# dmesg | fgrep MB da0: 400.000MB/s transfers da0: 5723176MB (11721066304 512 byte sectors: 255H 63S/T 729602C)
/dev/da0
に ZFS のファイルシステムを作成し /backup
にマウントします。
# dd if=/dev/zero of=/dev/da0 bs=1m count=128 # zpool create zbackup /dev/da0 # zfs set mountpoint=/backup zbackup
mountpoint
プロパティーが legacy
に設定されていないデータセットは、すべて ZFS によって管理されるようです。
# zfs get mountpoint zbackup NAME PROPERTY VALUE SOURCE zbackup mountpoint /backup local # zfs get mounted zbackup NAME PROPERTY VALUE SOURCE zbackup mounted yes -
このあたりのことについては、詳しくは以下のページが参考になります。
diskinfo
せっかくなのでディスクの性能を見るため diskinfo
を実行してみました。
# diskinfo -t /dev/da0 /dev/da0 512 # sectorsize 6001185947648 # mediasize in bytes (5.5T) 11721066304 # mediasize in sectors 4096 # stripesize 0 # stripeoffset 729602 # Cylinders according to firmware. 255 # Heads according to firmware. 63 # Sectors according to firmware. 131111430380 # Disk ident. Seek times: Full stroke: 250 iter in 5.833789 sec = 23.335 msec Half stroke: 250 iter in 4.776705 sec = 19.107 msec Quarter stroke: 500 iter in 7.185179 sec = 14.370 msec Short forward: 400 iter in 2.332070 sec = 5.830 msec Short backward: 400 iter in 2.011065 sec = 5.028 msec Seq outer: 2048 iter in 0.877451 sec = 0.428 msec Seq inner: 2048 iter in 0.813830 sec = 0.397 msec Transfer rates: outside: 102400 kbytes in 0.576538 sec = 177612 kbytes/sec middle: 102400 kbytes in 0.582452 sec = 175808 kbytes/sec inside: 102400 kbytes in 0.578030 sec = 177153 kbytes/sec
Ratoc Systems の 公式サイト を見る限りもっとよい数字が出るようですが、しかしひとまず NAS データのバックアップ用外部ディスクの速度としては十分だと思います。
backup
さて、最後に rsync
を利用して /storage
を /backup
にミラーします。
$ rsync -av /storage/ /backup/
ついでに、FreeBSD フルシステムバックアップ もこの外部ディスクに保存しておくことにします。zroot のファイルシステムすべてのスナップショットを取り、先ほど作成した /backup
に圧縮して (gzip
) 送ります。
# zfs snapshot -r zroot@backup # zfs send -Rv zroot@backup | gzip > /backup/full-system-backup.zfs.gz # zfs destroy -r zroot@backup
samba
これもついでなので、このバックアップディスク自体も Samba で共有してネットワーク経由で利用できるようにしておきたいと思います。Mac と Windows からアクセス できるようにするため /usr/local/etc/smb.conf
に以下を追加しました。
[backup] path = /backup public = yes guest = ok writable = yes printable = no create mask = 0777 directory mask = 0777
samba
を再スタートします。
# /usr/local/etc/rc.d/samba restart
クライアントの Windows 8 マシン (Windows 8.1 Pro, 64bit) からネットワーク経由でこのバックアップ用ディスクにアクセスして、そのベンチマーク (CrystalDiskMark) をとってみました。
サーバーマシンとの接続自体は USB 3.0 ですが、クライアント・サーバー間はギガハブ経由なので、シーケンシャルでこの辺りの値がでていれば、ほぼ目一杯の数値がでていると言えるでしょうか。NAS としても十分優秀です。
こうしてブログ記事を作成しているいま、隣のNAS用マシンではまだコピーが進行中です。データは4TBほどあるのでもう少し時間がかかりそうです。今までいくつかにバックアップを分けていたので、一箇所にバックアップがまとめられ、これで気分的にもスッキリしました。