逻辑卷管理器(LVM)

逻辑卷管理器(LVM
允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小
允许在多个物理设备间重新组织文件系统
•将设备指定为物理卷

•用一个或者多个物理卷来创建一个卷组
•物理卷是用固定大小的物理区域( Physical Extent PE )来定义的
•在物理卷上创建的逻辑卷 是由物理区域( PE )组成
•可以在逻辑卷上创建文件系统

LVM介绍
uLVM: Logical Volume Manager Version: 2
udm: device mapper:将一个或多个底层块设备组织成一个逻辑设备的模块
u设备名:   /dev/dm-#
u软链接:
/dev/mapper/VG_NAME-LV_NAME
/dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
/dev/vol0/root
LVM更改文件系统的容量
uLVM 可以弹性的更改LVM的容量
通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量

pv管理工具
u显示pv信息
pvs:简要pv信息显示
pvdisplay
u创建pv
pvcreate /dev/DEVICE
vg管理工具
显示卷组
vgs
vgdisplay
创建卷组
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
管理卷组
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
删除卷组
先做pvmove,再做vgremove
lv管理工具
u显示逻辑卷
lvs
Lvdisplay
u创建逻辑卷
lvcreate-L #[mMgGtT] -n NAME VolumeGroup
lvcreate-l 60%VG -n mylvtestvg
lvcreate-l 100%FREE -n yourlvtestvg
u删除逻辑卷
lvremove/dev/VG_NAME/LV_NAME
u重设文件系统大小
fsadm[options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
扩展和缩减逻辑卷
u扩展逻辑卷:
lvextend-L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME
lvresize-r -l +100%FREE /dev/ VG_NAME/LV_NAME
u缩减逻辑卷:
umount/dev/VG_NAME/LV_NAME
e2fsck -f /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
lvreduce-L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
mount
跨主机迁移卷组
源计算机上
1 在旧系统中,umount所有卷组上的逻辑卷
2 vgchange–a n vg0
lvdisplay
3 vgexportvg0
pvscan
vgdisplay
拆下旧硬盘
在目标计算机上
4 在新系统中安装旧硬盘,并vgimportvg0.
5 vgchange–ay vg0
6 mount所有卷组上的逻辑卷
创建逻辑卷示例
创建物理卷
pvcreate /dev/sda3
为卷组分配物理卷
vgcreate vg0 /dev/sda3
从卷组创建逻辑卷
lvcreate -L 256M -n data vg0
mke2fs -j /dev/vg0/data
mount /dev/vg0/data /mnt/data
逻辑卷管理器快照
u快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝
u对于需要备份或者复制的现有数据临时拷贝以及其它操作来说,快照是最合适的选择
u快照只有在它们和原来的逻辑卷不同时才会消耗空间
Ø在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间
Ø当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中。
Ø快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
Ø建立快照的卷大小只需要原始逻辑卷的15%20%就够了,也可以使用lvextend放大快照
逻辑卷管理器快照
u 照就是将当时的系统信息记录下来,就好像照相一般,若将来有任何数据改动了,则原始数据会被移动到快照区,没有改动的区域则由快照区和文件系统共享
u由于快照区与原本的LV共用很多PE的区块,因此快照与被快照的LV必须在同一个VG中.系统恢复的时候的文件数量不能高于快照区的实际容量
使用LVM快照
u为现有逻辑卷创建快照
lvcreate-l 64 -s -n data-snapshot -p r /dev/vg0/data
u挂载快照
mkdir-p /mnt/snap
mount -o ro/dev/vg0/data-snapshot /mnt/snap
u恢复快照
umount/dev/vg0/data-snapshot
umount/dev/vg0/data
lvconvert--merge /dev/vg0/data-snapshot
u删除快照
umount/mnt/databackup
lvremove/dev/vg0/databackup


LVM逻辑卷管理

新建LVM

创建PV物理卷
pvcreate /dev/md3 /dev/sdi(两块磁盘,MD3和SDI)
合并两个物理卷组
vgcreate -s 4M lvcentos /dev/md3 /dev/sdi

查看PV信息
[root@localhost app]# pvs
  PV         VG       Fmt  Attr PSize    PFree
  /dev/md3   lvcentos lvm2 a--    <1.99g    0 (名字是lvcentos)
  /dev/sdi   lvcentos lvm2 a--  1020.00m    0

详细查看PV
[root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/md3
  VG Name               lvcentos
  PV Size               1.99 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              509
  Free PE               0
  Allocated PE          509
  PV UUID               XERL0K-i9jK-K4bP-E1lG-gYHT-88O4-Xhdshv
   
  --- Physical volume ---
  PV Name               /dev/sdi
  VG Name               lvcentos
  PV Size               1.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              255
  Free PE               0
  Allocated PE          255
  PV UUID               jtchzB-lsWy-5ZBE-Hch6-Ldi1-kGq2-2IIJcW

详细查看VG
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               lvcentos
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               2.98 GiB
  PE Size               4.00 MiB
  Total PE              764
  Alloc PE / Size       764 / 2.98 GiB
  Free  PE / Size       0 / 0   
  VG UUID               s0vCZc-CVAV-QiLO-Vrcl-ETS5-ZXbm-qDFREN

创建名为gaoqian的LV
lvcreate -n gaoqian -l 4 lvcentos (-l小写意思是按PE块大小分,当前是4M分4个,-L 16M是大概分不精确)

添加LV

通过查看VG看到PE剩余760,决定全部分出去。
[root@localhost app]# vgdisplay
  --- Volume group ---
  VG Name               lvcentos
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               2.98 GiB
  PE Size               4.00 MiB
  Total PE              764
  Alloc PE / Size       4 / 16.00 MiB
  Free  PE / Size       760 / <2.97 GiB
  VG UUID               s0vCZc-CVAV-QiLO-Vrcl-ETS5-ZXbm-qDFREN

把剩余的PE空间全部分给LV
lvcreate -n gaoqianqian -l 100%FREE lvcentos

查看两个LV分区的情况,都是软链接。
[root@localhost ~]# ll /dev/lvcentos/gaoqian
lrwxrwxrwx. 1 root root 7 Jun  9 08:42 /dev/lvcentos/gaoqian -> ../dm-0
[root@localhost ~]# ll /dev/lvcentos/gaoqianqian
lrwxrwxrwx. 1 root root 7 Jun  9 19:57 /dev/lvcentos/gaoqianqian -> ../dm-1

格式化两个创建的LV,创建文件系统。
mkfs.xfs /dev/lvcentos/gaoqian
mkfs.xfs /dev/lvcentos/gaoqianqian

通过blkid可以看到创建成功了
/dev/mapper/lvcentos-gaoqian: UUID="b9c0f16e-32ef-4c7c-965d-4dfa0d350e78" TYPE="xfs"
/dev/mapper/lvcentos-gaoqianqian: UUID="249756ea-0266-448c-a398-6a9eecd2df3b" TYPE="xfs"

有文件系统就可以挂载了
vim /etc/fstab
UUID=b9c0f16e-32ef-4c7c-965d-4dfa0d350e78 /mnt/lvcentos/gaoqian          xfs     defaults        0 0
UUID=249756ea-0266-448c-a398-6a9eecd2df3b /mnt/lvcentos/gaoqianqian xfs     defaults        0 0

创建目录
[root@localhost mnt]# mkdir /mnt/lvcentos
[root@localhost mnt]# mkdir /mnt/lvcentos/gaoqian /mnt/lvcentos/gaoqianqian

mount-a 更新挂载表
无提示说明脚本执行成功没有报错

df -h 查看分区表
Filesystem                        Size  Used Avail Use% Mounted on
/dev/sda2                          20G  4.0G   16G  20% /
devtmpfs                          706M     0  706M   0% /dev
tmpfs                             722M     0  722M   0% /dev/shm
tmpfs                             722M   11M  711M   2% /run
tmpfs                             722M     0  722M   0% /sys/fs/cgroup
/dev/sda5                          10G   33M   10G   1% /app
/dev/sr0                          8.8G  8.8G     0 100% /media
/dev/sdb2                         2.0G   33M  2.0G   2% /app/date2
/dev/sdb1                         3.0G   33M  3.0G   2% /app/date1
/dev/sda1                         297M  138M  160M  47% /boot
tmpfs                             145M   12K  145M   1% /run/user/42
tmpfs                             145M     0  145M   0% /run/user/0
/dev/mapper/lvcentos-gaoqian       14M  896K   13M   7% /mnt/lvcentos/gaoqian
/dev/mapper/lvcentos-gaoqianqian  3.0G   33M  3.0G   2% /mnt/lvcentos/gaoqianqian

PV耗尽添加硬盘

模拟PV耗尽再次添加硬盘
不用重启机器,直接添加就可以,然后执行扫描
echo '- - -' > /sys/class/scsi_host/host2/scan

执行lsblk查看物理硬盘是否添加
NAME                       MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sdj                                  8:144  0        1G    0  disk

添加硬盘前先查看PVS状态
[root@localhost ~]# pvs
  PV         VG       Fmt  Attr PSize    PFree
  /dev/md3   lvcentos lvm2 a--    <1.99g    0
  /dev/sdi   lvcentos lvm2 a--  1020.00m    0

直接添加整块磁盘
[root@localhost ~]# pvcreate /dev/sdj
  Physical volume "/dev/sdj" successfully created.(直接提示成功)

再次查看PV
[root@localhost ~]# pvs
  PV               VG             Fmt        Attr    PSize           PFree
  /dev/md3   lvcentos     lvm2      a--      <1.99g        0
  /dev/sdi      lvcentos     lvm2      a--     1020.00m     0
  /dev/sdj                        lvm2       ---     1.00g            1.00g      (看到/DEV/SDJ已经添加进来,但VG名还是空白)

添加PV磁盘到VG
[root@localhost ~]# vgextend lvcentos /dev/sdj  (由于已经存在VG,所以用vgextend命令跟上原来的VG名就可以,不要用vgcreate)
  Volume group "lvcentos" successfully extended   (提示成功)

查看PV
[root@localhost ~]# pvs
  PV               VG           Fmt     Attr   PSize            PFree   
  /dev/md3   lvcentos   lvm2   a--    <1.99g          0
  /dev/sdi      lvcentos   lvm2   a--    1020.00m      0
  /dev/sdj      lvcentos   lvm2   a--    1020.00m      1020.00m (/DEV/SDJ已经加入到VG组中)

详细查看PV
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               lvcentos
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               3.98 GiB
  PE Size               4.00 MiB
  Total PE              1019
  Alloc PE / Size       764 / 2.98 GiB
  Free  PE / Size       255 / 1020.00 MiB  (可以看到可用空间为1020M)
  VG UUID               s0vCZc-CVAV-QiLO-Vrcl-ETS5-ZXbm-qDFREN

查看VG
[root@localhost ~]# vgs
  VG       #PV #LV #SN Attr   VSize VFree   
  lvcentos   3   2   0 wz--n- 3.98g 1020.00m (也可以看到FREE为1020M)

查看磁盘状态
df -h
Filesystem                                          Size  Used    Avail  Use%   Mounted on
 /dev/mapper/lvcentos-gaoqian       14M  896K   13M   7%       /mnt/lvcentos/gaoqian (可以看到逻辑卷只有13M,需要添加)

添加VG逻辑卷组
[root@localhost ~]# lvextend -l +254 /dev/lvcentos/gaoqian (添加VG逻辑卷组的空间到gaoqian去)
  Size of logical volume lvcentos/gaoqian changed from 16.00 MiB (4 extents) to <1.01 GiB (258 extents).
  Logical volume lvcentos/gaoqian successfully resized.  (提示成功)

查看LV
[root@localhost ~]# lvs
  LV          VG       Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  gaoqian     lvcentos -wi-ao---- <1.01g       (已经看到gaoqian从之前的13M变成1.01g)

详细查看VG
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               lvcentos
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               3.98 GiB
  PE Size               4.00 MiB
  Total PE              1019
  Alloc PE / Size       1018 / <3.98 GiB
  Free  PE / Size       1 / 4.00 MiB      (查看剩余空间从之前255变成1)
  VG UUID               s0vCZc-CVAV-QiLO-Vrcl-ETS5-ZXbm-qDFREN

查看磁盘状态
[root@localhost ~]# df -Th
Filesystem                       Type      Size  Used Avail Use% Mounted on
/dev/sda2                        xfs        20G  4.0G   16G  20% /
devtmpfs                         devtmpfs  706M     0  706M   0% /dev
tmpfs                            tmpfs     722M     0  722M   0% /dev/shm
tmpfs                            tmpfs     722M   11M  711M   2% /run
tmpfs                            tmpfs     722M     0  722M   0% /sys/fs/cgroup
/dev/sr0                         iso9660   8.8G  8.8G     0 100% /media
/dev/sda5                        xfs        10G   33M   10G   1% /app
/dev/sdb2                        xfs       2.0G   33M  2.0G   2% /app/date2
/dev/sdb1                        xfs       3.0G   33M  3.0G   2% /app/date1
/dev/mapper/lvcentos-gaoqian     xfs        14M  896K   13M   7% /mnt/lvcentos/gaoqian   (发现此处仍为14M,文件系统问题)
/dev/mapper/lvcentos-gaoqianqian xfs       3.0G   33M  3.0G   2% /mnt/lvcentos/gaoqianqian
/dev/sda1                        xfs       297M  138M  160M  47% /boot
tmpfs                            tmpfs     145M   12K  145M   1% /run/user/42
tmpfs                            tmpfs     145M     0  145M   0% /run/user/0

检查磁盘文件系统
XFS文件系统使用此命令
xfs_growfs /dev/mapper/lvcentos-gaoqian
EXT4文件系统使用此命令
resize2fs /dev/lvcentos/gaoqian
两种文件系统都能用
lvextend -r -l +100%FREE /dev/sdj (待验证)

再次查看磁盘状态
[root@localhost ~]# df -Th
Filesystem                       Type      Size  Used Avail Use% Mounted on
/dev/sda2                        xfs        20G  4.0G   16G  20% /
devtmpfs                         devtmpfs  706M     0  706M   0% /dev
tmpfs                            tmpfs     722M     0  722M   0% /dev/shm
tmpfs                            tmpfs     722M   11M  711M   2% /run
tmpfs                            tmpfs     722M     0  722M   0% /sys/fs/cgroup
/dev/sr0                         iso9660   8.8G  8.8G     0 100% /media
/dev/sda5                        xfs        10G   33M   10G   1% /app
/dev/sdb2                        xfs       2.0G   33M  2.0G   2% /app/date2
/dev/sdb1                        xfs       3.0G   33M  3.0G   2% /app/date1
/dev/mapper/lvcentos-gaoqian     xfs       1.1G  2.9M  1.1G   1% /mnt/lvcentos/gaoqian   (已经扩容成功)
/dev/mapper/lvcentos-gaoqianqian xfs       3.0G   33M  3.0G   2% /mnt/lvcentos/gaoqianqian
/dev/sda1                        xfs       297M  138M  160M  47% /boot
tmpfs                            tmpfs     145M   12K  145M   1% /run/user/42
tmpfs                            tmpfs     145M     0  145M   0% /run/user/0

更换硬盘实验

查看硬盘可用空间
[root@localhost ~]# lsblk
NAME                       MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda                          8:0    0  120G  0 disk  
├─sda1                       8:1    0  300M  0 part  /boot
├─sda2                       8:2    0   20G  0 part  /
├─sda3                       8:3    0    4G  0 part  [SWAP]
├─sda4                       8:4    0    1K  0 part  
└─sda5                       8:5    0   10G  0 part  /app
sdb                          8:16   0  100G  0 disk                           (看到/dev/sdb可用空间较多可以从这取用)
├─sdb1                       8:17   0    3G  0 part  /app/date1
└─sdb2                       8:18   0    2G  0 part  /app/date2
sdc                          8:32   0   80G  0 disk  
sdd                          8:48   0   60G  0 disk  
sde                          8:64   0    1G  0 disk  
└─md1                        9:1    0 1022M  0 raid1
  └─md3                      9:3    0    2G  0 raid0
    ├─lvcentos-gaoqian     253:0    0    1G  0 lvm   /mnt/lvcentos/gaoqian
    └─lvcentos-gaoqianqian 253:1    0    3G  0 lvm   /mnt/lvcentos/gaoqianqian
sdf                          8:80   0    1G  0 disk  
└─md1                        9:1    0 1022M  0 raid1
  └─md3                      9:3    0    2G  0 raid0
    ├─lvcentos-gaoqian     253:0    0    1G  0 lvm   /mnt/lvcentos/gaoqian
    └─lvcentos-gaoqianqian 253:1    0    3G  0 lvm   /mnt/lvcentos/gaoqianqian
sdg                          8:96   0    1G  0 disk  
└─md2                        9:2    0 1022M  0 raid1
  └─md3                      9:3    0    2G  0 raid0
    ├─lvcentos-gaoqian     253:0    0    1G  0 lvm   /mnt/lvcentos/gaoqian
    └─lvcentos-gaoqianqian 253:1    0    3G  0 lvm   /mnt/lvcentos/gaoqianqian
sdh                          8:112  0    1G  0 disk  
└─md2                        9:2    0 1022M  0 raid1
  └─md3                      9:3    0    2G  0 raid0
    ├─lvcentos-gaoqian     253:0    0    1G  0 lvm   /mnt/lvcentos/gaoqian
    └─lvcentos-gaoqianqian 253:1    0    3G  0 lvm   /mnt/lvcentos/gaoqianqian
sdi                          8:128  0    1G  0 disk  
└─lvcentos-gaoqianqian     253:1    0    3G  0 lvm   /mnt/lvcentos/gaoqianqian
sdj                          8:144  0    1G  0 disk  
└─lvcentos-gaoqian         253:0    0    1G  0 lvm   /mnt/lvcentos/gaoqian
sdk                          8:160  0    1G  0 disk                                       (也可以直接添加新硬盘)
sr0                         11:0    1  8.8G  0 rom   /media

从/dev/sdb 中划分新分区
[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n    (new新的)
Partition type:                        (直接回车)
   p   primary (2 primary, 0 extended, 2 free)
   e   extended 
Select (default p): p       (主分区)
Partition number (3,4, default 3):   (硬盘号默认就可以)
First sector (10487808-209715199, default 10487808):   (分区开始的块,默认就可以)
Using default value 10487808
Last sector, +sectors or +size{K,M,G} (10487808-209715199, default 209715199): +5G   (添加5G空间)  
Partition 3 of type Linux and of size 5 GiB is set
Command (m for help): t
Partition number (1-3, default 3): 3
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!

同步磁盘文件系统
[root@localhost ~]# xfs_growfs /dev/sdb3
xfs_growfs: /dev/sdb3 is not a mounted XFS filesystem

再次查看物理分区
[root@localhost ~]# lsblk
NAME                       MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda                          8:0    0  120G  0 disk  
├─sda1                       8:1    0  300M  0 part  /boot
├─sda2                       8:2    0   20G  0 part  /
├─sda3                       8:3    0    4G  0 part  [SWAP]
├─sda4                       8:4    0    1K  0 part  
└─sda5                       8:5    0   10G  0 part  /app
sdb                          8:16   0  100G  0 disk  
├─sdb1                       8:17   0    3G  0 part  /app/date1
├─sdb2                       8:18   0    2G  0 part  /app/date2
└─sdb3                       8:19   0    5G  0 part            (已经发现了新创建的SDB3)

要把磁盘添加到PV中
[root@localhost ~]# pvcreate /dev/sdb3
  Physical volume "/dev/sdb3" successfully created.

把逻辑卷PV添加到逻辑卷组VG中
[root@localhost ~]# vgextend lvcentos /dev/sdb3
  Volume group "lvcentos" successfully extended

详细查看VG
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               lvcentos
  System ID             
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               <8.98 GiB
  PE Size               4.00 MiB
  Total PE              2298
  Alloc PE / Size       1018 / <3.98 GiB
  Free  PE / Size       1280 / 5.00 GiB       (剩余空间很多)
  VG UUID               s0vCZc-CVAV-QiLO-Vrcl-ETS5-ZXbm-qDFREN

查看PV
[root@localhost ~]# pvs
  PV         VG       Fmt  Attr PSize    PFree
  /dev/md3   lvcentos lvm2 a--    <1.99g     0
  /dev/sdb3  lvcentos lvm2 a--    <5.00g <5.00g
  /dev/sdi   lvcentos lvm2 a--  1020.00m     0
  /dev/sdj   lvcentos lvm2 a--  1020.00m  4.00m

详细查看PV

[root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/md3
  VG Name               lvcentos
  PV Size               1.99 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              509
  Free PE               0
  Allocated PE          509
  PV UUID               XERL0K-i9jK-K4bP-E1lG-gYHT-88O4-Xhdshv
   
  --- Physical volume ---
  PV Name               /dev/sdi
  VG Name               lvcentos
  PV Size               1.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              255
  Free PE               0
  Allocated PE          255
  PV UUID               jtchzB-lsWy-5ZBE-Hch6-Ldi1-kGq2-2IIJcW
   
  --- Physical volume ---
  PV Name               /dev/sdj
  VG Name               lvcentos
  PV Size               1.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              255
  Free PE               1
  Allocated PE          254
  PV UUID               xK8Bup-9Gay-d0Sj-ePCW-BSLi-89P2-1lIcBE
   
  --- Physical volume ---
  PV Name               /dev/sdb3
  VG Name               lvcentos
  PV Size               5.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              1279
  Free PE               1279     (其它三个盘都是满的,剩余空间为0,所以系统会把自动迁移到此盘中)
  Allocated PE          0
  PV UUID               s8AEjT-sfFq-YEbd-5zdy-WDgI-OHY2-P4UpTv

迁移数据
[root@localhost ~]# pvmove /dev/sdj
  /dev/sdj: Moved: 3.54%
  /dev/sdj: Moved: 85.83%
  /dev/sdj: Moved: 100.00%
[root@localhost ~]#        (直到下一个命令行显示,才算是真的结束,迁移sdj上的数据到新的sdb3中)

再次详细查看PV
[root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdj
  VG Name               lvcentos
  PV Size               1.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              255
  Free PE               255            (此时硬盘数据已经迁移成功,占用为0,FREE为100%)
  Allocated PE          0
  PV UUID               xK8Bup-9Gay-d0Sj-ePCW-BSLi-89P2-1lIcBE
   
  --- Physical volume ---
  PV Name               /dev/sdb3
  VG Name               lvcentos
  PV Size               5.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              1279
  Free PE               1025          (有数据状态,FREE不是满的。)
  Allocated PE          254
  PV UUID               s8AEjT-sfFq-YEbd-5zdy-WDgI-OHY2-P4UpTv

把硬盘从VG中移除
[root@localhost ~]# vgreduce  lvcentos /dev/sdj
  Removed "/dev/sdj" from volume group "lvcentos"

查看PV
[root@localhost ~]# pvs
  PV         VG       Fmt  Attr PSize    PFree
  /dev/md3   lvcentos lvm2 a--    <1.99g    0
  /dev/sdb3  lvcentos lvm2 a--    <5.00g 4.00g
  /dev/sdi   lvcentos lvm2 a--  1020.00m    0
  /dev/sdj            lvm2 ---     1.00g 1.00g         (可以看到sdj已经不属于lvcentos了)

把硬盘从PV中移除
[root@localhost ~]# pvremove /dev/sdj
  Labels on physical volume "/dev/sdj" successfully wiped.

查看分区
[root@localhost ~]# lsblk
sdj                          8:144  0    1G  0 disk  (已经变成普通硬盘,可以进行更换操作)






猜你喜欢

转载自blog.csdn.net/faxfac/article/details/80642685