Giới thiệu
Trong lab này, chúng ta sẽ khám phá lệnh resize
của Linux và học cách thay đổi kích thước phân vùng và logical volume. Lệnh resize
là một công cụ mạnh mẽ để quản lý không gian lưu trữ trên hệ thống Linux của bạn. Chúng ta sẽ bắt đầu bằng cách tìm hiểu cú pháp và cách sử dụng cơ bản của lệnh resize
, sau đó tiến hành thay đổi kích thước một phân vùng và một volume group LVM (Logical Volume Management) và logical volume bằng các ví dụ thực tế.
Lab này bao gồm các bước sau:
- Tìm hiểu lệnh
resize
- Thay đổi kích thước một phân vùng bằng lệnh
resize
- Thay đổi kích thước một volume group LVM và logical volume
Hãy nhớ rằng, lệnh resize
nên được sử dụng một cách cẩn thận, vì việc thay đổi kích thước phân vùng hoặc logical volume có thể dẫn đến mất dữ liệu nếu thực hiện không đúng cách. Luôn đảm bảo rằng bạn có bản sao lưu dữ liệu trước khi thực hiện bất kỳ thao tác thay đổi kích thước nào.
Tìm hiểu lệnh resize
Trong bước này, chúng ta sẽ khám phá lệnh resize
của Linux, được sử dụng để thay đổi kích thước phân vùng và logical volume. Lệnh resize
là một công cụ mạnh mẽ để quản lý không gian lưu trữ trên hệ thống Linux của bạn.
Đầu tiên, hãy tìm hiểu cú pháp cơ bản của lệnh resize
:
resize [options] size device
Ở đây, size
là kích thước mới bạn muốn đặt cho phân vùng hoặc logical volume, và device
là tên của phân vùng hoặc logical volume bạn muốn thay đổi kích thước.
Một số tùy chọn phổ biến cho lệnh resize
bao gồm:
-f
: Buộc thực hiện thao tác thay đổi kích thước, ngay cả khi filesystem không được unmount.-p
: In kích thước mới của phân vùng hoặc logical volume sau thao tác thay đổi kích thước.-v
: Chế độ verbose, cung cấp đầu ra chi tiết hơn.
Bây giờ, hãy xem một số ví dụ về cách sử dụng lệnh resize
:
## Thay đổi kích thước một phân vùng thành 20GB
sudo resize 20G /dev/sda1
Example output:
resize: /dev/sda1 resized
Trong ví dụ này, chúng ta đã thay đổi kích thước phân vùng /dev/sda1
thành 20GB bằng lệnh resize
.
## Thay đổi kích thước một logical volume LVM thành 50GB
sudo resize 50G /dev/vg0/lv0
Example output:
resize: /dev/vg0/lv0 resized
Trong ví dụ này, chúng ta đã thay đổi kích thước logical volume /dev/vg0/lv0
thành 50GB bằng lệnh resize
.
Hãy nhớ rằng, lệnh resize
là một công cụ mạnh mẽ, nhưng nó nên được sử dụng một cách cẩn thận, vì việc thay đổi kích thước phân vùng hoặc logical volume có thể dẫn đến mất dữ liệu nếu thực hiện không đúng cách. Luôn đảm bảo rằng bạn có bản sao lưu dữ liệu trước khi thực hiện bất kỳ thao tác thay đổi kích thước nào.
Thay đổi kích thước một phân vùng bằng lệnh resize
Trong bước này, chúng ta sẽ học cách thay đổi kích thước một phân vùng bằng lệnh resize
.
Đầu tiên, hãy tạo một phân vùng mới trên virtual disk trong Docker container của chúng ta:
sudo fdisk /dev/sdb
## Create a new partition, e.g., /dev/sdb1
Ví dụ đầu ra:
Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-20971519, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-20971519, default 20971519): +10G
Created a new partition 1 of type 'Linux' and of size 10 GiB.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Bây giờ, hãy thay đổi kích thước phân vùng mới tạo /dev/sdb1
thành 15GB:
sudo resize 15G /dev/sdb1
Ví dụ đầu ra:
resize: /dev/sdb1 resized
Để xác minh kích thước mới của phân vùng, chúng ta có thể sử dụng lệnh fdisk
:
sudo fdisk -l /dev/sdb
Ví dụ đầu ra:
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x78b0c0b9
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 31457279 31455232 15G 83 Linux
Như bạn có thể thấy, kích thước của phân vùng /dev/sdb1
đã được thay đổi thành công thành 15GB.
Thay đổi kích thước một volume group LVM và Logical Volume
Trong bước này, chúng ta sẽ học cách thay đổi kích thước một volume group LVM (Logical Volume Management) và một logical volume bằng lệnh resize
.
Đầu tiên, hãy tạo một volume group LVM và một logical volume:
## Create a physical volume
sudo pvcreate /dev/sdc
## Create a volume group
sudo vgcreate vg0 /dev/sdc
## Create a logical volume
sudo lvcreate -L 5G -n lv0 vg0
Ví dụ đầu ra:
Physical volume "/dev/sdc" successfully created.
Volume group "vg0" successfully created
Logical volume "lv0" created.
Bây giờ, hãy thay đổi kích thước logical volume lv0
thành 10GB:
## Resize the logical volume
sudo lvresize -L 10G /dev/vg0/lv0
Ví dụ đầu ra:
Size of logical volume vg0/lv0 changed from 5.00 GiB to 10.00 GiB.
Logical volume vg0/lv0 successfully resized.
Để xác minh kích thước mới của logical volume, chúng ta có thể sử dụng lệnh lvdisplay
:
sudo lvdisplay /dev/vg0/lv0
Ví dụ đầu ra:
--- Logical volume ---
LV Path /dev/vg0/lv0
LV Name lv0
VG Name vg0
LV UUID zVBxkH-Tn7d-1234-abcd-1234-1234-1234abcd
LV Write Access read/write
LV Creation host, time labex-ubuntu, 2023-04-18 12:34:56 +0000
LV Status available
## open 0
LV Size 10.00 GiB
Current LE 2560
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
Như bạn có thể thấy, kích thước của logical volume lv0
đã được thay đổi thành công thành 10GB.
Tóm tắt
Trong lab này, trước tiên chúng ta đã khám phá lệnh resize
của Linux, được sử dụng để thay đổi kích thước phân vùng và logical volume. Chúng ta đã học cú pháp cơ bản của lệnh resize
và một số tùy chọn phổ biến, chẳng hạn như -f
để buộc thực hiện thao tác thay đổi kích thước, -p
để in kích thước mới và -v
cho đầu ra verbose. Sau đó, chúng ta đã xem các ví dụ về cách sử dụng lệnh resize
để thay đổi kích thước một phân vùng thành 20GB và một logical volume LVM thành 50GB.
Tiếp theo, chúng ta đã tạo một phân vùng mới trên virtual disk trong Docker container của chúng ta bằng lệnh fdisk
. Điều này tạo tiền đề cho bước tiếp theo, nơi chúng ta sẽ học cách thay đổi kích thước phân vùng mới tạo bằng lệnh resize
.