grep -rl "storage" ./blog

Linux Storage Management

Disks, volumes, and mount points: fstab, LVM, monitoring space usage, and keeping storage healthy over time.

20 articles

Docker Volumes, Bind Mounts, and Networks Explained Where container data should live and how containers talk to each other. Named volumes vs bind mounts vs tmpfs, permissions and SELinux labels, backing up volumes, user-defined bridge networks and DNS, publishing ports safely, and the firewall surprise. Recovering Deleted Files on Linux With TestDisk and PhotoRec What to do in the first five minutes after deleting the wrong file, how TestDisk recovers lost partitions and undeletes files, how PhotoRec carves files from raw data, and why SSDs and ext4 make recovery harder. Securely Wiping Drives on Linux: shred, SSD Secure Erase, and NVMe Sanitize Why shred works on hard drives but not SSDs, how to wipe a whole HDD, how to use ATA secure erase and NVMe format or sanitize to erase SSDs properly, and why encryption plus key destruction is the most reliable approach. sshfs and rclone mount: Mounting Remote Storage as a Local Folder Mount a server's files over SSH with sshfs, or cloud storage like S3, Backblaze B2, and Google Drive with rclone mount, and use them like any local directory. Setup, fstab and systemd mounts, caching, and when a sync is better than a mount. Unlock LUKS With the TPM: systemd-cryptenroll Explained Bind your encrypted disk to the TPM so it unlocks automatically at boot, or with a short PIN, and only on your untouched machine. How TPM sealing and PCRs work, the exact enrollment steps, recovery keys, and the security trade-offs. io_uring Explained: Why Linux Needed a Third Async I/O Interface Two shared ring buffers replace a syscall per operation. What was wrong with epoll and AIO, how submission and completion queues work, why polled mode can do I/O with zero syscalls, and the security tradeoff that has distributions disabling it. Btrfs vs ZFS: Choosing a Copy-on-Write Filesystem Both do snapshots, checksums, and compression. The differences that decide it are licensing, memory behaviour, how each handles RAID, and which failure modes you can live with. Hardware vs Software RAID Why the controller that was supposed to be faster is now usually the liability, what a BBU actually buys you, and where hardware RAID still wins. Setting Up Nextcloud Properly Deploying Nextcloud with a real database, the configuration steps the installer does not do for you, and the tuning that separates a fast instance from the slow one people complain about. Filesystem Quotas Explained Setting per-user and per-group disk limits on ext4 and XFS, the difference between soft and hard limits, and why inode quotas matter as much as block quotas. nvme-cli: Managing and Monitoring NVMe Drives SMART attributes on NVMe live in a different place and speak a different language. nvme-cli reads wear percentage, temperature, and error counts, and handles secure erase and firmware updates. fio: Benchmarking Disks Properly dd measures one thing badly. fio measures what you actually care about: random IOPS, latency percentiles, and behaviour under concurrency. Here is how to run it without fooling yourself. fsck: Checking and Repairing Linux Filesystems Never run it on a mounted filesystem. Beyond that one rule, here is how to force a check at boot, what the repair prompts actually mean, and when a filesystem problem is really a disk problem. LUKS Disk Encryption: Setting Up and Managing Encrypted Volumes Full disk encryption protects data at rest, which means a stolen laptop or a returned disk. Here is how key slots work, how to add and revoke passphrases, and what LUKS does not protect against. Linux I/O Schedulers: mq-deadline, BFQ, Kyber, and none The scheduler decides the order requests reach your disk. On spinning rust it matters enormously, on NVMe it often should be switched off, and the right default differs per device. Software RAID with mdadm: Levels, Setup, and What RAID Does Not Do Linux software RAID is mature, fast, and free. Here is what each level actually gives you, how to build and monitor an array, and why RAID is not a backup. ZFS on Linux: Pools, Datasets, Snapshots, and the Licensing Problem ZFS checksums everything, snapshots instantly, and replicates efficiently. It also cannot be merged into the kernel, which shapes how you install and maintain it. Here is what you need to know before committing. Monitoring Disk Health with smartctl: Reading SMART Before the Drive Dies Every drive tracks its own health through SMART. smartctl reads those attributes, runs self-tests, and, read correctly, gives you warning before a disk fails. Here is what to check and which numbers actually predict death. LVM (Logical Volume Manager) Explained LVM adds a flexible layer between raw disks and filesystems, letting you resize, combine, and snapshot storage without being locked into fixed-size partitions. This guide covers physical volumes, volume groups, logical volumes, and common resizing operations. Mounting Drives and /etc/fstab Explained How Linux attaches storage devices to the filesystem tree with mount and umount, how to find a drive to mount, and how to make mounts persist across reboots using /etc/fstab.