Đ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í.
Server thật thường có ổ riêng cho dữ liệu, log hoặc backup. Bạn cần chia ổ, chọn filesystem và mount sao cho đổi thứ tự ổ hay reboot cũng không hỏng. Swap là vùng đệm khi RAM cạn: không làm máy nhanh hơn, nhưng giúp tránh tiến trình bị kernel giết đột ngột khi tải tăng vọt. RHCSA kiểm tra cả partition, filesystem và swap.
lsblk, blkid, parted print.parted./etc/fstab, kiểm tra trước khi reboot.clean của VM. Chọn nhầm ổ sẽ mất dữ liệu./dev/vdb (ổ phụ 2 GB, bảng phân vùng GPT)
├─ /dev/vdb1 512 MiB ext4 → /mnt/kdc-archive
├─ /dev/vdb2 256 MiB swap
└─ /dev/vdb3 phần còn lại → để dành cho bài LVM
GPT là bảng phân vùng hiện đại (thay MBR): tối đa 128 partition, hỗ trợ ổ lớn hơn 2 TB. Partition chỉ là một khoảng trên ổ; phải tạo filesystem (ext4, XFS) hoặc swap lên đó mới dùng được.
UUID được tạo khi format, không đổi khi thứ tự ổ thay đổi. Vì vậy fstab dùng UUID=... thay cho /dev/vdb1.
Với ổ NVMe, tên partition có thêm p: /dev/nvme1n1p1.
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
swapon --show
lsblk liệt kê thiết bị block: -o chọn cột NAME (tên), SIZE (kích thước), TYPE (disk/partition), FSTYPE (filesystem), MOUNTPOINTS (đang gắn ở đâu). swapon --show liệt kê vùng swap đang bật. Đối chiếu ổ phụ theo kích thước và mountpoint trước khi dùng tên /dev/vdb trong bước sau.
Ổ trống không có partition con, không có FSTYPE. Các lệnh dưới dùng /dev/vdb; thay bằng tên ổ của bạn. Trên VirtualBox và Hyper-V, ổ phụ thường là /dev/sdb. Nếu VM đã có swap zram, đó là swap nén trong RAM; bài này thêm swap trên ổ đĩa.
sudo parted --script /dev/vdb \
mklabel gpt \
mkpart kdc-archive ext4 1MiB 513MiB \
mkpart kdc-swap linux-swap 513MiB 769MiB \
mkpart kdc-lvm 769MiB 100%
sudo parted --script /dev/vdb set 3 lvm on
sudo udevadm settle
sudo parted /dev/vdb print
lsblk /dev/vdb
Thành phần của parted | Ý nghĩa |
|---|---|
--script | Chạy không tương tác, không chờ xác nhận; các thay đổi ghi lên ổ ngay. |
/dev/vdb | Ổ đích; thay bằng ổ phụ trống bạn vừa xác định, không dùng ổ hệ điều hành. |
mklabel gpt | Tạo bảng phân vùng GPT mới; thay thế bảng cũ. |
mkpart <tên> <loại> <đầu> <cuối> | Tạo partition với khoảng vị trí trên ổ; ghi ext4 chưa tạo filesystem ext4. |
1MiB, 513MiB, 769MiB, 100% | Vị trí đầu/cuối, không phải dung lượng từng partition. MiB là đơn vị nhị phân. |
set 3 lvm on | Bật flag LVM trên partition số 3. |
print | In bảng phân vùng để kiểm tra. |
udevadm settle đợi các sự kiện thiết bị đang chờ được xử lý để tên partition xuất hiện. Dấu \ cuối dòng chỉ nối cùng một lệnh; không phải lệnh mới. Các lệnh tạo partition/format chỉ chạy trên ổ phụ của VM lab.
Partition bắt đầu từ 1MiB để căn chỉnh tốt với ổ hiện đại.
sudo mkfs.ext4 -L kdc-archive /dev/vdb1
sudo mkswap -L kdc-swap /dev/vdb2
sudo blkid /dev/vdb1 /dev/vdb2
mkfs.ext4 tạo filesystem ext4; mkswap tạo metadata swap. Cả hai ghi cấu trúc mới lên partition đích, nên dữ liệu cũ có thể mất. -L đặt label (kdc-archive, kdc-swap); blkid đọc UUID, label và loại dữ liệu của thiết bị để dùng trong cấu hình mount.
archive_uuid=$(sudo blkid -s UUID -o value /dev/vdb1)
swap_uuid=$(sudo blkid -s UUID -o value /dev/vdb2)
sudo mkdir -p /mnt/kdc-archive
echo "UUID=$archive_uuid /mnt/kdc-archive ext4 defaults 0 2" | sudo tee -a /etc/fstab
echo "UUID=$swap_uuid none swap defaults 0 0" | sudo tee -a /etc/fstab
sudo systemctl daemon-reload
sudo findmnt --verify
sudo mount -a
sudo swapon -a
findmnt /mnt/kdc-archive
swapon --show
free -h
| Thành phần | Ý nghĩa |
|---|---|
blkid -s UUID -o value | -s chọn trường UUID, -o value chỉ in giá trị để gán vào biến. |
archive_uuid=$(...) | Chạy lệnh trong $() rồi lưu kết quả vào biến shell. |
tee -a /etc/fstab | -a thêm dòng vào cuối file, không ghi đè. Chạy lại sẽ thêm dòng trùng, cần xem file trước. |
findmnt --verify | Kiểm tra tính hợp lệ và khả dụng của khai báo fstab, chưa mount toàn bộ. |
mount -a | Mount các mục đủ điều kiện trong fstab; không chỉ partition vừa tạo. |
swapon -a | Bật các mục swap đủ điều kiện trong fstab. |
findmnt /mnt/kdc-archive | Xem filesystem hiện đang gắn tại mountpoint này. |
free -h | Xem bộ nhớ RAM/swap với đơn vị dễ đọc. |
Dòng fstab có 6 cột: thiết bị/UUID, mountpoint, loại filesystem, tùy chọn mount, cờ dump, thứ tự fsck. Với swap, mountpoint là none; 0 0 không dùng dump/fsck. Hoàn tất kiểm tra lỗi fstab trước khi reboot.
Cột cuối 2 cho phép fsck kiểm tra filesystem này khi boot, sau filesystem gốc.
sudo systemctl reboot
Sau khi đăng nhập lại: findmnt /mnt/kdc-archive và swapon --show.
lsblk -f /dev/vdb
grep -E 'kdc-archive|swap' /etc/fstab
swapon --show
lsblk -f chọn nhóm cột thông tin filesystem, gồm loại, label, UUID. grep -E 'kdc-archive|swap' tìm các dòng có một trong hai mẫu trong fstab.
Chọn server và bấm Kiểm tra kết quả.
mkfs lên nhầm ổ hệ điều hành: luôn đọc lsblk và kiểm tra MOUNTPOINTS trống trước khi format.findmnt --verify bắt được lỗi này trước khi reboot.swapon -a hoặc dòng fstab: swap chỉ có tới lần reboot.sudo udevadm settle hoặc sudo partprobe /dev/vdb.nofail cho ổ không bắt buộc để máy vẫn boot khi ổ hỏng.Các lệnh giống nhau. Ubuntu thường dùng swap file /swap.img thay vì partition; tiêu chí vẫn đạt nếu swap trên ổ đĩa đang bật và có trong fstab.
Giữ /dev/vdb3 cho bài LVM. Muốn gỡ phần của bài này:
sudo swapoff /dev/vdb2
sudo umount /mnt/kdc-archive
sudo sed -i -e '\|/mnt/kdc-archive|d' -e '/ swap /d' /etc/fstab
sudo systemctl daemon-reload
swapoff tắt swap trên partition chỉ định; umount tháo filesystem khỏi mountpoint (tên lệnh là umount, không phải unmount). sed -i sửa file tại chỗ, -e thêm một biểu thức xử lý; hậu tố d xóa dòng khớp. Biểu thức / swap /d khớp mọi dòng swap chứa chuỗi đó, vì vậy phải xem /etc/fstab và chỉ giữ phạm vi dọn swap lab trước khi chạy, tránh xóa khai báo swap khác.
Lệnh sed thứ hai xóa mọi dòng swap trong fstab; nếu VM có swap khác, hãy sửa fstab bằng tay.