Sổ tay kỹ thuật

LVM và ổ đĩa – lsblk, pvcreate, vgextend, lvextend, fstab

cheatsheet#linux#lvm#disk· cập nhật 2026-11-06

Tra nhanh lệnh xem ổ đĩa, mở rộng LVM (thêm disk hoặc disk ảo được tăng size), tạo volume mới và mount bền bằng fstab theo UUID.

Sửa trang này
Mục lục

Mô hình: disk/partition → PV (pvcreate) → gom vào VG (vgcreate/vgextend) → cắt thành LV (lvcreate/lvextend) → filesystem → mount. Ubuntu Server cài mặc định thường để LV ubuntu-vg/ubuntu-lv chỉ dùng một phần VG: kiểm tra vgs trước khi thêm disk. Ổ đầy cần dọn trước: Ổ đĩa đầy.

Xem hiện trạng

Mục đích Lệnh
Cây disk/partition/LV, filesystem, UUID, mount lsblk -f
Kích thước, model, loại (disk/part/lvm) lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS,MODEL
UUID và type của một device blkid /dev/sdb1
Tóm tắt PV / VG / LV pvs / vgs / lvs
VG còn trống bao nhiêu vgs -o vg_name,vg_size,vg_free
Chi tiết pvdisplay / vgdisplay ubuntu-vg / lvdisplay
Dung lượng filesystem df -hT
Disk mới gắn nóng (VM) chưa thấy echo 1 | sudo tee /sys/class/scsi_device/*/device/rescan hoặc echo '- - -' | sudo tee /sys/class/scsi_host/host*/scan

Mở rộng

Mục đích Lệnh
Dùng nốt chỗ trống trong VG + resize filesystem lvextend -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
Thêm đúng 20G lvextend -r -L +20G /dev/ubuntu-vg/ubuntu-lv
Thêm disk mới vào VG pvcreate /dev/sdb rồi vgextend ubuntu-vg /dev/sdb
Disk ảo được tăng size: nới partition growpart /dev/sda 3 (gói cloud-guest-utils, có khoảng trắng giữa disk và số partition)
Báo LVM PV đã lớn hơn pvresize /dev/sda3
Resize filesystem thủ công (nếu quên -r) ext4: resize2fs /dev/ubuntu-vg/ubuntu-lv; XFS: xfs_growfs / (theo mount point)
# Quy trình hay gặp: disk VM tăng từ 50G lên 100G, LV root nằm trên /dev/sda3
lsblk                                  # xác nhận sda đã 100G, sda3 vẫn nhỏ
sudo growpart /dev/sda 3
sudo pvresize /dev/sda3
sudo lvextend -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
df -h /

Mở rộng ext4/XFS làm online được. Thu nhỏ (lvreduce) thì XFS không hỗ trợ, ext4 phải umount và resize filesystem trước LV; sai thứ tự là mất dữ liệu. Backup trước khi làm.

Tạo volume mới và mount

Mục đích Lệnh
Tạo VG từ disk mới pvcreate /dev/sdc && vgcreate data-vg /dev/sdc
Tạo LV 50G / dùng hết VG lvcreate -n data -L 50G data-vg / lvcreate -n data -l 100%FREE data-vg
Tạo filesystem mkfs.ext4 /dev/data-vg/data hoặc mkfs.xfs /dev/data-vg/data
Mount thử mkdir -p /srv/data && mount /dev/data-vg/data /srv/data
Snapshot LV (trước khi nâng cấp) lvcreate -s -n data-snap -L 5G /dev/data-vg/data
Gỡ mount / thấy ai đang giữ umount /srv/data / fuser -vm /srv/data
/etc/fstab
# <device>                                  <mount>    <fs>  <options>          <dump> <pass>
UUID=3f1c2a9e-0000-4000-8000-000000000001   /srv/data  ext4  defaults,nofail    0      2
sudo blkid -s UUID -o value /dev/data-vg/data   # lấy UUID
sudo findmnt --verify                           # kiểm tra fstab trước khi reboot
sudo systemctl daemon-reload                    # systemd sinh lại mount unit từ fstab
sudo mount -a && findmnt /srv/data

Disk dữ liệu (không phải root) nên có nofail: disk hỏng/thiếu thì máy vẫn boot thay vì rơi vào emergency mode. Fstab sai làm máy không boot: xem Linux không boot.