debianサーバでUSBHDD共有
NTFSフォーマットのUSBハードディスクを読み書きするためにいちいちWindowsPCを起動するのが面倒くさいので
debianサーバにつなげてネットワーク経由でみれるようにしたいと思います。
ソフトのインストール
$ sudo aptitude install ntfs-3g autofs
うちの環境ではusbmountで自動マウントを試みるも見事にできなかったのでautofsを使用しました。
あとsambaはインストール済みとします。
autofs設定
どのUSBハードディスクを挿しても/dev/sdc1とか固定で認識されてしまうのでuuidで識別することでハードディスクの一意性を確立します。
まず、USBハードディスクをdebianサーバに接続しdmesgコマンドでデバイスマッピングを確認します
$ dmesg [ 5263.826625] usb 5-8: USB disconnect, address 5 [ 5355.649069] usb 5-3: new high speed USB device using ehci_hcd and address 6 [ 5355.783049] usb 5-3: configuration #1 chosen from 1 choice [ 5355.792124] scsi5 : SCSI emulation for USB Mass Storage devices [ 5355.793967] usb-storage: device found at 6 [ 5355.793977] usb-storage: waiting for device to settle before scanning [ 5355.794235] usb 5-3: New USB device found, idVendor=152d, idProduct=2336 [ 5355.794318] usb 5-3: New USB device strings: Mfr=1, Product=2, SerialNumber=5 [ 5355.794385] usb 5-3: Product: JM20336 SATA, USB Combo [ 5355.794442] usb 5-3: Manufacturer: JMicron [ 5355.794497] usb 5-3: SerialNumber: 8DC88D10EAD8 [ 5360.798223] usb-storage: device scan complete [ 5360.799608] scsi 5:0:0:0: Direct-Access WDC WD10 EADS-00L5B1 PQ: 0 ANSI: 2 CCS [ 5360.802087] sd 5:0:0:0: [sdc] 3907050336 512-byte hardware sectors (2000410 MB) [ 5360.803291] sd 5:0:0:0: [sdc] Write Protect is off [ 5360.803340] sd 5:0:0:0: [sdc] Mode Sense: 00 38 00 00 [ 5360.803345] sd 5:0:0:0: [sdc] Assuming drive cache: write through [ 5360.804540] sd 5:0:0:0: [sdc] 3907050336 512-byte hardware sectors (2000410 MB) [ 5360.805394] sd 5:0:0:0: [sdc] Write Protect is off [ 5360.805449] sd 5:0:0:0: [sdc] Mode Sense: 00 38 00 00 [ 5360.805453] sd 5:0:0:0: [sdc] Assuming drive cache: write through [ 5360.805527] sdc: sdc1 [ 5360.818029] sd 5:0:0:0: [sdc] Attached SCSI disk
今回は/dev/sdc1にマッピングされていました。
次に/dev/sdc1のuuidを確認します。
$ ls -al /dev/disk/by-uuid/ | grep sdc lrwxrwxrwx 1 root root 10 2010-08-20 23:01 9E9CB8559CB829A3 -> ../../sdc1
結果はsdc1の実態はuuidの9E9CB8559CB829A3であるということが分かりました。
uuidがわかったのでautofsの設定を行います。
/etc/autofs.masterを編集します。
$ sudo vi /etc/autofs.master #/misc /etc/auto.misc ↓#をとる /misc /etc/auto.misc
/etc/auto.miscを編集します。
$ sudo vi /etc/auto.misc #下記1行を追加 usbcombo -fstype=ntfs-3g :/dev/disk/by-uuid/9E9CB8559CB829A3
マウント名称 -fstype=ファイルタイプ(ext3,vfatとか) :デバイス
ですかね。うちはこれでうまくいったのでこれ以上は調べてません。
autofsを再起動します
$ sudo /etc/init.d/autofs restart
autofs確認
USBハードディスクを接続した状態で/misc/(/etc/auto.miscに書いたマウント名称)にアクセスしてみます
$ ls -al /misc/usbcombo
マウントが完了するまで少し間が空きますがハードディスク内容が表示されれば成功です。
samba設定
USBハードディスクを接続してアクセスすれば勝手にマウントするようになったのであとはsambaで共有します。
$ sudo vi /etc/samba/smb.config #とりあえず以下を追加。セキュリティは考慮していないので気をつけて [usbcombo] comment = usbcombo hdd path = /misc/usbcombo public = yes read only = no printable = no
再起動します
$ sudo /etc/init.d/samba restart
これで\\サーバ\usbcomboにアクセスすればハードディスクが勝手にマウントされ読み書きできるようになります。
注意
autofsはしばらくアクセスがないと自動でアンマウントしてくれるようですが
ハードディスクを取り外すときはdfでアンマウントされていることを確認するか自分でアンマウントするようにしてください。