Storage
Disks, filesystems, mounts, and LVM
Know the storage stack: block devices appear under /dev, partitions or LVM logical volumes sit on them, filesystems are created with mkfs, and mounts attach filesystems to the directory tree. lsblk, blkid, and df -h are core inspection commands; du -sh finds directory usage. Persistent mounts belong in /etc/fstab, preferably by UUID rather than a device name that can change.
LVM adds layers: physical volumes (pvcreate), volume groups (vgcreate), and logical volumes (lvcreate). Extending storage usually means extending the LV with lvextend and then growing the filesystem: resize2fs for ext4, xfs_growfs for XFS. Creating a filesystem destroys existing data, so questions often test whether you selected the correct device.
Swap is configured with mkswap and swapon, with an /etc/fstab entry for persistence. Traps: a bad /etc/fstab entry can prevent a clean boot; mount -a is a safe way to test fstab changes before rebooting. Mounting over a non-empty directory hides its contents until unmounted. df reports filesystem usage while du reports file/directory usage, and they can disagree due to deleted-but-open files or hidden mounts.
Worked rule of thumb: for a new disk, confirm with lsblk, partition or create LVM objects, make the filesystem, mount it temporarily, verify with df -h, then add a UUID-based fstab entry and test with mount -a and findmnt. For an LV resize, verify the LV and filesystem type first, then use the matching grow tool. Never guess a device name; confirm it before mkfs.