Overblog Tous les blogs Top blogs Technologie & Science Tous les blogs Technologie & Science
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

SafeITExperts

SafeITExperts

Your expert guide to cybersecurity and digital privacy. Security hardening for all platforms : Windows, macOS, Linux, and Android. Solutions aligned standards : NIST and ANSSI for comprehensive digital protection.


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

Publié par Marc sur 17 Août 2025, 10:31am

Catégories : #Storage

Complete guide to Linux storage technologies: RAID, LVM, Btrfs, ZNS SSD, cloud solutions and performance optimization

Complete guide to Linux storage technologies: RAID, LVM, Btrfs, ZNS SSD, cloud solutions and performance optimization

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

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

Complete guide to modern storage technologies: media, file systems, Linux commands and cloud solutions
Published on August 3, 2025Reading time: 15 min
StorageLinuxRAIDLVMBtrfsCloud
2025 Storage Technologies

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.

Storage Media (Hardware)

HDDSSDSSD TLC/QLCNVMe SSDZNS SSDOptane PMemeMMCUSB StorageMemory Cards

Virtual Storage

SwaptmpfsVDI (VirtualBox)VMDK (VMware)QCOW2 (QEMU/KVM)VHD/VHDX (Hyper-V)RAMdiskContainer Images

Interfaces

SATA III (6 Gbps)SAS-4 (24 Gbps)PCIe (4.0 / 5.0)USB4 v2.0Thunderbolt 5UFS 4.0

Low-Level Concepts

Sector (512b/4K/16K/64K)LBAZNSNVMe-oF RDMAAdvanced Wear Leveling

2. Partitioning Schemes

Once physical media is defined, partitioning organizes disks to optimize their usage.

📏
Schemes
Click to discover

MBR: Legacy format, limited to 2TB
GPT: Modern format, up to 9.4 ZB
UEFI: Replaces BIOS, requires GPT

Partitioning Tools
ToolGPTMBR
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.

Linux
ext4, XFS, Btrfs, ZFS, F2FS
ext4: Stability
XFS: Large files
Btrfs: Snapshots
ZFS: Integrity
F2FS: Flash-optimized
Windows
NTFS, FAT32, exFAT
NTFS: Journaling
FAT32: Compatibility
exFAT: Files >4GB
Apple
APFS, HFS+
APFS: Snapshots, encryption
HFS+: Compatibility
Cloud/Object
S3
S3: Unlimited scalability
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
FSStrengthsUse Cases
ext4Proven stabilityServers, default distributions
XFSLarge file performanceDatabases, 4K+ video
BtrfsSnapshots, compressionWorkstations, NAS
ZFSIntegrity, native RAIDEnterprise storage
F2FSFlash-optimizedSmartphones, IoT, SD cards
NTFSJournaling, advanced ACLsWindows system disks
exFATMulti-OS compatibilityModern external drives
APFSSnapshots, native encryptionmacOS, Apple SSD disks
S3Unlimited scalabilityCloud object storage, archives
Overlay2UnionFS, immutable layersDocker/Podman runtime

5. Storage Management and Administration

Effective storage management relies on appropriate tools and commands.

Parted
Create GPT partition table
Command
parted /dev/sdx mklabel gpt
Example
sudo parted /dev/sda mklabel gpt
Function
Create GPT table
List partitions
Command
parted /dev/sdx print
Example
sudo parted /dev/sda print
Function
Display disk partition table
Create partition
Command
parted /dev/sdx mkpart [name] [fs_type] [start] [end]
Example
sudo parted /dev/sdb mkpart primary btrfs 0% 100G
Function
Create 100GB Btrfs partition
Set partition flags
Command
parted /dev/sdx set [num] [flag] [on/off]
Example
sudo parted /dev/sda set 1 esp on
sudo parted /dev/sda set 1 boot on
sudo parted /dev/sda set 2 swap on
Function
Configure special partition attributes
Complete partitioning examples
UEFI system with GPT
sudo parted /dev/sda mklabel gpt
sudo parted /dev/sda mkpart ESP fat32 1MiB 512MiB
sudo parted /dev/sda set 1 esp on
sudo parted /dev/sda mkpart root ext4 512MiB 100%

Non-interactive mode
sudo parted -s /dev/sdb mklabel gpt mkpart primary ext4 0% 100%
ZFS
Command
zpool create
Example
sudo zpool create tank /dev/sdb
Function
Create ZFS pool
Command
zpool list
Example
zpool list
Function
List pools
Command
zpool status
Example
zpool status tank
Function
Check pool status
Command
zfs create
Example
sudo zfs create tank/data
Function
Create dataset
Command
zfs list
Example
zfs list
Function
List datasets
Command
zfs destroy
Example
sudo zfs destroy tank/data
Function
Destroy dataset
Command
zfs snapshot
Example
sudo zfs snapshot tank/data@backup
Function
Create snapshot
Command
zfs list -t snapshot
Example
zfs list -t snapshot
Function
List snapshots
Command
zfs destroy
Example
sudo zfs destroy tank/data@backup
Function
Delete snapshot
Command
zfs send | zfs receive
Example
zfs send tank/data@backup | zfs receive backup/data
Function
Send snapshot
Command
zpool scrub
Example
sudo zpool scrub tank
Function
Integrity check
Command
zpool scrub -s
Example
sudo zpool scrub -s tank
Function
Stop scrub
Command
zfs list -o space
Example
zfs list -o space tank/data
Function
Used/available space
LVM
Command
pvcreate
Example
sudo pvcreate /dev/sdX
Function
Create physical volume
Command
pvdisplay
Example
pvdisplay
Function
List existing PVs
Command
pvs
Example
pvs
Function
PV summary
Command
vgcreate
Example
sudo vgcreate vg_data /dev/sdX
Function
Create volume group
Command
vgdisplay
Example
vgdisplay
Function
List VGs
Command
vgs
Example
vgs
Function
VG summary
Command
vgextend
Example
sudo vgextend vg_data /dev/sdY
Function
Add PV to VG
Command
lvcreate
Example
sudo lvcreate -n lv_home -L 50G vg_data
Function
Create logical volume
Command
lvdisplay
Example
lvdisplay
Function
List LVs
Command
lvs
Example
lvs
Function
LV summary
Command
lvextend
Example
sudo lvextend -L +20G /dev/vg_data/lv_home
Function
Extend LV
Command
lvreduce
Example
sudo lvreduce -L -10G /dev/vg_data/lv_home
Function
Reduce LV
Command
mkfs.ext4
Example
sudo mkfs.ext4 /dev/vg_data/lv_home
Function
Format LV as ext4
Command
mount
Example
sudo mount /dev/vg_data/lv_home /home
Function
Mount LV
Command
vgdisplay
Example
vgdisplay vg_data
Function
Free space in VG
Command
pvck
Example
pvck /dev/sdX
Function
Verify PV/LV integrity
Command
lvremove
Example
sudo lvremove /dev/vg_data/lv_home
Function
Remove LV
Command
vgremove
Example
sudo vgremove vg_data
Function
Remove VG
Command
pvremove
Example
sudo pvremove /dev/sdX
Function
Remove PV
RAID
Command
cat /proc/mdstat
Example
cat /proc/mdstat
Function
Check RAID status
Command
mdadm --detail
Example
mdadm --detail /dev/md0
Function
RAID details
Command
mdadm --create
Example
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
Function
Create RAID array
Command
mdadm --add
Example
sudo mdadm --add /dev/md0 /dev/sdc1
Function
Add disk
Command
mdadm --fail
Example
sudo mdadm --fail /dev/md0 /dev/sda1
Function
Mark disk as failed
Command
mdadm --remove
Example
sudo mdadm --remove /dev/md0 /dev/sda1
Function
Remove disk
Command
mdadm --grow
Example
sudo mdadm --grow /dev/md0 --raid-devices=3
Function
Resize array
Command
mdadm --assemble
Example
sudo mdadm --assemble --scan
Function
Assemble array
Command
mdadm --detail --scan
Example
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
Function
Save configuration
Command
update-initramfs
Example
sudo update-initramfs -u
Function
Update initramfs
Command
mdadm --stop
Example
sudo mdadm --stop /dev/md0
Function
Stop array
Command
mdadm --remove
Example
sudo mdadm --remove /dev/md0
Function
Delete array

Swap Management

Swap Files
Command
fallocate
Example
sudo fallocate -l 2G /swapfile
Function
Create swap file
Command
mkswap
Example
sudo mkswap /swapfile
Function
Format swap file
Command
swapon
Example
sudo swapon /swapfile
Function
Enable swap
Command
swapoff
Example
sudo swapoff /swapfile
Function
Disable swap
Command
swapon --show
Example
swapon --show
Function
Check active swap
RAM Swap (zram)
DistroInstallationConfiguration
Debian/Ubuntusudo apt install zram-toolsEdit /etc/default/zramswap
openSUSEsudo zypper install systemd-zram-serviceEdit /etc/systemd/zram-generator.conf
Arch LinuxPreinstalledCreate /etc/systemd/zram-generator.conf
Fedorasudo dnf install zram-generatorEdit /etc/systemd/zram-generator.conf
NixOSConfigure in configuration.nixboot.zram.enable = true;

Mounting and Identification

Mount Commands
Command
mount
Example
sudo mount /dev/sda1 /data
Function
Mount filesystem
Command
mount -a
Example
sudo mount -a
Function
Mount all filesystems from /etc/fstab
Command
umount
Example
sudo umount /data
Function
Unmount filesystem
Command
umount -l
Example
sudo umount -l /data
Function
Lazy unmount
Command
umount -f
Example
sudo umount -f /data
Function
Force unmount
Command
findmnt
Example
findmnt
Function
Check active mounts

Maintenance and Copy

Maintenance Commands
Command
dd
Example
sudo dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progress
Function
Raw bit-by-bit copy
Command
ddrescue
Example
sudo ddrescue -f -n /dev/sda /dev/sdd rescue.log
Function
Copy with error handling
Command
rsync
Example
sudo rsync -aAXv --progress /source/ /dest/
Function
Incremental copy
Command
cp --reflink
Example
cp --reflink=auto largefile /mnt/backup/
Function
Lightweight cloning (CoW)

Cleanup and Maintenance

Cleanup Commands
Command
wipefs
Example
wipefs --all /dev/sda1
Function
Erase FS/RAID signatures
Example
shred -vfz /dev/sda
Command
zerofree
Example
zerofree /dev/sda1

Containers

Container Commands
Command
docker pull
Example
docker pull ubuntu:latest
Function
Pull image
Command
docker create
Example
docker create --name my-container ubuntu:latest
Function
Create container
Command
docker run
Example
docker run -it --rm ubuntu bash
Function
Run interactive container
Command
docker ps
Example
docker ps -a
Function
List containers
Command
docker rm
Example
docker rm my-container
Function
Remove container
Command
docker rmi
Example
docker rmi nginx:latest
Function
Remove image

6. Creating File Systems

Essential commands for formatting file systems.

Formatting Commands
CommandSystemExample
mkfs.ext4ext4mkfs.ext4 /dev/sda1
mkfs.xfsXFSmkfs.xfs -f /dev/nvme0n1p2
mkfs.btrfsBtrfsmkfs.btrfs /dev/md0
mkfs.f2fsF2FSmkfs.f2fs /dev/mmcblk0p2
mkfs.ntfsNTFSmkfs.ntfs -Q /dev/sdc1
mkfs.exfatexFATmkfs.exfat /dev/sdd1
mkswapSwapmkswap /dev/sda2

7. Btrfs Administration

Btrfs Commands
Command
mkfs.btrfs
Example
sudo mkfs.btrfs /dev/sdX1
Function
Create filesystem
Command
mount -o compress
Example
sudo mount -o compress=zstd /dev/sdX1 /mnt
Function
Mount with compression
Command
findmnt -t btrfs
Example
findmnt -t btrfs
Function
List Btrfs volumes
Command
btrfs subvolume list
Example
sudo btrfs subvolume list /mnt
Function
List subvolumes
Command
btrfs subvolume create
Example
sudo btrfs subvolume create /mnt/@data
Function
Create subvolume
Command
btrfs subvolume delete
Example
sudo btrfs subvolume delete /mnt/@data
Function
Delete subvolume
Command
btrfs subvolume snapshot
Example
sudo btrfs subvolume snapshot /mnt/@data /mnt/@data_backup
Function
Create snapshot
Command
btrfs send | btrfs receive
Example
sudo btrfs send /mnt/@data_backup | sudo btrfs receive /mnt/backup_target
Function
Snapshot replication
Command
btrfs scrub start
Example
sudo btrfs scrub start /mnt
Function
Integrity verification
Command
btrfs filesystem df
Example
sudo btrfs filesystem df /mnt
Function
Used/available space
Command
btrfs balance start
Example
sudo btrfs balance start -dusage=80 /mnt
Function
Rebalance allocation

Storage Glossary

Key terms to master storage in 2025

ZNS
Click to discover
Zoned Namespace: SSD technology organizing data in zones to reduce write amplification
Click to return
NVMe
Click to discover
Non-Volatile Memory Express: High-performance protocol for accessing SSDs via PCIe
Click to return
LVM
Click to discover
Logical Volume Manager: System for managing logical volumes to abstract physical storage
Click to return
RAID
Click to discover
Redundant Array of Independent Disks: Technique for grouping disks for redundancy and/or performance
Click to return
Btrfs
Click to discover
B-tree File System: Modern filesystem with snapshots, compression and integrity checking
Click to return
iSCSI
Click to discover
Internet Small Computer System Interface: Network storage protocol over IP
Click to return

Linux Storage Quiz

Test your knowledge of storage technologies

1
Which command creates an LVM logical volume?
Click to flip
lvcreate
Click to return
2
Which filesystem natively supports snapshots?
Click to flip
Btrfs and ZFS
Click to return
3
Which interface offers highest throughput for SSDs?
Click to flip
PCIe 5.0 (NVMe)
Click to return
4
Which SSD technology reduces write amplification?
Click to flip
ZNS (Zoned Namespaces)
Click to return
5
Which command initializes a disk for LVM?
Click to flip
pvcreate
Click to return
6
Which filesystem is optimized for flash storage?
Click to flip
F2FS (Flash-Friendly File System)
Click to return

Quiz completed!

8. Conclusion

Future of Storage

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:

© 2025 SafeITExperts - All rights reserved

Guide written by SafeITExperts technical team

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article

Archives

Articles récents