Linux Storage Guide 2025: Cloud, RAID, LVM, Btrfs & ZNS SSD

Introduction
SafeITExperts.com makes IT expertise accessible to everyone. This 2025 Storage Reference Guide compiles the latest advances in Linux storage and beyond: ZNS SSD, Btrfs, RAID, LVM, and cloud. An essential resource to understand media, interfaces and data management tools in 2025.
1. Physical Media and Interfaces
Physical media and their interfaces form the foundation of modern storage, defining performance and use cases. This section explores hardware technologies and their connections.
💡 Tip: Hover or tap on the technologies below to display additional details.
Storage Media (Hardware)
Virtual Storage
Interfaces
Low-Level Concepts
2. Partitioning Schemes
Once physical media is defined, partitioning organizes disks to optimize their usage.
MBR: Legacy format, limited to 2TB
GPT: Modern format, up to 9.4 ZB
UEFI: Replaces BIOS, requires GPT
| Partitioning Tools | ||
|---|---|---|
| Tool | GPT | MBR |
fdisk | ✔️ | |
gdisk | ✔️ | |
sgdisk | ✔️ | |
parted | ✔️ | ✔️ |
cfdisk | ✔️ | |
cgdisk | ✔️ | |
sfdisk | ✔️ | |
3. File System Types by Platform
Discover file systems adapted to each operating environment and your specific needs.
XFS: Large files
Btrfs: Snapshots
ZFS: Integrity
F2FS: Flash-optimized
FAT32: Compatibility
exFAT: Files >4GB
HFS+: Compatibility
11x9 durability
4. Popular File Systems in 2025
File systems evolve to address new storage challenges. Discover the most used formats and notable innovations this year.
| File systems comparison | ||
|---|---|---|
| FS | Strengths | Use Cases |
| ext4 | Proven stability | Servers, default distributions |
| XFS | Large file performance | Databases, 4K+ video |
| Btrfs | Snapshots, compression | Workstations, NAS |
| ZFS | Integrity, native RAID | Enterprise storage |
| F2FS | Flash-optimized | Smartphones, IoT, SD cards |
| NTFS | Journaling, advanced ACLs | Windows system disks |
| exFAT | Multi-OS compatibility | Modern external drives |
| APFS | Snapshots, native encryption | macOS, Apple SSD disks |
| S3 | Unlimited scalability | Cloud object storage, archives |
| Overlay2 | UnionFS, immutable layers | Docker/Podman runtime |
5. Storage Management and Administration
Effective storage management relies on appropriate tools and commands.
| Parted | ||
|---|---|---|
| Create GPT partition table | ||
Commandparted /dev/sdx mklabel gpt | Examplesudo parted /dev/sda mklabel gpt | Function Create GPT table |
| List partitions | ||
Commandparted /dev/sdx print | Examplesudo parted /dev/sda print | Function Display disk partition table |
| Create partition | ||
Commandparted /dev/sdx mkpart [name] [fs_type] [start] [end] | Examplesudo parted /dev/sdb mkpart primary btrfs 0% 100G | Function Create 100GB Btrfs partition |
| Set partition flags | ||
Commandparted /dev/sdx set [num] [flag] [on/off] | Examplesudo parted /dev/sda set 1 esp onsudo parted /dev/sda set 1 boot onsudo parted /dev/sda set 2 swap on | Function Configure special partition attributes |
| Complete partitioning examples | ||
UEFI system with GPTsudo parted /dev/sda mklabel gptsudo parted /dev/sda mkpart ESP fat32 1MiB 512MiBsudo parted /dev/sda set 1 esp onsudo parted /dev/sda mkpart root ext4 512MiB 100%Non-interactive modesudo parted -s /dev/sdb mklabel gpt mkpart primary ext4 0% 100% | ||
| ZFS | ||
|---|---|---|
Commandzpool create | Examplesudo zpool create tank /dev/sdb | Function Create ZFS pool |
Commandzpool list | Examplezpool list | Function List pools |
Commandzpool status | Examplezpool status tank | Function Check pool status |
Commandzfs create | Examplesudo zfs create tank/data | Function Create dataset |
Commandzfs list | Examplezfs list | Function List datasets |
Commandzfs destroy | Examplesudo zfs destroy tank/data | Function Destroy dataset |
Commandzfs snapshot | Examplesudo zfs snapshot tank/data@backup | Function Create snapshot |
Commandzfs list -t snapshot | Examplezfs list -t snapshot | Function List snapshots |
Commandzfs destroy | Examplesudo zfs destroy tank/data@backup | Function Delete snapshot |
Commandzfs send | zfs receive | Examplezfs send tank/data@backup | zfs receive backup/data | Function Send snapshot |
Commandzpool scrub | Examplesudo zpool scrub tank | Function Integrity check |
Commandzpool scrub -s | Examplesudo zpool scrub -s tank | Function Stop scrub |
Commandzfs list -o space | Examplezfs list -o space tank/data | Function Used/available space |
| LVM | ||
|---|---|---|
Commandpvcreate | Examplesudo pvcreate /dev/sdX | Function Create physical volume |
Commandpvdisplay | Examplepvdisplay | Function List existing PVs |
Commandpvs | Examplepvs | Function PV summary |
Commandvgcreate | Examplesudo vgcreate vg_data /dev/sdX | Function Create volume group |
Commandvgdisplay | Examplevgdisplay | Function List VGs |
Commandvgs | Examplevgs | Function VG summary |
Commandvgextend | Examplesudo vgextend vg_data /dev/sdY | Function Add PV to VG |
Commandlvcreate | Examplesudo lvcreate -n lv_home -L 50G vg_data | Function Create logical volume |
Commandlvdisplay | Examplelvdisplay | Function List LVs |
Commandlvs | Examplelvs | Function LV summary |
Commandlvextend | Examplesudo lvextend -L +20G /dev/vg_data/lv_home | Function Extend LV |
Commandlvreduce | Examplesudo lvreduce -L -10G /dev/vg_data/lv_home | Function Reduce LV |
Commandmkfs.ext4 | Examplesudo mkfs.ext4 /dev/vg_data/lv_home | Function Format LV as ext4 |
Commandmount | Examplesudo mount /dev/vg_data/lv_home /home | Function Mount LV |
Commandvgdisplay | Examplevgdisplay vg_data | Function Free space in VG |
Commandpvck | Examplepvck /dev/sdX | Function Verify PV/LV integrity |
Commandlvremove | Examplesudo lvremove /dev/vg_data/lv_home | Function Remove LV |
Commandvgremove | Examplesudo vgremove vg_data | Function Remove VG |
Commandpvremove | Examplesudo pvremove /dev/sdX | Function Remove PV |
| RAID | ||
|---|---|---|
Commandcat /proc/mdstat | Examplecat /proc/mdstat | Function Check RAID status |
Commandmdadm --detail | Examplemdadm --detail /dev/md0 | Function RAID details |
Commandmdadm --create | Examplesudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1 | Function Create RAID array |
Commandmdadm --add | Examplesudo mdadm --add /dev/md0 /dev/sdc1 | Function Add disk |
Commandmdadm --fail | Examplesudo mdadm --fail /dev/md0 /dev/sda1 | Function Mark disk as failed |
Commandmdadm --remove | Examplesudo mdadm --remove /dev/md0 /dev/sda1 | Function Remove disk |
Commandmdadm --grow | Examplesudo mdadm --grow /dev/md0 --raid-devices=3 | Function Resize array |
Commandmdadm --assemble | Examplesudo mdadm --assemble --scan | Function Assemble array |
Commandmdadm --detail --scan | Examplesudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf | Function Save configuration |
Commandupdate-initramfs | Examplesudo update-initramfs -u | Function Update initramfs |
Commandmdadm --stop | Examplesudo mdadm --stop /dev/md0 | Function Stop array |
Commandmdadm --remove | Examplesudo mdadm --remove /dev/md0 | Function Delete array |
Swap Management
| Swap Files | ||
|---|---|---|
Commandfallocate | Examplesudo fallocate -l 2G /swapfile | Function Create swap file |
Commandmkswap | Examplesudo mkswap /swapfile | Function Format swap file |
Commandswapon | Examplesudo swapon /swapfile | Function Enable swap |
Commandswapoff | Examplesudo swapoff /swapfile | Function Disable swap |
Commandswapon --show | Exampleswapon --show | Function Check active swap |
| RAM Swap (zram) | ||
|---|---|---|
| Distro | Installation | Configuration |
| Debian/Ubuntu | sudo apt install zram-tools | Edit /etc/default/zramswap |
| openSUSE | sudo zypper install systemd-zram-service | Edit /etc/systemd/zram-generator.conf |
| Arch Linux | Preinstalled | Create /etc/systemd/zram-generator.conf |
| Fedora | sudo dnf install zram-generator | Edit /etc/systemd/zram-generator.conf |
| NixOS | Configure in configuration.nix | boot.zram.enable = true; |
Mounting and Identification
| Mount Commands | ||
|---|---|---|
Commandmount | Examplesudo mount /dev/sda1 /data | Function Mount filesystem |
Commandmount -a | Examplesudo mount -a | Function Mount all filesystems from /etc/fstab |
Commandumount | Examplesudo umount /data | Function Unmount filesystem |
Commandumount -l | Examplesudo umount -l /data | Function Lazy unmount |
Commandumount -f | Examplesudo umount -f /data | Function Force unmount |
Commandfindmnt | Examplefindmnt | Function Check active mounts |
Maintenance and Copy
| Maintenance Commands | ||
|---|---|---|
Commanddd | Examplesudo dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progress | Function Raw bit-by-bit copy |
Commandddrescue | Examplesudo ddrescue -f -n /dev/sda /dev/sdd rescue.log | Function Copy with error handling |
Commandrsync | Examplesudo rsync -aAXv --progress /source/ /dest/ | Function Incremental copy |
Commandcp --reflink | Examplecp --reflink=auto largefile /mnt/backup/ | Function Lightweight cloning (CoW) |
Cleanup and Maintenance
| Command | Example | Function |
|---|---|---|
| wipefs | sudo wipefs --all /dev/sda1 |
Erase filesystem or RAID signatures |
| shred | sudo shred -vfz /dev/sda |
Secure data erasure and overwriting |
| zerofree | sudo zerofree /dev/sda1 |
Fill free blocks with zeroes (sparse/VM optimization) |
Containers
| Container Commands | ||
|---|---|---|
Commanddocker pull | Exampledocker pull ubuntu:latest | Function Pull image |
Commanddocker create | Exampledocker create --name my-container ubuntu:latest | Function Create container |
Commanddocker run | Exampledocker run -it --rm ubuntu bash | Function Run interactive container |
Commanddocker ps | Exampledocker ps -a | Function List containers |
Commanddocker rm | Exampledocker rm my-container | Function Remove container |
Commanddocker rmi | Exampledocker rmi nginx:latest | Function Remove image |
6. Creating File Systems
Essential commands for formatting file systems.
| Formatting Commands | ||
|---|---|---|
| Command | System | Example |
mkfs.ext4 | ext4 | mkfs.ext4 /dev/sda1 |
mkfs.xfs | XFS | mkfs.xfs -f /dev/nvme0n1p2 |
mkfs.btrfs | Btrfs | mkfs.btrfs /dev/md0 |
mkfs.f2fs | F2FS | mkfs.f2fs /dev/mmcblk0p2 |
mkfs.ntfs | NTFS | mkfs.ntfs -Q /dev/sdc1 |
mkfs.exfat | exFAT | mkfs.exfat /dev/sdd1 |
mkswap | Swap | mkswap /dev/sda2 |
7. Btrfs Administration
| Btrfs Commands | ||
|---|---|---|
Commandmkfs.btrfs | Examplesudo mkfs.btrfs /dev/sdX1 | Function Create filesystem |
Commandmount -o compress | Examplesudo mount -o compress=zstd /dev/sdX1 /mnt | Function Mount with compression |
Commandfindmnt -t btrfs | Examplefindmnt -t btrfs | Function List Btrfs volumes |
Commandbtrfs subvolume list | Examplesudo btrfs subvolume list /mnt | Function List subvolumes |
Commandbtrfs subvolume create | Examplesudo btrfs subvolume create /mnt/@data | Function Create subvolume |
Commandbtrfs subvolume delete | Examplesudo btrfs subvolume delete /mnt/@data | Function Delete subvolume |
Commandbtrfs subvolume snapshot | Examplesudo btrfs subvolume snapshot /mnt/@data /mnt/@data_backup | Function Create snapshot |
Commandbtrfs send | btrfs receive | Examplesudo btrfs send /mnt/@data_backup | sudo btrfs receive /mnt/backup_target | Function Snapshot replication |
Commandbtrfs scrub start | Examplesudo btrfs scrub start /mnt | Function Integrity verification |
Commandbtrfs filesystem df | Examplesudo btrfs filesystem df /mnt | Function Used/available space |
Commandbtrfs balance start | Examplesudo btrfs balance start -dusage=80 /mnt | Function Rebalance allocation |
Storage Glossary
Key terms to master storage in 2025
Linux Storage Quiz
Test your knowledge of storage technologies
lvcreatepvcreateQuiz completed!
8. Conclusion
This 2025 Linux Storage Guide provides an overview of current technologies, from physical media like ZNS SSDs to filesystems like Btrfs, through RAID architectures, LVM, and cloud solutions. Designed for enthusiasts and professionals alike, it compiles essential tools and concepts to understand and manage storage on Linux and beyond.
Stay tuned for Part 2, "Storage Unit Optimization", which will explore advanced techniques to maximize performance, reliability and efficiency in 2025.
Useful Resources
| Resource | Description | Link |
|---|---|---|
| Kernel.org Block & Storage | Official Linux kernel documentation on the block layer, device drivers, and file systems | View Kernel.org |
| OpenZFS Docs | Official OpenZFS reference documentation: architecture, Zpool storage pools, datasets, and snapshots | View OpenZFS |
| Btrfs Documentation | Btrfs reference guides: subvolume management, zstd compression, scrub, and repair | View Btrfs Docs |
| NVM Express (NVMe & ZNS) | Official protocol specifications for NVMe standards and Zoned Namespaces architectures | View NVM Express |
SafeITExperts Recommended Reading
| Article | Description | Link |
|---|---|---|
| Linux Filesystems in 2026 | In-depth audit of Linux filesystems in 2026, benchmarks, security analysis, and migration strategies | Read article |
| PC Motherboard Guide 2025: How to Choose | Complete 2025 motherboard buying guide: chipsets, PCIe 5.0, VRMs, NVMe connectivity, and hardware longevity | Read article |
| Linux, Windows 11, or macOS 2025: The AI-Driven OS Showdown | The three-way OS showdown in 2025: AI integration, digital sovereignty, performance benchmarks, and security | Read article |
| Linux Secure by Default 2026 | Hardening guide and configuration of secure-by-default Linux distributions in 2026 | Read article |
👥 Comments
Comment on this article