Cách sử dụng LVM để quản lý thiết bị lưu trữ trên Ubuntu 18.04
LVM , hay Quản lý dung lượng hợp lý, là một công nghệ quản lý thiết bị lưu trữ cung cấp cho user khả năng tổng hợp và tóm tắt bố cục vật lý của các thiết bị lưu trữ thành phần để quản trị linh hoạt và dễ dàng hơn. Sử dụng framework kernel Linux thiết bị ánh xạ, bản lặp hiện tại, LVM2, được dùng để tập hợp các thiết bị lưu trữ hiện có thành group và phân bổ các đơn vị logic từ không gian kết hợp khi cần thiết.Trong hướng dẫn này, ta sẽ trình bày cách quản lý thiết bị lưu trữ của bạn với LVM. Ta sẽ chỉ cho bạn cách hiển thị thông tin về dung lượng và các mục tiêu tiềm năng, cách tạo và phá hủy dung lượng các loại khác nhau và cách sửa đổi các dung lượng hiện có thông qua thay đổi kích thước hoặc chuyển đổi. Ta sẽ sử dụng server Ubuntu 18.04 để trình diễn các hoạt động này.
Yêu cầu
Để làm theo, bạn phải có quyền truy cập vào server Ubuntu 18.04. Bạn cần phải có một user không phải root với các quyền sudo
cấu hình cho các việc quản trị. Bạn có thể làm theo hướng dẫn cài đặt server ban đầu Ubuntu 18.04 của ta để tạo account cần thiết.
Để làm quen với các thành phần và khái niệm LVM cũng như kiểm tra cấu hình LVM cơ bản, hãy làm theo phần giới thiệu của ta về hướng dẫn LVM trước khi bắt đầu hướng dẫn này.
Khi đã sẵn sàng , hãy đăng nhập vào server của bạn với user sudo
của bạn.
Hiển thị thông tin về dung lượng vật lý, group dung lượng và dung lượng logic
Điều quan trọng là có thể dễ dàng nhận được thông tin về các thành phần LVM khác nhau trong hệ thống của bạn. May mắn là bộ công cụ LVM cung cấp một lượng lớn công cụ để hiển thị thông tin về mọi lớp trong ngăn xếp LVM.
Hiển thị thông tin về tất cả các block storage device tương thích LVM
Để hiển thị tất cả các block storage device khả dụng mà LVM có thể quản lý, hãy sử dụng lệnh lvmdiskscan
:
- 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
Ta có thể thấy các thiết bị được dùng làm ổ đĩa vật lý cho LVM.
Đây có thể sẽ là bước đầu tiên của bạn khi thêm thiết bị lưu trữ mới để sử dụng với LVM.
Hiển thị Thông tin về Dung lượng Vật lý
Tiêu đề được ghi vào các thiết bị lưu trữ để đánh dấu chúng là được sử dụng miễn phí như các thành phần LVM. Các thiết bị có các tiêu đề này được gọi là ổ đĩa vật lý .
Bạn có thể hiển thị tất cả các thiết bị vật lý trên hệ thống của bạn bằng cách sử dụng lvmdiskscan
với tùy chọn -l
, tùy chọn này sẽ chỉ trả về dung lượng vật lý:
- 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
khá giống với lệnh trên, ở chỗ nó tìm kiếm tất cả các thiết bị có sẵn cho dung lượng vật lý LVM. Định dạng kết quả hơi khác một chút và nó bao gồm một lượng nhỏ thông tin bổ sung:
- 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 chi tiết hơn, các lệnh pvs
và pvdisplay
là những lựa chọn tốt hơn.
Lệnh pvs
có cấu hình cao và có thể hiển thị thông tin ở nhiều định dạng khác nhau. Bởi vì kết quả của nó có thể được kiểm soát chặt chẽ, nó thường được sử dụng khi cần viết kịch bản hoặc tự động hóa. Đầu ra cơ bản của nó cung cấp một bản tóm tắt hữu ích trong nháy mắt tương tự như các lệnh trước đó:
- 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ó kết quả dài dòng hơn, con người có thể đọc được, lệnh pvdisplay
thường là một lựa chọn tốt hơn:
- 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
Như bạn thấy , lệnh pvdisplay
thường là lệnh dễ nhất để lấy thông tin chi tiết về dung lượng vật lý.
Để khám phá các phạm vi logic đã được ánh xạ tới từng tập, hãy chuyển tùy chọn -m
vào 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 . . .
Điều này có thể rất hữu ích khi cố gắng xác định dữ liệu nào được giữ trên đĩa vật lý nào cho mục đích quản lý.
Hiển thị Thông tin về Group Dung lượng
LVM cũng có nhiều công cụ để hiển thị thông tin về các group dung lượng .
Lệnh vgscan
được dùng để quét hệ thống để tìm các group âm lượng có sẵn. Nó cũng xây dựng lại file cache khi cần thiết. Đó là một lệnh tốt để sử dụng khi bạn đang nhập một group dung lượng vào một 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 không xuất ra nhiều thông tin, nhưng nó có thể tìm thấy mọi group ổ đĩa có sẵn trên hệ thống. Để hiển thị thêm thông tin, các lệnh vgs
và vgdisplay
có sẵn.
Giống như đối tác dung lượng vật lý của nó, lệnh vgs
rất linh hoạt và có thể hiển thị một lượng lớn thông tin ở nhiều định dạng khác nhau. Bởi vì kết quả của nó có thể được thao tác dễ dàng, nó thường được sử dụng khi cần viết kịch bản hoặc tự động hóa. Ví dụ: một số sửa đổi kết quả hữu ích là để hiển thị các thiết bị vật lý và đường dẫn âm lượng hợp lý:
- 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
Để có kết quả dài dòng hơn, con người có thể đọc được, lệnh vgdisplay
thường là lựa chọn tốt nhất. Việc thêm cờ -v
cũng cung cấp thông tin về các dung lượng vật lý mà group dung lượng được tạo và các dung lượng hợp lý đã được tạo bằng cách sử dụng group dung lượng :
- 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 . . .
Lệnh vgdisplay
rất hữu ích vì nó có thể liên kết thông tin về nhiều phần tử khác nhau của ngăn xếp LVM lại với nhau.
Hiển thị thông tin về các tập logic
Để hiển thị thông tin về dung lượng logic, LVM có một bộ công cụ liên quan.
Cũng như các thành phần LVM khác, tùy chọn lvscan
quét hệ thống và xuất ra thông tin tối thiểu về các khối logic mà nó 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
Để biết thêm thông tin đầy đủ, lệnh lvs
rất linh hoạt, mạnh mẽ và dễ sử dụng trong các tập lệnh:
- 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 hiểu về số lượng sọc và loại âm lượng hợp lý, 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 mà con người có thể đọc được nhiều nhất được tạo ra bởi lệnh lvdisplay
.
Khi cờ -m
được thêm vào, công cụ cũng sẽ hiển thị thông tin về cách dung lượng hợp lý được chia nhỏ 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 . . .
Như bạn thấy từ kết quả ở phía dưới, dung lượng logic /dev/LVMVolGroup/projects
được chứa hoàn toàn trong dung lượng vật lý /dev/sda
trong ví dụ này. Thông tin này hữu ích nếu bạn cần xóa thiết bị bên dưới đó và muốn chuyển dữ liệu đến các vị trí cụ thể.
Tạo hoặc mở rộng thành phần LVM
Phần này sẽ thảo luận về cách tạo và mở rộng dung lượng vật lý, group dung lượng và dung lượng hợp lý.
Tạo dung lượng vật lý từ thiết bị lưu trữ thô
Để sử dụng thiết bị lưu trữ với LVM, trước tiên chúng phải được đánh dấu là một ổ đĩa vật lý. Điều này chỉ định rằng LVM có thể sử dụng thiết bị trong một group âm lượng.
Đầu tiên, sử dụng lệnh lvmdiskscan
để tìm tất cả các thiết bị khối mà LVM có thể nhìn thấy 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
Ở đây, ta có thể thấy các thiết bị phù hợp để chuyển sang dung lượng vật lý cho LVM.
Cảnh báo : Đảm bảo rằng bạn kiểm tra kỹ đảm bảo rằng các thiết bị bạn định sử dụng với LVM không có bất kỳ dữ liệu quan trọng nào đã được ghi vào chúng. Việc sử dụng các thiết bị này trong LVM sẽ overrides lên nội dung hiện tại. Nếu bạn đã có dữ liệu quan trọng trên server của bạn , hãy backup trước khi tiếp tục.
Để đánh dấu thiết bị lưu trữ là ổ đĩa vật lý LVM, hãy sử dụng pvcreate
. Bạn có thể chuyển nhiều thiết bị cùng một lúc:
- sudo pvcreate /dev/sda /dev/sdb
Điều này sẽ viết một tiêu đề LVM trên tất cả các thiết bị đích để đánh dấu chúng là dung lượng vật lý LVM.
Tạo một group dung lượng mới từ dung lượng vật lý
Để tạo một group ổ đĩa mới từ các ổ đĩa vật lý LVM, hãy sử dụng lệnh vgcreate
. Bạn sẽ phải cung cấp tên group ổ đĩa, theo sau là ít nhất một ổ đĩa vật lý LVM:
- sudo vgcreate volume_group_name /dev/sda
Ví dụ này sẽ tạo group dung lượng của bạn với một dung lượng vật lý ban đầu. Bạn có thể chuyển nhiều hơn một dung lượng vật lý khi tạo nếu bạn muốn:
- sudo vgcreate volume_group_name /dev/sda /dev/sdb /dev/sdc
Thông thường bạn sẽ chỉ cần một group dung lượng duy nhất cho mỗi server . Tất cả bộ nhớ do LVM quản lý có thể được thêm vào group đó và sau đó các dung lượng hợp lý có thể được cấp phát từ đó.
Một lý do khiến bạn có thể cần có nhiều hơn một group dung lượng là nếu bạn cảm thấy cần sử dụng các kích thước phạm vi khác nhau cho các dung lượng khác nhau. Thông thường, bạn sẽ không phải đặt kích thước phạm vi (kích thước mặc định là 4M là đủ cho hầu hết các mục đích sử dụng), nhưng nếu cần, bạn có thể làm như vậy khi tạo group dung lượng bằng cách chuyển tùy chọn -s
:
- suod vgcreate -s 8M volume_group_name /dev/sda
Điều này sẽ tạo một group âm lượng mới với kích thước phạm vi 8M.
Thêm Dung lượng Vật lý vào Group Dung lượng Hiện có
Để mở rộng group dung lượng bằng cách thêm dung lượng vật lý bổ sung, hãy sử dụng lệnh vgextend
. Lệnh này lấy một group dung lượng theo sau là dung lượng vật lý để thêm vào. Bạn có thể chuyển nhiều thiết bị cùng một lúc nếu muốn:
- sudo vgextend volume_group_name /dev/sdb
Dung lượng vật lý sẽ được thêm vào group dung lượng , mở rộng dung lượng khả dụng của group lưu trữ.
Tạo một tập hợp lý bằng cách chỉ định kích thước
Để tạo một dung lượng hợp lý từ một group lưu trữ group dung lượng , hãy sử dụng lệnh lvcreate
. Chỉ định kích thước của ổ đĩa hợp lý với tùy chọn -L
, chỉ định tên với tùy chọn -n
và chuyển vào group ổ đĩa để phân bổ không gian từ đó.
Ví dụ: để tạo test
dung lượng logic 10G có tên từ group dung lượng LVMVolGroup
, hãy nhập:
- sudo lvcreate -L 10G -n test LVMVolGroup
Với điều kiện group âm lượng có đủ dung lượng trống để chứa dung lượng ổ đĩa, ổ đĩa hợp lý mới sẽ được tạo.
Tạo một tập hợp lý từ tất cả không gian trống còn lại
Nếu bạn muốn tạo một ổ đĩa bằng cách sử dụng dung lượng trống còn lại trong một group đĩa, hãy sử dụng lệnh vgcreate
với tùy chọn -n
để đặt tên và chuyển vào group đĩa như trước. Thay vì chuyển một kích thước, hãy sử dụng tùy chọn -l 100%FREE
, sử dụng các phạm vi còn lại trong group tập để tạo thành tập hợp lý:
- sudo lvcreate -l 100%FREE -n test2 LVMVolGroup
Điều này sẽ sử dụng hết không gian còn lại trong tập hợp lý.
Tạo tập hợp lý với các tùy chọn nâng cao
Dung lượng logic cũng có thể được tạo với một số tùy chọn nâng cao. Một số tùy chọn mà bạn có thể cần xem xét là:
- –Type : Điều này chỉ định loại tập hợp lý, xác định cách phân bổ tập hợp lý. Một số loại có sẵn sẽ không khả dụng nếu không có đủ dung lượng vật lý cơ bản để tạo chính xác địa hình đã chọn. Một số loại phổ biến nhất là:
- tuyến tính : Loại mặc định. Các thiết bị vật lý cơ bản được sử dụng (nếu có nhiều hơn một) sẽ đơn giản được nối với nhau, nối tiếp nhau.
- sọc : Tương tự như RAID 0, cấu trúc liên kết sọc chia dữ liệu thành các phần và trải rộng theo kiểu vòng tròn trên các khối vật lý bên dưới. Điều này có thể dẫn đến cải thiện hiệu suất, nhưng có thể dẫn đến lỗ hổng dữ liệu lớn hơn. Điều này yêu cầu tùy chọn
-i
được mô tả bên dưới và tối thiểu là hai tập vật lý. - Raid1 : Tạo một tập RAID 1 được sao chép. Theo mặc định, máy nhân bản sẽ có hai bản sao, nhưng có thể chỉ định nhiều bản sao hơn bằng tùy chọn
-m
được mô tả bên dưới. Yêu cầu tối thiểu hai tập vật lý. - Raid5 : Tạo tập đĩa RAID 5. Yêu cầu tối thiểu ba tập vật lý.
- Raid6 : Tạo tập RAID 6. Yêu cầu tối thiểu bốn tập vật lý.
- -m : Chỉ định số lượng bản sao dữ liệu bổ sung cần giữ. Giá trị “1” chỉ định rằng một bản sao bổ sung được duy trì, với tổng số hai bộ dữ liệu.
- -i : Chỉ định số lượng sọc cần được duy trì. Điều này là bắt buộc đối với kiểu
striped
và có thể sửa đổi hành vi mặc định của một số tùy chọn RAID khác. - -s : Chỉ định rằng hành động sẽ tạo ra một ảnh chụp nhanh từ một tập hợp lý hiện có thay vì một tập hợp lý độc lập mới.
Ta sẽ cung cấp một vài ví dụ về các tùy chọn này để chứng minh cách chúng thường được sử dụng.
Để tạo một tập có sọc, bạn phải chỉ định ít nhất hai sọc. Cấu trúc liên kết và số lượng sọc này yêu cầu tối thiểu hai khối vật lý với dung lượng khả dụng:
- sudo lvcreate --type striped -i 2 -L 10G -n striped_vol LVMVolGroup
Để tạo một ổ đĩa được sao chép, hãy sử dụng loại đột raid1
. Nếu bạn muốn nhiều hơn hai tập dữ liệu, hãy sử dụng tùy chọn -m
. Ví dụ này sử dụng -m 2
để tạo tổng cộng ba tập dữ liệu (LVM tính đây là một tập dữ liệu root với hai bản sao). Bạn cần ít nhất ba tập vật lý để việc này thành công:
- sudo lvcreate --type raid1 -m 2 -L 20G -n mirrored_vol LVMVolGroup
Để tạo ảnh chụp nhanh một tập, bạn phải cung cấp tập hợp lý ban đầu để chụp nhanh thay vì group tập. Ảnh chụp nhanh ban đầu không chiếm nhiều dung lượng, nhưng tăng kích thước khi các thay đổi được thực hiện đối với dung lượng hợp lý mà nó đang theo dõi. Kích thước được sử dụng trong quy trình này là kích thước tối đa mà ảnh chụp nhanh có thể có (ảnh chụp nhanh vượt quá kích thước này sẽ bị hỏng và không thể sử dụng được; tuy nhiên, ảnh chụp nhanh đạt đến dung lượng của chúng có thể được mở rộng):
- sudo lvcreate -s -L 10G -n snap_test LVMVolGroup/test
Lưu ý : Để hoàn nguyên một tập hợp lý về thời điểm của một ảnh chụp nhanh, hãy sử dụng lệnh lvconvert --merge
:
- sudo lvconvert --merge LVMVolGroup/snap_test
Thao tác này sẽ đưa nguồn root của ảnh chụp nhanh trở lại trạng thái khi ảnh chụp nhanh được chụp.
Như bạn thấy , có một số tùy chọn có thể thay đổi đáng kể cách hoạt động của các tập hợp lý của bạn.
Tăng kích thước của một tập hợp lý
Một trong những ưu điểm chính của LVM là tính linh hoạt mà nó cung cấp trong việc cung cấp các dung lượng hợp lý. Bạn có thể dễ dàng điều chỉnh số lượng hoặc kích thước của dung lượng một cách nhanh chóng mà không cần dừng hệ thống.
Để tăng kích thước của một tập hợp lý hiện có, hãy sử dụng lệnh lvresize
. Sử dụng cờ -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 kích thước “+”. Trong trường hợp đó, LVM sẽ tăng kích thước của dung lượng hợp lý bằng số lượng được chỉ định. Để tự động thay đổi kích thước hệ thống file đang được sử dụng trên ổ đĩa logic, hãy chuyển vào cờ --resizefs
.
Để cung cấp chính xác tên của tập hợp lý để mở rộng, bạn cần cung cấp cho group âm lượng, theo sau là dấu gạch chéo, theo sau là tập hợp lý:
- sudo lvresize -L +5G --resizefs LVMVolGroup/test
Trong ví dụ này, dung lượng logic và hệ thống file của dung lượng logic test
trên group dung lượng LVMVolGroup
đều sẽ được tăng thêm 5G.
Nếu bạn muốn xử lý việc mở rộng hệ thống file theo cách thủ công, bạn có thể sử dụng tùy chọn --resizefs
và sử dụng trình mở rộng root của hệ thống file sau đó. Ví dụ: đối với hệ thống file Ext4, có thể chạy lệnh:
- sudo lvresize -L +5G LVMVolGroup/test
- sudo resize2fs /dev/LVMVolGroup/test
Điều này sẽ để lại cho bạn cùng một kết quả.
Loại bỏ hoặc giảm kích thước các thành phần LVM
Vì việc giảm dung lượng có thể dẫn đến mất dữ liệu, các thủ tục để thu nhỏ dung lượng khả dụng, bằng cách giảm kích thước hoặc loại bỏ các thành phần thường liên quan hơn một chút.
Giảm kích thước của một tập hợp lý
Để thu nhỏ dung lượng hợp lý, trước tiên bạn nên backup dữ liệu của bạn . Vì điều này làm giảm dung lượng khả dụng, sai sót có thể dẫn đến mất dữ liệu.
Khi đã sẵn sàng , hãy kiểm tra xem có bao nhiêu dung lượng hiện đang được sử dụng:
- df -h
OutputFilesystem Size Used Avail Use% Mounted on . . . /dev/mapper/LVMVolGroup-test 4.8G 521M 4.1G 12% /mnt/test
Trong ví dụ này, có vẻ như hơn 521 triệu không gian hiện đang được sử dụng. Sử dụng điều này để giúp bạn ước tính kích thước mà bạn có thể giảm âm lượng xuống.
Tiếp theo, ngắt kết nối hệ thống file . Không giống như mở rộng, việc thu nhỏ hệ thống file phải được thực hiện khi không được mount :
- cd ~
- sudo umount /dev/LVMVolGroup/test
Sau khi ngắt kết nối, hãy kiểm tra hệ thống file đảm bảo rằng mọi thứ đang hoạt động. Chuyển loại hệ thống file với tùy chọn -t
. Ta sẽ sử dụng -f
để kiểm tra ngay cả khi hệ thống file xuất hiện ổn:
- sudo fsck -t ext4 -f /dev/LVMVolGroup/test
Sau khi kiểm tra hệ thống file , bạn có thể giảm kích thước hệ thống file bằng các công cụ root của hệ thống file . Đối với hệ thống file Ext4, đây sẽ là lệnh resize2fs
. Chuyển kích thước cuối cùng cho hệ thống file :
Cảnh báo : Tùy chọn an toàn nhất ở đây là chọn kích thước cuối cùng lớn hơn một lượng hợp lý so với mức sử dụng hiện tại của bạn. Tạo cho mình một số phòng đệm để tránh mất dữ liệu và đảm bảo bạn có các bản backup tại chỗ.
- sudo resize2fs -p /dev/LVMVolGroup/test 3G
Sau khi thao tác hoàn tất, hãy thay đổi kích thước của ổ đĩa hợp lý bằng cách chuyển cùng kích thước vào lệnh lvresize
với cờ -L
:
- sudo lvresize -L 3G LVMVolGroup/test
Bạn sẽ được cảnh báo về khả năng mất dữ liệu. Nếu bạn đã sẵn sàng, hãy nhập y để tiếp tục.
Sau khi dung lượng hợp lý đã được giảm, hãy kiểm tra lại hệ thống file :
- sudo fsck -t ext4 -f /dev/LVMVolGroup/test
Nếu mọi thứ hoạt động bình thường, bạn có thể gắn lại hệ thống file bằng lệnh mount thông thường của bạn :
- sudo mount /dev/LVMVolGroup/test /mnt/test
Dung lượng hợp lý của bạn bây giờ sẽ được giảm xuống kích thước thích hợp.
Loại bỏ một dung lượng logic
Nếu bạn không cần một dung lượng hợp lý nữa, bạn có thể xóa nó bằng lệnh lvremove
.
Trước tiên, hãy ngắt kết nối ổ đĩa hợp lý nếu nó hiện đang được mount :
- cd ~
- sudo umount /dev/LVMVolGroup/test
Sau đó, xóa dung lượng hợp lý bằng lệnh :
- sudo lvremove LVMVolGroup/test
Bạn cần xác nhận thủ tục. Nếu bạn chắc chắn muốn xóa tập hợp lý, hãy nhập y .
Xóa một Group Dung lượng
Để xóa toàn bộ group dung lượng , bao gồm tất cả các khối tin hợp lý bên trong nó, hãy sử dụng lệnh vgremove
.
Trước khi xóa một group tập, bạn thường nên xóa các tập hợp lý bằng cách sử dụng quy trình trên. Ít nhất, bạn phải đảm bảo bạn ngắt kết nối bất kỳ tập hợp lý nào mà group tập đó chứa:
- sudo umount /dev/LVMVolGroup/www
- sudo umount /dev/LVMVolGroup/projects
- sudo umount /dev/LVMVolGroup/db
Sau đó, bạn có thể xóa toàn bộ group âm lượng bằng cách chuyển tên group âm lượng vào lệnh vgremove
:
- sudo vgremove LVMVolGroup
Bạn sẽ được yêu cầu xác nhận bạn muốn xóa group âm lượng. Nếu bạn vẫn còn bất kỳ tập hợp lý nào, bạn sẽ nhận được dấu nhắc xác nhận riêng cho những tập đó trước khi xóa.
Xóa một dung lượng vật lý
Nếu bạn muốn xóa một ổ đĩa vật lý khỏi quản lý LVM, quy trình bạn cần tùy thuộc vào việc thiết bị hiện đang được LVM sử dụng hay không.
Nếu âm lượng vật lý đang được sử dụng, bạn sẽ phải di chuyển phạm vi vật lý nằm trên thiết bị đến một vị trí khác. Điều này yêu cầu group dung lượng phải có đủ dung lượng vật lý khác để xử lý các phạm vi vật lý. Nếu bạn đang sử dụng các loại dung lượng logic phức tạp hơn, bạn có thể phải có dung lượng vật lý bổ sung ngay cả khi bạn có nhiều dung lượng trống để chứa cấu trúc liên kết.
Khi bạn có đủ dung lượng vật lý trong group dung lượng để xử lý các phạm vi vật lý, hãy chuyển chúng ra khỏi dung lượng vật lý mà bạn muốn xóa bằng lệnh :
- sudo pvmove /dev/sda
Quá trình này có thể mất một lúc tùy thuộc vào kích thước của ổ đĩa và số lượng dữ liệu cần truyền.
Khi các phạm vi đã được chuyển sang các tập ngang hàng, bạn có thể xóa tập thực khỏi group bằng lệnh :
- sudo vgreduce LVMVolGroup /dev/sda
Thao tác này sẽ xóa dung lượng vật lý bị bỏ trống khỏi group dung lượng . Sau khi hoàn tất, bạn có thể xóa điểm đánh dấu âm lượng vật lý khỏi thiết bị lưu trữ bằng lệnh :
- sudo pvremove /dev/sda
Đến đây bạn có thể sử dụng thiết bị lưu trữ đã xóa cho các mục đích khác hoặc xóa hoàn toàn khỏi hệ thống.
Kết luận
Đến đây, bạn đã hiểu rõ về cách quản lý thiết bị lưu trữ trên Ubuntu 18.04 với LVM. Bạn nên biết cách lấy thông tin về trạng thái của các thành phần LVM hiện có, cách sử dụng LVM để soạn hệ thống lưu trữ và cách sửa đổi dung lượng để đáp ứng nhu cầu của bạn. Hãy thử nghiệm những khái niệm này trong một môi trường an toàn để hiểu rõ hơn về cách chúng phù hợp với nhau.
Các tin liên quan
Cách sử dụng Chế độ độc lập của Certbot để truy xuất chứng chỉ SSL Let's Encrypt trên Ubuntu 18.042018-07-11
Cách cài đặt WordPress với LEMP trên Ubuntu 18.04
2018-07-11
Cách thiết lập đồng bộ hóa thời gian trên Ubuntu 18.04
2018-07-10
Cách cài đặt Hadoop ở chế độ độc lập trên Ubuntu 18.04
2018-07-10
Cách cài đặt và cấu hình GitLab trên Ubuntu 18.04
2018-07-09
Cách cài đặt Git trên Ubuntu 18.04
2018-07-06
Cách cài đặt và cấu hình Postfix trên Ubuntu 18.04
2018-07-06
Cách thiết lập vsftpd cho Thư mục người dùng trên Ubuntu 18.04
2018-07-06
Cách cài đặt WordPress với LAMP trên Ubuntu 18.04
2018-07-06
Cách thiết lập ứng dụng Node.js để sản xuất trên Ubuntu 18.04
2018-07-05