Solaris10にUSB外付けハードディスクを付けてバックアップを取得する

おはようございます。インフラの宮下です。普段はクラウド中心なのですが、
solarisにUSBのHDDを付ける事があったのでその手順を紹介します。

環境:solaris10
機器:SPARC T2000
HDD:IOデータの500GB USBポータブルハードディスク

○1回目

あまり何も考えずにとりあえず接続してみました。messagesにログが出てきて認識されている事は
確認できます。

[shell]Apr 9 15:45:11 test-web21 usba: [ID 912658 kern.info] USB 2.10 device (usb4bb,152) operating at hi speed (USB 2.x) on USB 2.0 external hub: storage@1, scsa2usb2 at bus address 7
Apr 9 15:45:11 test-web usba: [ID 349649 kern.info] I-O DATA DEVICE, INC. HDPF-UT 000315C3C1900CEE
Apr 9 15:45:11 test-web genunix: [ID 936769 kern.info] scsa2usb2 is /pci@400/pci@2/pci@0/pci@f/pci@0/usb@0,2/hub@4/storage@1
Apr 9 15:45:11 test-web genunix: [ID 408114 kern.info] /pci@400/pci@2/pci@0/pci@f/pci@0/usb@0,2/hub@4/storage@1 (scsa2usb2) online
Apr 9 15:45:13 test-web scsi: [ID 583861 kern.info] sd5 at scsa2usb2: target 0 lun 0
Apr 9 15:45:13 test-web genunix: [ID 936769 kern.info] sd5 is /pci@400/pci@2/pci@0/pci@f/pci@0/usb@0,2/hub@4/storage@1/disk@0,0
Apr 9 15:45:13 test-web genunix: [ID 408114 kern.info] /pci@400/pci@2/pci@0/pci@f/pci@0/usb@0,2/hub@4/storage@1/disk@0,0 (sd5) online[/shell]

パーテション情報を確認すると残念ながらNTFSで、なんとsolarisは未対応の為フォーマットエラーになってしまいました。

[shell]# fdisk /dev/rdsk/c8t0d0s2

SELECT ONE OF THE FOLLOWING:

1. Create a partition
2. Specify the active partition
3. Delete a partition
4. Exit (update disk configuration and exit)
5. Cancel (exit without updating disk configuration)[/shell]

パーテションを作り直す為、NTFSのパーテションを削除(3)してsolaris2で作り直します(1)。

これでマウントできると思いきや、なぜかエラーが出て膠着状態に突入。
メッセージはもうマウント済みだと言っています。どうやらvolマネージャが頑張ってマウントを試みて
途中で失敗してしまっているので身動きできないみたいです。

[shell]# rmformat
デバイスを探しています…
3. Volmgt Node: /vol/dev/aliases/rmdisk0
Logical Node: /dev/rdsk/c8t0d0s2
Physical Node: /pci@400/pci@2/pci@0/pci@f/pci@0/usb@0,2/hub@4/storage@1/disk@0,0
Connected Device: I-O DATA HDPF-UT 5312
Device Type: Removable[/shell]

Volmgt Nodeが/vol/dev/aliases/rmdisk0となっていてsolaris的にはマウント済みだけど不明なファイルシステムの為、
正常に読み書きできない状態に陥りました。

○2回目

volマネージャは停止して手動で進めてみます。

[shell]# /etc/init.d/volmgt stop[/shell]

HDDを接続してログからデバイスを認識している所までは同じです。
[shell]# rmformat
3. Logical Node: /dev/rdsk/c8t0d0s2
Physical Node: /pci@400/pci@2/pci@0/pci@f/pci@0/usb@0,2/hub@4/storage@1/disk@0,0
Connected Device: I-O DATA HDPF-UT 5312
Device Type: Removable[/shell]

Volmgt Nodeがまだ無いので自動マウントは行われていない状態です。

UFSファイルシステムを作成します。
[shell]# newfs -f 4096 /dev/rdsk/c8t0d0s0[/shell]
※c8t0d0sXといいうデバイス名はログ情報から特定しています。
 c8t0d0s2やc8t0d0s0指定はoracleのドキュメントを見てなんとなく指定しています。
 UFSファイルシステムの作成は500GBだと約1時間程かかります。

それではマウントしてみます。
[shell]# mkdir /usb0
# /usr/sbin/mount /dev/dsk/c8t0d0s0 /usb0
# df -k /usb0
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
/dev/dsk/c8t0d0s0 480990732 4860508 471320320 2% /usb0[/shell]

無事mount出来ました。これで簡易的なバックアップ領域を確保できました。
本当はStrageGatewayとかも使ってみたいんですが、それは次回のお楽しみという事で。

○書き込み速度を比較してみる

USBのHDDとローカルのHDDでそれぞれ1GBのファイル作成して書き込み速度を比較してみます。

・USBのDISK
[shell]# time mkfile 1g file.dat

real 3:09.0
user 0.2
sys 2.3[/shell]

・ローカルのDISK
[shell]# time mkfile 1g file.dat

real 8.2
user 0.1
sys 2.0[/shell]

予想通り書き込み速度はかなり違います。時間制限のあるメンテナンスとかには使えそうにないですね…
今後の課題としては、

・電源をバスパワーでは無くAC電源供給のHDDにしたら少し改善できるか
・今回mountしたHDDを別のSolaris機につないだ時にきちんと認識できるのか

を検証したいと思います。

最後にvolmgtを起動するのは忘れずに実施しましょう。

[shell]# /etc/init.d/volmgt start[/shell]

おすすめ記事