Vì nhiều lý do, dung lượng của một ổ cứng… có thể được mở rộng. Chẳng hạn do lấy snapshot của ổ cứng dung lượng nhỏ restore vào ổ cứng dung lượng lớn. Hoặc do sử dụng chức năng mở rộng dung lượng mà các hạ tầng cloud hiện đại (AWS, Digital Ocean, Bizfly…) cho phép.
Trong những trường hợp như thế, kích thước các phân vùng thường sẽ không thay đổi theo và ta phải thao tác để điều khiển.
Thăm dò trạng thái ổ cứng và phân vùng
Công việc thường bắt đầu bằng việc kiểm tra sự chênh lệch về dung lượng. Kết quả trông có thể như sau, để ý ổ cứng có tên vdb
:
[root@ecshost ~]# lsblk
vda 252:0 0 80G 0 disk
├─vda1 252:1 0 79.9G 0 part /
├─vda14 252:14 0 4M 0 part
└─vda15 252:15 0 106M 0 part /boot/efi
vdb 252:16 0 120G 0 disk
└─vdb1 252:17 0 100G 0 part /media/heap
Bước tiếp theo là kiểm tra bảng phân vùng hiện tại. Kết quả trông có thể như dưới đây, để ý phân vùng /dev/vdb1
. Nếu giá trị của System
là Linux
thì có nghĩa là ổ cứng đang sử dụng bảng phân vùng dạng MBR. Nếu giá trị của System
là GPT
thì nghĩa là ổ cứng đang sử dụng bảng phân vùng dạng GPT.
[root@ecshost ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x9277b47b
Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
Tiếp theo, kiểm tra định dạng đang sử dụng cho phân vùng muốn được mở rộng. Trong ví dụ dưới đây là ext4
.
[root@ecshost ~]# blkid /dev/vdb1
/dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"
Tiếp theo, kiểm tra trạng thái của bảng phân vùng. Sử dụng lệnh e2fsck -n /dev/vdb1
cho phân vùng ext*
và lệnh xfs_repair -n /dev/vdb1
cho phân vùng xfs
. Nếu phân vùng không mang trạng thái clean
thì nên cân nhắc backup ổ cứng và dò lỗi trước.
[root@ecshost ~]# e2fsck -n /dev/vdb1
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
Mở rộng phân vùng
Sử dụng parted
để mở rộng thông tin dung lượng trong bảng phân vùng:
- Chạy lệnh
parted /dev/vdb
để mở trìnhparted
- Chạy sub command
print
để thăm dò bảng phân vùng - Dialog
Fix/Ignore/Cancel?
sẽ hiện ra, nhậpFix
- Chạy lệnh
quit
để thoát trìnhparted
Sau đó, chạy trình growpart <ổ> <partition của ổ>
để mở rộng dung lượng cho phân vùng. Chẳng hạn growpart /dev/vdb 1
.
Tham khảo:
- https://partners-intl.aliyun.com/help/doc-detail/25452.htm#section-vvb-gcs-bhm
- https://docs.amazonaws.cn/en_us/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html