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.
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.
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.
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.
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.
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ệ .