Hướng dẫn resize ổ cứng bằng công cụ Parted trên máy chủ ảo hóa VMware

Cao Lương Mạnh Toàn 8 phút đọc

1. Mục đích

Tài liệu này hướng dẫn cách mở rộng dung lượng ổ đĩa của máy ảo Linux khi hệ điều hành sắp hết dung lượng lưu trữ.
Máy ảo (Virtual Machine – VM) cho phép mở rộng dung lượng linh hoạt hơn nhiều so với máy chủ vật lý truyền thống.

Lưu ý: Đây là thao tác mở rộng dung lượng ổ đĩa gốc (original disk capacity), không phải thêm ổ mới.

2. Các bước thực hiện

Bước 1: Kiểm tra ổ đĩa trong hệ điều hành

Mở terminal trên Linux và chạy lệnh:

 
sudo fdisk -l

Kết quả hiển thị ví dụ:

  • Ổ đĩa /dev/vda được nhận diện với dung lượng mới (ví dụ: 500GB)

  • Tuy nhiên, các phân vùng hiện tại vẫn giữ nguyên kích thước cũ, ví dụ:

    • / (root): 51.3GB

    • swap: 8.4GB

    • /home: 25.1GB

Bước 2: Tạo phân vùng mới

Để tránh rủi ro mất dữ liệu, không nên mở rộng trực tiếp phân vùng hiện tại.
Thay vào đó, ta sẽ tạo thêm một phân vùng mới và mở rộng nhóm volume (LVM).

Thực hiện như sau:

  1. Tạo phân vùng mới:

     
    sudo fdisk /dev/vda

    Lưu ý: Ổ đĩa có thể là /dev/sda hoặc /dev/hda tùy hệ thống.

  2. Sau khi hoàn tất và ghi bảng phân vùng, hệ thống sẽ tạo phân vùng mới, ví dụ: /dev/vda3 

  3. Khởi động lại máy ảo:

     

Bước 3: Mở rộng Volume Group (VG)

  1. Kiểm tra thông tin nhóm volume:

     
    vgdisplay
  2. Mở rộng nhóm volume hiện có bằng phân vùng mới:

     
    vgextend <Tên_VG> /dev/vda3

    Ví dụ:

     
    vgextend centos /dev/vda3

Bước 4: Mở rộng Logical Volume (LV)

  1. Kiểm tra dung lượng logical volume:

     
    lvdisplay
  2. Mở rộng logical volume mong muốn, ví dụ thêm 100GB cho /dev/centos/home:

     
    lvextend -L+100G /dev/centos/home
  3. Cập nhật kích thước hệ thống tập tin (áp dụng thay đổi):

     
    xfs_growfs /dev/centos/home
  4. Kiểm tra lại dung lượng:

     
    df -h

    → Thấy dung lượng /dev/centos/home đã tăng lên (ví dụ: ~120GB).

    Chúc các bạn thành công.

CÂU HỎI FAQ

Câu hỏi 1: Sự khác biệt giữa mở rộng ổ đĩa gốc và thêm ổ đĩa mới trên máy ảo Linux là gì?

Trả lời: Mở rộng ổ đĩa gốc là hành động tăng trực tiếp hạn mức không gian của phân vùng hiện tại (Ví dụ từ 50GB lên 100GB trên cùng ổ /dev/vda) thông qua hạ tầng quản lý LVM. Trong khi đó, thêm ổ đĩa mới là gắn một phân vùng phần cứng hoàn toàn độc lập (Ví dụ sinh thêm ổ /dev/vdb), yêu cầu phải cấu hình mount thư mục mới từ đầu.

Câu hỏi 2: Tại sao nên tạo phân vùng mới thay vì mở rộng trực tiếp phân vùng cũ khi tăng dung lượng VM?

Trả lời: Việc tạo một phân vùng mới (Ví dụ /dev/vda3) từ vùng trống vừa nâng cấp là giải pháp an toàn nhất để tránh rủi ro mất mát dữ liệu do lỗi ghi đè phân vùng. Sau khi tạo phân vùng mới, kỹ thuật viên chỉ cần dùng tính năng của LVM để gộp tài nguyên vào nhóm Volume Group chung mà không làm ảnh hưởng đến cấu trúc các file hệ thống cũ.

Câu hỏi 3: Lệnh vgextend và lvextend trong kiến trúc LVM Linux có chức năng gì?

Trả lời: Lệnh vgextend có chức năng bổ sung một phân vùng vật lý mới vào nhóm tài nguyên Volume Group hiện tại để mở rộng tổng dung lượng lưu trữ của nhóm. Lệnh lvextend phân bổ không gian trống từ Volume Group đó để kéo dài kích thước cho một phân vùng logic cụ thể (Logical Volume) được chỉ định.

Câu hỏi 4: Tại sao sau khi chạy lệnh lvextend hệ thống vẫn hiển thị dung lượng cũ khi gõ df -h?

Trả lời: Hiện tượng này xảy ra do lệnh lvextend mới chỉ thay đổi kích thước ở tầng quản lý logic của LVM, còn tầng hệ thống tập tin (Filesystem) bên trong chưa được cập nhật. Bạn cần thực thi lệnh xfs_growfs <đường_dẫn> (đối với định dạng XFS) hoặc resize2fs <đường_dẫn> (đối với định dạng ext4) để đồng bộ dữ liệu hiển thị.