【Raspberry Pi】外付けHDDの追加

ラズパイで外付けHDDを管理させます。

HDDは3.5インチの1.5TB(ST31500341AS)。玄人志向の外付けケースを使ってUSBケーブルで接続します。

 

1.外付けHDDのパーテーションの作成とフォーマット 

余程のことがない限り、USBで接続すればラズパイで自動認識してくれます。

 $ sudo fdisk -l

(略)

Disk /dev/sda: 1500.3 GB, 1500301910016 bytes

 

パーテーション作成はコマンドでもできますが、今回はGUIでやります(特に意味はなし)。というわけで、GPartedをインストールします。インストールは事前に導入していたSynapticにて。

 

なお、今回はWindowsで接続しても大丈夫なようにNTFSで作ります。NTFSで作る場合は予めntfs-3gをインストールしないとダメです。

$ sudo apt-get install ntfs-3g 

 インストールが完了したら、

ラズパイのスタートメニュー?->「設定」->「GParted」を実行。

GPartedが起動したら、メニュー->「GParted()」->「デバイス(D)」->「/dev/sda1」を選択します。

f:id:engetu21:20150201201819j:plain

 

/dev/sda1(外付けHDD)が見つかるため、パーテーションメニューからパーテーションを作ります。また、 フォーマット時はNTFSを選択します。ntfs-3gをインストールしていないと、NTFSを選択できないため、注意。

まぁ、GUIは直感的にわかると思うので、特に操作説明は書きません。

 

 2.マウントの設定 

マウントできるようにします。

$ sudo mkdir /mnt/hdd1

$ sudo mount /dev/sda1 /mnt/hdd1

しかし、これだと毎回マウントしないと行けないため、自動マウントをさせます。他の外付けHDDを接続することも想定し、UUID指定でマウントできるようにします。

UUIDは以下のコマンドで抽出。

$ sudo blkid /dev/sda1

/dev/sda1: UUID="XXXXXXXXXXXXX" TYPE="ntfs"

(追記)なお、以下のコマンドでも確認することが可能です。

$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda 
├─sda1 ntfs XXXXXXXXXXXXX /mnt/hdd1

 

このUUIDを自動マウントセッティングします。一番最後の行に以下のように追加

 $ sudo vi /etc/fstab

UUID="XXXXXXXXXXXXX" /mnt/hdd1 ntfs defaults 0 2

自動マウントされるかは再起動で確認しましょう。

→(追記)sudo mount -a を打つことで再起動せずに確認することも可能。 

 

【2019/8/15追記】

上記の設定をした際、配下のグループやユーザを変えられない場合がある。その時には、fstabの設定を以下のように変更する。

※参考:【LinuxUbuntuNTFS形式のファイルで所有者や権限が変更する方法 https://sekisuiseien.com/computer/11054/

$ sudo vi /etc/fstab

UUID="XXXXXXXXXXXXX" /mnt/hdd1 ntfs-3g defaults,permission 0 2

 

$ sudo mount -a

 

また、一括で グループ/ユーザを変える場合は以下の通り。

参考:ファイルやディレクトリのパーミッションを一括で置換したい https://qiita.com/takeshi81/items/48ea62eae2fc7f1cb2f0

$ sudo find /home/xxxx -type d -exec chmod 755 {} +
$ sudo find /home/xxxx -type f -exec chmod 644 {} +

【追記終わり】

 3.HDD回転を自動で止める 

 参考サイト:

Raspberry PiでUSB外付けHDDの回転を自動で止める | Frog Code Works

sdparmをインストールします。 

$ sudo apt-get install sdparm

動作確認は以下のコマンドで。

$ sudo sdparm --command=stop /dev/sda1
    /dev/sda1: Initio    ST31500341AS      3.01 

動作用シェルスクリプトを作成(コピペ)。作成後に実行権限を付与。

$ sudo vi  /usr/local/bin/usbhdd_spindown.sh

gist.github.com

$ sudo chmod 755 /usr/local/bin/usbhdd_spindown.sh

起動時の シェル実行設定をします。

$ sudo vi /etc/rc.local

/usr/local/bin/usbhdd_spindown sda1 900 2>&1 | logger -t usbhdd_spindown &