When I got a new external hard drive for storing mp3s, recorded TV shows, etc, I wanted to know how to set it up most optimally (using the ext4 filesystem). I ended up following Luca Spiller's Ext4 Options for a Media Drive for the most part, but with a few tweaks:
Formatting the Drive
After plugging in the hard drive and running sudo fdisk -l
to check what name the OS had assigned it (/dev/sdb1
), I formatted the drive with the following options: -m 0
to create no extra room for root (I don't intend to use it as a boot drive); and -L bb
to assign it a label of bb
(so I can reference it by label in my /etc/fstab
):
sudo mkfs.ext4 -m 0 -L bb /dev/sdb1
Configuring the Drive Options
Then I updated my /etc/fstab
configuration with an entry for the new drive. Beyond the filesystem permission options of user
, rw
, exec
, and suid
(the order of which is significant), and the noauto
option (to ignore the drive when booting), I added some options that make writing data less safe — but faster. Use man mount
to get a brief description of these and all other possible options:
LABEL=bb /mnt/bb ext4 user,rw,exec,suid,noauto,noatime,nobh,nobarrier,commit=60,data=writeback,journal_async_commit 0 0
If this was an internal hard drive, or one that I intended to have connected at all times, I would have skipped the permissions and noauto
options (so as to use the default permissions and allow it to auto-mount at boot time), and would have just specified the performance options:
LABEL=bb /mnt/bb ext4 noatime,nobh,nobarrier,commit=60,data=writeback,journal_async_commit 0 2
Creating the Drive Mount Point
In /etc/fstab
I had configured the drive's mount point as /mnt/bb
, so I created it and set its owner to myself (so I could mount the drive as a regular user, since I had included the user
option in the /etc/fstab
config):
sudo mkdir /mnt/bb && sudo chown justin:justin /mnt/bb
Mounting the Drive
Now whenever I plug in the drive, I can mount it as a regular user; either via its label:
mount -L bb
Or via its mount point:
mount /mnt/bb