4.10 LVM 讲解上
理论:存在的价值是能够方便的扩容和缩容
PV块:就是分区。多个PV组成卷组。在卷组的基础上划分逻辑卷。
在逻辑卷的基础上进行格式化。然后再挂载到系统中,进行使用。
准备磁盘分区:准备三个分区,大小均为1G,分区类型调整为8e:LVM
1)fdisk /dev/sdb
2)通过"n" ,创建三个分区
3)通过“t”,修改分区类型:在修改分区类型书写错误时,需要使用“ctrl+u”来删除。
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 8e Linux LVM
/dev/sdb2 2099200 4196351 1048576 8e Linux LVM
/dev/sdb3 4196352 6293503 1048576 8e Linux LVM
创建物理卷(pv)
[root@localhost ~]# pvcreate /dev/sdb1
-bash: pvcreate: 未找到命令
[root@localhost ~]# yum whatprovides *\pvcreate
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.bit.edu.cn
* extras: mirror.bit.edu.cn
* updates: mirror.bit.edu.cn
1:bash-completion-2.1-6.el7.noarch : Programmable completion for Bash
源 :base
匹配来源:
文件名 :/usr/share/bash-completion/completions/pvcreate
7:lvm2-2.02.177-4.el7.x86_64 : Userland logical volume management tools
源 :base
匹配来源:
文件名 :/usr/sbin/pvcreate
7:lvm2-2.02.177-4.el7.x86_64 : Userland logical volume management tools
源 :@base
匹配来源:
文件名 :/usr/sbin/pvcreate
[root@localhost ~]# yum -y install lvm2-2.02.177-4.el7.x86_64
[root@localhost ~]# pvcreate /dev/sdb1
Device /dev/sdb1 not found.
[root@localhost ~]# partprobe
[root@localhost ~]# pvcreate /dev/sdb1
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/sdb1.
Physical volume "/dev/sdb1" successfully created.
[root@localhost ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
[root@localhost ~]# pvcreate /dev/sdb3
Physical volume "/dev/sdb3" successfully created.
[root@localhost ~]# pvdisplay //查看PV。或者
[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.11 LVM讲解中
创建卷组:
[root@localhost ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2
//vg1是卷组的名字,后面是卷组的组成是谁
Volume group "vg1" successfully created
[root@localhost ~]# vgs //查看卷组,或者用vgdisplay
VG #PV #LV #SN Attr VSize VFree
vg1 2 0 0 wz--n- 1.99g 1.99g
[root@localhost ~]# lvcreate -L 100M -n lv1 vg1
Logical volume "lv1" created.
//“-L”指定大小,“-n”指定名字,最后是从哪个vg中获取空间
接下来,格式化:ext4
[root@localhost ~]# mkfs.ext4 /dev/vg1/lv1
如果是格式化成xfs:
[root@localhost ~]# mkfs.xfs -f /dev/vg1/lv1
然后挂载:
[root@localhost ~]# mount /dev/vg
vg1/ vga_arbiter
[root@localhost ~]# mount
/dev/vg1/lv1 /mnt
[root@localhost ~]# df -h | tail -1
/dev/mapper/vg1-lv1 93M 1.6M 85M 2% /mnt
查看上面两个文件的关系:
[root@localhost ~]# ls -l /dev/vg1/lv1
lrwxrwxrwx. 1 root root 7 6月 18 22:01 /dev/vg1/lv1 -> ../dm-0
[root@localhost ~]# ls -l /dev/mapper/vg1-lv1
lrwxrwxrwx. 1 root root 7 6月 18 22:01 /dev/mapper/vg1-lv1 -> ../dm-0
两个文件指向了同一个文件。
扩容逻辑卷:
首先要先在现在逻辑卷中创建文件,确保扩容后内容完整。
[root@localhost ~]# mkdir /mnt/1212
[root@localhost ~]# touch /mnt/23.txt
[root@localhost ~]# echo "aaadasdfawef" > /mnt/23.txt
1)重新指定大小:
[root@localhost ~]# umount /mnt/
[root@localhost ~]# lvresize -L 200M /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 200.00 MiB (50 extents).
Logical volume vg1/lv1 successfully resized.
2)检查磁盘磁盘错误:
[root@localhost ~]# e2fsck -f /dev/vg1/lv1 //ext4格式
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv1: 13/25688 files (7.7% non-contiguous), 8899/102400 blocks
如果是xfs格式:
不需要检查了吧?
3)更新路基卷信息:ext4格式
[root@localhost ~]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 204800 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 204800 blocks long.
如果本身格式是xfs时:
必须是挂载状态
[root@localhost ~]# xfs_growfs /dev/vg1/lv1
重新挂载识别:
[root@localhost ~]# mount /dev/vg1/lv1 /mnt
[root@localhost ~]# ls /mnt/
1212 23.txt lost+found
[root@localhost ~]# cat /mnt/23.txt
aaadasdfawef
缩容:缩减逻辑卷(
xfs不支持)
1)先卸载umount
[root@localhost ~]# umount /mnt/
2)检测磁盘错误:
[root@localhost ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv1: 13/49400 files (7.7% non-contiguous), 11887/204800 blocks
3)更新逻辑卷信息:
[root@localhost ~]# resize2fs /dev/vg1/lv1 100M //之前200M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 102400 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 102400 blocks long.
4)重新设置卷大小
[root@localhost ~]# lvresize -L 100M /dev/vg1/lv1
WARNING: Reducing active logical volume to 100.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: y //提示:可能会损坏数据
Size of logical volume vg1/lv1 changed from 200.00 MiB (50 extents) to 100.00 MiB (25 extents).
Logical volume vg1/lv1 successfully resized.
4.12 LVM讲解下
扩展卷组:
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 1 0 wz--n- 1.99g 1.89g
[root@localhost ~]#
vgextend vg1 /dev/sdb3
Volume group "vg1" successfully extended
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 3 1 0 wz--n- <2.99g 2.89g
最后再重新设置逻辑卷大小:
[root@localhost ~]# lvresize -L 2.5G /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 2.50 GiB (640 extents).
Logical volume vg1/lv1 successfully resized.
4.13 磁盘故障小案例:
当修改过/etc/fstab后,重启系统会出现如下问题,无法进入系统:
往往是因为磁盘挂载出现问题了,不能正常挂载到挂载点。
输入root密码还是可以进入系统的,知道问题出在哪里,那么直接修改/etc/fstab修改回来就好了。
保存退出后,重启系统即可。