TDCLOUD  ·  0%
Hướng Dẫn

Cách mở rộng ổ đĩa VPS sau khi nâng cấp dung lượng (Windows Server & Linux)

C
Cố Tổng
06/10/2026
2 lượt xem

Bạn vừa nâng cấp ổ cứng VPS từ 40 GB lên 80 GB, nhưng vào máy thì ổ C: (Windows) hoặc phân vùng / (Linux) vẫn báo dung lượng cũ? Đây là tình huống rất thường gặp và không phải lỗi. Bài viết này giải thích nguyên nhân và hướng dẫn từng bước mở rộng ổ đĩa VPS trên Windows Server và Linux, không cần cài lại hệ điều hành, không mất dữ liệu nếu làm đúng thứ tự.

Vì sao nâng cấp xong vẫn thấy dung lượng cũ?

Ổ cứng của VPS là một ổ ảo. Khi nâng cấp, ổ ảo được làm lớn hơn, nhưng bên trong nó vẫn còn nguyên bảng phân vùng và hệ thống tệp (NTFS, ext4, XFS) với kích thước cũ. Phần dung lượng mới nằm ở cuối ổ dưới dạng vùng trống chưa thuộc phân vùng nào. Muốn dùng được, bạn cần làm 2 việc:

  1. Giãn phân vùng để nó chiếm cả phần trống phía sau.
  2. Giãn hệ thống tệp bên trong phân vùng đó. Trên Windows, Disk Management làm cả hai bước cùng lúc.

Nếu kiểm tra thấy ổ đã nhận đủ dung lượng mới thì bạn không cần làm gì thêm, có thể bỏ qua bài này.

Tóm tắt nhanh

Hệ điều hànhCông cụThao tác chính
Windows Server 2012 – 2022Disk Management hoặc PowerShellChuột phải ổ C: → Extend Volume → Next → Finish
Linux, hệ thống tệp ext4growpart + resize2fsgrowpart /dev/vda 1 rồi resize2fs /dev/vda1
Linux, hệ thống tệp XFSgrowpart + xfs_growfsgrowpart /dev/vda 1 rồi xfs_growfs /
Linux dùng LVMgrowpart + pvresize + lvextendXem mục riêng ở cuối phần Linux

Trước khi bắt đầu

  • Sao lưu dữ liệu quan trọng. Thao tác giãn phân vùng thường rất an toàn, nhưng bạn đang chỉnh trực tiếp lên ổ hệ thống. TDCLOUD có backup hằng ngày cho mọi gói VPS, tuy vậy bạn vẫn nên tự sao lưu những dữ liệu thay đổi trong ngày (database, file upload mới) trước khi làm.
  • Kiểm tra dung lượng ổ ảo đã tăng chưa. Trong trang quản lý VPS tại manager.tdcloud.vn, tab Overview có mục Disk Usage hiển thị tổng dung lượng ổ. Nếu con số ở đây vẫn là dung lượng cũ, việc nâng cấp chưa hoàn tất, bạn hãy liên hệ bộ phận hỗ trợ trước.
  • Khởi động lại VPS một lần nếu hệ điều hành chưa nhận ra ổ đã lớn hơn.
  • Đăng nhập với quyền quản trị: tài khoản Administrator trên Windows, root hoặc user có sudo trên Linux. Nếu chưa biết cách kết nối, xem hướng dẫn kết nối VPS Windows bằng Remote Desktop và hướng dẫn kết nối VPS Linux qua SSH.

Phần 1: Mở rộng ổ C: trên VPS Windows Server

Cách làm dưới đây áp dụng cho Windows Server 2012, 2012 R2, 2016, 2019 và 2022. Giao diện giữa các phiên bản gần như giống nhau.

Bước 1: Mở Disk Management

Kết nối vào VPS bằng Remote Desktop. Bấm tổ hợp phím Windows + R, gõ diskmgmt.msc rồi bấm OK. Bạn cũng có thể chuột phải vào nút Start và chọn Disk Management.

Hộp thoại Run trên Windows Server với lệnh diskmgmt.msc để mở Disk Management
Gõ diskmgmt.msc trong hộp thoại Run để mở công cụ quản lý ổ đĩa.

Bước 2: Tìm vùng Unallocated

Ở nửa dưới cửa sổ, bạn sẽ thấy Disk 0 với tổng dung lượng mới (ví dụ 80.00 GB). Ổ (C:) vẫn giữ kích thước cũ, còn phần vừa nâng cấp hiện thành một khối có thanh màu đen, ghi Unallocated.

Disk Management hiển thị ổ C: 39.51 GB và vùng Unallocated 40 GB nằm ngay sau
Vùng Unallocated phải nằm ngay sau ổ C: thì mới giãn được bằng Disk Management.

Lưu ý: Nếu giữa ổ C: và vùng Unallocated có một phân vùng khác chen vào (thường là Recovery Partition vài trăm MB), Windows sẽ không cho giãn ổ C:. Xem cách xử lý ở phần lỗi thường gặp bên dưới.

Bước 3: Chọn Extend Volume

Chuột phải vào ô (C:) ở phần đồ họa phía dưới (hoặc dòng (C:) trong danh sách phía trên), chọn Extend Volume....

Menu chuột phải trên ổ C: trong Disk Management với tùy chọn Extend Volume
Chuột phải vào ổ C: rồi chọn Extend Volume...

Bước 4: Hoàn tất Extend Volume Wizard

  1. Màn hình chào mừng: bấm Next.
  2. Màn hình Select Disks: Disk 0 đã được chọn sẵn ở cột Selected. Ô Select the amount of space in MB mặc định bằng Maximum available space, tức dùng hết phần trống. Giữ nguyên và bấm Next.
  3. Màn hình cuối: bấm Finish.
Extend Volume Wizard trang Select Disks với dung lượng tối đa 40960 MB
Giữ số MB mặc định để gộp toàn bộ phần trống vào ổ C:.

Thao tác chỉ mất vài giây và không cần khởi động lại. Ổ C: lúc này sẽ hiển thị dung lượng mới, vùng Unallocated biến mất. Mở This PC để kiểm tra lại.

Cách khác: Mở rộng ổ C: bằng PowerShell

Nếu bạn quen dòng lệnh, hoặc muốn làm nhanh trên nhiều VPS, hãy mở Windows PowerShell với quyền Administrator (chuột phải Start → Windows PowerShell (Admin)) và chạy lần lượt:

$max = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Resize-Partition -DriveLetter C -Size $max
Get-Volume -DriveLetter C
PowerShell dùng Get-PartitionSupportedSize và Resize-Partition để giãn ổ C:
Lệnh Get-Volume ở cuối cho thấy ổ C: đã lên 79.51 GB.

Nếu ổ C: đã ở kích thước tối đa, lệnh Resize-Partition sẽ báo lỗi kiểu "The size of the extent is less than the minimum of 1MB". Lỗi này chỉ có nghĩa là không còn chỗ trống để giãn thêm.

Phần 2: Mở rộng phân vùng trên VPS Linux

Các lệnh dưới đây chạy được trên Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS. Trong ví dụ, ổ đĩa tên là /dev/vda và phân vùng gốc là /dev/vda1. Đây chỉ là ví dụ: trên VPS của bạn tên có thể là /dev/sda, /dev/sda2... hãy xem kết quả lsblk thực tế và thay cho đúng.

Bước 1: Kiểm tra ổ đĩa và hệ thống tệp

lsblk
df -Th /
Kết quả lsblk cho thấy ổ vda 80G nhưng phân vùng vda1 chỉ 40G
Ổ vda đã 80G nhưng phân vùng vda1 vẫn 40G: cần giãn phân vùng.

Ghi lại 3 thông tin:

  • Tên ổ: dòng có TYPE là disk, ví dụ vda.
  • Số thứ tự phân vùng chứa thư mục /: ví dụ vda1 thì số là 1.
  • Loại hệ thống tệp: cột Type của lệnh df -Th /, thường là ext4 hoặc xfs.

Nếu lsblk cho thấy phân vùng đã bằng kích thước ổ, chỉ có df còn báo dung lượng cũ, bạn bỏ qua bước 3 và làm thẳng bước 4.

Bước 2: Cài công cụ growpart

Nhiều bản cài sẵn công cụ này. Nếu gõ growpart báo "command not found", cài theo hệ điều hành:

# Ubuntu / Debian
apt update && apt install -y cloud-guest-utils

# AlmaLinux / Rocky Linux / CentOS
dnf install -y cloud-utils-growpart

Trên CentOS 7 dùng yum thay cho dnf.

Bước 3: Giãn phân vùng bằng growpart

growpart /dev/vda 1

Chú ý có dấu cách giữa tên ổ và số phân vùng (/dev/vda 1, không phải /dev/vda1). Kết quả thành công bắt đầu bằng CHANGED: partition=1. Nếu báo NOCHANGE nghĩa là phân vùng đã chiếm hết ổ, không cần giãn thêm.

Bước 4: Giãn hệ thống tệp

Chọn lệnh theo loại hệ thống tệp đã xem ở bước 1:

# Nếu là ext4
resize2fs /dev/vda1

# Nếu là XFS (thường gặp trên AlmaLinux, Rocky Linux, CentOS)
xfs_growfs /

Cả hai lệnh đều chạy được khi hệ thống đang hoạt động, không cần tắt dịch vụ hay khởi động lại.

Chạy growpart /dev/vda 1 và resize2fs /dev/vda1, sau đó df -h báo 79G
Sau growpart và resize2fs, df -h báo phân vùng gốc đã lên 79G.

Bước 5: Kiểm tra lại

df -h /

Cột Size hiển thị dung lượng mới là xong. Con số thường thấp hơn dung lượng gói một chút do phần dành cho bảng phân vùng và siêu dữ liệu của hệ thống tệp, đây là bình thường.

Trường hợp VPS dùng LVM

Nếu lsblk cho thấy dưới phân vùng có một dòng TYPE là lvm (ví dụ ubuntu--vg-ubuntu--lv), thư mục / nằm trên ổ logic LVM. Khi đó cần thêm 2 lệnh sau growpart:

# 1. Giãn phân vùng chứa LVM (ví dụ phân vùng số 3)
growpart /dev/vda 3

# 2. Báo cho LVM biết phân vùng đã lớn hơn
pvresize /dev/vda3

# 3. Giãn ổ logic và hệ thống tệp cùng lúc (tùy chọn -r)
lvextend -r -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

Tên phân vùng và tên ổ logic lấy theo kết quả lsblk và lvs trên máy bạn.

Lỗi thường gặp

Extend Volume bị mờ, không bấm được

Nguyên nhân phổ biến nhất là vùng Unallocated không nằm liền ngay sau ổ C:, thường do Recovery Partition chắn ở giữa. Disk Management chỉ giãn được sang vùng trống liền kề phía bên phải. Xử lý trường hợp này cần xóa hoặc di chuyển phân vùng chắn giữa, dễ gây lỗi khởi động nếu làm sai, nên bạn hãy liên hệ đội kỹ thuật TDCLOUD để được hỗ trợ.

Không thấy vùng Unallocated nào

Hệ điều hành chưa nhận ổ mới. Trong Disk Management, vào menu Action → Rescan Disks. Nếu vẫn không thấy, khởi động lại VPS rồi kiểm tra Disk Usage trong trang quản lý.

growpart báo lỗi "command not found"

Chưa cài gói công cụ. Xem lại bước 2 của phần Linux.

resize2fs báo "Bad magic number in super-block"

Thường do phân vùng dùng XFS chứ không phải ext4. Kiểm tra bằng df -Th / và dùng xfs_growfs / thay thế.

growpart xong nhưng df -h vẫn báo dung lượng cũ

Bạn mới giãn phân vùng, chưa giãn hệ thống tệp. Chạy tiếp lệnh ở bước 4.

Câu hỏi thường gặp

Mở rộng ổ đĩa có làm mất dữ liệu không?

Khi làm đúng các bước trên, dữ liệu hiện có được giữ nguyên vì bạn chỉ thêm dung lượng vào cuối phân vùng. Tuy vậy, bạn vẫn nên sao lưu trước, nhất là với database đang chạy.

Có cần khởi động lại VPS sau khi mở rộng không?

Không. Cả Extend Volume trên Windows lẫn resize2fs, xfs_growfs trên Linux đều áp dụng ngay khi hệ thống đang chạy.

Có thể thu nhỏ ổ đĩa lại không?

Trên Windows có Shrink Volume, nhưng việc giảm dung lượng ổ ảo phía nhà cung cấp phức tạp hơn nhiều. Riêng XFS trên Linux không hỗ trợ thu nhỏ. Vì vậy hãy chọn dung lượng phù hợp với nhu cầu thực tế khi nâng cấp.

Cần thêm dung lượng hoặc cần hỗ trợ?

Nếu website, database hay dữ liệu backup đang lớn nhanh, bạn có thể tham khảo các gói VPS Tiêu Chuẩn ổ NVMe hoặc VPS Nhiều RAM cho nhu cầu nặng hơn. Trong quá trình mở rộng ổ đĩa, nếu gặp lỗi không có trong bài, hãy gửi ticket hoặc liên hệ đội ngũ hỗ trợ TDCLOUD kèm ảnh chụp màn hình Disk Management hoặc kết quả lệnh lsblk để được kiểm tra nhanh hơn.

Nếu bạn thấy bài viết này hữu ích...

Nhấp vào ngôi sao để đánh giá!

Chưa có đánh giá nào. Hãy là người đầu tiên!

Có thể bạn quan tâm