创建和查看 PV
1.创建 pv
[root@localhost opt]# pvcreate /dev/sdb{1,2,3,4}
WARNING: dos signature detected on /dev/sdb1 at offset 510. Wipe it? [y/n]: y
Wiping dos signature on /dev/sdb1.
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdb2" successfully created.
Physical volume "/dev/sdb3" successfully created.
Physical volume "/dev/sdb4" successfully created.
2.查看 pv
[root@localhost opt]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cl lvm2 a-- 19.00g 0
/dev/sdb1 lvm2 --- 5.00g 5.00g
/dev/sdb2 lvm2 --- 5.00g 5.00g
/dev/sdb3 lvm2 --- 5.00g 5.00g
/dev/sdb4 lvm2 --- 5.00g 5.00g
3.查看详细信息
[root@localhost opt]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name cl
PV Size 19.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4863
Free PE 0
Allocated PE 4863
PV UUID X5WbXW-4qUV-MoYO-1ws3-3y6J-36tz-M5CxPM
"/dev/sdb1" is a new physical volume of "5.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 5.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID emcwLR-IKkM-9R2G-1rEF-y94t-GLrT-SGk2Qk
"/dev/sdb3" is a new physical volume of "5.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb3
VG Name
PV Size 5.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 6gwwXq-vzJD-wxOY-ACAj-mvTI-wyh5-AAZRdp
"/dev/sdb2" is a new physical volume of "5.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb2
VG Name
PV Size 5.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID btswJD-I59p-xxWQ-VyLr-Gobc-rVdJ-MqupEG
"/dev/sdb4" is a new physical volume of "5.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb4
VG Name
PV Size 5.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID RSP9tx-kWci-Yc9r-P6HF-yUxZ-p3ck-h2oM9g
这里主要观察 PE Size,可以看到是0
创建 vg
1.创建 vg,并且使用-s参数指定 PE 的大小
[root@localhost opt]# vgcreate -s 8M myvg /dev/sdb{1,2,3,4}
Volume group "myvg" successfully created
2.使用 pvs 查看基本信息
[root@localhost opt]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cl lvm2 a-- 19.00g 0
/dev/sdb1 myvg lvm2 a-- 4.99g 4.99g
/dev/sdb2 myvg lvm2 a-- 4.99g 4.99g
/dev/sdb3 myvg lvm2 a-- 4.99g 4.99g
/dev/sdb4 myvg lvm2 a-- 4.99g 4.99g
3.查看详细信息
[root@localhost opt]# pvdisplay
--- Physical volume ---
PV Name /dev/sdb1
VG Name myvg
PV Size 5.00 GiB / not usable 8.00 MiB
Allocatable yes
PE Size 8.00 MiB
Total PE 639
Free PE 639
Allocated PE 0
PV UUID emcwLR-IKkM-9R2G-1rEF-y94t-GLrT-SGk2Qk
--- Physical volume ---
PV Name /dev/sdb2
VG Name myvg
PV Size 5.00 GiB / not usable 8.00 MiB
Allocatable yes
PE Size 8.00 MiB
Total PE 639
Free PE 639
Allocated PE 0
PV UUID btswJD-I59p-xxWQ-VyLr-Gobc-rVdJ-MqupEG
--- Physical volume ---
PV Name /dev/sdb3
VG Name myvg
PV Size 5.00 GiB / not usable 8.00 MiB
Allocatable yes
PE Size 8.00 MiB
Total PE 639
Free PE 639
Allocated PE 0
PV UUID 6gwwXq-vzJD-wxOY-ACAj-mvTI-wyh5-AAZRdp
--- Physical volume ---
PV Name /dev/sdb4
VG Name myvg
PV Size 5.00 GiB / not usable 6.98 MiB
Allocatable yes
PE Size 8.00 MiB
Total PE 639
Free PE 639
Allocated PE 0
PV UUID RSP9tx-kWci-Yc9r-P6HF-yUxZ-p3ck-h2oM9g
--- Physical volume ---
PV Name /dev/sda2
VG Name cl
PV Size 19.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4863
Free PE 0
Allocated PE 4863
PV UUID X5WbXW-4qUV-MoYO-1ws3-3y6J-36tz-M5CxPM
4.查看指定设备
[root@localhost opt]# pvdisplay /dev/sdb3
--- Physical volume ---
PV Name /dev/sdb3
VG Name myvg
PV Size 5.00 GiB / not usable 8.00 MiB
Allocatable yes
PE Size 8.00 MiB
Total PE 639
Free PE 639
Allocated PE 0
PV UUID 6gwwXq-vzJD-wxOY-ACAj-mvTI-wyh5-AAZRdp
创建和使用 lv
1.创建 lv,名称为 linux,大小为5g 从刚才创建的 myvg 卷组中拿出5g 的大小创建逻辑卷。
[root@localhost opt]# lvcreate -L 5G -n linux myvg
WARNING: LVM2_member signature detected on /dev/myvg/linux at offset 536. Wipe it? [y/n]: y
Wiping LVM2_member signature on /dev/myvg/linux.
Logical volume "linux" created.
2.查看基本信息
[root@localhost opt]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 17.00g
swap cl -wi-ao---- 2.00g
linux myvg -wi-a----- 5.00g
3.查看详细信息
[root@localhost opt]# lvdisplay
--- Logical volume ---
LV Path /dev/myvg/linux
LV Name linux
VG Name myvg
LV UUID 1OmSKi-VHPj-Tbnb-P4IV-2hAQ-u4Il-hc1yl2
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2017-04-22 10:49:03 +0800
LV Status available
# open 0
LV Size 5.00 GiB
Current LE 640
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
--- Logical volume ---
LV Path /dev/cl/swap
LV Name swap
VG Name cl
LV UUID gQsXBL-tMOS-fzaJ-9Rml-U3mv-ubAF-XNc5og
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2017-04-18 09:42:07 +0800
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/cl/root
LV Name root
VG Name cl
LV UUID tYWq97-Irfv-N3bk-ilqa-SSMH-lZij-G7M9ey
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2017-04-18 09:42:07 +0800
LV Status available
# open 1
LV Size 17.00 GiB
Current LE 4351
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
4.指定设备查看
[root@localhost opt]# lvdisplay /dev/myvg/linux
--- Logical volume ---
LV Path /dev/myvg/linux
LV Name linux
VG Name myvg
LV UUID 1OmSKi-VHPj-Tbnb-P4IV-2hAQ-u4Il-hc1yl2
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2017-04-22 10:49:03 +0800
LV Status available
# open 0
LV Size 5.00 GiB
Current LE 640
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
使用创建的 lv
1.格式化
[root@localhost opt]# mkfs.xfs /dev/
Display all 177 possibilities? (y or n)
[root@localhost opt]# mkfs.xfs /dev/myvg/linux
meta-data=/dev/myvg/linux isize=512 agcount=4, agsize=327680 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1310720, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
2.挂载
[root@localhost opt]# mkdir /data
[root@localhost opt]# mount /dev/myvg/linux /data/
[root@localhost opt]# cd /data/
[root@localhost data]# ls
增加容量
lvm 支持在线缩小。
1.先查看 lv 大小
[root@localhost data]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 17.00g
swap cl -wi-ao---- 2.00g
linux myvg -wi-ao---- 5.00g
2.然后增加5g
[root@localhost data]# lvextend -L +5G /dev/myvg/linux
Size of logical volume myvg/linux changed from 5.00 GiB (640 extents) to 10.00 GiB (1280 extents).
Logical volume myvg/linux successfully resized.
[root@localhost data]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 17.00g
swap cl -wi-ao---- 2.00g
linux myvg -wi-ao---- 10.00g
3.查看增加后的容量
[root@localhost data]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 17.00g
swap cl -wi-ao---- 2.00g
linux myvg -wi-ao---- 10.00g
使用lvresize 增加 lv 大小
1.查看目前的 lvs 大小
[root@localhost data]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 17.00g
swap cl -wi-ao---- 2.00g
linux myvg -wi-ao---- 5.00g
lv1 myvg -wi-ao---- 11.00g
2.目前11g,增加到12g,这里的-L 后大小一定要比当前的大小大,否则则是缩小逻辑卷的大小,另外也可以使用+来增加。
[root@localhost data]# lvresize -L 12G /dev/myvg/lv1
Size of logical volume myvg/lv1 changed from 11.00 GiB (2816 extents) to 12.00 GiB (3072 extents).
Logical volume myvg/lv1 successfully resized.
3.查看 lvs 大小。
[root@localhost data]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 17.00g
swap cl -wi-ao---- 2.00g
linux myvg -wi-ao---- 5.00g
lv1 myvg -wi-ao---- 12.00g
4.查看目前挂载的目录,发现还是11G
[root@localhost data]# df -h /ext4/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/myvg-lv1 11G 25M 11G 1% /ext4
5.使用resize2fs
刷新磁盘
[root@localhost data]# resize2fs /dev/myvg/lv1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/myvg/lv1 is mounted on /ext4; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 2
The filesystem on /dev/myvg/lv1 is now 3145728 blocks long.
6.再次查看
[root@localhost data]# df -h /ext4/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/myvg-lv1 12G 25M 12G 1% /ext4
增加后一定要使用
resize2fs
刷新磁盘,否则容量不正确。
减小容量
1.查看容量
[root@localhost data]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 17.00g
swap cl -wi-ao---- 2.00g
linux myvg -wi-ao---- 10.00g
2.减小容量
注意:缩小容量前一定要先卸载对应的逻辑卷
先查看
[root@localhost /]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 17.00g
swap cl -wi-ao---- 2.00g
lv_xfs myvg -wi-a----- 7.00g
mylv1 myvg -wi-ao---- 5.00g
查看挂载的容量
[root@localhost /]# df -h /mnt/data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/myvg-mylv1 4.8G 20M 4.6G 1% /mnt/data
先缩小文件系统的大小,提示需要先 umount
[root@localhost /]# resize2fs /dev/myvg/mylv1 400M
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/myvg/mylv1 is mounted on /mnt/data; on-line resizing required
resize2fs: On-line shrinking not supported
取消挂载
[root@localhost /]# umount /mnt/data
再次运行刚才的命令,提示需要运行 e2fsck -f /dev/myvg/mylv1
[root@localhost /]# resize2fs /dev/myvg/mylv1 400M
resize2fs 1.42.9 (28-Dec-2013)
Please run 'e2fsck -f /dev/myvg/mylv1' first.
执行e2fsck -f /dev/myvg/mylv1
[root@localhost /]# e2fsck -f /dev/myvg/mylv1
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/myvg/mylv1: 11/327680 files (0.0% non-contiguous), 58462/1310720 blocks
再次执行刚才的命令
[root@localhost /]# resize2fs /dev/myvg/mylv1 400M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/myvg/mylv1 to 102400 (4k) blocks.
The filesystem on /dev/myvg/mylv1 is now 102400 blocks long.
OK,成功了,然后在缩小逻辑卷
[root@localhost /]# lvresize -L 400M /dev/myvg/mylv1
WARNING: Reducing active logical volume to 400.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce myvg/mylv1? [y/n]: y
Size of logical volume myvg/mylv1 changed from 5.00 GiB (1280 extents) to 400.00 MiB (100 extents).
Logical volume myvg/mylv1 successfully resized.
查看 lv 的大小,已经是400M 了
[root@localhost /]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 17.00g
swap cl -wi-ao---- 2.00g
lv_xfs myvg -wi-a----- 7.00g
mylv1 myvg -wi-a----- 400.00m
重新挂载
[root@localhost /]# mount /dev/myvg/mylv1 /mnt/data
查看挂载后的大小,一切正常
[root@localhost /]# df -h /mnt/data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/myvg-mylv1 264M 7.6M 229M 4% /mnt/data
4.xfs 格式扩容或减小挂载出错
[root@localhost /]# resize2fs /dev/myvg/lv_xfs
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/myvg/lv_xfs
Couldn't find valid filesystem superblock.
#xfs 格式需要使用 xfs_growfs命令
[root@localhost /]# xfs_growfs /dev/myvg/lv_xfs
meta-data=/dev/mapper/myvg-lv_xfs isize=512 agcount=4, agsize=327680 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=1310720, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 1310720 to 1835008
[root@localhost /]# clear
[root@localhost /]# df -h /mnt/data1/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/myvg-lv_xfs 7.0G 33M 7.0G 1% /mnt/data1
[root@localhost /]#
删除
删除的顺序是先 lv–> vg —> pv 的顺序
删除 lv
1.先卸载
[root@localhost /]# umount /dev/myvg/linux
2.删除 lv
[root@localhost /]# lvremove /dev/myvg/linux
Do you really want to remove active logical volume myvg/linux? [y/n]: y
Logical volume "linux" successfully removed
3.查看 lv
[root@localhost /]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 17.00g
swap cl -wi-ao---- 2.00g
删除 vg
1.删除 vg
[root@localhost /]# vgremove myvg
Volume group "myvg" successfully removed
2.查看 vg
[root@localhost /]# vgs
VG #PV #LV #SN Attr VSize VFree
cl 1 2 0 wz--n- 19.00g 0
删除 pv
1.删除 pv
[root@localhost /]# pvremove /dev/sdb{1,2,3,4}
Labels on physical volume "/dev/sdb1" successfully wiped.
Labels on physical volume "/dev/sdb2" successfully wiped.
Labels on physical volume "/dev/sdb3" successfully wiped.
Labels on physical volume "/dev/sdb4" successfully wiped.
2.查看 pv
[root@localhost /]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cl lvm2 a-- 19.00g 0
扩充 VG
1.先分区
[root@localhost /]# fdisk /dev/sdc
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): p
Disk /dev/sdc: 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: 0x07c19514
Device Boot Start End Blocks Id System
/dev/sdc1 2048 41943039 20970496 5 Extended
/dev/sdc5 4096 1028095 512000 83 Linux
Command (m for help): n
Partition type:
p primary (0 primary, 1 extended, 3 free)
l logical (numbered from 5)
Select (default p): l
Adding logical partition 6
First sector (1030144-41943039, default 1030144):
Using default value 1030144
Last sector, +sectors or +size{K,M,G} (1030144-41943039, default 41943039):
Using default value 41943039
Partition 6 of type Linux and of size 19.5 GiB is set
Command (m for help): p
Disk /dev/sdc: 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: 0x07c19514
Device Boot Start End Blocks Id System
/dev/sdc1 2048 41943039 20970496 5 Extended
/dev/sdc5 4096 1028095 512000 83 Linux
/dev/sdc6 1030144 41943039 20456448 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
2.添加 pv
[root@localhost /]# pvcreate /dev/sdc6
Physical volume "/dev/sdc6" successfully created.
3.查看 pv
[root@localhost /]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cl lvm2 a-- 19.00g 0
/dev/sdb1 myvg lvm2 a-- 10.00g 9.61g
/dev/sdb2 myvg lvm2 a-- 10.00g 3.00g
/dev/sdc6 lvm2 --- 19.51g 19.51g
4.扩充 vg,将 sdc6的容量添加到 vg 卷组 myvg 中
[root@localhost /]# vgextend myvg /dev/sdc6
Volume group "myvg" successfully extended
[root@localhost /]# vgs
VG #PV #LV #SN Attr VSize VFree
cl 1 2 0 wz--n- 19.00g 0
myvg 3 2 0 wz--n- 39.50g 32.11g
重读分区表
如图分区后提示分区不存在,则输入partprobe
刷新分区表
[root@localhost /]# partprobe