18/09/2018, 16:44

Làm thế nào để sử dụng LVM để quản lý thiết bị lưu trữ trên Ubuntu 16.04

Giới thiệu LVM , hoặc Quản lý khối lượng hợp lý, là công nghệ quản lý thiết bị lưu trữ cung cấp cho người dùng sức mạnh để nhóm và trừu tượng bố cục vật lý của thiết bị lưu trữ thành phần để quản trị dễ dàng và linh hoạt hơn. Bằng cách sử dụng khung công tác nhân Linux của trình ánh xạ thiết bị, ...

Giới thiệu

LVM, hoặc Quản lý khối lượng hợp lý, là công nghệ quản lý thiết bị lưu trữ cung cấp cho người dùng sức mạnh để nhóm và trừu tượng bố cục vật lý của thiết bị lưu trữ thành phần để quản trị dễ dàng và linh hoạt hơn. Bằng cách sử dụng khung công tác nhân Linux của trình ánh xạ thiết bị, phép lặp hiện tại, LVM2, có thể được sử dụng để thu thập các thiết bị lưu trữ hiện có thành các nhóm 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, chúng tôi sẽ giới thiệu cách quản lý các thiết bị lưu trữ của bạn với LVM. Chúng tôi sẽ chỉ cho bạn cách hiển thị thông tin về khối lượng và mục tiêu tiềm năng, cách tạo và hủy khối lượng các loại khác nhau và cách sửa đổi khối lượng hiện có thông qua thay đổi kích thước hoặc chuyển đổi. Chúng tôi sẽ sử dụng một máy chủ Ubuntu 16.04 để chứng minh các hoạt động này.

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

Để theo dõi, bạn nên truy cập vào máy chủ Ubuntu 16.04. Bạn sẽ cần phải có một người dùng không phải root với sudo các đặc quyền được cấu hình cho các tác vụ quản trị. Bạn có thể theo dõi Hướng dẫn cài đặt máy chủ ban đầu cho Ubuntu 16.04 để tạo tài khoản cần thiết.

Để làm quen với các thành phần và khái niệm LVM và để kiểm tra cấu hình LVM cơ bản, hãy làm theo giới thiệu về hướng dẫn LVM trước khi bắt đầu hướng dẫn này.

Khi bạn đã sẵn sàng, hãy đăng nhập vào máy chủ của bạn bằng sudo người dùng.

Hiển thị thông tin về khối lượng vật lý, nhóm khối lượng và tập hợp logic

Điều quan trọng là có thể 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 một cách dễ dàng. May mắn thay, bộ công cụ LVM cung cấp một số lượng lớn các 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 thiết bị lưu trữ khối tương thích LVM

Để hiển thị tất cả các thiết bị lưu trữ khối khả dụng mà LVM có thể quản lý, hãy sử dụng lvmdiskscan chỉ huy:

sudo lvmdiskscan

Output  /dev/ram0  [      64.00 MiB] 
  /dev/sda   [     200.00 GiB] 
  /dev/ram1  [      64.00 MiB] 

  . . .

  /dev/ram15 [      64.00 MiB] 
  /dev/sdb   [     100.00 GiB] 
  2 disks
  17 partitions
  0 LVM physical volume whole disks
  0 LVM physical volumes

Bỏ qua /dev/ram* các thiết bị (một phần của việc triển khai đĩa ram Linux), chúng ta có thể thấy các thiết bị có khả năng được sử dụng làm khối tin vật lý cho LVM.

Đây có thể 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ề khối lượng vật lý

Tiêu đề được ghi vào thiết bị lưu trữ để đánh dấu chúng là miễn phí để sử dụng làm thành phần LVM. Các thiết bị có các tiêu đề này được gọi là khối lượng 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 mình bằng cách sử dụng lvmdiskscan với -l tùy chọn, sẽ chỉ trả về khối 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

Các pvscan lệnh là khá tương tự như ở trên, trong đó nó tìm kiếm tất cả các thiết bị có sẵn cho khối lượng vật lý LVM. Định dạng đầu ra 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 thêm chi tiết, pvs và pvdisplay lệnh là các tùy chọn tốt hơn.

Các pvs lệnh có khả năng cấu hình cao và có thể hiển thị thông tin theo nhiều định dạng khác nhau. Bởi vì đầu ra của nó có thể được kiểm soát chặt chẽ, nó thường được sử dụng khi kịch bản hoặc tự động hóa là cần thiết. Đầ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ó thêm chi tiết, đầu ra có thể đọc được của con người, pvdisplay lệnh 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 có thể thấy pvdisplay lệnh thường là lệnh dễ nhất để nhận thông tin chi tiết về khối lượng vật lý.

Để khám phá các khoảng cách hợp lý đã được ánh xạ tới từng ổ đĩa, hãy chuyển vào -m tùy chọn để 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 lưu trữ trên đĩa vật lý nào cho mục đích quản lý.

Hiển thị thông tin về nhóm khối lượng

LVM cũng có rất nhiều công cụ để hiển thị thông tin về các nhóm khối lượng.

Các vgscan lệnh có thể được sử dụng để quét hệ thống cho các nhóm khối lượng có sẵn. Nó cũng xây dựng lại các tập tin bộ nhớ cache khi cần thiết. Đây là một lệnh hay để sử dụng khi bạn đang nhập một nhóm khối 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ó sẽ có thể tìm thấy mọi nhóm khối lượng có sẵn trên hệ thống. Để hiển thị thêm thông tin, vgs và vgdisplay lệnh có sẵn.

Giống như đối tượng khối lượng vật lý của nó, vgs lệnh là linh hoạt và có thể hiển thị một lượng lớn thông tin trong nhiều định dạng khác nhau. Bởi vì đầu ra của nó có thể được thao tác dễ dàng, nó thường được sử dụng trong khi kịch bản hoặc tự động hóa là cần thiết. Ví dụ: một số sửa đổi đầu ra hữu ích là hiển thị các thiết bị vật lý và đường dẫn khối 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ó thêm chi tiết, đầu ra có thể đọc được của con người, vgdisplay lệnh thường là lựa chọn tốt nhất. Thêm -v cờ cũng cung cấp thông tin về khối lượng vật lý nhóm khối lượng được xây dựng dựa trên, và khối tin hợp lý đã được tạo bằng cách sử dụng nhóm khối 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     
  . . .

Các vgdisplay lệnh rất hữu ích vì nó có thể kết hợp thông tin về nhiều thành phần khác nhau của ngăn xếp LVM.

Hiển thị thông tin về tập hợp logic

Để hiển thị thông tin về khối tin hợp lý, LVM có một bộ công cụ liên quan.

Như với các thành phần LVM khác, lvscan tùy chọn quét hệ thống và xuất ra thông tin tối thiểu về khối lượng hợp lý 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 đủ, lvs lệnh 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 các sọc và loại khối lượng hợp lý, hãy sử dụng --segments Tùy chọn:

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 của con người được tạo ra bởi lvdisplay chỉ huy.

Khi mà -m cờ được thêm vào, công cụ cũng sẽ hiển thị thông tin về cách khối lượng logic đượ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 có thể thấy từ đầu ra về phía dưới, /dev/LVMVolGroup/projects khối lượng hợp lý được chứa hoàn toàn trong /dev/sda thể tích trong ví dụ này. Thông tin này hữu ích nếu bạn cần xóa thiết bị cơ bản đó và muốn di chuyển dữ liệu đến các vị trí cụ thể.

Tạo hoặc mở rộng các thành phần LVM

Phần này sẽ thảo luận cách tạo và mở rộng khối lượng vật lý, nhóm khối lượng và khối lượng hợp lý.

Tạo khối lượng vật lý từ thiết bị lưu trữ thô

Để sử dụng các 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 xác định rằng LVM có thể sử dụng thiết bị trong một nhóm khối lượng.

Đầu tiên, sử dụng lvmdiskscan lệnh để tìm tất cả các thiết bị khối mà LVM có thể xem và sử dụng:

sudo lvmdiskscan

Output  /dev/ram0  [      64.00 MiB] 
  /dev/sda   [     200.00 GiB] 
  /dev/ram1  [      64.00 MiB] 

  . . .

  /dev/ram15 [      64.00 MiB] 
  /dev/sdb   [     100.00 GiB] 
  2 disks
  17 partitions
  0 LVM physical volume whole disks
  0 LVM physical volumes

Ở đây, bỏ qua /dev/ram* thiết bị, chúng ta có thể thấy các thiết bị phù hợp để được chuyển thành khối lượng vật lý cho LVM.

Cảnh báo: Đảm bảo rằng bạn kiểm tra kỹ xem 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 hay chưa. Sử dụng các thiết bị này trong LVM sẽ ghi đè lên nội dung hiện tại. Nếu bạn đã có dữ liệu quan trọng trên máy chủ của mình, hãy sao lưu trước khi tiếp tục.

Để đánh dấu các thiết bị lưu trữ là khối lượng vật lý LVM, hãy sử dụng pvcreate. Bạn có thể chuyển vào 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à khối tin vật lý LVM.

Tạo một nhóm tập mới từ khối lượng vật lý

Để tạo nhóm âm lượng mới từ khối lượng vật lý LVM, hãy sử dụng vgcreate chỉ huy. Bạn sẽ phải cung cấp tên nhóm khối lượng, theo sau là ít nhất một khối lượng vật lý LVM:

sudo vgcreate volume_group_name /dev/sda

Ví dụ này sẽ tạo nhóm khối lượng của bạn với một khối lượng vật lý ban đầu duy nhất. Bạn có thể chuyển nhiều hơn một khối lượng vật lý lúc 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 nhóm khối lượng duy nhất trên mỗi máy chủ. Tất cả các LVM quản lý lưu trữ có thể được thêm vào hồ bơi đó và sau đó khối lượng hợp lý có thể được phân bổ từ đó.

Một lý do bạn có thể muốn có nhiều hơn một nhóm khối lượng là nếu bạn cảm thấy bạn cần phải sử dụng kích thước phạm vi khác nhau cho khối 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 lần sử dụng), nhưng nếu bạn cần, bạn có thể làm như vậy khi tạo nhóm khối lượng bằng cách chuyển -s Tùy chọn:

suod vgcreate -s 8M volume_group_name /dev/sda

Điều này sẽ tạo một nhóm âm lượng mới với kích thước phạm vi 8M.

Thêm Khối lượng Vật lý vào Nhóm Khối lượng Hiện tại

Để mở rộng một nhóm khối lượng bằng cách thêm khối lượng vật lý bổ sung, hãy sử dụng vgextend chỉ huy. Lệnh này có một nhóm khối lượng theo sau bởi khối lượng vật lý cần thêm. Bạn có thể chuyển vào nhiều thiết bị cùng một lúc nếu bạn muốn:

sudo vgextend volume_group_name /dev/sdb

Khối lượng vật lý sẽ được thêm vào nhóm âm lượng, mở rộng dung lượng có sẵn của nhóm lưu trữ.

Tạo khối lượng hợp lý bằng cách chỉ định kích thước

Để một khối lượng hợp lý từ một nhóm lưu trữ nhóm khối lượng, hãy sử dụng lvcreate chỉ huy. Chỉ định kích thước của ổ đĩa logic với -L tùy chọn, chỉ định tên có -n và chuyển vào nhóm khối lượng để phân bổ không gian.

Ví dụ, để tạo một khối lượng logic 10G có tên test từ LVMVolGroup nhóm khối lượng, loại:

sudo lvcreate -L 10G -n test LVMVolGroup

Miễn là nhóm khối lượng có đủ không gian trống để chứa dung lượng, khối lượng hợp lý mới sẽ được tạo.

Tạo một khối lượng hợp lý từ tất cả các không gian còn lại 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 nhóm khối lượng, hãy sử dụng vgcreate lệnh với -n tùy chọn để đặt tên và chuyển vào nhóm âm lượng như trước đây. Thay vì chuyển một kích thước, hãy sử dụng -l 100%FREE tùy chọn, trong đó sử dụng các phần còn lại còn lại trong nhóm khối lượng để tạo khối lượng 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 khối lượng hợp lý.

Tạo các tập hợp logic với các tùy chọn nâng cao

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

  • --kiểu: Điều này xác định loại hợp lý khối lượng, trong đó xác định cách phân phối hợp lý khối lượng. Một số loại có sẵn sẽ không có sẵn nếu không có đủ khối 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) sẽ được nối thêm vào nhau, cái khác.
    • 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 ổ đĩa vật lý cơ bản. Đ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 đòi hỏi -i tùy chọn được mô tả dưới đây và tối thiểu là hai khối lượng vật lý.
    • raid1: Tạo ra một khối lượng RAID 1 nhân đôi. Theo mặc định, gương sẽ có hai bản sao, nhưng nhiều hơn có thể được chỉ định bởi -m tùy chọn được mô tả bên dưới. Yêu cầu tối thiểu hai khối lượng vật lý.
    • raid5: Tạo khối lượng RAID 5. Yêu cầu tối thiểu ba khối lượng vật lý.
    • raid6: Tạo khối lượng RAID 6. Yêu cầu tối thiểu bốn khối vật lý.
  • -m: Chỉ định số lượng bản sao bổ sung của dữ liệu cần lưu giữ. Giá trị "1" chỉ định rằng một bản sao bổ sung được duy trì, cho tổng cộng hai bộ dữ liệu.
  • -tôi: Chỉ định số lượng các sọc cần được duy trì. Điều này là bắt buộc đối với striped nhập 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 một ảnh chụp nhanh từ một khối lượng hợp lý hiện có thay vì một khối lượng hợp lý độc lập mới.

Chúng tôi sẽ cung cấp một vài ví dụ về các tùy chọn này để minh họa cách chúng thường được sử dụng.

Để tạo khối lượng 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 lượng vật lý với dung lượng sẵn có:

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

Để tạo khối lượng được nhân đôi, hãy sử dụng raid1 kiểu. Nếu bạn muốn nhiều hơn hai bộ dữ liệu, hãy sử dụng -m Tùy chọn. Ví dụ này sử dụng -m 2 để tạo tổng cộng ba bộ dữ liệu (LVM tính số liệu này là một tập dữ liệu gốc với hai gương). Bạn sẽ cần ít nhất ba khối lượng vật lý để thành công:

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

Để tạo ảnh chụp nhanh của một ổ đĩa, bạn phải cung cấp khối lượng hợp lý ban đầu để chụp nhanh thay vì nhóm âm lượng. Ảnh chụp nhanh không chiếm nhiều không gian ban đầu, nhưng tăng kích thước khi các thay đổi được thực hiện cho khối 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 có thể là (ảnh chụp nhanh qua kích thước này bị hỏng và không thể sử dụng được; ảnh chụp nhanh tiếp cận dung lượng của chúng có thể được mở rộng):

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

chú thích: Để hoàn nguyên khối lượng hợp lý về thời điểm chính xác của ảnh chụp nhanh, hãy sử dụng lvconvert --merge chỉ huy:

sudo lvconvert --merge LVMVolGroup/snap_test

Điều này sẽ mang lại nguồn gốc của ảnh chụp trở lại trạng thái khi ảnh chụp được chụp.

Như bạn có thể thấy, có một số tùy chọn có thể thay đổi đáng kể cách chức năng khối logic của bạn.

Tăng kích thước của một khối lượng 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 khối 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 khối lượng trên bay mà không cần dừng hệ thống.

Để tăng kích thước của một khối lượng hợp lý hiện có, hãy sử dụng lvresize chỉ huy. Sử dụng -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 khối tin hợp lý bằng số lượng được chỉ định. Để tự động thay đổi kích cỡ hệ thống tập tin đang được sử dụng trên ổ đĩa logic, hãy chuyển vào --resizefs cờ.

Để cung cấp chính xác tên của khối tin hợp lý để mở rộng, bạn sẽ cần phải cung cấp cho nhóm khối lượng, theo sau là dấu gạch chéo, tiếp theo là khối lượng hợp lý:

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

Trong ví dụ này, khối lượng hợp lý và hệ thống tệp của test khối lượng hợp lý trên LVMVolGroup cả nhóm khối lượng sẽ được tăng thêm 5G.

Nếu bạn muốn xử lý việc mở rộng hệ thống tập tin theo cách thủ công, bạn có thể đưa ra --resizefs và sau đó sử dụng tiện ích mở rộng gốc của hệ thống tệp. Ví dụ, đối với một hệ thống tập tin Ext4, bạn có thể gõ:

sudo lvresize -L +5G LVMVolGroup/test

sudo resize2fs /dev/LVMVolGroup/test

Điều này sẽ khiến bạn có cùng 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 quy trình thu nhỏ dung lượng có sẵn, hoặc bằng cách giảm kích thước hoặc loại bỏ các thành phần thường có liên quan nhiều hơn một chút.

Giảm kích thước của một khối lượng hợp lý

Để thu nhỏ khối lượng hợp lý, trước tiên bạn nên sao lưu dữ liệu của bạn. Bởi vì điều này làm giảm khả năng có sẵn, những sai lầm có thể dẫn đến mất dữ liệu.

Khi bạn đã sẵn sàng, hãy kiểm tra 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ư trên 521M không gian hiện đang được sử dụng. Sử dụng tính năng này để giúp bạn ước tính kích thước mà bạn có thể giảm âm lượng.

Tiếp theo, tháo gắn hệ thống tập tin. Không giống như mở rộng, việc thu hẹp hệ thống tập tin phải được thực hiện khi chưa được kết nối:

cd ~

sudo umount /dev/LVMVolGroup/test

Sau khi unmounting, kiểm tra hệ thống tập tin để đảm bảo rằng tất cả mọi thứ đang hoạt động. Vượt qua loại hệ thống tập tin với -t Tùy chọn. Chúng tôi sẽ sử dụng -f để kiểm tra ngay cả khi hệ thống tập tin xuất hiện không sao:

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

Sau khi kiểm tra hệ thống tập tin, bạn có thể giảm kích thước hệ thống tập tin bằng cách sử dụng các công cụ bản địa của hệ thống tập tin. Đối với hệ thống tệp Ext4, đây sẽ là resize2fs chỉ huy. Vượt qua kích thước cuối cùng cho hệ thống tập tin:

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à số tiền hợp lý lớn hơn mức sử dụng hiện tại của bạn. Hãy tạo cho mình một số phòng đệm để tránh mất dữ liệu và đảm bảo rằng bạn đã sao lưu tại chỗ.

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

Khi thao tác hoàn tất, hãy thay đổi kích thước âm lượng logic bằng cách chuyển cùng kích thước cho lvresize lệnh với -L cờ:

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ến hành với.

Sau khi khối lượng hợp lý đã bị giảm, hãy 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 chính xác, bạn có thể đặt lại hệ thống tập tin bằng cách sử dụng lệnh mount thông thường của bạn:

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

Khối 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 khối lượng hợp lý

Nếu bạn không còn cần khối lượng hợp lý nữa, bạn có thể xóa nó bằng lvremove chỉ huy.

Trước tiên, hãy tháo gắn khối lượng hợp lý nếu nó hiện đang được gắn:

cd ~

sudo umount /dev/LVMVolGroup/test

Sau đó, loại bỏ khối lượng hợp lý bằng cách gõ:

sudo lvremove LVMVolGroup/test

Bạn sẽ được yêu cầu xác nhận thủ tục. Nếu bạn chắc chắn bạn muốn xóa khối lượng hợp lý, hãy nhập y.

Xóa một nhóm khối lượng

Để xóa toàn bộ nhóm khối lượng, bao gồm tất cả các khối lượng hợp lý trong đó, hãy sử dụng vgremove chỉ huy.

Trước khi bạn loại bỏ một nhóm khối lượng, bạn thường nên loại bỏ các khối tin 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 rằng bạn ngắt kết nối bất kỳ khối tin hợp lý nào mà nhóm khối lượng 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ộ nhóm khối lượng bằng cách chuyển tên nhóm khối lượng đến vgremove chỉ huy:

sudo vgremove LVMVolGroup

Bạn sẽ được nhắc xác nhận rằng bạn muốn xóa nhóm âm lượng. Nếu bạn có bất kỳ khối lượng hợp lý vẫn còn hiện diện, bạn sẽ được cung cấp lời nhắc xác nhận cá nhân cho những người trước khi loại bỏ.

Xóa một ổ đĩa vật lý

Nếu bạn muốn loại bỏ một khối lượng vật lý từ quản lý LVM, thủ tục bạn sẽ cần phụ thuộc vào việc thiết bị hiện đang được LVM sử dụng hay chưa.

Nếu khối lượng vật lý đang được sử dụng, bạn sẽ phải di chuyển các khoảng cách vật lý nằm trên thiết bị đến một vị trí khác. Điều này đòi hỏi các nhóm khối lượng có đủ khối lượng vật lý khác để xử lý các vật lý extents. Nếu bạn đang sử dụng các kiểu khối logic hợp lý hơn, bạn có thể phải có khối lượng vật lý bổ sung ngay cả khi bạn có nhiều không gian trống để chứa cấu trúc liên kết.

Khi bạn có đủ khối lượng vật lý trong nhóm khối lượng để xử lý khoảng cách vật lý, hãy di chuyển chúng ra khỏi ổ đĩa vật lý bạn muốn xóa bằng cách nhập:

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 khối lượng và lượng dữ liệu cần chuyển.

Khi các phần mở rộng đã được di chuyển đến các tập ngang hàng, bạn có thể xóa khối lượng vật lý khỏi nhóm khối lượng bằng cách nhập:

sudo vgreduce LVMVolGroup /dev/sda

Điều này sẽ loại bỏ khối lượng vật lý đã bỏ trống khỏi nhóm âm lượng. Sau khi hoàn tất, bạn có thể xóa điểm đánh dấu khối lượng vật lý khỏi thiết bị lưu trữ bằng cách nhập:

sudo pvremove /dev/sda

Bây giờ 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.

Phần kết luận

Bây giờ, bạn nên có một sự hiểu biết làm việc về cách quản lý các thiết bị lưu trữ trên Ubuntu 16.04 với LVM. Bạn nên biết cách nhận 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ữ của bạn và cách sửa đổi khối 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 khớp với nhau.

0