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.
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 pvs
và pvdisplay
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 vgs
và vgdisplay
.
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.