【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」を選択します。
/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の設定を以下のように変更する。
※参考:【Linux】UbuntuでNTFS形式のファイルで所有者や権限が変更する方法 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
$ 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 &