LVM
logical volume manager
逻辑 卷 管理 逻辑卷管理
(用做好的raid再做LVM不仅仅提高了磁盘的性能还能实现在线弹性调整分区大小)
lvm的基本概念:
PV::physical volume,物理卷。磁盘、分区、raid 给予物理卷属性-->物理卷
VG: volume group,卷组。由物理卷构建出来的一块大容量磁盘。
LV: logical volume,逻辑卷。是在卷组上划分出来的一个逻辑上存在的分区。一个卷组可以划分一个逻辑卷,也可以划分多个逻辑卷。
为什么要用lvm:
可以在线弹性调整分区大小
实验前先查看系统有没有安装lvm
rpm -qa|grep lvm
yum -y install system-config-lvm
pv------>vg------>lv
制作PV(物理卷):
1、准备磁盘(格式化),raid(只create后未格式化)
2、将磁盘制作成物理卷(pv)
pvcreate /dev/sdb{5,6,7,8} or /dev/md5 #pvcreate /dev/sdb1
pvscan //扫描系统上存在的pv,简要的pv信息
pvdisplay //显示pv信息,详细的pv信息
pvremove //移除pv物理卷属性,把物理卷变成一个磁盘
pvmove //将某个pv中的数据移动到另一个pv上 pvmove /dev/sdb7 /dev/sdb8
查看pv
pvs
3、创建卷组 vg
vgcreate [-s PESIZE] vgname pvname #vgcreate vgtest /dev/sdb1
root@localhost ~]# vgcreate -s 16m vgname /dev/sdb{5,6,7} ( -s 16m 定义pe块的大小)
vgscan
vgdisplay
vgremove //移除vg
vgextend //扩展
vgreduce //缩小vg 从vg中减去pv
查看vg
vgs
4、创建lv
lvcreate -L -n lvname vgname #lvcreate -L +8G -n lvtest vgtest
-l
-L:直接指定大小
-l:指定分配多少pe块给lv 同样是用来指定lv的容量大小
-n:指定lv的名称
查看lv
lvs
[root@localhost ~]# lvcreate -L 100M -n lvname vgname
[root@localhost ~]# lvcreate -l 10 -n lvname vgname
lvscan
lvdisplay
lvremove
lvextend
lvreduce
lvresize //调整大小,可以调大,可以调小 可以取代lvextend lvreduce(lvextend和lvresize用法相同)
5、格式化挂载--》开机自动挂载
mkfs -t ext4 /dev/vgname/lvname #mkfs.ext4 /dev/mapper/vgtest-lvtest
vim /etc/fstab
...
6、往lv中拷贝点东西
cp -pr ~/install.log /etc /lvm
在线扩大lv容量:
首先来查看vg中有没有剩余的pe块:(如果没有剩余pe块可增加卷组容量)
扩大卷组--往vg中添加pv
增加vg的大小
pvcreate /dev/sdb8 //增加物理卷pv
pvscan
pvdisplay
vgextend vgname /dev/sdb8 //扩大vg空间,把/dev/sdb8这个pv加入到vgname这个vg中
vgdisplay
pvdisplay /dev/sdb8
增加lv的容量
lvdisplay
lvresize -L +100M /dev/vgname/lvname //扩大lv的容量,用-L直接指定扩大多大空间
lvresize -l +10 /dev/vgname/lvname2 //...,用-l指定分配多少pe块给lv
lvextend -L +100M /dev/vgname/lvname
lvextend -l +10 /dev/vgname/lvname
lvdisplay
df -h //查看文件系统,发现文件系统大小没有变化
resize2fs /dev/vgname/lvname //格式化新增加的那部分pe块,(及扩大的lv部分)以真正增加文件系统的容量
du -sh /lvm/* //检验刚才在线增加容量有没有损坏数据
缩小lv:lvreduce -L -100M //基本不用
1.准备号格式化后的rai5(没有挂载)
2.创建pv
pvcreate /dev/md5
3.创建vg
vgcreate -s 8m dannyvg /dev/md5
4.创建lv
lvcreate -L 2048M dannylv dannyvg
5.格式化lv
mkfs -t ext4 -b 1024 /dev/dannyvg/dannylv
6.创建挂载点并挂载
mkdir /dannylv
mount /dev/dannyvg/dannylv /dannylv
7.缩减lv大小
lvreduce -L -1024M /dev/dannyvg/dannylv
lvdisplay