home-network/pi-storage.org
2025-04-09 08:53:53 +03:00

6.9 KiB
Raw Blame History

Raspberry Pi & Storage Setup

Raspberry Pi Information

network

Category Value
IP address 192.168.0.63
Hostname ronberrypi

To Be Able to Ping the Raspberry Pi

ping ronberrypi.local

users

username password groups /mnt/storage
ronny 2reishit2ara sudo
website 2reishit2ara www-data, sudo /var/www, /home/website
ftpuser 2reishit2ara www-data, sudo /home/ftpuser
librarian 2reishit2ara librarian

connect with a vnc

install

using the video you should be able to connect directly without doing anything special

connect tiger vnc

  • hostname: ronberrypi.local
  • then enter the username and password

connect realvnc

even easier

External Hard Drive Info

This table keeps track of the Raspberry Pi's external storage setup.

category value
device /dev/sda2
filesystem ext4
label storage
mount point /mnt/storage
mount options defaults,relatime,commit=600
UUID 5bb54030-2df7-4798-afb5-bd2878ae0def

Directory Bind-Mount Information

This table documents how key directories on the Raspberry Pi are linked to `/mnt/storage` and the commands used.

Directory Mounted From Mounted To
/home/website /mnt/storage/website /home/website
/home/librarian /mnt/storage/librarian /home/librarian
/var/www /mnt/storage/www /var/www
/srv/n8n /mnt/storage/n8n /srv/n8n

command used to bind target directory to mount point

sudo mount --bind /mnt/storage/<target_mount> /<bind directory>

example

  • target mount: /mnt/storage/www
  • bind directory: /var/www

making bind mounts persistent

To ensure the mounts persist after a reboot, add the following lines to `/etc/fstab`:

/mnt/storage/website /home/website none bind 0 0
/mnt/storage/calibre /home/calibre none bind 0 0
/mnt/storage/www /var/www none bind 0 0
/mnt/storage/n8n /srv/n8n none bind 0 0

Setup Commands

These commands ensure everything is correctly prepared before binding.

Step Command
Ensure storage directories exist `sudo mkdir -p /mnt/storage/website /mnt/storage/calibre /mnt/storage/www`
Move existing data (if needed) `sudo mv /home/website/* /mnt/storage/website/`
Create bind directories `sudo mkdir -p /home/website /home/calibre /var/www`
Bind-mount directories `sudo mount bind /mnt/storage/website /home/website`
Add to `/etc/fstab` `echo "/mnt/storage/website /home/website none bind 0 0" | sudo tee -a /etc/fstab`
Apply changes `sudo mount -a`
Verify mount status `df -h | grep storage`

Hard Drive Commands

generally useful hard drive commands

Purpose Command
Find the UUID lsblk -f
Check filesystem type sudo blkid /dev/sda2
Remount drive without rebooting sudo mount -o remount /mnt/storage
Check if new options are applied mount | grep storage
Verify changes cat /etc/fstab | grep storage

Mount Options Available

Option Description
defaults Uses the default options: `rw, suid, dev, exec, auto, nouser, async`.
rw Mounts the filesystem as read/write (default).
ro Mounts the filesystem as read-only.
noexec Prevents execution of binaries on the mounted filesystem.
exec Allows execution of binaries (default).
nosuid Blocks `setuid`/`setgid` binaries from running.
nodev Ignores device files (e.g., `/dev/null`) on this filesystem.
noatime Disables access time updates to improve performance.
nodiratime Disables directory access time updates (for performance).
relatime Updates access time only if the file is modified, balancing performance.
strictatime Always updates access time (not recommended for performance reasons).
sync Writes changes to disk immediately instead of caching them.
async Writes changes to disk asynchronously (default, better performance).
commit=600 Delays disk writes for 600 seconds (10 minutes), reducing wear.
nofail Allows booting even if the mount fails (useful for external drives).
errors=remount-ro If an error occurs, remounts the filesystem as read-only.

Performance Options

Performance Status Mount Options
Maximum Performance defaults, noatime, nodiratime, commit=600
Accurate File Access Times defaults, relatime, commit=600
Extra Safety in Case of Drive Failure errors=remount-ro, nofail