Linuxの 起動時に外付けHDDを自動マウントさせる。(/etc/fstab)
今回はLinux編。
サーバOSをelementaryOSからUbuntuServerへ変更
筆者の自宅環境ではelementaryOS(5.1.7)をsambaでBitcoinデータの収集及び家庭内ファイルサーバ、
動画をストリーミング再生させるためのメディアDLNAサーバとして使用しています。
しかし、こちらのサーバを昨日カーネル含め更新したところ再起動中にメンテナンスモードに入ってしまい、
短期間では原因がわからず。
データの含まれるディスクは外付けなので環境復旧より、再構築した方が早いし、バージョンの新しくなったUbuntu20.04 Serverも試したかったのでサーバOSを再インストールして切り替えました。
というわけで今回の環境は
Ubuntu Server 20.04.1 (LTS) Serverとなります。
ファイルサーバには外付けHDDをUSB経由で常時二台接続しておりますが、再起動の際にマウントポイントが変わってしまうのを避けるため、自動マウント設定を以下のように行いました。
まずはディスクの情報を知る
以下のコマンドでディスクのUUID情報を確認します。
$ ls /dev/disk/by-uuid/ -l
すると以下のように接続されているディスクの情報が表示されます。
31aef41e-b98d-461d-97c4-a8ea718f0ed7 -> ../../sdd2
7039bbbc-20c7-4ed6-9410-ee6e28fa8236 -> ../../sda1
998699ac-902b-4d91-9fc0-579703b1b062 -> ../../sdc
A6DB-57E2 -> ../../sdd1
CE6C-F5DE -> ../../sdb1
ebca6fc4-6a96-4bce-a376-5b23ff4867d7 -> ../../sdb2
f72bc0ce-d2c9-405a-932d-f0e14d454d96 -> ../../dm-0
上記からディスクに該当するuuid情報(※->の左の文字列がuuidです。)を/etc/fstabに記載していきます。
/etc/fstabにディスク情報(uuid)を追加する
筆者のインストール後の初期状態のfstab情報は以下になります。
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/ubuntu-vg/ubuntu-lv during curtin installation
/dev/disk/by-id/dm-uuid-LVM-GOfw59rziwRCS9uH4VJlFeBXnjHN3044XFwa3Yky4adfK8QSMWc68nIt41POLV84 / ext4 defaults 0 0
# /boot was on /dev/sda2 during curtin installation
/dev/disk/by-uuid/ebca6fc4-6a96-4bce-a376-5b23ff4867d7 /boot ext4 defaults 0 0
# /boot/efi was on /dev/sda1 during curtin installation
/dev/disk/by-uuid/CE6C-F5DE /boot/efi vfat defaults 0 0
# Swap
/swap.img none swap sw 0 0
上記に先ほど取得したuuid情報を含め、以下のように追記しました。
# Share1
/dev/disk/by-uuid/31aef41e-b98d-461d-97c4-a8ea718f0ed7 /home/share1 ext4 defaults 0 0
# Share2
/dev/disk/by-uuid/7039bbbc-20c7-4ed6-9410-ee6e28fa8236 /home/share2 ext4 defaults 0 0
# Share3
/dev/disk/by-uuid/998699ac-902b-4d91-9fc0-579703b1b062 /home/share3 ext4 defaults 0 0
これでカーネル更新などでの再起動後に自動で外付けHDDがマウントされていると思います。
上記他
それから、以下のような記載でも自動マウントは可能です。
以前のubuntuベースの環境であるelementaryOSをファイルサーバとして利用していた際は以下のように記述していました。
# /home/share was Samba Directory
UUID=7039bbbc-20c7-4ed6-9410-ee6e28fa8236 /home/share2 ext4 defaults 0 0
UUID=998699ac-902b-4d91-9fc0-579703b1b062 /home/share ext4 defaults 0 0
「exfat」でフォーマットされた外部ディスクをマウントする場合(2021/8/7追記)
以下にManjaroLinuxでexfatでフォーマットされた外部ディスクを自動マウントさせる場合の記事を書きました。
外部ディスクではなく、NFSを自動マウントする場合(2021/12/4追記)
以下ではManjaroLinuxでNFSマウントを行う記事を書きました。
NFSを自動マウントさせたい場合は以下を/etc/fstabに記載します。
詳細は別記事を参照ください。
# /etc/fstab
192.168.1.xxx:/nfs/share /home/nfs nfs defaults 0 0
※)尚、IPアドレスは各自環境へ置き換えが必要です。