Cách sử dụng LVM để quản lý lưu trữ trên Ubuntu 18.04 –

LVM Ubuntu 18.04

Logical Volume Management (LVM) là công nghệ quản lý thiết bị lưu trữ cho phép người dùng gom nhóm và trừu tượng hoá cách bố trí vật lý của các thiết bị lưu trữ thành các đơn vị linh hoạt. Với việc sử dụng framework device mapper của nhân Linux, phiên bản hiện tại – LVM2 – người dùng có thể gom các thiết bị lưu trữ hiện có lại với nhau thành các nhóm và phân bổ không gian hợp nhất đó thành các đơn vị logic theo nhu cầu.

Trong bài hướng dẫn này, DataOnline sẽ giúp bạn học cách quản lý LVM thông qua việc hiển thị thông tin về các volume và các mục tiêu có thể, tạo và xóa các volume thuộc nhiều loại khác nhau, cũng như thay đổi các volume hiện có thông qua việc mở rộng hay chuyển đổi chúng.

Điều kiện tiên quyết

Để làm theo bài hướng dẫn, bạn cần có một tài khoản không phải root với quyền sudo đã được cấu hình trên máy chủ Ubuntu 18.04. Bạn có thể tham khảo bài hướng dẫn “Ubuntu 18.04 Initial Server Setup” của chúng tôi để bắt đầu. Nếu bạn chưa quen với các thành phần và khái niệm của LVM, hãy tham khảo thêm bài “Introduction to LVM” để biết thêm chi tiết.

Khi đã sẵn sàng, hãy đăng nhập vào máy chủ của bạn với tài khoản có quyền sudo.

Bước 1 – Hiển Thị Thông Tin Về Physical Volumes, Volume Groups, và Logical Volumes

Việc truy xuất thông tin về các thành phần LVM trên hệ thống là cần thiết để quản lý các volume vật lý và logic. LVM cung cấp một số công cụ để hiển thị thông tin cho từng tầng trong ngăn xếp LVM.

Hiển Thị Thông Tin Về Tất Cả Các Thiết Bị Block Storage Tương Thích Với LVM

Để liệt kê tất cả các thiết bị lưu trữ dạng block mà LVM có thể quản lý, hãy sử dụng lệnh:

sudo lvmdiskscan

Output:

/dev/sda   [     200.00 GiB] 
/dev/sdb   [     100.00 GiB] 
2 disks
2 partitions
0 LVM physical volume whole disks
0 LVM physical volumes

Nhìn vào các thiết bị này, bạn sẽ thấy các thiết bị có thể được sử dụng làm physical volumes cho LVM. Đây thường là bước đầu tiên khi thêm các thiết bị lưu trữ mới để dùng với LVM.

LVM Ubuntu 18.04

Hiển Thị Thông Tin Về Physical Volumes

Mỗi thiết bị lưu trữ sẽ được ghi một header để đánh dấu rằng nó có thể được sử dụng như một thành phần của LVM. Các thiết bị có header này được gọi là physical volumes. Bạn có thể hiển thị tất cả các thiết bị vật lý trên hệ thống bằng cách dùng lệnh lvmdiskscan với tùy chọn -l, chỉ trả về các physical volumes:

sudo lvmdiskscan -l

Output:

WARNING: only considering LVM devices
/dev/sda                   [     200.00 GiB] LVM physical volume
/dev/sdb                   [     100.00 GiB] LVM physical volume
2 LVM physical volume whole disks
0 LVM physical volumes

Lệnh pvscan cũng thực hiện việc quét tất cả các thiết bị có sẵn để tìm các LVM physical volumes. Đầu ra của lệnh này bao gồm thêm một vài thông tin phụ:

sudo pvscan

Output:

PV /dev/sda   VG LVMVolGroup     lvm2 [200.00 GiB / 0    free]
PV /dev/sdb   VG LVMVolGroup     lvm2 [100.00 GiB / 10.00 GiB free]
Total: 2 [299.99 GiB] / in use: 2 [299.99 GiB] / in no VG: 0 [0   ]

Nếu bạn cần thêm chi tiết về volume, các lệnh pvspvdisplay có thể hỗ trợ.

Lệnh pvs rất linh hoạt và có thể hiển thị thông tin theo nhiều định dạng khác nhau – rất hữu ích trong scripting hay tự động hóa. Đầu ra cơ bản của nó cung cấp một cái nhìn tổng quát:

sudo pvs

Output:

PV         VG          Fmt  Attr PSize   PFree
/dev/sda   LVMVolGroup lvm2 a--  200.00g     0
/dev/sdb   LVMVolGroup lvm2 a--  100.00g 10.00g

Để có đầu ra chi tiết và dễ đọc hơn, bạn có thể dùng pvdisplay:

sudo pvdisplay

Output:

--- Physical volume ---
PV Name               /dev/sda
VG Name               LVMVolGroup
PV Size               200.00 GiB / not usable 4.00 MiB
Allocatable           yes (but full)
PE Size               4.00 MiB
Total PE              51199
Free PE               0
Allocated PE          51199
PV UUID               kRUOyU-0ib4-ujPh-kAJP-eeQv-ztRL-4EkaDQ

--- Physical volume ---
PV Name               /dev/sdb
VG Name               LVMVolGroup
PV Size               100.00 GiB / not usable 4.00 MiB
Allocatable           yes
PE Size               4.00 MiB
Total PE              25599
Free PE               2560
Allocated PE          23039
PV UUID               udcuRJ-jCDC-26nD-ro9u-QQNd-D6VL-GEIlD7

Để khám phá các logical extents đã được ánh xạ tới mỗi volume, hãy thêm tùy chọn -m vào lệnh pvdisplay:

sudo pvdisplay -m

Output:

--- Physical volume ---
PV Name               /dev/sda
VG Name               LVMVolGroup
PV Size               200.00 GiB / not usable 4.00 MiB
Allocatable           yes
PE Size               4.00 MiB
Total PE              51199
Free PE               38395
Allocated PE          12804
PV UUID               kRUOyU-0ib4-ujPh-kAJP-eeQv-ztRL-4EkaDQ

--- Physical Segments ---
Physical extent 0 to 0:
  Logical volume  /dev/LVMVolGroup/db_rmeta_0
  Logical extents 0 to 0
Physical extent 1 to 5120:
  Logical volume  /dev/LVMVolGroup/db_rimage_0
  Logical extents 0 to 5119

 . . .

Thông tin này rất hữu ích khi bạn cần xác định dữ liệu nào đang được lưu trên thiết bị vật lý nào để phục vụ cho mục đích quản lý.

Hiển Thị Thông Tin Về Volume Groups

LVM cũng cung cấp nhiều công cụ để hiển thị thông tin về volume groups.

Lệnh vgscan có thể dùng để quét hệ thống tìm volume groups có sẵn và tự động tái tạo file cache khi cần. Đây là lệnh hữu ích khi bạn muốn import một volume group vào hệ thống mới:

sudo vgscan

Output:

Reading all physical volumes.  This may take a while...
Found volume group "LVMVolGroup" using metadata type lvm2

Lệnh này không xuất ra quá nhiều thông tin, nhưng đủ để tìm ra mọi volume group trên hệ thống. Để hiển thị thông tin chi tiết hơn, bạn có thể dùng các lệnh vgsvgdisplay.

Lệnh vgs linh hoạt và có thể hiển thị rất nhiều thông tin theo nhiều định dạng khác nhau. Ví dụ, bạn có thể xem thông tin về thiết bị vật lý và đường dẫn logical volume bằng cách:

sudo vgs -o +devices,lv_path

Output:

VG          #PV #LV #SN Attr   VSize   VFree  Devices        Path
LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sda(0)    /dev/LVMVolGroup/projects
LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sda(2560) /dev/LVMVolGroup/www
LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sda(3840) /dev/LVMVolGroup/db
LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sda(8960) /dev/LVMVolGroup/workspace
LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sdb(0)    /dev/LVMVolGroup/workspace

Tương tự, để có đầu ra chi tiết và dễ đọc hơn, bạn có thể dùng lệnh vgdisplay với tùy chọn -v (verbose). Lệnh này sẽ hiển thị thông tin về physical volumes cấu thành volume group và các logical volumes đã được tạo ra:

sudo vgdisplay -v

Output:

  Using volume group(s) on command line.
--- Volume group ---
VG Name               LVMVolGroup
. . .

--- Logical volume ---
LV Path                /dev/LVMVolGroup/projects
. . .

--- Logical volume ---
LV Path                /dev/LVMVolGroup/www
. . .

--- Logical volume ---
LV Path                /dev/LVMVolGroup/db
. . .

--- Logical volume ---
LV Path                /dev/LVMVolGroup/workspace
. . .

--- Physical volumes ---
PV Name               /dev/sda
. . .

PV Name               /dev/sdb
. . .

Hiển Thị Thông Tin Về Logical Volumes

Để xem thông tin về logical volumes, LVM cung cấp một tập hợp các công cụ liên quan.

Tương tự như các thành phần khác, lệnh lvscan sẽ quét hệ thống và xuất ra thông tin tối thiểu về các logical volumes được tìm thấy:

sudo lvscan

Output:

ACTIVE            '/dev/LVMVolGroup/projects' [10.00 GiB] inherit
ACTIVE            '/dev/LVMVolGroup/www' [5.00 GiB] inherit
ACTIVE            '/dev/LVMVolGroup/db' [20.00 GiB] inherit
ACTIVE            '/dev/LVMVolGroup/workspace' [254.99 GiB] inherit

Để có thông tin đầy đủ hơn, lệnh lvs rất mạnh mẽ và linh hoạt, thường được sử dụng trong các script:

sudo lvs

Output:

LV        VG          Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
db        LVMVolGroup -wi-ao----  20.00g
projects  LVMVolGroup -wi-ao----  10.00g
workspace LVMVolGroup -wi-ao---- 254.99g
www       LVMVolGroup -wi-ao----   5.00g

Để tìm số lượng stripes và loại logical volume, hãy sử dụng tùy chọn --segments:

sudo lvs --segments

Output:

LV           VG          Attr       #Str Type    SSize
db           LVMVolGroup rwi-a-r---    2 raid1   20.00g
mirrored_vol LVMVolGroup rwi-a-r---    3 raid1   10.00g
test         LVMVolGroup rwi-a-r---    3 raid5   10.00g
test2        LVMVolGroup -wi-a-----    2 striped 10.00g
test3        LVMVolGroup rwi-a-r---    2 raid1   10.00g

Đầu ra dễ đọc nhất thường được tạo ra bởi lệnh lvdisplay. Khi thêm tùy chọn -m, công cụ này sẽ hiển thị cả thông tin về cách logical volume được phân chia và phân phối:

sudo lvdisplay -m

Output:

--- Logical volume ---
LV Path                /dev/LVMVolGroup/projects
LV Name                projects
VG Name                LVMVolGroup
LV UUID                IN4GZm-ePJU-zAAn-DRO3-1f2w-qSN8-ahisNK
LV Write Access        read/write
LV Creation host, time lvmtest, 2016-09-09 21:00:03 +0000
LV Status              available
# open                 1
LV Size                10.00 GiB
Current LE             2560
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           252:0

--- Segments ---
Logical extents 0 to 2559:
  Type        linear
  Physical volume /dev/sda
  Physical extents    0 to 2559


. . .

Trong ví dụ này, logical volume /dev/LVMVolGroup/projects được chứa hoàn toàn trong thiết bị vật lý /dev/sda. Thông tin này hữu ích khi bạn cần di chuyển dữ liệu khỏi thiết bị vật lý cụ thể để phục vụ cho các mục đích quản lý.

Bước 2 – Tạo Hoặc Mở Rộng Các Thành Phần Của LVM

Phần này hướng dẫn cách tạo và mở rộng các thành phần của LVM bao gồm physical volumes, volume groups và logical volumes.

Tạo Physical Volumes Từ Các Thiết Bị Lưu Trữ Chưa Được Định Dạng

Để sử dụng các thiết bị lưu trữ với LVM, trước tiên bạn cần đánh dấu chúng là physical volume. Điều này xác nhận rằng LVM có thể sử dụng thiết bị đó trong một volume group.

Đầu tiên, dùng lệnh lvmdiskscan để tìm tất cả các thiết bị block mà LVM có thể truy cập và sử dụng:

sudo lvmdiskscan

Output:

/dev/sda   [     200.00 GiB] 
/dev/sdb   [     100.00 GiB] 
2 disks
2 partitions
0 LVM physical volume whole disks
0 LVM physical volumes

Lưu ý các thiết bị có thể được chuyển thành physical volumes cho LVM.
Cảnh báo: Hãy chắc chắn rằng bạn đã kiểm tra kỹ rằng các thiết bị định sử dụng với LVM không chứa dữ liệu quan trọng. Sử dụng chúng trong LVM sẽ ghi đè nội dung hiện có. Nếu bạn có dữ liệu quan trọng trên máy chủ, hãy sao lưu trước khi tiếp tục.

Để đánh dấu các thiết bị lưu trữ thành LVM physical volumes, hãy sử dụng lệnh pvcreate. Bạn có thể chỉ định nhiều thiết bị cùng lúc:

sudo pvcreate /dev/sda /dev/sdb

Lệnh này sẽ ghi một header LVM lên tất cả các thiết bị được chỉ định, đánh dấu chúng là physical volumes.

Tạo Volume Group Mới Từ Các Physical Volumes

Để tạo một volume group mới từ các physical volumes của LVM, sử dụng lệnh vgcreate.

Bạn cần cung cấp tên volume group, sau đó liệt kê ít nhất một physical volume:

sudo vgcreate volume_group_name /dev/sda

Ví dụ trên tạo volume group với một physical volume ban đầu. Bạn có thể chỉ định nhiều physical volumes ngay từ đầu nếu muốn:

sudo vgcreate volume_group_name /dev/sda /dev/sdb /dev/sdc

Thông thường, bạn chỉ cần một volume group trên mỗi máy chủ. Tất cả lưu trữ được quản lý bởi LVM có thể được thêm vào pool đó và sau đó các logical volumes sẽ được phân bổ từ đó.

Một lý do khiến bạn có thể muốn có nhiều volume group là nếu bạn cần sử dụng các kích thước extent khác nhau cho các volume khác nhau. Thông thường bạn không cần thay đổi kích thước extent (mặc định là 4M đã phù hợp cho hầu hết các trường hợp), nhưng nếu cần, bạn có thể chỉ định kích thước mới khi tạo volume group bằng tùy chọn -s:

suod vgcreate -s 8M volume_group_name /dev/sda

Lệnh trên tạo một volume group mới với kích thước extent là 8M.

Thêm Một Physical Volume Vào Volume Group Đã Tồn Tại

Để mở rộng volume group bằng cách thêm các physical volumes bổ sung, sử dụng lệnh vgextend. Lệnh này nhận tên volume group và các physical volumes cần thêm. Bạn có thể chỉ định nhiều thiết bị cùng lúc nếu muốn:

sudo vgextend volume_group_name /dev/sdb

Physical volume sẽ được thêm vào volume group, từ đó mở rộng dung lượng có sẵn của pool lưu trữ.

Tạo Logical Volume Bằng Cách Chỉ Định Kích Thước

Để tạo một logical volume từ pool lưu trữ của volume group, dùng lệnh lvcreate.
Chỉ định kích thước của logical volume bằng tùy chọn -L, sau đó chỉ định tên bằng tùy chọn -n và cuối cùng là tên volume group để phân bổ không gian:

Ví dụ, để tạo một logical volume 10G có tên là test từ volume group LVMVolGroup, sử dụng:

sudo lvcreate -L 10G -n test LVMVolGroup

Nếu volume group có đủ dung lượng trống để chứa volume, logical volume mới sẽ được tạo ra.

Tạo Logical Volume Từ Toàn Bộ Dung Lượng Còn Lại

Nếu bạn muốn tạo một logical volume sử dụng toàn bộ không gian trống trong volume group, thay vì chỉ định kích thước, sử dụng tùy chọn -l 100%FREE để sử dụng hết các extents còn lại:

sudo lvcreate -l 100%FREE -n test2 LVMVolGroup

Lệnh này sẽ tạo logical volume chiếm toàn bộ không gian trống trong volume group.

Tạo Logical Volumes Với Các Tùy Chọn Nâng Cao

Logical volumes có thể được tạo ra với một số tùy chọn nâng cao. Một số tùy chọn bạn có thể xem xét là:

  • –type: Chỉ định loại logical volume, xác định cách thức phân bổ. Một số loại sẽ không khả dụng nếu không có đủ physical volumes để hỗ trợ cấu trúc được chọn. Một số loại phổ biến là:
    • linear: Loại mặc định. Các thiết bị vật lý được nối tiếp với nhau.
    • striped: Tương tự RAID 0, chia dữ liệu thành các khối và phân phối theo vòng tròn qua các physical volumes. Điều này có thể cải thiện hiệu năng, nhưng cũng có thể dẫn đến nguy cơ mất dữ liệu cao hơn nếu có lỗi.
    • raid1: Tạo một volume RAID 1 (mirrored). Theo mặc định, mirror sẽ có 2 bản sao, nhưng có thể chỉ định thêm bằng tùy chọn -m. Yêu cầu tối thiểu là có 2 physical volumes.
    • raid5: Tạo volume RAID 5. Yêu cầu ít nhất 3 physical volumes.
    • raid6: Tạo volume RAID 6. Yêu cầu ít nhất 4 physical volumes.
  • -m: Chỉ định số bản sao phụ để duy trì. Giá trị “1” có nghĩa là lưu một bản sao phụ, tổng cộng có 2 bộ dữ liệu.
  • -i: Chỉ định số stripe cần thiết. Bắt buộc đối với loại striped và có thể điều chỉnh hành vi mặc định của một số tùy chọn RAID khác.
  • -s: Chỉ định tạo snapshot từ một logical volume hiện có thay vì tạo một logical volume độc lập mới.

Để minh họa, hãy tạo một volume kiểu striped. Bạn cần chỉ định ít nhất 2 stripe, và yêu cầu này phải có tối thiểu 2 physical volumes với dung lượng trống:

sudo lvcreate --type striped -i 2 -L 10G -n striped_vol LVMVolGroup

Để tạo một volume mirror (RAID1), dùng tùy chọn --type raid1. Nếu bạn muốn có nhiều hơn 2 bộ dữ liệu, sử dụng tùy chọn -m. Ví dụ sau sử dụng -m 2 để tạo tổng cộng 3 bộ dữ liệu (1 dữ liệu gốc và 2 bản mirror). Yêu cầu tối thiểu là 3 physical volumes:

sudo lvcreate --type raid1 -m 2 -L 20G -n mirrored_vol LVMVolGroup

Để tạo snapshot của một volume, bạn cần chỉ định logical volume gốc mà bạn muốn tạo snapshot thay vì chỉ định volume group. Snapshot ban đầu không chiếm nhiều dung lượng, nhưng sẽ tăng dần khi có thay đổi trên logical volume gốc. Kích thước được chỉ định trong lệnh này là kích thước tối đa mà snapshot có thể đạt được. Nếu snapshot vượt quá kích thước này, snapshot sẽ bị hỏng; tuy nhiên, nếu snapshot gần đạt đến giới hạn, bạn có thể mở rộng nó:

sudo lvcreate -s -L 10G -n snap_test LVMVolGroup/test

Lưu ý: Để khôi phục lại logical volume về trạng thái tại thời điểm snapshot được tạo, sử dụng lệnh:

sudo lvconvert --merge LVMVolGroup/snap_test

Lệnh này sẽ đưa logical volume gốc trở lại trạng thái khi snapshot được tạo. Có nhiều tùy chọn khác có thể thay đổi cách hoạt động của logical volumes.

Mở Rộng Kích Thước Logical Volume

Một trong những ưu điểm chính của LVM là tính linh hoạt trong việc phân bổ logical volumes. Bạn có thể điều chỉnh số lượng hoặc kích thước volume mà không cần dừng hệ thống.

Để mở rộng kích thước của một logical volume hiện có, dùng lệnh lvresize với tùy chọn -L chỉ định kích thước mới. Bạn cũng có thể sử dụng kích thước tương đối bằng cách thêm dấu “+” trước kích thước, lúc đó LVM sẽ tăng kích thước logical volume theo giá trị được chỉ định. Để tự động mở rộng hệ thống tập tin trên logical volume, thêm tùy chọn --resizefs.

Để chỉ định đúng tên của logical volume cần mở rộng, bạn cần cung cấp tên volume group, dấu gạch chéo, sau đó là tên logical volume:

sudo lvresize -L +5G --resizefs LVMVolGroup/test

Trong ví dụ trên, cả logical volume và hệ thống tập tin của logical volume test trong volume group LVMVolGroup sẽ được tăng thêm 5G.

Nếu bạn muốn xử lý mở rộng hệ thống tập tin một cách thủ công, bỏ qua tùy chọn --resizefs và sau đó sử dụng công cụ mở rộng của hệ thống tập tin (ví dụ với Ext4, dùng resize2fs):

sudo lvresize -L +5G LVMVolGroup/test
sudo resize2fs /dev/LVMVolGroup/test

Hai lệnh trên cho kết quả tương tự nhau.

Bước 3 – Xóa Hoặc Thu Nhỏ Các Thành Phần Của LVM

Do việc giảm dung lượng có thể gây mất dữ liệu, các quy trình giảm kích thước hoặc xóa các thành phần LVM thường phức tạp hơn.

Thu Nhỏ Kích Thước Logical Volume

Để giảm kích thước một logical volume, bạn nên sao lưu dữ liệu trước. Vì giảm dung lượng có thể dẫn đến mất dữ liệu nếu có sai sót.

Khi sẵn sàng, hãy kiểm tra dung lượng đang sử dụng:

df -h

Output:

Filesystem                         Size  Used Avail Use% Mounted on
. . .
/dev/mapper/LVMVolGroup-test       4.8G  521M  4.1G  12% /mnt/test

Trong ví dụ này, có khoảng 521M dữ liệu đang được sử dụng. Dựa vào đó, bạn có thể ước tính kích thước tối thiểu mà volume có thể giảm xuống.

Khác với việc mở rộng, việc thu nhỏ hệ thống tập tin cần được thực hiện khi volume chưa được mount. Đầu tiên, di chuyển đến thư mục gốc:

cd ~

Sau đó, unmount hệ thống tập tin:

sudo umount /dev/LVMVolGroup/test

Tiếp theo, kiểm tra hệ thống tập tin để đảm bảo mọi thứ đều ổn. Chỉ định loại hệ thống tập tin với tùy chọn -t và sử dụng -f để ép kiểm tra:

sudo fsck -t ext4 -f /dev/LVMVolGroup/test

Sau khi kiểm tra, bạn có thể giảm kích thước hệ thống tập tin sử dụng công cụ chuyên dụng của nó. Với hệ thống tập tin Ext4, dùng lệnh resize2fs và chỉ định kích thước cuối cùng:

Cảnh báo: Lựa chọn kích thước cuối cùng nên lớn hơn một chút so với dung lượng hiện tại đã sử dụng để tạo thêm khoảng đệm, tránh mất dữ liệu và đảm bảo có bản sao lưu.

sudo resize2fs -p /dev/LVMVolGroup/test 3G

Sau khi thao tác hoàn tất, thu nhỏ logical volume bằng cách chỉ định kích thước tương ứng với lệnh lvresize:

sudo lvresize -L 3G LVMVolGroup/test

Khi được nhắc, hãy xác nhận thao tác (nhấn y nếu chắc chắn). Sau khi logical volume đã được thu nhỏ, kiểm tra lại hệ thống tập tin:

sudo fsck -t ext4 -f /dev/LVMVolGroup/test

Nếu mọi thứ hoạt động tốt, bạn có thể mount lại hệ thống tập tin như thường lệ:

sudo mount /dev/LVMVolGroup/test /mnt/test

Logical volume bây giờ đã được giảm xuống kích thước phù hợp.

Xóa một Logical Volume

Nếu bạn không còn cần sử dụng một logical volume nào đó, có thể xóa nó bằng lệnh lvremove.

Đầu tiên, unmount logical volume nếu đang được mount:

cd ~
sudo umount /dev/LVMVolGroup/test

Sau đó, xóa logical volume bằng lệnh:

sudo lvremove LVMVolGroup/test

Khi được nhắc, xác nhận thao tác (nhấn y nếu chắc chắn muốn xóa).

Xóa Một Volume Group

Để xóa toàn bộ volume group, bao gồm tất cả logical volumes bên trong, sử dụng lệnh vgremove.

Trước khi xóa volume group, bạn nên xóa các logical volumes theo quy trình đã đề cập. Ít nhất, hãy chắc chắn rằng các logical volumes trong volume group đều được unmount:

sudo umount /dev/LVMVolGroup/www
sudo umount /dev/LVMVolGroup/projects
sudo umount /dev/LVMVolGroup/db

Sau đó, xóa volume group bằng cách truyền tên volume group cho lệnh vgremove:

sudo vgremove LVMVolGroup

Khi được nhắc, xác nhận rằng bạn muốn xóa volume group. Nếu còn logical volumes tồn tại, bạn sẽ được yêu cầu xác nhận riêng cho từng volume trước khi xóa.

Xóa Một Physical Volume

Để xóa một physical volume khỏi quản lý của LVM, quy trình phụ thuộc vào việc thiết bị đó có đang được sử dụng hay không.

Nếu physical volume đang được sử dụng, bạn cần di chuyển các physical extents nằm trên thiết bị đó sang một vị trí khác. Điều này yêu cầu volume group có đủ physical volumes khác để chứa các extents. Trong trường hợp sử dụng các loại logical volume phức tạp, có thể bạn cần thêm physical volumes dù có nhiều dung lượng trống.

Khi đã có đủ physical volumes trong volume group để chứa các extents, di chuyển dữ liệu ra khỏi physical volume bạn muốn xóa bằng lệnh:

sudo pvmove /dev/sda

Quá trình này có thể mất thời gian tùy thuộc vào dung lượng và lượng dữ liệu cần chuyển.

Sau khi các extents đã được di chuyển sang các volume khác, xóa physical volume khỏi volume group bằng lệnh:

sudo vgreduce LVMVolGroup /dev/sda

Lệnh này sẽ loại bỏ physical volume trống ra khỏi volume group. Sau đó, bạn có thể xóa marker của physical volume khỏi thiết bị lưu trữ bằng lệnh:

sudo pvremove /dev/sda

Sau thao tác trên, bạn có thể sử dụng thiết bị lưu trữ vừa được gỡ bỏ cho các mục đích khác hoặc loại bỏ nó khỏi hệ thống.

Kết Luận

Bây giờ, bạn đã nắm được cách quản lý thiết bị lưu trữ trên Ubuntu 18.04 với LVM. Bạn cũng đã biết cách lấy thông tin về trạng thái các thành phần LVM hiện có, cách kết hợp chúng để xây dựng hệ thống lưu trữ, và cách điều chỉnh các volume theo nhu cầu của bạn. Hãy tự tin thử nghiệm các khái niệm này trong môi trường an toàn để hiểu rõ hơn cách chúng hoạt động cùng nhau.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *