Tìm hiểu Logical Volume Manager
I.Giới thiệu về LVM.
1. LVM là gì?
Logical Volume Manager(LVM) là phương pháp cho phép ấn định không gian lưu trữ ổ đĩa cứng thành những logical volume khiến cho việc thay đổi kích thướng dễ dàng hơn. Bạn có thể thay đổi kich thươc mà không cần phải sửa lại table của OS.
2. Vai trò của LVM.
LVM là kỹ thuật quản lý việc thay đổi kích thước của ổ cứng.
- Không để hệ thống gián đoạn dịch vụ.
- Không làm hỏng dịch vụ
- Có thể kết hợp Hot Swapping ( thao tác thay thế nóng các thành phần bên trong máy tính).
3. Các thành phần của LVM.
Mô hình các thành phần trong LVM
Hard Drives
Là các thiết bị lưu trữ vật lý, ví dụ trên hệ thống Linux được nhận diện là /dev/sda,..
Partiton
Là các phân vùng của các hard drive, mỗi ổ cứng có tối đa 4 phân vùng trong đó có từ 0-4 phân vùng primary, và từ 0-1 phân vùng extended. Phân cùng extended là phân vùng để tạo các phân vùng logic.
Physical volume
Là một cách gọi khác của các partition trong kỹ thuật LVM, nó là các thành phần cơ bản được sử dụng bởi LVM. một physical volume không thể mở rộng ra phạm vi của một ổ đĩa.
Volume group
Nhiều physical volunme trên các ổ đĩa khác nhau kết hợp với nhau để tạo thành volume group.
Bootloader không thể đọc được /boot nếu nó nằm trên Volume Group. Do đó không thể sử dụng kỹ thuật LVM với mount point /boot.
Logical volume.
Volume Group được chia nhỏ thành các Logical Volume, mỗi Logical Volume có ý nghĩa tương tự như partition. Nó được dùng cho các mount point và được sử dụng bởi các file system khác nhau : ext3, ext4, xfs,…
Khi dung lượng của Logical Volume được sử dụng hết ta có thể đưa thêm ổ đĩa mới bổ sung cho Volume Group và do đó tăng được dung lượng của Logical Volume
Ví dụ bạn có 4 ổ đĩa mỗi ổ 5GB khi bạn kết hợp nó lại thành 1 volume group 20GB, và bạn có thể tạo ra 2 logical volumes mỗi disk 10GB
II.Sử dụng LVM.
1.Tạo các physical volume, volume group, logical volume.
Tạo máy ảo Centos 7 trên vmware. Thêm hai ổ cứng 20GB:
Kiểm tra ổ cứng có trên hệ thống hay chưa bằng lệnh lsblk
:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
└─sda1 8:1 0 20G 0 part /
sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk
sr0 11:0 1 1024M 0 rom
Trong đó, sdb, sdc là ổ cứng mới thêm vào.
Trên các ổ cứng tạo ra các phân vùng LVM bằng lệnh fdisk
:
# fdisk /dev/sdb
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +10G
Partition 1 of type Linux and of size 10 GiB is set
Trong đó
- Lệnh
fdisk /dev/sdb
là lệnh để phân vùng ổ /dev/sdb n
để tạo phân vùng mới trên ổ cứng.p
để tạo phân vùng primary- Partition number để mặc định là 1
- Sector đầu tiên để mặc định là 2048.
+10G
phần Last sector để tạo một phân vùng 10GB
Sau Khi tạo xong phân vùng, chuyển đổib định dạng của phân vùng về LVM:
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Trong đó:
t
để đổi id của phân vùng.8e
để đổi định dạng phân vùng thành LVMw
để ghi lại cấu hình trên ổ cứng. Tương tự tạo thêm một phân vùng LVM 10G nữa trên sdb và một số phân vùng LVM trên sdc.
Cài đặt gói lvm2 :yum install -y lvm2
(trên ubuntu: apt install -y lvm2
)
Tạo các physical volume từ các phân vùng mới tạo bằng lệnh pvcreate:
pvcreate <phân vung>
[root@localhost ~]# pvcreate /dev/sdb1
[root@localhost ~]# pvcreate /dev/sdb2
[root@localhost ~]# pvcreate /dev/sdc1
[root@localhost ~]# pvcreate /dev/sdc2
[root@localhost ~]# pvcreate /dev/sdc3
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 10,00g 10,00g
/dev/sdb2 lvm2 --- <10,00g <10,00g
/dev/sdc1 lvm2 --- 10,00g 10,00g
/dev/sdc2 lvm2 --- 5,00g 5,00g
/dev/sdc3 lvm2 --- <5,00g <5,00g
[root@localhost ~]#
Lệnh pvs
hay pvdisplay
là lệnh dùng để xem các physical volume.
Tạo Volume group từ các physical volume dùng lệnh vgcreate <tên vg> <phân vùng 1> <phân vùng 2> <...>
Ví dụ:
[root@localhost ~]# vgcreate vg-demo1 /dev/sdb1 /dev/sdb2 /dev/sdc1
Volume group "vg-demo1" successfully created
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg-demo1 3 0 0 wz--n- <29,99g <29,99g
Trong đó tạo volume group vg-demo1 từ 3 phân vùng sdb1, sdb2 và sdc1.
Dùng lệnh vgs
hoặc vgdisplay
để hiển thị thông tin về các volume group.
Tạo các logical volume từ volume group vừa tạo bằng lệnh:
lvcreate -L <dung lượng> -n <tên lv> <volume group>
[root@localhost ~]# lvcreate -L 5G -n lv-demo1 vg-demo1
Logical volume "lv-demo1" created.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv-demo1 vg-demo1 -wi-a----- 5,00g
Tạo filesystem trên logical volume sử dụng mkfs
# mkfs -t ext4 /dev/vg-demo1/lv-demo1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@localhost ~]#
Mount logical volume vào hệ thống để có thể sử dụng:
[root@localhost ~]# mkdir /root/demo
[root@localhost ~]# mount /dev/vg-demo1/lv-demo1 /root/demo
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 xfs 20G 1,2G 19G 6% /
devtmpfs devtmpfs 477M 0 477M 0% /dev
tmpfs tmpfs 488M 0 488M 0% /dev/shm
tmpfs tmpfs 488M 7,7M 480M 2% /run
tmpfs tmpfs 488M 0 488M 0% /sys/fs/cgroup
tmpfs tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/vg--demo1-lv--demo1 ext4 4,8G 20M 4,6G 1% /root/demo
[root@localhost ~]#
2. Thay đổi kích thước logical volume.
Xem lại thông tin các pv, vg, lv:
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg-demo1 lvm2 a-- <10,00g <5,00g
/dev/sdb2 vg-demo1 lvm2 a-- <10,00g <10,00g
/dev/sdc1 vg-demo1 lvm2 a-- <10,00g <10,00g
/dev/sdc2 lvm2 --- 5,00g 5,00g
/dev/sdc3 lvm2 --- <5,00g <5,00g
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg-demo1 3 1 0 wz--n- <29,99g <24,99g
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv-demo1 vg-demo1 -wi-ao---- 5,00g
[root@localhost ~]#
Logical volume lv-demo1 đang có dung lượng là 5GB. Tiến hành tăng kích thước logical volume lv-demo1. Logical volume lv-demo1 được tạo từ vg-demo1, vì vg-demo1 vẫn còn dung lượng chống để cấp phát là 24.9GB nên có thể tăng dung lượng cho lv-demo1. Để tăng kích thước logical volume lv-demo1 dùng lệnh:
[root@localhost ~]# lvextend -L +1G /dev/vg-demo1/lv-demo1
Size of logical volume vg-demo1/lv-demo1 changed from 5,00 GiB (1280 extents) to 6,00 GiB (1536 extents).
Logical volume vg-demo1/lv-demo1 successfully resized.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv-demo1 vg-demo1 -wi-ao---- 6,00g
[root@localhost ~]#
Ta có thể thấy dung lượng lv-demo1 đã tăng từ 5GB lên 6GB tuy nhiên filesystem trên logical volume vẫn không thay đổi kích thước, phải dùng lệnh resize2fs
để thay đổi kích thước filesystem:
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 xfs 20G 1,2G 19G 6% /
devtmpfs devtmpfs 477M 0 477M 0% /dev
tmpfs tmpfs 488M 0 488M 0% /dev/shm
tmpfs tmpfs 488M 7,7M 480M 2% /run
tmpfs tmpfs 488M 0 488M 0% /sys/fs/cgroup
tmpfs tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/vg--demo1-lv--demo1 ext4 4,8G 20M 4,6G 1% /root/demo
[root@localhost ~]# resize2fs /dev/vg-demo1/lv-demo1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg-demo1/lv-demo1 is mounted on /root/demo; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg-demo1/lv-demo1 is now 1572864 blocks long.
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 xfs 20G 1,2G 19G 6% /
devtmpfs devtmpfs 477M 0 477M 0% /dev
tmpfs tmpfs 488M 0 488M 0% /dev/shm
tmpfs tmpfs 488M 7,7M 480M 2% /run
tmpfs tmpfs 488M 0 488M 0% /sys/fs/cgroup
tmpfs tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/vg--demo1-lv--demo1 ext4 5,8G 20M 5,5G 1% /root/demo
Việc tăng dung lượng của logical volume không làm mất sữ liệu trong file system.
Giảm kích thước logical volume
Để giảm kích thươc logical volume thì trươc tiên cần phải unmount logical volume đó:
# umount /dev/vg-demo1/lv-demo1
Để giảm dung lượng lv sử dung lệnh:
# lvreduce -L -3G /dev/vg-demo1/lv-demo1
Sau đó cần tạo lại filesystem và mount lại
# mkfs.ext4 /dev/vg-demo1/lv-demo1
# mount /dev/vg-demo1/lv-demo1 demo
Kết quả là thay đổi được dung lượng của logical volume như việc mất dữ liệu sẽ sảy ra.
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg--demo1-lv--demo1 ext4 2,9G 9,0M 2,8G 1% /root/demo
3. Thay đổi dung lượng Volume group
Việc thay đổ dung lượng volume group chính là thay đổi nhóm các physical volume, gỡ hay thêm physical volume ra khỏi volume group. Kiểm tra các physical volume trên máy:
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg-demo1 lvm2 a-- <10,00g <7,00g
/dev/sdb2 vg-demo1 lvm2 a-- <10,00g <10,00g
/dev/sdc1 vg-demo1 lvm2 a-- <10,00g <10,00g
/dev/sdc2 lvm2 --- 5,00g 5,00g
/dev/sdc3 lvm2 --- <5,00g <5,00g
Ta thấy có hai physical volume sdc2, sdc3 chưa gán vào volume group nào, Có thể dùng hai physical volume này để tăng kích thước cho volume group sử dụng lệnh vgextend
:
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg-demo1 3 1 0 wz--n- <29,99g <26,99g
[root@localhost ~]# vgextend /dev/vg-demo1 /dev/sdc2
Volume group "vg-demo1" successfully extended
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg-demo1 4 1 0 wz--n- 34,98g 31,98g
Để gỡ một physical volume ra khỏi một volume group thì ta dùng lệnh vgreduce
, chỉ gỡ được nhưng physical volume mà đang không được sử dụng.
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg-demo1 4 1 0 wz--n- 34,98g 31,98g
[root@localhost ~]# vgreduce /dev/vg-demo1 /dev/sdc1 /dev/sdc2
Removed "/dev/sdc1" from volume group "vg-demo1"
Removed "/dev/sdc2" from volume group "vg-demo1"
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg-demo1 2 1 0 wz--n- 19,99g 16,99g
4. Xóa Logical volume, Volume group, Physical Volume.
Xóa logical volume:
Để xóa được logical volume thì chúng ta cần unmount nó trước:
umount /dev/vg-demo1/lv-demo1
Sau đó có thể xóa logical volume với lệnh lvremove
lvremove /dev/vg-demo1/lv-demo1
Xóa volume group
Để xóa được volume group thì trước tiên phải xóa hết các logical volume trên nó, sau đó dùng lệnh sau để xóa vg:
vgremove /dev/vg-demo1
Xóa physical volume
Để xóa được physical volume cần xóa volume group chứa nó trước, hoặc xóa nó khỏi volume group chứa nó, sau đó dùng lệnh pvremove
để xóa physical volume:
pvremove /dev/sdc1
III. Tìm hiểu bổ sung về LVM.
1 Tính năng Snapshot
LVM Snapshots are space efficient pointing time copies of lvm volumes. It works only with lvm and consume the space only when changes are made to the source logical volume to snapshot volume. If source volume has a huge changes made to sum of 1GB the same changes will be made to the snapshot volume. Snapshots can’t be use for backup option. Backups are Primary Copy of some data’s, so we cant use snapshot as a backup option.
<img src=http://i.imgur.com/w0JRnB5.jpg>
Chuẩn bị
<img src=http://i.imgur.com/2gYdklq.png>
Trên hình ta đã có một logical Volume lv-demo1 được mount tới thư mục rỗng /mnt/demo1 và Volume Group vg-demo1.
lv-demo1 thuộc vg-demo1 nên check xem vg-demo1 có còn dung lượng để tạo Snapshot.
Tạo ổ Snapshot
# lvcreate -L 1GB -s -n lv-demo1-snap /dev/vg-demo1/lv-demo1
OR
# lvcreate --size 1G --snapshot --name lv-demo1-snap /dev/vg-demo1/lv-demo1
-s: Creates Snapshot
-n: Name for snapshot
<img src=http://i.imgur.com/9X5dcsP.png>
Các thành phần câu lệnh:
-L 1GB: Đặt dung lượng cho ổ snapshot
-s: Tạo snapshot
-n: Tạo tên cho snapshot
lv-demo1-snap: Tên snapshot
/dev/vg-demo1/lv-demo1: Volume cần snapshot
Kiểm tra bằng lệnh lvs ta có thêm 1 LV lv-demo1-snap với cột data có % = 0.00
<img src=http://i.imgur.com/lbUNuOh.png>
Nếu muốn xóa snapshot đã tạo
lvremove /dev/vg-demo1/lv-demo1-snap
Ta copy một số file vào thư mục /mnt/demo1
<img src=http://i.imgur.com/Fv7TMdd.png>
Ta có thể thấy 22% dung lượng của snapshot volume đã được dùng. Nếu bạn dùng quá dung lượng thì sẽ có thông báo Input/output error khi kiểm tra lvs
Để có nhiều thông tin hơn ta dùng lệnh lvdisplay vg-demo1/lv-demo1-snap
Mở rộng Snapshot Volume
lvextend -L +1G /dev/vg-demo1/lv-demo1-snap
Mở rộng tự động
Vào file /etc/lvm/lvm.conf và chỉnh sửa
<img src=http://i.imgur.com/Zr1E5yT.png>
Dòng 1: Khi dung lượng đạt tới 100% Dòng 2: Kích thước volume sẽ tăng 20%
1.2 Restoring Snapshot or Merging
Để restore Snapshot chúng ta phải un-mount file system
umount /mnt/demo1
Check bằng lệnh df -h để kiểm tra đã un-mount thành công hay chưa.
Restore snapshot
lvconvert --merge /dev/vg-demo1/lv-demo1-snap
Sau khi quá trình kết thúc thì Snapshot Volume sẽ được xóa.
mount lại Volume và vào thư mục /mnt/demo1. Nếu các file copy đã bị xóa thì quá trình đã hoàn thành.
Chú ý: Dung lượng Snapshot tăng lên đúng bằng dung lượng tạo mới trên LV. Không thể tạo Snapshot mới ghi đè lên Snapshot cũ. Trường hợp bạn có 2 Snapshot cho cùng 1 ổ LV thì dữ liệu mới cũng được ghi cả vào 2 ổ Snapshot.
2 Tính năng Thin Provisioning Volumes
Tính năng này cho phép chúng ta tạo ra số Volume có tổng dung lượng lớn hơn số lượng cho phép.
<img src=http://i.imgur.com/l60cF0T.jpg>
2.1 Setup Thin Pool and Volumes
Ta có 1 Physical Volume sdd1 dùng lệnh vgcreate vg-thin /dev/sdd1
để tạo ra 1 Volume group cho Thin-Pool
<img src=http://i.imgur.com/lS0HDr8.jpg>
Tạo 1 Thin-Pool
lvcreate -L 9GB --thinpool thin-demo vg-thin
–thinpool: Để tạo thinpool
thin-demo: Tên của Thin Pool
vg-thin: Tên Volume Group
Tạo Thin Volume từ Thin-Pool
lvcreate -V 2G --thin -n thin-demo-client1 vg-thin/thin-demo
tạo 1 Thin virtual volume với tên thin-demo-client1 trong thin-demo
<img src=http://i.imgur.com/dv9lAEZ.jpg>
Ta sẽ tạo 4 Thin-demo-client 1,2,3,4
Tạo 4 thư mục cient 1,2,3,4 trong /mnt. Tạo File System bằng mkfs và mount các Thin-demo-client vào các thư mục
mkdir /mnt/client1
mkfs.ext4 /dev/vg-thin/thin-demo-client1
mount /dev/vg-thin/thin-demo-client1 /mnt/client1
Copy file vào các thư mục client để dung lượng ổ tăng lên
<img src=http://i.imgur.com/JrRbRds.jpg>
Bây giờ client5 đến và yêu cầu 2GB nhưng ta đã gán hết 8GB cho 4 client trước. Vậy là trên lý thuyết ta ko thể cho client 2GB nữa. Cách giải quyết là dùng chức năng Over Provisioning. (which means giving the space more than what I have).
Tạo Thin-demo-client5. Tạo thư mục /mnt/client5. Tạo File System và mount thin-demo-client5.
<img src=http://i.imgur.com/VkJwUbj.jpg>
Copy file vào /mnt/client5
<img src=http://i.imgur.com/e626ULh.jpg>
Phần dung lượng của Client đã tăng lên.
Tổng kết lại thì với 1 Thin-Pool 8GB, ta có thể chia ra số Thin Volume Client có tổng dung lượng lớn hơn 8GB nhưng tổng mức dùng của các Thin Volume Client ko lớn hơn 8GB.
3 Tính năng Manage Multiple Logical Volume Management Disks using Striping I/O
LVM Striping là tính năng cho phép ghi dữ liệu lên nhiều ổ thay vì chỉ một ổ Physical volume.
Tính năng của Striping:
- It will increase the performance of disk.
- Saves from hard write over and over to a single disk.
- Disk fill-up can be reduced using striping over multiple disk.
Ta tạo 3 Physical volume, mỗi Volume là 1GB
<img src=http://i.imgur.com/31w4EIj.png>
Tạo Volume Group với tên vg-strip từ 3 Physical volume trên
vgcreate vg-strip /dev/sd[b-d]1
<img src=http://i.imgur.com/lNwSyos.png>
3.2 Logical Volume management using Striping I/O
Ta tạo Logical volume, Cần xác định giá trị strip, bao nhiêu dữ liệu sẽ được ghi.
lvcreate -L 500M -n lv-strip -i3 vg-strip
Ở đây ta tạo Logical volume tên là lv-strip có dung lượng 500M từ Volume Group vg-strip và xác định 3 tripe. stripesize có kích thước là 64KB, Nếu muốn giá trị khác ta dùng thêm thành phần -I
<img src=http://i.imgur.com/62sNtw4.png>
Gõ lvdisplay vg-strip/lv-strip -m
ta sẽ thấy được lv-strip sẽ được ghi lên 3 stripe
<img src=http://i.imgur.com/E6NUkJn.png>
Phần dung lượng còn lại của sdb1,sbc1,sbd1 sau khi chia cho Thin-Pool
<img src=http://i.imgur.com/xZlRkgq.png>
4 Tính năng LVM Migration
Tính năng này cho phép di chuyển dữ liệu từ logical volumes sang một ổ mới mà không làm mất dữ liệu hoặc downtime. Có thể áp dụng với disk SATA,SSD,SAN storage iSCSI or FC
Ta có 1 Logical Volume được tạo ra từ Physical Volume /dev/sdb1. Và các Drive /dev/sdc, /dev/sdd mới gắn thêm.
<img src=http://i.imgur.com/tKSZWu6.png>
Mount lv-migration tới thư mục /mnt/demo và copy file 123.txt có nội dung bất kì vào thư mục.
Tạo Physical Volume /sdc1 và extend vào vg-migration.
<img src=http://i.imgur.com/myOFW7e.png>
Ta dùng ‘lvconvert’ command để migration dữ liệu sang ổ mới
lvconvert -m 1 /dev/vg-migration/lv-migration /dev/sdc1
-m: mirror (Tạo ổ migration) 1: 1 mirror
Quá trình hoàn tất. Dùng lvs -o+devices để kiểm tra thông tin.
<img src=http://i.imgur.com/nRBD535.png>
Khi đã tạo 1 mirror mới thì bạn có thể bỏ /dev/sdb1
lvconvert -m 0 /dev/vg-migration/lv-migration /dev/sdb1
Check lại với lvs -o+devices
ta sẽ thấy lv-migration chỉ còn nối với /dev/sdc1
<img src=http://i.imgur.com/LWRZuJ5.png>
Check lại nội dung file 123.txt đã tạo bên trên để đảm bảo dữ liệu ko bị mất.
4.3 LVM pvmove Mirroring Method
Phần này sẽ hướng dẫn dùng ‘pvmove’ thay vì ‘lvconvert’
Các bước chuẩn bị cũng như phần 4.1 tiếp theo ta sẽ dùng command
pvremove -n /dev/vg-migration/lv-migration /dev/sdb1 /dev/sdc1
Đây là cách đơn giản nhưng trong thực tế thì thường sử dụng Mirroring hơn pvmove
Tài liệu tham khảo:
https://github.com/hocchudong/Logical-Volume-Manager-LVM-/edit/master/T%C3%ADnh%20n%C4%83ng%20c%E1%BB%A7a%20LVM.md