Khi sử dụng AWS EC2, việc mở rộng (extend) ổ đĩa root là một nhu cầu phổ biến để tăng dung lượng lưu trữ cho instance của bạn. Bài viết dưới đây hướng dẫn chi tiết các bước thực hiện, dựa trên các tài liệu và hướng dẫn chính thức của AWS.

Bước 0: Chuẩn bị
- Đảm bảo bạn có quyền quản trị (Administrator) trên AWS Console và quyền SSH vào instance.
- Đối với hệ thống Linux, kiểm tra loại filesystem (ext4, xfs, …) để dùng lệnh mở rộng phù hợp.
- Đối với Windows, quy trình sẽ khác (sử dụng Disk Management).
Bước 1: Kiểm tra dung lượng ổ đĩa hiện tại
Sử dụng lệnh lsblk hoặc df -h để xác định thiết bị và phân vùng root hiện tại.
sudo lsblk
sudo df -h /
Kết quả sẽ hiển thị tên thiết bị (thường là /dev/xvda hoặc /dev/nvme0n1) và phân vùng root (ví dụ /dev/xvda1).
Lưu ý là tên các ổ đĩa có thể thay đổi tùy theo loại instance nào các bạn đang sử dụng nhé.
Bước 2: Tăng dung lượng ổ đĩa từ AWS Console
- Đăng nhập vào AWS Management Console → EC2 → Instances.
- Chọn instance cần mở rộng, vào tab Storage.
- Nhấn vào Root volume ID (ví dụ
vol-0abcd1234efgh5678). - Trong trang Elastic Block Store → Volumes, chọn volume và nhấn Actions → Modify Volume.
- Nhập dung lượng mới (ví dụ từ 30 GB lên 50 GB) và nhấn Modify. Xác nhận thay đổi.
- Thay đổi sẽ được áp dụng ngay lập tức (EBS Elastic Volumes). Không cần dừng (stop) instance nếu bạn đang dùng instance thế hệ mới (Nitro). Đối với các instance cũ, có thể cần stop instance, thay đổi, rồi start lại.

Bước 3: Grow partition (mở rộng phân vùng)
Sau khi volume đã được mở rộng, bạn cần mở rộng phân vùng để hệ thống nhận diện không gian mới.
# Cài đặt growpart nếu chưa có (trên Amazon Linux 2 / RHEL / CentOS)
sudo yum install -y cloud-utils-growpart # hoặc apt-get install cloud-guest-utils
# Grow partition – thay xvda hoặc nvme0n1 bằng tên thiết bị thực tế
sudo growpart /dev/xvda 1 # nếu thiết bị là /dev/xvda và partition là 1
# Hoặc
sudo growpart /dev/nvme0n1 1
Lệnh growpart sẽ mở rộng partition 1 (phân vùng root) để chiếm toàn bộ không gian mới.
Bước 4: Mở rộng filesystem
Cuối cùng, mở rộng hệ thống tập tin (filesystem) để sử dụng không gian mới. Lệnh phụ thuộc vào loại filesystem:
- ext4 (phổ biến trên Amazon Linux, Ubuntu):
sudo resize2fs /dev/xvda1 # hoặc /dev/nvme0n1p1
- xfs (mặc định trên Amazon Linux 2, RHEL 7+):
sudo xfs_growfs -d /
Sau khi lệnh hoàn tất, kiểm tra lại dung lượng:
df -h /
Bước 5: Kiểm tra và xác nhận
Đảm bảo rằng hệ thống đã nhận đủ dung lượng mới và không có lỗi nào xuất hiện trong dmesg hoặc journalctl.
sudo dmesg | tail
sudo journalctl -xe | tail
Mẹo & Lưu ý
- Snapshot trước khi thay đổi: Tạo snapshot EBS để phòng ngừa mất dữ liệu.
- Kiểm tra loại instance: Các instance không Nitro (cũ) có thể yêu cầu stop/start để volume thay đổi.
- Đối với Windows: Sau khi mở rộng volume trong console, sử dụng
Disk Management→Extend Volume. - Giải phóng không gian nhanh: Nếu cần không gian ngay lập tức, có thể xóa log cũ:
sudo journalctl --vacuum-size=100M.
Kết luận
Việc mở rộng ổ đĩa root trên AWS EC2 chỉ gồm ba bước chính: (1) tăng dung lượng EBS trong console, (2) mở rộng partition bằng growpart, và (3) mở rộng filesystem bằng resize2fs (đối với ext4) hoặc xfs_growfs (đối với xfs). Thực hiện đúng các bước sẽ giúp bạn tăng dung lượng lưu trữ mà không cần tạo lại instance mới.

Helm chart là gì và các thành phần của Helm chart
1. Helm là gì? Helm là trình quản lý gói (package manager) và công cụ…
Red Hat giới thiệu phiên bản RHEL mới hoàn toàn miễn phí
Như bạn đã biết, Red Hat gần đây đã thông báo rằng CentOS Linux 8,…
Hướng dẫn cài đặt Red Hat Enterprise Linux 8 (HREL 8)
Giới thiệu về Red Hat Enterprise Linux 8 Red Hat Enterprise Linux (RHEL) là một…

