diff options
Diffstat (limited to 'roles/mount/README.md')
| -rw-r--r-- | roles/mount/README.md | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/roles/mount/README.md b/roles/mount/README.md new file mode 100644 index 00000000..c82c777a --- /dev/null +++ b/roles/mount/README.md @@ -0,0 +1,75 @@ +# Mount Role + +Mounts a drive on the target host. + +## Overview + +Prepares a storage device as a mount point (e.g. local backup destination for S3-compatible object store like Garage). + +## Configuration + +### Required Variables + +```yaml +mount_device: "PARTLABEL=backup" # no default — must set in host_vars +``` + +### Optional Variables + +```yaml +mount_point: "/backup" +mount_fstype: "ext4" +mount_options: "defaults,noatime" +``` + +## Preparing the Drive + +### 1. Install parted + +```bash +sudo apt install parted +``` + +### 2. Partition with a named label + +```bash +# check device name +lsblk + +# create GPT partition table + single labeled partition +sudo parted /dev/sdX --script mklabel gpt mkpart backup ext4 0% 100% +sudo parted /dev/nvme0nX --script mklabel gpt mkpart backup ext4 0% 100% + +# verify label +sudo parted /dev/sdX print +sudo parted /dev/nvme0nX print +``` + +### 3. Format as ext4 + +```bash +sudo mkfs.ext4 /dev/sdX1 +sudo mkfs.ext4 /dev/nvme0nXp1 + +# verify +sudo blkid /dev/sdX1 +sudo blkid /dev/nvme0nXp1 + +ls /dev/disk/by-partlabel/ +``` + +### 4. Set host variable + +In `host_vars/rpi5.local.yml`: + +```yaml +mount_device: "PARTLABEL=backup" +``` + +`PARTLABEL` is stable across reboots regardless of device enumeration order (`/dev/sda` vs `/dev/sdb`). +`ansible.posix.mount` handles `PARTLABEL=` values natively. + +## Notes + +- `noatime` mount option reduces unnecessary write cycles on the drive +- Role adds a persistent fstab entry — drive auto-mounts on reboot |
