LVM explain
LVM
If you use a command, the command provides not found, indicating that we need to install a package, does not know the name of the package, only know the name of the command, we can use the command to search:
For example: we want to install lvm package, but do not know the real name of the package, just know that the order is pvcreate, we can use the following command:yum provides "/*/prvcreate"
yum provides "/ * / pvcreate" # pvcreate command to search for packages based on
yum install -y lvm2 # install lvm tool
partprobe # update the partition table
vgremove # Delete volume group
Create a physical volume pvcreate #
View pvdisplay # pvs or physical volume
vgcreate # create a volume group
vgs or vgdisplay # View Volume Groups
Create a logical volume lvcreate #
lvs or logical view lvdisplay #
Lvresize -L # logical size specified logical volume expansion
e2fsck -f # check for disk errors
resize2fs # update disk information
xfs_growfs #XFS file system update disk information
vgextend # expansion volume group
1.PE (Physical Extend) physical expansion
2.PV (Physical Volume) physical volume
3.VG (Volume Group) Volume Group
4.LV (Logical Volume) Logical Volume
A, lvm explain
1. Create three partitions fdisk command, and using the command to change the partition ID is t 8e
FIG New good partitioning:
2. pvcreate to create a physical volume
1. [root @ localhost ~] # pvcreate / dev / sdb1 # a / dev / sdb1 /, / dev / sdb2 /, / dev / create a physical volume sdb3
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y # 提示是否签名,选择y
Wiping ext4 signature on /dev/sdb1.
Physical volume "/dev/sdb1" successfully created.
2. [root@localhost ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
3. [root@localhost ~]# pvcreate /dev/sdb3
WARNING: ext4 signature detected on /dev/sdb3 at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/sdb3.
Physical volume "/dev/sdb3" successfully create
3. pvs 或者 pvdisplay 查看所有的物理卷
[root@localhost ~]# pvs #查看物理卷
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 1.00g 1.00g
/dev/sdb2 lvm2 --- 1.00g 1.00g
/dev/sdb3 lvm2 --- 1.00g 1.00g
4.vgcreate 创建物理卷组
vgs 或者vgdisplay 查看物理卷组
1. [root@localhost ~]# vgcreate vga /dev/sdb1 /dev/sdb2 #将/dev/sdb1/和/dev/sdb2创建为物理卷组,卷组的名字为:vga
Volume group "vga" successfully created
2. [root@localhost ~]# vgs #使用vgs查看物理卷组
VG #PV #LV #SN Attr VSize VFree
vga 2 0 0 wz--n- 1.99g 1.99g
5. lvcreate 创建逻辑卷 -L 指定大小 -n指定逻辑卷的名称
lvs 或者 lvdisplay 查看逻辑卷
1. [root@localhost ~]# lvcreate -L 100M -n lva vga 创建一个逻辑卷lva,指定大小为lva
Logical volume "lva" created.
2. [root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lva vga -wi-a----- 100.00m
7. 格式化逻辑卷,挂载逻辑卷
1. [root@localhost ~]# mkfs.ext4 /dev/vga/lva # 将逻辑卷/lva/格式化为ext4文件系统
2. [root@localhost ~]# mount /dev/vga/lva /mnt/ #将逻辑卷/lva/挂载到mnt下
3. [root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 16G 1.1G 15G 7% /
devtmpfs 911M 0 911M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 17M 903M 2% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vga-lva 93M 1.6M 85M 2% /mnt 挂载到mnt下的为/dev/vga/lva,显示的名字为/dev/mapper/vga-lva ,使用ls查看两个文件实际上指向是同一个文件../dm-0
4. [root@localhost ~]# ls -l /dev/mapper/vga-lva
lrwxrwxrwx. 1 root root 7 12月 30 18:33 /dev/mapper/vga-lva -> ../dm-0
5. [root@localhost ~]# ls -l /dev/vga/lva
lrwxrwxrwx. 1 root root 7 12月 30 18:33 /dev/vga/lva -> ../dm-0
二、逻辑卷的扩容和缩容
针对ext4的文件系统扩容:
1. lvresize -L 扩容逻辑卷,-L指定逻辑卷的大小
1. [root@localhost ~]# umount /mnt #扩容逻辑卷之前要先将逻辑卷卸载
2. [root@localhost ~]# lvresize -L 300M /dev/vga/lva #扩容逻辑卷lva,并指定逻辑卷的大小为300M
Size of logical volume vga/lva changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents). #逻辑卷由100M变为300M
Logical volume vga/lva successfully resized.
2. e2fsck -f 检查磁盘错误
[root@localhost ~]# e2fsck -f /dev/vga/lva #扩容后检查lva磁盘是否存在错误
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vga/lva: 13/25688 files (7.7% non-contiguous), 8899/102400 blocks
3. resize2fs 更新逻辑卷信息
[root@localhost ~]# resize2fs /dev/vga/lva #更新磁盘lva的信息
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vga/lva to 307200 (1k) blocks.
The filesystem on /dev/vga/lva is now 307200 blocks long.
针对ext4的文件系统缩容:
1. 先使用e2fsck 检查磁盘错误
[root@localhost ~]# umount /mnt #先将挂载的磁盘进行卸载
[root@localhost ~]# e2fsck -f /dev/vga/lva
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vga/lva: 13/75088 files (7.7% non-contiguous), 15640/307200 blocks
2. 使用resize2fs更新磁盘信息
[root@localhost ~]# resize2fs /dev/vga/lva 100M #注意更新的磁盘信息要将缩小到多大写上去
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vga/lva to 102400 (1k) blocks.
The filesystem on /dev/vga/lva is now 102400 blocks long.
3. 使用lvresize缩减磁盘
[root@localhost ~]# lvresize -L 100M /dev/vga/lva #缩减lva到100M
WARNING: Reducing active logical volume to 100.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vga/lva? [y/n]: y #提示是否缩减,选择y
Size of logical volume vga/lva changed from 300.00 MiB (75 extents) to 100.00 MiB (25 extents).
Logical volume vga/lva successfully resized. #缩减成功
针对xfs文件系统的扩容
1. 将磁盘格式化为xfs文件系统
[root@localhost ~]# mkfs.xfs -f /dev/vga/lva
2. 挂载磁盘,XFS文件系统进行扩容的时候需要挂载磁盘
[root@localhost ~]# mount /dev/vga/lva /mnt #将磁盘挂载到mnt下
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 16G 1.1G 15G 7% /
devtmpfs 911M 0 911M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 17M 904M 2% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vga-lva 97M 5.2M 92M 6% /mnt #可以看到大小为100M
3. 使用lvresize扩容
[root@localhost ~]# lvresize -L 300M /dev/vga/lva # 指定扩容的大小为300M
Size of logical volume vga/lva changed from 100.00 MiB (25 extents) to 300.00 MiB (75 exten
Logical volume vga/lva successfully resized.
4. xfs_growfs 扩展XFS文件系统
[root@localhost ~]# xfs_growfs /dev/vga/lva
meta-data=/dev/mapper/vga-lva isize=512 agcount=4, agsize=6400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=25600, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 25600 to 76800
三、卷组的扩容
1. vgextend 扩容卷组
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vga 2 1 0 wz--n- 1.99g <1.70g #卷组vga的大小为2G
[root@localhost ~]# vgextend vga /dev/sdb3
Volume group "vga" successfully extended #将/dev/sdb3/加入到卷组vga
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vga 3 1 0 wz--n- <2.99g <2.70g #卷组vga的大小变为3G
yum provides "/*/pvcreate" #根据命令pvcreate搜索软件包
yum install -y lvm2 #安装lvm工具
partprobe #更新分区表
vgremove #删除卷组
pvcreate #创建物理卷
pvs 或者 pvdisplay #查看物理卷
vgcreate #创建卷组
vgs 或者 vgdisplay #查看卷组
lvcreate #创建逻辑卷
lvs 或者 lvdisplay #查看逻辑卷
lvresize -L #扩容逻辑卷指定逻辑卷的大小
e2fsck -f #检查磁盘错误
resize2fs #更新磁盘信息
xfs_growfs #XFS文件系统更新磁盘信息
vgextend #扩容卷组
1.PE (Physical Extend) 物理拓展
2.PV (Physical Volume) 物理卷
3.VG (Volume Group) 卷组
4.LV (Logical Volume) 逻辑卷
一、 lvm讲解
1. 使用fdisk命令新建三个分区,并且使用t命令改变分区ID为8e
新建好的分区如图:
2. pvcreate 创建物理卷
1. [root@localhost ~]# pvcreate /dev/sdb1 # 将/dev/sdb1/ 、 /dev/sdb2/、 /dev/sdb3 创建为物理卷
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y # 提示是否签名,选择y
Wiping ext4 signature on /dev/sdb1.
Physical volume "/dev/sdb1" successfully created.
2. [root@localhost ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
3. [root@localhost ~]# pvcreate /dev/sdb3
WARNING: ext4 signature detected on /dev/sdb3 at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/sdb3.
Physical volume "/dev/sdb3" successfully create
3. pvs 或者 pvdisplay 查看所有的物理卷
[root@localhost ~]# pvs #查看物理卷
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 1.00g 1.00g
/dev/sdb2 lvm2 --- 1.00g 1.00g
/dev/sdb3 lvm2 --- 1.00g 1.00g
4.vgcreate 创建物理卷组
vgs 或者vgdisplay 查看物理卷组
1. [root@localhost ~]# vgcreate vga /dev/sdb1 /dev/sdb2 #将/dev/sdb1/和/dev/sdb2创建为物理卷组,卷组的名字为:vga
Volume group "vga" successfully created
2. [root@localhost ~]# vgs #使用vgs查看物理卷组
VG #PV #LV #SN Attr VSize VFree
vga 2 0 0 wz--n- 1.99g 1.99g
5. lvcreate 创建逻辑卷 -L 指定大小 -n指定逻辑卷的名称
lvs 或者 lvdisplay 查看逻辑卷
1. [root@localhost ~]# lvcreate -L 100M -n lva vga 创建一个逻辑卷lva,指定大小为lva
Logical volume "lva" created.
2. [root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lva vga -wi-a----- 100.00m
7. 格式化逻辑卷,挂载逻辑卷
1. [root@localhost ~]# mkfs.ext4 /dev/vga/lva # 将逻辑卷/lva/格式化为ext4文件系统
2. [root@localhost ~]# mount /dev/vga/lva /mnt/ #将逻辑卷/lva/挂载到mnt下
3. [root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 16G 1.1G 15G 7% /
devtmpfs 911M 0 911M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 17M 903M 2% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vga-lva 93M 1.6M 85M 2% /mnt 挂载到mnt下的为/dev/vga/lva,显示的名字为/dev/mapper/vga-lva ,使用ls查看两个文件实际上指向是同一个文件../dm-0
4. [root@localhost ~]# ls -l /dev/mapper/vga-lva
lrwxrwxrwx. 1 root root 7 12月 30 18:33 /dev/mapper/vga-lva -> ../dm-0
5. [root@localhost ~]# ls -l /dev/vga/lva
lrwxrwxrwx. 1 root root 7 12月 30 18:33 /dev/vga/lva -> ../dm-0
二、逻辑卷的扩容和缩容
针对ext4的文件系统扩容:
1. lvresize -L 扩容逻辑卷,-L指定逻辑卷的大小
1. [root@localhost ~]# umount /mnt #扩容逻辑卷之前要先将逻辑卷卸载
2. [root@localhost ~]# lvresize -L 300M /dev/vga/lva #扩容逻辑卷lva,并指定逻辑卷的大小为300M
Size of logical volume vga/lva changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents). #逻辑卷由100M变为300M
Logical volume vga/lva successfully resized.
2. e2fsck -f 检查磁盘错误
[root@localhost ~]# e2fsck -f /dev/vga/lva #扩容后检查lva磁盘是否存在错误
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vga/lva: 13/25688 files (7.7% non-contiguous), 8899/102400 blocks
3. resize2fs 更新逻辑卷信息
[root@localhost ~]# resize2fs /dev/vga/lva #更新磁盘lva的信息
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vga/lva to 307200 (1k) blocks.
The filesystem on /dev/vga/lva is now 307200 blocks long.
针对ext4的文件系统缩容:
1. 先使用e2fsck 检查磁盘错误
[root@localhost ~]# umount /mnt #先将挂载的磁盘进行卸载
[root@localhost ~]# e2fsck -f /dev/vga/lva
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vga/lva: 13/75088 files (7.7% non-contiguous), 15640/307200 blocks
2. 使用resize2fs更新磁盘信息
[root@localhost ~]# resize2fs /dev/vga/lva 100M #注意更新的磁盘信息要将缩小到多大写上去
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vga/lva to 102400 (1k) blocks.
The filesystem on /dev/vga/lva is now 102400 blocks long.
3. 使用lvresize缩减磁盘
[root@localhost ~]# lvresize -L 100M /dev/vga/lva #缩减lva到100M
WARNING: Reducing active logical volume to 100.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vga/lva? [y/n]: y #提示是否缩减,选择y
Size of logical volume vga/lva changed from 300.00 MiB (75 extents) to 100.00 MiB (25 extents).
Logical volume vga/lva successfully resized. #缩减成功
针对xfs文件系统的扩容
1. 将磁盘格式化为xfs文件系统
[root@localhost ~]# mkfs.xfs -f /dev/vga/lva
2. 挂载磁盘,XFS文件系统进行扩容的时候需要挂载磁盘
[root@localhost ~]# mount /dev/vga/lva /mnt #将磁盘挂载到mnt下
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 16G 1.1G 15G 7% /
devtmpfs 911M 0 911M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 17M 904M 2% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/sda1 197M 113M 85M 58% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vga-lva 97M 5.2M 92M 6% /mnt #可以看到大小为100M
3. 使用lvresize扩容
[root@localhost ~]# lvresize -L 300M /dev/vga/lva # 指定扩容的大小为300M
Size of logical volume vga/lva changed from 100.00 MiB (25 extents) to 300.00 MiB (75 exten
Logical volume vga/lva successfully resized.
4. xfs_growfs 扩展XFS文件系统
[root@localhost ~]# xfs_growfs /dev/vga/lva
meta-data=/dev/mapper/vga-lva isize=512 agcount=4, agsize=6400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=25600, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 25600 to 76800
三、卷组的扩容
1. vgextend 扩容卷组
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vga 2 1 0 wz--n- 1.99g <1.70g #卷组vga的大小为2G
[root@localhost ~]# vgextend vga /dev/sdb3
Volume group "vga" successfully extended #将/dev/sdb3/加入到卷组vga
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vga 3 1 0 wz--n- <2.99g <2.70g #卷组vga的大小变为3G