購入した、I・Oデータ機器の1.0TBのUSBハードディスクを、towerに接続する。
目的は、towerを含む各マシンのバックアップと、ビデオ、サウンドなど、いろいろなマシンから使いたいファイルのネットワークストレージとして使うこと。
1TBあれば、これらの複合用途でもしばらくはもつだろう。
製品出荷時からFAT32でフォーマット済なので、とりあえず、rodemに接続して動作確認OK。
そして、いよいよtower(VAIO)に接続。
まず、USBデバイスを確認。
# lsusb
Bus 001 Device 002: ID 04bb:0121 I-O Data Device, Inc.
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
USBディスクはSCSIとして認識されるので、SCSIデバイスとしても確認。
# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: I-O DATA Model: HDCS-U Rev:
Type: Direct-Access ANSI SCSI revision: 02
さらに、dmesgでsda1として認識されていることを確認。
# dmesg
USB Mass Storage support registered.
Vendor: I-O DATA Model: HDCS-U Rev:
Type: Direct-Access ANSI SCSI revision: 02
SCSI device sda: 1953525168 512-byte hdwr sectors (1000205 MB)
sda: Write Protect is off
sda: Mode Sense: 34 00 00 00
sda: assuming drive cache: write through
SCSI device sda: 1953525168 512-byte hdwr sectors (1000205 MB)
sda: Write Protect is off
sda: Mode Sense: 34 00 00 00
sda: assuming drive cache: write through
sda: sda1
sd 0:0:0:0: Attached scsi disk sda
usb-storage: device scan complete
sd 0:0:0:0: Attached scsi generic sg0 type 0
fdiskでFAT32領域を削除して、再度領域確保。
# fdisk /dev/sda
このディスクのシリンダ数は 121601 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)
コマンド (m でヘルプ): d
Selected partition 1
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-121601, default 1):
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-121601, default
121601):
Using default value 121601
コマンド (m でヘルプ): p
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/sda1 1 121601 976760001 83 Linux
コマンド (m でヘルプ): w
領域テーブルは交換されました!
ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
そして、ext3にフォーマット。
# mke2fs -j -L usbhd1 /dev/sda1
実は、hashed b-treeによりディレクトリアクセスを高速化するdir_indexオプションをつけようと思ったが、すでに/etc/mke2fs.confのbase_fearuresにデフォルト設定として、記載されていた。
[defaults]
base_features = sparse_super,filetype,resize_inode,dir_index
blocksize = 4096
inode_ratio = 8192
容量が大きいだけあって、フォーマットには非常に時間がかかる。1TBで6時間弱。
マウントポイントを作成し、マウント。
# mkdir /mnt/usbhd
# mount /dev/sda1 /mnt/usbhd
# df
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
17775388 14836780 2021104 89% /
/dev/hda1 101086 24512 71355 26% /boot
tmpfs 127772 0 127772 0% /dev/shm
/dev/sda1 976521536 32 976521504 1% /mnt/usbhd
読み書きをテストした後に、fstabに記載して、起動時にマウントするようにする。
一旦、umountした後にmount -aでテスト。
# mount -t ext3 /dev/sda1 /mnt/usbhd
# vi /etc/fstab
LABEL=usbhd1 /mnt/usbhd ext3 defaults 0 2
起動時にマウントできるようになったら、ディレクトリ作成、およびアクセス権の設定をする。すべて、ディレクトリの所有者はnorにして、アクセス権を755にした。
次は、ネットワーク経由で使えるようにsambaを設定する。
mmfは誰でも読み出し可、norのみ書き込み可、backupはnor(とroot)のみが読み書き可とする。
/etc/samba/smb.confに以下を追加。
[mmf]
comment = MultiMedia Files
path = /mnt/usbhd/mmf
public = yes
writable = yes
printable = no
[backup]
comment = Backup
path = /mnt/usbhd/backup
public = no
writable = yes
しかし、実際動作させてみると、Sambaのパフォーマンスが低すぎる。パフォーマンスが低いと言うよりも、実際には負荷が大きすぎると言うべきだろうか。
一般的な使い方では、それほど問題にはならないだろうが、10GB以上のファイルがいくつもあるという、僕の環境の場合、それ一つのコピーで3時間近くかかってしまう。
どうするか悩んだが、とりあえずは、最初の方針どおり、1TBのディスクを、towerに接続して、運用してみるすることにする。
様子を見て、rodemに1TBのディスクを接続し必要に応じてON/OF、towerでは80G程度のディスクを使うという手もありかもしれない。