以前の記事でRaspberry PiにSambaをインストールして外付けHDDをNASとして使用することを紹介しました。その時に直接HDDをWindowsやMacへ繋げても読み書きできるように、exFATでフォーマットしましたが、どうにも調子が悪いのでNTFSに変更しました。今回はSambaに接続しているHDDを他のフォーマットからNTFSへ変更したり、新たにマウントする方法を紹介します。
Raspberry PiのSambaに接続したExFATの外付けHDDが調子が悪い
Raspberry PiにSambaをセットアップ!NASは実用レベルで使えるか? |
普段はRaspberry PiのSambaを通してアクセスする訳ですが、大量のファイルを書き込む時やなんらかのトラブル時に、外付けHDDを直接WindowsやMacにUSB接続して読み書きできるようにとExFATでフォーマットしていました。
Raspberry PiのOSであるRaspbian(Linux)は本来ExFATを読み書きできないのですが、exfat-fuseとexfat-utilsというLinuxでexFATを読み書きするためのドライバーをインストールしました。
当初は問題なかったのですが、1年くらい使った頃にファイルが破損することがありました。しかも破損したファイルにアクセスするとSambaごとコケるという深刻な状態でした。HDD自体の故障の可能性もありましたので、Windowsに接続してフルスキャンしてみても問題は検出されません。結局HDDを再フォーマットすることで直ったのですが、数カ月後に再発しました。LinuxカーネルやSambaが犯人の可能性は低いと思うのでexfat-fuseとexfat-utilsを疑い、ファイルシステムを変更してみることにしました。
ext4でも良いかとも思ったのですが、大量のファイルをコピーするときやRaspberry Piが壊れたケースなどを考えると他のPCで読み書きできるようにしておいた方が良いとは思いましたので、NTFSに変更してntfs-3gというドライバーを使用しました。NTFSにした場合は標準ではMacOSへの接続はできません(非純正のドライバーはあります)
ちなみに現時点で3ヶ月使っていますが今の所問題なく快調です。
マウント済のUSB HDDをRaspberry Piから削除する方法(既にexFAT等でマウントしている人用)
これから新たにNTFSの外付けHDDをRaspberry Piに追加する人はこの章は読み飛ばしてください。
既に他の形式で外付けHDDをマウントしている場合は、USB HDDをRaspberry PiのUSBポートから抜く前に、「OS起動時にHDDを自動的にマウントする」設定を削除する必要があります。これをしないでUSB HDDを抜いてRaspberry Piを起動するとOSが起動しなくなります(その場合はレスキューモードというコマンドラインが立ち上がりますのでそこで/etc/fstabを編集して設定を削除します) WindowsなどのようにUSBにささっていなければ無視して起動してくれれば良いのにとも思いますが、Linuxはもともとがサーバー用OSという側面がありますので、異常があるまま処理を進行しないという考え方なのでしょう。
具体的には設定ファイル(/etc/fstab)に追加した設定を削除します。設定ファイル(/etc/fstab)をエディタ(nano)で開きます。下のスクリーンショットでは予め「sudo blkid」により現在のマウント状態を確認しています。/dev/sda2がUSBの外付けHDDです。
sudo nano /etc/fstab
開いた設定ファイルに下のような設定があるはずですので記述を削除します。下のスクリーンショットでは先頭に「#」を入れることでコメント行にしていますが、もちろん行を削除してOKです。UUIDが上のスクリーンショットで確認したUUID(HDDを一意に識別する番号)と一致しているはずです。
「ctrl + x」→「y」→「Enter」でセーブしてエディタを終了します。次のコマンドを入力してRaspberry Piをシャットダウンします。
sudo shutdown –h now
Raspberry Pi本体のLEDが消えたらUSBポートから外付けHDDを抜いてOKです。
WindowsでNTFSにフォーマット
USBの外付けHDDをWindows PCに繋いでNTFSにフォーマットします。もちろん内容はすべて消えてしまいますので今まで使っていた場合はファイルを別のHDDにコピーしておくのを忘れないようにしてください。
NTFSのフォーマットはエクスプローラーで普通にNTFSを選択してフォーマットするだけです。ボリュームラベルは好きな値にして大丈夫です。この「Elements」は単に使用しているWD製のHDDに購入時に設定されていたものをそのままにしているだけです。
テスト用にファイルを作っておきます。元々Sambaにつないでいた場合はSambaの設定を変えないで良いように同じフォルダー階層にしておくのが良いでしょう。
Raspberry PiにNTFSのUSB HDDをマウント
NTFSに変更したUSBの外付けHDDをRaspberry PiのUSBポートに接続してからRaspberry Piの電源を入れます。もちろんUSB HDDの電源を先に入れておいてください。
Linuxは標準ではNTFSを扱えませんので、ドライバーをインストールします。
sudo apt-get –y install ntfs-3g
USB HDDのUUIDを調べます。元々繋げていてもフォーマットするとUUIDは変わりますので注意してください。LABELはWindowsでフォーマットした時の値である「Elements」が、TYPEに「ntfs」が表示されていますね。
sudo blkid
エディタで/etc/fstabを開きます。
sudo nano /etc/fstab
開いた/etc/fstabに設定を追加します。もちろんUUIDは自分で調べた値を記述してください。「/mnt/hdd/usbhdd」はマウントする場所ですので、任意の場所でOKです。
UUID=”502CEFF42CEFD2D0″ /mnt/hdd/usbhdd ntfs-3g async,auto,dev,exec,gid=65534,rw,uid=65534,umask=000 0 0
「ctrl + x」→「y」→「Enter」でセーブしてエディタを終了します。次のコマンドを入力してRaspberry Piを再起動します。
sudo shutdown –r now
再起動したら、マウントしたUSB 外付けHDDの中身を確認します。
フォーマットした時に入れておいたファイルが見えてますね。
前回の記事で既にSambaをセットアップした人はフォルダー階層を変えていなければ今までと同じように他のPCからもアクセスできるはずです。新たにセットアップしている人は、下記事の「Sambaのセットアップ」に進んでください。
Raspberry PiにSambaをセットアップ!NASは実用レベルで使えるか? |
ではまた!
Seagate 内蔵ハードディスク 3.5インチ 8TB PCユーザー向け BarraCuda ( SATA 6Gb/s / 5400rpm / 2年保証 ) 正規代理店品 ST8000DM004