Khi sử dụng VPS CentOS 7, bạn có thể gặp tình huống cần mở rộng dung lượng ổ đĩa do hệ thống báo đầy hoặc cần nâng cấp tài nguyên. Việc mở rộng phân vùng giúp tận dụng tối đa không gian lưu trữ mà không ảnh hưởng đến dữ liệu. Trong bài viết này, mình sẽ hướng dẫn các bạn cách phân vùng ổ đĩa trên VPS CentOS 7 một cách an toàn và hiệu quả, áp dụng cho cả phân vùng thông thường và LVM. Hãy cùng khám phá từng bước thực hiện chi tiết để đảm bảo hệ thống của bạn luôn hoạt động ổn định.
Kết nối SSH đến VPS
Trước tiên, bạn cần kết nối SSH vào máy chủ với quyền root hoặc user có quyền sudo. Nếu bạn chưa biết cách, hãy tham khảo bài viết sau:
Kiểm tra dung lượng ổ đĩa hiện tại
Chạy lệnh sau để kiểm tra nhanh dung lượng ổ đĩa hiện tại:
df -h

Sau đó, kiểm tra danh sách ổ đĩa và phân vùng:
fdisk -l

Tôi đang muốn mở rộng phân vùng /dev/sda1 từ 30GB lên 50GB trên CentOS 7. Hiện tại, ổ đĩa /dev/sda đã có tổng dung lượng 53.7GB, nhưng phân vùng /dev/sda1 mới chỉ sử dụng 30GB. Dưới đây là hướng dẫn chi tiết để thực hiện:
Mở Rộng Phân Vùng Thông Thường (/dev/sda1)
Nếu bạn không sử dụng LVM, hãy làm theo các bước sau:
Mở công cụ fdisk:
fdisk /dev/sda

Hiển thị bảng phân vùng hiện tại
Command (m for help): p

Xóa phân vùng cũ
Command (m for help): d
Partition number (1,2, default 1): 1

Tạo lại phân vùng mới với dung lượng lớn hơn
- Nhấn
nđể tạo phân vùng mới - Nhấn
pđể tạo phân vùng primary - Chọn
1là phân vùng số 1 - Giữ nguyên giá trị mặc định của sector bắt đầu.
- Ở sector cuối, nhập kích thước lớn nhất (mặc định sẽ là toàn bộ dung lượng còn lại)

Đánh dấu phân vùng là bootable
Command (m for help): a
Partition number (1-4, default 1): 1

Lưu thay đổi và thoát fdisk
Command (m for help): w

Cập nhật bảng phân vùng trong hệ thống
Dùng partprobe để cập nhật ngay mà không cần reboot
partprobe /dev/sda

Mở rộng hệ thống tập tin (Filesystem)
Tùy thuộc vào loại filesystem, bạn có thể dùng một trong hai lệnh sau:
- Nếu ổ đĩa dùng XFS (thường là mặc định trên CentOS 7)
xfs_growfs /
- Nếu ổ đĩa dùng ext4
resize2fs /dev/sda1

Để kiểm tra ổ đĩa dùng XFS hay ext4, có thể dùng lệnh sau:
lsblk -f

Hướng dẫn mở Rộng Phân Vùng LVM (/dev/mapper/centos-root)
Nếu bạn sử dụng LVM, thực hiện các bước sau:
Kiểm tra phân vùng LVM
lsblk
Xác định phân vùng cần mở rộng, ví dụ /dev/sda2.
Xóa và tạo lại phân vùng LVM
fdisk /dev/sda
- Nhấn
dđể xóa phân vùng cũ. - Nhấn
nđể tạo phân vùng mới với kích thước tối đa. - Chọn
tđể đặt kiểu phân vùng là 8e (Linux LVM). - Nhấn
wđể lưu thay đổi.
Cập nhật bảng phân vùng
partprobe /dev/sda
Mở rộng Physical Volume (PV)
pvresize /dev/sda2
Mở rộng Logical Volume (LV)
lvextend -l +100%FREE /dev/mapper/centos-root
Mở rộng hệ thống tập tin
Nếu sử dụng XFS:
xfs_growfs /dev/centos/root
Nếu sử dụng ext4:
resize2fs /dev/mapper/centos-root
Bước 5: Kiểm tra lại dung lượng ổ đĩa
Sau khi hoàn tất, kiểm tra lại dung lượng ổ đĩa:
df -h

Chúc các bạn thành công!
Những câu hỏi thường gặp
Nên mở rộng phân vùng thông thường hay LVM?
Điều này phụ thuộc vào cách VPS của bạn được cấu hình. Nếu phân vùng sử dụng LVM, bạn nên làm theo hướng dẫn LVM để tận dụng khả năng mở rộng linh hoạt; còn không, dùng cách mở rộng phân vùng thông thường.
Làm sao biết filesystem đang dùng là XFS hay ext4?
Bạn có thể kiểm tra bằng lệnh: lsblk -f
Kết quả sẽ hiển thị loại filesystem, từ đó chọn lệnh phù hợp để mở rộng: xfs_growfs cho XFS và resize2fs cho ext4.
Có cần reboot VPS sau khi thay đổi phân vùng không?
Không nhất thiết. Sau khi thao tác với fdisk, bạn chỉ cần dùng lệnh: partprobe /dev/sda
để cập nhật bảng phân vùng ngay mà không cần khởi động lại.
Nếu mở rộng phân vùng sai, dữ liệu có bị mất không?
Có thể mất dữ liệu nếu thao tác không đúng, đặc biệt khi xóa và tạo lại phân vùng. Luôn backup dữ liệu quan trọng trước khi mở rộng và đảm bảo ghi nhớ sector bắt đầu để không ghi đè dữ liệu cũ.

