Step 1: Check disk
Chúng ta cần kiểm tra chắc chắn rằng partition của chúng ta đang thao tác là Linux LVM
fdisk -l
Như bạn có thể thấy là /dev/sda5 ở trên là Linux LVM và nó có ID là 8e. 8e là mã hex để thể hiện nó là type kiểu Linux LVM. Như vậy chúng ta đã kiểm tra được đang làm việc trên Linux LVM rồi.
Như thông tin trong ảnh bên dưới thì ổ cứng hiện tại là 20GB và nó đang được đặt trong logical với tên là /dev/mapper/Mega-root nơi mà chúng ta sẽ mở rộng ổ cứng mới.
2. Increasing the virtual hard disk
Tiếp theo chúng ta cần thay đổi ổ cứng của máy ảo từ 20GB thành 30GB bằng cách thay đổi setting của VMWare.
3. Detect the new disk space
Như vậy là chúng ta đã tăng được ổ cứng ở tầng hardware rồi, tiếp theo chúng ta sẽ tạo partition mới dựa trên ổ cứng này.
Trước khi chúng ta có thể làm được điều này thì cần phải check được “unallocated disk” đã được phát hiện ở server chưa. Bạn có thể sử dụng lệnh “fdisk -l” để xem danh sách primay disk. Tuy nhiên bạn có thể sẽ nhìn thấy list giống như trạng thái ban đầu, ở thời điểm này bạn không cần phải restart server mà vẫn có thể check được thay đổi bằng command dưới đây.
echo "- - -" > /sys/class/scsi_host/host0/scan
THeo như hình ảnh bên dưới thì chúng ta có thể xác nhận được là đã hiển thị bao gồm cả ổ cứng mới.
4. Partition the new disk space
Như bạn đã thấy chúng ta đang làm việc với /dev/sda và chúng ta sẽ tạo primary partition mới bằng cách sử dụng fdisk.
fdisk /dev/sda
Chúng ta sẽ làm theo hướng dẫn như bên dưới và nhập theo kí tự in đậm. Chú ý chọn m
để có thể get tất cả commands liên quan đến fdisk
‘n’ là để thêm partition mới
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n
‘p’ là để tạo primary partition
Command action
l logical (5 or over)
p primary partition (1-4)
p
Chúng ta đã có /dev/sda1 và /dev/sda2 như trên vì vậy sử dụng 3
để tạo /dev/sda3
Partition number (1-4): 3
Tiếp theo enter 2 lần để nhận default cylinders đầu và cuối
First cylinder (2611-3916, default 2611): "enter"
Using default value 2611
Last cylinder, +cylinders or +size{K,M,G} (2611-3916, default 3916): "enter"
Using default value 3916
‘t’ là để thay đổi system ID của partition, trong trường hợp này sẽ thay đổi về 3
vừa được tạo ở trên.
Command (m for help): t
Partition number (1-5): 3
Mã code hex 8e
là code cho Linux LVM
Hex code (type L to list codes): 8e
Changed system type of partition 3 to 8e (Linux LVM)
‘w’ là để ghi vào bảng các disk và exit.
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
Bạn có thể thấy cảnh báo cần reboot lại nhưng nếu bạn ko thấy partition mới bằng cách sử dụng “fdisk -l” thì có thể chạy “partprobe -s” để quét lại bảng partition.
5. Increasing the logical volume
Sử dụng lệnh pvcreate để tạo physical volume sử dụng LVM.
Device /dev/sda3 not found (or ignored by filtering).
để không phải reboot lại thì bạn phải sử dụng partprobe/partx sau đó thực hiện lại lệnh pvcreate.
root@Mega:~# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
Tiếp theo kiểm tra xem tên hiện tại của volume group bằng lệnh vgdisplay.
root@Mega:~# vgdisplay
--- Volume group ---
VG Name Mega
...
VG Size 19.76 GiB
Bây giờ mở rộng “Mega” bằng cách add thêm physical volume /dev/sda3 bằng lệnh pvcreate
root@Mega:~# vgextend Mega /dev/sda3
Volume group "Mega" successfully extended
Sử dụng lệnh pvscan để scan tất cả disk cho physical volumes. Nó sẽ bao gồm /dev/sda5 ban đầu và physical volume vừa thêm /dev/sda3
root@Mega:~# pvscan
PV /dev/sda5 VG Mega lvm2 [19.76 GiB / 0 free]
PV /dev/sda3 VG Mega lvm2 [10.00 GiB / 10.00 GiB free]
Total: 2 [29.75 GiB] / in use: 2 [29.75 GiB] / in no VG: 0 [0 ]
Tiếp theo là tăng logical volume Đầu tiên kiểm tra đường dẫn của logical volume sử dụng lvdisplay
root@Mega:~# lvdisplay
--- Logical volume ---
LV Path /dev/Mega/root
Extend logical volume sử dụng
root@Mega:~# lvextend /dev/Mega/root /dev/sda3
Extending logical volume root to 28.90 GiB
Logical volume root successfully resized
Bước cuối cùng là resize lại file system sử dụng resize2fs
Step 2: xfs_growfs /dev/Mega/root