11 月 9, 2008 • Tags: , • Posted in: ストレージ関係

NTFSのUSB HDDを接続

このBLOGに画像を追加しようと思ったが、その画像ファイルは外付けUSB HDDに入っている。
せっかくなので、このHDDも自宅サーバのホストOSにマウントして、LAN内でシェアしておこう。

まずは、NTFSをマウントできるように、fuseを導入する必要がある。

以下の手順は、こちらの記事などを参考に、少々簡素化したものである。


1.カーネルソースのインストール

はじめに、カーネルソースが、適正にインストールされているかどうかを確認する。

(1)実行中のカーネルバージョンを確認
# uname -r
2.6.18-92.1.17.el5xen

(2)カーネルソースのバージョンを確認
# rpm -qa |grep 'kernel.*devel'
kernel-xen-devel-2.6.18-92.1.17.el5

カーネルソースが導入されていない場合は導入する。
# yum -y install kernel-devel

Xen環境の場合は、上記の代わりに以下で。
# yum -y install kernel-xen-devel

導入されているカーネルソースのバージョンが使用中のカーネルバージョンと異なる場合は、(Xenカーネルなのに、kernel-develがインストールされている場合など)
一旦、カーネルソースをアンインストールして、適正なものを導入する。

2.以下を参考に、RPMforge リポジトリをyumに追加

yum に RPMforge リポジトリを追加する

3.fuseと関連モジュールを導入する
# yum --enablerepo=rpmforge install fuse fuse-ntfs-3g dkms dkms-fuse

カーネルモジュールが追加されていることを確認(以下のコマンドで何も表示されなければOK)
# modprobe fuse
#

※こんなときは…
カーネルソースと、使用中のカーネルバージョンが違うと以下の様にエラーになる。
# modprobe fuse
FATAL: Module fuse not found.

この問題が起こったら、一旦アンインストールして、正しいカーネルソースを入れてから再度インストールする。
# yum erase fuse fuse-ntfs-3g dkms dkms-fuse

たとえば、xenを使っている場合は、kerner-develではなく、kernel-xen-develを導入する。
# yum -y erase kernel-devel
# yum -y install kernel-xen-devel

yum updateなどでアップデート後に、再起動していない場合も問題になる場合があるかも知れない。
うまく行かないときは、念のためOSを再起動してみる。

4.USBディスクを接続して、fdisk -l でマウントするデバイスを確認
# fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 15311 122881185 8e Linux LVM

Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sdb1 1 20887 167774796 7 HPFS/NTFS
↑今回はこれをマウントする
/dev/sdb2 20888 30401 76421205 7 HPFS/NTFS

5.マウント用のディレクトリを作成
# mkdir /mnt/win1

6.マウントしてみる
# mount -t ntfs-3g /dev/sdb1 /mnt/win1
# mount
/dev/mapper/VolGroup00-LogVol01 on / type ext3 (rw)
proc on /proc type proc (rw)

/dev/sdb1 on /mnt/win1 type fuseblk (rw,allow_other,blksize=4096)
↑これがマウントされたエントリ

7.再起動に備えて、fstabに追記
# vi /etc/fstab
以下を追記
/dev/sdb1 /mnt/win1 ntfs-3g defaults 0 0

8.一旦アンマウントして、fstabの記述でマウントできるか確認
# umount /mnt/win1
# mount /mnt/win1
/dev/mapper/VolGroup00-LogVol01 on / type ext3 (rw)
proc on /proc type proc (rw)

/dev/sdb1 on /mnt/win1 type fuseblk (rw,allow_other,blksize=4096)

mountコマンドの結果が、「マウントしてみる」 の結果と同じになればOK

※こんなときは…

USB HDDが追加された影響でマシンのリブート時にOSが起動しなくなる場合がある。
BIOSのBOOT設定を確認すると、内蔵HDDに代わって、USB HDDが優先になっていないか確認してみよう。
この場合は、USB HDDの起動優先度を落とすか、起動ディスクから除外してやると、起動する。

Leave a Reply

You must be logged in to post a comment.