Blame
|
1 | # Storage setup overview |
||||||
| 2 | ||||||||
| 3 | 1. System architecture |
|||||||
| 4 | ||||||||
| 5 | The storage system consists of a hardware RAID setup managed by a Dell PERC controller. The operating system sees the RAID arrays as standard block devices. |
|||||||
| 6 | ||||||||
| 7 | Key components |
|||||||
| 8 | Dell PERC hardware RAID controller |
|||||||
| 9 | RAID1 arrays for redundancy |
|||||||
| 10 | Linux filesystem layer (ext4) |
|||||||
| 11 | Media storage mounted under /mnt |
|||||||
| 12 | 2. RAID configuration |
|||||||
| 13 | ||||||||
| 14 | Two RAID1 arrays are used: |
|||||||
| 15 | ||||||||
| 16 | Old array |
|||||||
| 17 | Device: /dev/sdb |
|||||||
| 18 | Mount point: /mnt/Media |
|||||||
| 19 | Filesystem: ext4 |
|||||||
| 20 | Role: existing production media storage |
|||||||
| 21 | New array |
|||||||
| 22 | Device: /dev/sdd |
|||||||
| 23 | Mount point: /mnt/newMedia (temporary during migration) |
|||||||
| 24 | Filesystem: ext4 |
|||||||
| 25 | Role: replacement storage with larger disks |
|||||||
| 26 | 3. Filesystem layout |
|||||||
| 27 | ||||||||
| 28 | Media data is organized as: |
|||||||
| 29 | ||||||||
| 30 | /mnt/Media/ |
|||||||
| 31 | JellyfinMedia/ |
|||||||
| 32 | Motorvakantie 2024/ |
|||||||
| 33 | 4-7/ |
|||||||
| 34 | *.mp4 |
|||||||
| 35 | ||||||||
| 36 | A secondary disk previously held partial or separate media: |
|||||||
| 37 | ||||||||
| 38 | /mnt/BonusDisk/ |
|||||||
| 39 | JellyfinMedia/ |
|||||||
| 40 | Motorvakantie 2024/ |
|||||||
| 41 | 4. Design principles |
|||||||
| 42 | Hardware RAID provides redundancy at controller level |
|||||||
| 43 | ext4 ensures stable, widely compatible filesystem behavior |
|||||||
| 44 | Media is stored outside system partitions for isolation |
|||||||
| 45 | Migration strategy avoids in-place RAID expansion to reduce risk |
|||||||
| 46 | 5. Data integrity strategy |
|||||||
| 47 | rsync -aHAX --numeric-ids used for all migrations |
|||||||
| 48 | Two-pass sync approach: |
|||||||
| 49 | Initial copy during active system usage |
|||||||
| 50 | Final sync after stopping write activity |
|||||||
| 51 | Verification via: |
|||||||
| 52 | du |
|||||||
| 53 | rsync --dry-run |
|||||||
| 54 | file-level checks where needed |
|||||||
| 55 | 6. Mounting strategy |
|||||||
| 56 | UUID-based mounting preferred over device names |
|||||||
| 57 | /etc/fstab used for persistent mounts |
|||||||
| 58 | Temporary mount points used during migration validation |
|||||||
