Hướng dẫn resize ổ cứng trên Ubuntu Server (LVM)

📌 Áp dụng cho

  • Server Ubuntu sử dụng LVM (Logical Volume Manager)

  • Đã clone ổ cứng từ dung lượng nhỏ sang dung lượng lớn hơn (ví dụ: 512GB → 1TB → 2TB…)

  • Không muốn cài lại hệ điều hành, chỉ cần mở rộng dung lượng ổ đĩa


🔍 Bước 1: Kiểm tra cấu trúc ổ đĩa hiện tại

Trước khi resize, cần xác định chính xác cấu hình ổ cứng.

bash
# Xem cấu trúc phân vùng chi tiết
sudo parted -l

# Xem dung lượng và cách bố trí filesystem
lsblk -f

# Xem thông tin chi tiết ổ đĩa
sudo fdisk -l

📝 Giải thích kết quả cần tìm:

  • Ổ đĩa chính thường là /dev/sda hoặc /dev/sdb

  • Nếu thấy dòng LVM2_member và ubuntu--vg-ubuntu--lv → bạn đang dùng LVM (tin vui)

  • Kiểm tra dung lượng thực tế của ổ so với dung lượng đang sử dụng


⚠️ Bước 2: Sửa cảnh báo GPT (nếu có)

Nếu lệnh parted -l báo cảnh báo về GPT, chạy lệnh sau:

bash
sudo sgdisk -e /dev/sdb

Thay /dev/sdb bằng tên ổ đĩa chính của bạn


🚀 Bước 3: Các lệnh resize ổ cứng (thực hiện tuần tự)

Lưu ý: Các lệnh dưới đây giả sử ổ đĩa chính là /dev/sdb và partition LVM là /dev/sdb3. Hãy điều chỉnh theo kết quả lsblk của bạn.

3.1. Mở rộng partition

bash
sudo growpart /dev/sdb 3

3.2. Kiểm tra partition đã được mở rộng

bash
sudo parted /dev/sdb unit MiB print

3.3. Mở rộng Physical Volume (LVM)

bash
sudo pvresize /dev/sdb3

3.4. Kiểm tra dung lượng trống của Volume Group

bash
sudo vgdisplay

Tìm dòng Free PE / Size để biết dung lượng có thể mở rộng

3.5. Mở rộng Logical Volume ra toàn bộ dung lượng trống

bash
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

3.6. Mở rộng filesystem (ext4)

bash
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

Nếu filesystem là XFS (kiểm tra bằng df -hT), dùng lệnh:

bash
sudo xfs_growfs /

3.7. Kiểm tra kết quả cuối cùng

bash
df -h /

📋 Bảng tóm tắt các lệnh (copy-paste)

bash
# 1. Kiểm tra cấu hình
sudo parted -l
lsblk -f

# 2. Sửa cảnh báo GPT (nếu cần)
sudo sgdisk -e /dev/sdb

# 3. Resize partition
sudo growpart /dev/sdb 3
sudo parted /dev/sdb unit MiB print

# 4. Resize LVM
sudo pvresize /dev/sdb3
sudo vgdisplay
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

# 5. Resize filesystem
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

# 6. Kiểm tra kết quả
df -h /

⚠️ Lưu ý quan trọng

Vấn đề Giải pháp
Lệnh growpart không có sudo apt install cloud-guest-utils -y
Không nhớ tên Logical Volume Xem trong lsblk hoặc df -h
Filesystem là XFS Dùng xfs_growfs / thay vì resize2fs
Ổ cứng khác tên (ví dụ /dev/nvme0n1) Thay sdb bằng tên tương ứng

✅ Dấu hiệu thành công

  • df -h / hiển thị dung lượng mới (gần bằng tổng dung lượng ổ cứng mới)

  • Không có lỗi trong quá trình thực hiện

  • Server vẫn hoạt động bình thường sau khi resize


📁 Tham khảo nhanh các lệnh kiểm tra

bash
# Xem dung lượng đã dùng và còn trống
df -h

# Xem cấu trúc phân vùng dạng cây
lsblk

# Xem thông tin LVM chi tiết
sudo pvdisplay   # Physical Volume
sudo vgdisplay   # Volume Group
sudo lvdisplay   # Logical Volume

# Xem dung lượng ổ đĩa thực tế
sudo fdisk -l | grep "Disk /dev/sd"

🎯 Khi nâng cấp lên 2TB hoặc lớn hơn

Quy trình hoàn toàn giống hệt:

  1. Clone ổ cứng hiện tại sang ổ mới dung lượng lớn hơn

  2. Boot vào ổ mới

  3. Chạy lại toàn bộ các lệnh ở Bước 3

  4. Kiểm tra kết quả bằng df -h /

Không cần cài lại hệ điều hành hay dịch vụ!

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *