LVM Management in CentOS/Red Hat 7 Linux

LVM (Trình quản lý Khối lượng Hợp lý) là phương pháp phân vùng được đề xuất cho CentOS/Red Hat 7 Linux. Đặc biệt nếu chúng ta làm việc trên Mail Server, File Server, FTP Server, Web Proxy Server hay bất kỳ ứng dụng nào mà dung lượng ổ đĩa thay đổi thường xuyên thì phân vùng LVM là bắt buộc trong trường hợp này. Trong bài viết trước của tôi, tôi đã thảo luận cách cài đặt CentOS 7.5 với phân vùng LVM . Nếu bạn là người mới ở đây hoặc CentOS 7 chưa được cài đặt, tôi khuyên bạn nên làm theo bài viết trước của tôi và cài đặt CentOS 7 với phân vùng LVM, sau đó tiếp tục bài viết này. Trong bài viết này, tôi sẽ thảo luận về cách quản lý phân vùng LVM trong CentOS/ Red Hat 7 Linux bằng tiện ích dòng lệnh.

Các thành phần và kiến ​​trúc cơ bản của LVM

Trước khi bắt đầu quản lý LVM bằng công cụ dòng lệnh, chúng ta nên có kiến ​​thức cơ bản về các thuật ngữ và kiến ​​trúc LVM cơ bản. Ba thuật ngữ sau đây là các thành phần cơ bản của phân vùng LVM.

  • Physical Volume:  Đơn vị lưu trữ vật lý cơ bản của LVM là một thiết bị khối, chẳng hạn như phân vùng của đĩa hoặc toàn bộ đĩa. Để sử dụng thiết bị khối cho ổ đĩa logic LVM, thiết bị phải được khởi tạo dưới dạng ổ đĩa vật lý (PV).
  • Volume Groups: Các volume vật lý (PV) được kết hợp thành các nhóm volume (VG). Điều này tạo ra một nhóm không gian đĩa mà các khối hợp lý có thể được phân bổ.
  • Logical Volume:Trong LVM, một nhóm khối lượng được chia thành một hoặc nhiều khối lượng logic. Khối lượng hợp lý được sử dụng bởi các hệ thống tệp và ứng dụng.

 

Trong công nghệ LVM, một hoặc nhiều đĩa hoặc phân vùng đĩa được khởi tạo dưới dạng ổ đĩa vật lý (PV). Các ổ đĩa vật lý này sau đó được kết hợp thành một nhóm ổ đĩa (VG) hoạt động như một nhóm dung lượng đĩa. Từ các nhóm âm lượng, có thể tạo một hoặc nhiều âm lượng logic (LV) theo yêu cầu hệ thống. Quá trình này tương tự như cách đĩa được chia thành các phân vùng. Một ổ đĩa logic được sử dụng bởi các hệ thống tệp và ứng dụng bằng cách gắn vào một điểm gắn. Hình ảnh sau đây hiển thị tổng quan về kiến ​​trúc LVM.

Quản lý Linux LVM với CMD

Theo kiến ​​trúc LVM, nhiệm vụ đầu tiên là quản lý Khối lượng Vật lý (PV). Nếu CentOS/Red Hat 7 Linux được cài đặt với phân vùng LVM, sẽ có ít nhất một ổ đĩa vật lý được khởi tạo. Để xem ổ đĩa vật lý khả dụng trong CentOS/Red Hat 7 Linux, hãy đưa ra lệnh sau từ dấu nhắc lệnh của bạn.

[root@localhost ~]# pvdisplay

— Physical volume —

PV Name               /dev/sda2

VG Name               centos

PV Size               19.51 GiB / not usable 3.00 MiB

Allocatable           yes (but full)

PE Size               4.00 MiB

Total PE              4994

Free PE               0

Allocated PE          4994

PV UUID               1zXhSz-m6PA-GITi-CbNU-zJDl-fAfj-GiWHcI

Từ đầu ra ở trên, chúng ta có thể thấy rằng có một ổ đĩa vật lý (PV) có tên /dev/sda2 và PV là một phân vùng của ổ đĩa đầu tiên. Chúng ta cũng có thể thấy rằng có một nhóm âm lượng (VG) có tên là centos trên âm lượng vật lý này.

Bây giờ chúng tôi muốn thêm một Ổ đĩa cứng khác để tăng nhóm âm lượng của mình. Ổ cứng mới sẽ là Ổ đĩa thứ hai và vị trí thiết bị sẽ là /dev/sdb. Để tìm vị trí ổ đĩa mới thêm của bạn, hãy đưa ra lệnh sau.

 

[root@localhost ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x000d6751

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048     1026047      512000   83  Linux

/dev/sda2         1026048    41943039    20458496   8e  Linux LVM

Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/centos-root: 19.9 GB, 19943915520 bytes, 38952960 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/centos-swap: 1002 MB, 1002438656 bytes, 1957888 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

 

Từ đầu ra ở trên, chúng ta có thể thấy rằng một ổ đĩa cứng thô đã được thêm vào và vị trí của nó là /dev/sdb. Bây giờ chúng ta sẽ tạo một ổ đĩa vật lý với ổ đĩa cứng thô này.

Tạo khối lượng vật lý (PV)

Lệnh pvcreate được sử dụng để tạo PV. Để tạo một PV với drivc đĩa thô ở trên, hãy đưa ra lệnh pvcreate theo định dạng sau.

 

[root@localhost ~]# pvcreate /dev/sdb

Physical volume “/dev/sdb” successfully created.

Một PV mới hiện đã được tạo. Với lệnh pvdisplay hoặc pvs, bạn có thể xem trạng thái của PV mới.

[root@localhost ~]# pvdisplay /dev/sdb

— NEW Physical volume —

PV Name               /dev/sdb

VG Name

PV Size               5.00 GiB

Allocatable           NO

PE Size               0

Total PE              0

Free PE               0

Allocated PE          0

PV UUID               g3l7kl-db10-T0GA-tgGI-PHb0-0UQD-Vhsx2s

 

Từ kết quả trên, chúng ta có thể thấy rằng PV mới không có Nhóm Khối lượng (VG). Bây giờ chúng ta có thể tạo một nhóm âm lượng mới hoặc có thể mở rộng nhóm âm lượng trước đó với PV này.

Tạo nhóm âm lượng (VG)

Lệnh vgcreate được sử dụng để tạo một VG mới. Vì vậy, nếu bạn muốn tạo một nhóm âm lượng mới, hãy đưa ra lệnh vgcreate theo định dạng sau.

 

[root@localhost ~]# vgcreate vg2 /dev/sdb

Volume group “vg2” successfully created

 

Lệnh vgcreate sử dụng tùy chọn đầu tiên làm tên nhóm âm lượng và tùy chọn khác làm tên PV. Một hoặc nhiều tên PV có thể được cung cấp nhưng tên sẽ được phân tách bằng dấu cách.

Mở rộng nhóm âm lượng

Vì chúng tôi có một nhóm âm lượng hiện có, chúng tôi không muốn tạo một nhóm khác mà muốn mở rộng nó. Đưa ra lệnh sau để xem nhóm âm lượng summery.

 

[root@localhost ~]# vgs

VG     #PV #LV #SN Attr   VSize  VFree

centos   2   3   0 wz–n- 19.50g  0

 

Tên VG hiện tại của chúng tôi là centos và kích thước của nó là 19,5 GB. Bây giờ chúng tôi muốn mở rộng VG này khi chúng tôi có Khối lượng vật lý mới. Ban hành lệnh sau để mở rộng VG hiện tại.

[root@localhost ~]# vgextend centos /dev/sdb

Volume group “centos” successfully extended

VG(centos) hiện tại của chúng tôi đã được gia hạn. Với lệnh vgs, bạn có thể đảm bảo kích thước VG mở rộng của mình.

[root@localhost ~]# vgs

VG     #PV #LV #SN Attr   VSize  VFree

centos   2   3   0 wz–n- 24.50g <5.00g

Tạo khối hợp lý (LV)

Sau khi tạo hoặc mở rộng nhóm âm lượng, đã đến lúc tạo Khối logic (LV). Bây giờ chúng ta sẽ tạo một Vùng logic sẽ được sử dụng để giữ dữ liệu sao lưu. Vì vậy, hãy đưa ra lệnh sau để tạo một LV mới có tên backup_volume.

[root@localhost ~]# lvcreate -n backup_volume -L 2GB centos

Logical volume “backup_volume” created.

Một ổ logic mới đã được tạo bằng lệnh lvcreate trong đó tùy chọn n đại diện cho tên LV và tùy chọn L đại diện cho kích thước của LV mới. Với lệnh lvdisplay hoặc lvs, bạn có thể xem thông tin LV mới của mình.

[root@localhost ~]# lvdisplay

— Logical volume —

LV Path                /dev/centos/backup_volume

LV Name                backup_volume

VG Name                centos

LV UUID                2orZcM-1PW0-m56v-v7k1-8MD3-XAgB-wsLbsc

LV Write Access        read/write

LV Creation host, time localhost.localdomain, 2019-03-13 12:03:36 +0600

LV Status              available

# open                 0

LV Size                2.00 GiB

Current LE             512

Segments               1

Allocation             inherit

Read ahead sectors     auto

– currently set to     8192

Block device           253:2

Sau khi tạo một ổ đĩa logic, chúng ta phải định dạng ổ đĩa này bằng một hệ thống tệp và sau đó gắn ổ đĩa vào một điểm gắn kết. Đưa ra lệnh sau để định dạng LV mới bằng hệ thống tệp xfs.

[root@localhost ~]# mkfs.xfs /dev/centos/backup_volume

Bây giờ hãy tạo một thư mục điểm gắn kết có tên sao lưu và gắn LV vào điểm gắn kết này bằng các lệnh sau.

[root@localhost ~]# mkdir /backup

[root@localhost ~]# mount /dev/centos/backup_volume /backup

[root@localhost ~]# df –HT

Filesystem                       Type      Size  Used Avail Use% Mounted on

/dev/mapper/centos-root          xfs        20G  4.2G   16G  21% /

devtmpfs                         devtmpfs  494M     0  494M   0% /dev

tmpfs                            tmpfs     511M     0  511M   0% /dev/shm

tmpfs                            tmpfs     511M  8.8M  503M   2% /run

tmpfs                            tmpfs     511M     0  511M   0% /sys/fs/cgroup

/dev/sda1                        xfs       521M  157M  364M  31% /boot

tmpfs                            tmpfs     103M   13k  103M   1% /run/user/42

tmpfs                            tmpfs     103M     0  103M   0% /run/user/0

/dev/mapper/centos-backup_volume xfs       2.2G   34M  2.2G   2% /backup

Ổ đĩa mới hiện đã được gắn vào thư mục sao lưu và chúng tôi hiện đã sẵn sàng để lưu dữ liệu vào đó. Nhưng đây là cách gắn tạm thời, nghĩa là nếu hệ thống được khởi động lại, điểm gắn sẽ bị xóa. Để làm cho nó vĩnh viễn, hãy đặt một mục nhập fstab và đưa ra lệnh mount để gắn tất cả hệ thống tệp vào tệp fstab.

[root@localhost ~]# vim /etc/fstab

/dev/mapper/centos-root /                       xfs     defaults        0 0

UUID=5ab285dc-013e-401d-99a9-c37569d2a499 /boot                   xfs     defaults        0 0

/dev/mapper/centos-swap swap                    swap    defaults        0 0

/dev/mapper/centos-backup_volume        /backup   xfs   defaults        0 0

[root@localhost ~]# mount -a

Bây giờ điểm gắn kết của bạn là vĩnh viễn và bạn sẽ nhận được điểm gắn kết này mặc dù hệ điều hành của bạn được khởi động lại.

Mở rộng khối lượng hợp lý (LV)

Cái hay của phân vùng LVM là bạn có thể mở rộng Khối lượng logic của mình mà không cần ngắt kết nối điểm gắn kết. Ví dụ: chúng tôi muốn mở rộng backup_volume từ 2 GB lên 4 GB. Trước khi mở rộng LV, hãy đảm bảo rằng VG của bạn có đủ dung lượng trống. Để xem VG summery, hãy ra lệnh vgs.

[root@localhost ~]# vgs

VG     #PV #LV #SN Attr   VSize  VFree

centos   2   3   0 wz–n- 24.50g <3.00g

Vì chúng tôi có 3 GB dung lượng trống, chúng tôi có thể mở rộng backup_volume của mình lên 4 GB. Ban hành lệnh sau để mở rộng backup_volume.

[root@localhost ~]# lvextend -L +2GB /dev/centos/backup_volume

Size of logical volume centos/backup_volume changed from 2.00 GiB (512 extents) to 4.00 GiB (1024 extents).

Logical volume centos/backup_volume successfully resized.

backup_volume đã được mở rộng. Với lệnh lvs, bạn có thể đảm bảo kích thước LV mới của mình.

[root@localhost ~]# lvs

LV            VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

backup_volume centos -wi-ao—-   4.00g

root          centos -wi-ao—-  18.57g

swap          centos -wi-ao—- 956.00m

Mặc dù LV đã được gia hạn nhưng hệ thống tệp (xfs) vẫn chưa được cập nhật. Với lệnh df sau, bạn sẽ thấy rằng kích thước sao lưu vẫn là kích thước trước đó (2GB).

[root@localhost ~]# df -HT | grep backup

/dev/mapper/centos-backup_volume xfs       2.2G   34M  2.2G   2% /backup

Để cập nhật hệ thống tệp, hãy đưa ra lệnh sau từ dấu nhắc lệnh của bạn.

[root@localhost ~]# xfs_growfs /backup

Bây giờ bạn sẽ thấy rằng hệ thống tệp của mình đã được cập nhật và kích thước sao lưu được mở rộng lên 4GB.

[root@localhost ~]# df -HT | grep backup

/dev/mapper/centos-backup_volume xfs       4.3G   34M  4.3G   1% /backup

Lưu ý: Theo tài liệu Red Hat 7, hệ thống tệp xfs không thể giảm hoặc thu nhỏ mặc dù Khối lượng logic có thể được thu nhỏ bằng lệnh lvreduce. Để giảm hệ thống tệp xfs (nếu cần), chúng tôi phải áp dụng một số chiến lược. Trong bài viết tiếp theo, tôi sẽ thảo luận về cách thu nhỏ hoặc giảm hệ thống tệp xfs nếu cần.

Loại bỏ khối lượng hợp lý (LV)

Đôi khi bạn có thể cần phải loại bỏ khối lượng hợp lý. Trước khi tháo LV, bạn phải xóa mục nhập fstab mà bạn đã đặt trước đó và ngắt kết nối điểm lắp.

Ví dụ: bây giờ chúng tôi sẽ xóa khối lượng logic backup_volume của chúng tôi. Vì vậy, trước tiên hãy đảm bảo rằng không có mục nào trong tệp fastab cho backup_volume và sau đó thực hiện lệnh sau để ngắt kết nối điểm gắn sao lưu.

[root@localhost ~]# umount /backup

backup_volume hiện chưa được đếm. Đưa ra lệnh sau để loại bỏ ổ đĩa hợp lý.

[root@localhost ~]# lvremove /dev/centos/backup_volume

Do you really want to remove active logical volume centos/backup_volume? [y/n]: y

Logical volume “backup_volume” successfully removed

Bây giờ bạn sẽ thấy rằng Khối lượng hợp lý đã bị xóa và VG có dung lượng trống.

[root@localhost ~]# lvs

LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

root centos -wi-ao—-  18.57g

swap centos -wi-ao—- 956.00m

[root@localhost ~]# vgs

VG     #PV #LV #SN Attr   VSize  VFree

centos   2   2   0 wz–n- 24.50g <5.00g

Xóa nhóm âm lượng (VG)

Nếu thư mục gốc và trao đổi của bạn không nằm trong Nhóm âm lượng (VG), bạn có thể xóa nhóm âm lượng đó. Lệnh vgremove được sử dụng để loại bỏ một nhóm âm lượng. Vì vậy, hãy đưa ra lệnh vgremove theo định dạng sau.

[root@localhost ~]# vgremove  volume_group_name

Nếu bạn có âm lượng hợp lý trên nhóm âm lượng nhưng bạn chưa xóa chúng, bạn sẽ được nhắc xác nhận xóa LV. Nếu bạn không muốn xác nhận, chỉ cần sử dụng tùy chọn -ff để xóa tất cả các LV một cách mạnh mẽ.

Loại bỏ khối lượng vật lý (PV)

Nếu bạn không có LV và VG trên Ổ đĩa vật lý (PV), bạn sẽ có thể xóa PV. Để kiểm tra xem PV có chứa LV ​​hay không, hãy thực hiện lệnh sau.

[root@localhost ~]# pvdisplay -m /dev/sdb

— Physical volume —

PV Name               /dev/sdb

VG Name               centos

PV Size               5.00 GiB / not usable 4.00 MiB

Allocatable           yes

PE Size               4.00 MiB

Total PE              1279

Free PE               767

Allocated PE          512

PV UUID               S0YmJ3-Us5J-uDg3-rLDY-km0B-icQd-xuH8H7

— Physical Segments —

Physical extent 0 to 511:

    Logical volume      /dev/centos/backup_volume

Logical extents     0 to 511

Physical extent 512 to 1278:

FREE

Từ đầu ra ở trên, chúng ta có thể thấy rằng LV có mặt trên PV. Vì vậy, trước tiên hãy xóa LV bằng lệnh lvremove.

[root@localhost ~]# lvremove /dev/centos/backup_volume

Do you really want to remove active logical volume centos/backup_volume? [y/n]: y

Logical volume “backup_volume” successfully removed

Sau khi xóa LV, chúng ta cần xóa PV khỏi VG. Lệnh vgreduce được sử dụng để xóa PV khỏi VG. Vì vậy, hãy đưa ra lệnh vgremove để xóa PV(/dev/sdb) khỏi VG(centos)

[root@localhost ~]# vgreduce centos /dev/sdb

Removed “/dev/sdb” from volume group “centos”

Vì không có LV và VG trên PV, chúng tôi hiện có thể xóa PV. Lệnh pvremove được sử dụng để xóa PV khỏi VG. Lệnh pvremove xóa nhãn trên thiết bị để LVM không còn nhận ra đó là PV. Để xóa PV có tên /dev/sdb, hãy thực hiện lệnh sau.

[root@localhost ~]# pvremove /dev/sdb

Labels on physical volume “/dev/sdb” successfully wiped.

Lưu ý: Nếu PV được sử dụng bởi bất kỳ VG nào, nó sẽ yêu cầu sử dụng lệnh vgreduce để giải phóng PV hoặc sử dụng tùy chọn –ff để loại bỏ PV một cách mạnh mẽ. Nếu bạn sử dụng lệnh pvremove với tùy chọn –ff để loại bỏ PV cưỡng bức, hãy thực hiện lệnh sau để giảm VG nếu không VG sẽ hiển thị thông tin sai về dung lượng trống.

[root@localhost ~]# vgreduce –removemissing VG

Nếu bạn gặp phải bất kỳ sự nhầm lẫn nào để thực hiện đúng các bước trên, hãy xem video sau về Quản lý LVM của Linux . Tôi hy vọng nó sẽ làm giảm bất kỳ sự nhầm lẫn của bạn.

Quản lý LVM trong CentOS/Red Hat 7 Linux

Cách quản lý LVM trong CentOS/Red Hat 7 Linux đã được thảo luận trong bài viết này. Tôi hy vọng bây giờ bạn có thể quản lý các phân vùng LVM của mình theo đúng các bước trên. Tuy nhiên, nếu bạn gặp phải bất kỳ sự nhầm lẫn nào trong việc quản lý phân vùng LVM của mình, vui lòng thảo luận trong nhận xét hoặc liên hệ với tôi từ Trang Liên hệ .