NAS 用マシンを自作してみる (12) —データの外部ドライブへのバックアップ—

新年明けましておめでとうございます。ちょうど一年前のこの時期も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 構成やサーバー用途には向かないというのが定説のようです。

筐体はかなりコンパクトで高さはちょうどスマホと同じくらいです。

ratoc_raid_01.png

動作モードは SINGLE・JBOS・RAID1・RAID0 から選択できます。私は NAS データ (4TBほど) のバックアップをまとめて取りたかったので、RAID 0 構成 (3TBx2=6TB) にしました。Windows や Mac から利用できる RAID監視マネージャー を利用して RAID の作成・監視が可能なようですが、私は今回は FreeBSD (9.1-RELEASE-p7) のサーバー機に接続しますので、背面の「動作モード選択」ボタンを利用しました。これでも特に問題はないようです。

ratoc_raid_02.png

諸設定

xHCI 動作モード

この NAS 用マシンの M/B (ASUS P8H77-I) には USB3.0 ポートが 4つありますが (2x バックパネル / 1x 基板上コネクタ, ケースは NODE-304-BL を使用)、今まで利用する機会はありませんでした。今回購入したRAIDケース RS-EC32-U3R は USB3.0 対応ですので、これを有効活用するため BIOS で「xHCI 動作モード」を「有効」にしておきました。

ratoc_raid_03.png

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) をとってみました。

ratoc_raid_04.png

サーバーマシンとの接続自体は USB 3.0 ですが、クライアント・サーバー間はギガハブ経由なので、シーケンシャルでこの辺りの値がでていれば、ほぼ目一杯の数値がでていると言えるでしょうか。NAS としても十分優秀です。

こうしてブログ記事を作成しているいま、隣のNAS用マシンではまだコピーが進行中です。データは4TBほどあるのでもう少し時間がかかりそうです。今までいくつかにバックアップを分けていたので、一箇所にバックアップがまとめられ、これで気分的にもスッキリしました。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください