Đang tải bài học…
Nội dung sẽ hiển thị khi tải xong.
Nội dung sẽ hiển thị khi tải xong.
Thực hiện trên server của bạn, rồi kiểm tra từng tiêu chí.
Dữ liệu ứng dụng không nên nằm chung ổ với hệ điều hành: đầy ổ dữ liệu sẽ không làm treo cả máy, và có thể mở rộng hay chuyển ổ riêng. LVM cho phép gộp nhiều ổ, mở rộng volume khi đang chạy và tạo snapshot. Cấu hình mount sai trong /etc/fstab còn là một trong những lý do phổ biến nhất khiến server không boot được.
lsblk và blkid./etc/fstab an toàn, kiểm tra trước khi reboot./dev/vdb3 đã được đánh dấu lvm.clean của VM. Bài này thao tác trên ổ đĩa; chọn nhầm ổ sẽ mất dữ liệu.partition /dev/vdb3
│ pvcreate
physical volume (PV)
│ vgcreate kdcvg
volume group (VG) kdcvg ── có thể gộp thêm PV khác
│ lvcreate -n data
logical volume (LV) /dev/kdcvg/data = /dev/mapper/kdcvg-data
│ mkfs.xfs
filesystem → mount /mnt/kdc-data
mount chỉ có hiệu lực tới lần reboot. /etc/fstab là khai báo để systemd tự tạo mount unit khi boot. Mỗi dòng gồm: thiết bị, mountpoint, kiểu filesystem, tùy chọn, dump, thứ tự fsck.
Dùng tên ổn định. /dev/vdb có thể đổi thành /dev/vdc khi gắn thêm ổ. Trong fstab dùng UUID=... hoặc đường dẫn LVM /dev/mapper/kdcvg-data, vì cả hai không phụ thuộc thứ tự phát hiện ổ.
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
lsblk liệt kê thiết bị khối; -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS chọn các cột tên, dung lượng, loại thiết bị, filesystem và nơi mount.
Partition kdc-lvm tạo ở bài trước chưa có FSTYPE, không mount ở đâu. Các lệnh dưới dùng /dev/vdb3; thay bằng tên của bạn (/dev/sdb3, /dev/nvme1n1p3...). Nếu bạn bỏ qua bài phân vùng, có thể dùng nguyên một ổ trống, ví dụ /dev/vdc.
sudo dnf install -y lvm2
sudo pvcreate /dev/vdb3
sudo vgcreate kdcvg /dev/vdb3
sudo lvcreate -n data -L 512M kdcvg
sudo pvs; sudo vgs; sudo lvs
pvcreate khởi tạo partition thành physical volume, vgcreate kdcvg <PV> tạo volume group từ PV, lvcreate cấp logical volume trong group đó. Với lvcreate -n data -L 512M kdcvg, -n đặt tên LV, -L đặt kích thước 512 MiB, kdcvg là VG nguồn. pvs, vgs, lvs in bảng trạng thái PV/VG/LV. Các lệnh khởi tạo volume ghi metadata mới lên thiết bị lab.
XFS cần tối thiểu khoảng 300 MB, nên LV dùng 512 MB.
sudo mkfs.xfs /dev/kdcvg/data
sudo mkdir -p /mnt/kdc-data
sudo mount /dev/kdcvg/data /mnt/kdc-data
findmnt /mnt/kdc-data
echo "Dữ liệu nằm trên LV" | sudo tee /mnt/kdc-data/KDC-DATA
mkfs.xfs /dev/kdcvg/data tạo filesystem XFS trên LV (có thể làm mất dữ liệu cũ). mount <thiết-bị> <thư-mục> gắn filesystem vào thư mục để truy cập dữ liệu; findmnt <thư-mục> xác nhận nguồn và loại filesystem. File marker ghi sau khi mount nằm trên LV, không nằm trên filesystem gốc của VM.
sudo umount /mnt/kdc-data
echo '/dev/mapper/kdcvg-data /mnt/kdc-data xfs defaults 0 0' | sudo tee -a /etc/fstab
sudo systemctl daemon-reload
sudo findmnt --verify
sudo mount -a
findmnt /mnt/kdc-data
tee -a /etc/fstab thêm dòng vào cuối file thay vì ghi đè. findmnt --verify kiểm tra khai báo mount trong fstab; mount -a mount các mục đủ điều kiện trong file đó. findmnt /mnt/kdc-data xem mount thực tế.
findmnt --verify báo lỗi cú pháp, thiết bị không tồn tại hoặc kiểu filesystem sai trước khi reboot. mount -a mount mọi dòng chưa được mount; nếu lệnh này lỗi thì reboot cũng sẽ lỗi.
sudo systemctl reboot
Sau khi đăng nhập lại: findmnt /mnt/kdc-data và cat /mnt/kdc-data/KDC-DATA.
sudo lvextend -r -L +256M kdcvg/data
df -h /mnt/kdc-data
lvextend tăng dung lượng LV: -L +256M thêm 256 MiB vào kích thước hiện tại (khác -L 256M đặt kích thước đích), -r yêu cầu tăng filesystem cùng LV khi được hỗ trợ. df -h kiểm tra filesystem đã lớn lên, không chỉ LV. Đây là tùy chọn của LVM; -r không có nghĩa xóa đệ quy như rm.
-r mở rộng luôn filesystem. XFS mở rộng được nhưng không thu nhỏ được.
findmnt /mnt/kdc-data
grep kdc-data /etc/fstab
sudo lvs kdcvg
Chọn server và bấm Kiểm tra kết quả.
mount -o remount,rw /, sửa fstab, rồi reboot. Đây là lý do luôn chạy findmnt --verify trước./dev/vdb trong fstab cho ổ không dùng LVM: thứ tự ổ đổi thì mount nhầm ổ hoặc lỗi./mnt/kdc-data khi volume chưa mount: dữ liệu nằm trên ổ root, bị che đi khi mount. findmnt trước khi ghi.nofail để máy vẫn boot khi thiếu ổ.Cài lvm2 bằng apt. Filesystem mặc định của Ubuntu là ext4; bài này vẫn dùng XFS (apt install xfsprogs) để khớp tiêu chí. Mở rộng ext4 cũng dùng lvextend -r.
Cần tháo mount và bỏ dòng fstab của lab trước khi xóa volume; dữ liệu trên LV sẽ mất.
sudo umount /mnt/kdc-data
sudo sed -i '\|/mnt/kdc-data|d' /etc/fstab
sudo systemctl daemon-reload
sudo lvremove -y kdcvg/data && sudo vgremove kdcvg && sudo pvremove /dev/vdb3
lvremove -y xóa LV và tự đồng ý; vgremove xóa VG, pvremove xóa metadata PV. && chỉ chạy bước sau khi bước trước thành công.