Linux 在线添加新磁盘、调整lv逻辑卷的大小
物理卷(PV)
指磁盘分区,逻辑上与磁盘分区具有同样功能的设备,磁盘类型为8e (lvm),类似物理磁盘的分区,区别在于磁盘的分区格式类型不一样
Device Boot Start End Blocks Id System
/dev/sdb1 1 652 5237158+ 8e Linux LVM
卷组(VG)
由一个或多个物理卷pv组成,可以在vg上创建一个或多个LV
逻辑卷(LV)
类似物理磁盘分区。建立在VG之上,可以在LV上格式化建立文件系统
物理块(PE)
PV被划分为PE的的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元
逻辑块(LE)
LV被划分为被寻址的基本单元,同一个卷组中LE的大小和PE是相同,并一一对应。
Linux LVM在线添加新磁盘
1.添加一块磁盘到指定虚拟机,并执行到虚拟机上执行“ls /sys/class/scsi_host“确认主机总线号
[root@centos-5 ~]# ls /sys/class/scsi_host/
host0 host1 host2
2.重新扫描scsi总线来添加设备,并通过fdisk -l来验证是否添加成功
[root@centos-5 ~]# echo "- - -" >/sys/class/scsi_host/host0/scan
[root@centos-5 ~]# echo "- - -" >/sys/class/scsi_host/host1/scan
[root@centos-5 ~]# echo "- - -" >/sys/class/scsi_host/host2/scan
3.创建、调整磁盘分区类型
fdisk /dev/sda
m:帮助信息
p:显示当前硬件的分区,包括没保存的改的
n:创建新分区
d:删除一个分区
w:保存退出
q:不保存退出
t:修改分区类型
L:显示所支持的类型
t:调整分区类型
注:在分区设置分区大小的时候 +5G 为在之前的基础上增加5G 5G 为在之前的基础上增加至5G ,调整分区类型为:8e,并 w 保存
查看内核识别的分区表 cat /proc/partitions
创建的新分区保存后,不能马上让内核识别,需重读: partprobe == partx
4.创建PV
pvcreate /dev/sdc{1,2}
pvremove 删除pv上的元数据
pvscan 扫描当前系统中有多少pv
pvdisplay 显示每个pv的详细信息
pvmove 移动pv上的数据到其他盘 pvmove /dev/sdc1 一般在缩减vg的pv时候先一步做
pvs 查看
5.创建VG
vgcreate myvg /dev/sdc{1,2} 创建vg名为myvg,将pv(sdc1,sdc2)一同加入到卷组里
vgremove 删除vg卷组 如:vgremove myvg
vgextend 扩展增加 如:vgextend myvg /dev/sdc1
vgreduce 缩减vg 如:vgreduce myvg /dev/sdc1 缩减之前要移出pv的数据( pvmove /dev/sdc1)
vgdisplay 显示每个vg的详细信息
5.创建逻辑卷
lvcreate -n testlv -L 100M myvg 在卷组myvg上创建名为testlv的lv逻辑卷 大小为100M
6.格式化创建文件系统
mke2fs -j /dev/myvg/testlv -j:创建ext3烈性文件系统
7.挂在至/mnt目录上
mount /dev/myvg/testlv /mnt/
vim /etc/fstab
/dev/myvg/testlv /mnt ext3 defaults 0 0 实现开机自动挂载
mount
/dev/myvg/testlv -------链接至-------->/dev/mapper/myvg-testlv(真实路径)
LV空间容量调整
1、扩展逻辑卷 (扩充逻辑卷,先得扩展lv的物理边界,再扩展其lv内文件系统的逻辑边界)
扩展物理边界:lvextend -L [+]# /PATH/TO/LV
扩展逻辑边界:resize2fs -p /PATH/TO/LV -p 参照物理边界物理边界有多大逻辑边界就扩多大 针对文件系统格式为(ext2 ext3 ext4)
xfs_growfs /PATH/TO/LV 针对文件系统格式为(xfs) 通过df -lhT可以看出分区的文件系统
lvextend -L +100M /dev/mapper/myvg-testlv
resize2fs -p /dev/mapper/myvg-testlv
xfs_growfs /dev/mapper/rhel-root
2、缩减逻辑卷
注意:不能在线缩减,得先卸载
(1) df -lh 查看分区目前使用状况,确保缩减后的空间大小能存储原有的所有数据
(2) 卸载 umount /dev/myvg/testlv
(3) e2fsck -f /dev/myvg/testlv 在缩减之前应该先强行检查文件,以确保文件系统处于一致性的状态
(4) 缩减逻辑边界 resize2fs /PATH/TO/lV 3G
(5)缩减物理边界 lvreduce -L 3G /PATH/TO/lV 缩减至3G
(6)重新挂载 mount -a