5fffe6ce032533754.jpg_fo742.png

例如:

fdisk /dev/sdc ———— 创建物理卷并修改ID 为8e
pvcreate /dev/sdc1
vgcreate data_vg /dev/sdc1
lvcreate -L 1022G -n data_lv data_vg
mkfs.xfs  /dev/data_vg/data_lv
mount /dev/data_vg/data_lv /opt
blkid |grep /dev/mapper/data_vg-data_lv #UUID=9e56f4eb-668d-41ea-b79a-daa965d7e44a
echo "UUID=9e56f4eb-668d-41ea-b79a-daa965d7e44a /opt                    xfs     defaults        0 0" >> /etc/fstab

卷组volume group (VG)
卷组是LVM 中最高抽象层,是由一个或多个物理卷所组成的存储器池。
物理卷physical volume (PV)
典型的物理卷是硬盘分区,但也可以是整个硬盘或已创建的Software RAID 卷。
物理块physical extent (PE)
物理卷按大小相等的“块”为单位存储,块的大小与卷组中逻辑卷块的大小相同。
逻辑块logical extent (LE)
逻辑卷按“块”为单位存储,在一卷组中的所有逻辑卷的块大小是相同的。
逻辑卷logical volume (LV)
逻辑卷相当于非LVM 系统中的分区,它在卷组上建立,是一个标准的块设备,可以在其上建立文件系统
线性映射
线性映射-把一定范围的物理块按顺序分配给逻辑卷,如LV 的LE 1-99 映射到PV1,LE 100-347 映射到PV2。
交错模式
交错模式-将把逻辑块交错映射到不同的物理卷中,如LV 的LE 1 映射为PV1 的PE1,LE 2 映射为PV2 的
PE1,LE 3 映射为PV1 的PE2.。这种方式可以提高逻辑卷的性能,但是采用这种方式建立的逻辑卷将不能
在它们所在的物理卷中扩展。

第一步创建物理文件系统
首先要创建文件系统
命令: fdisk /dev/sdb ———— 创建物理卷并修改ID 为8e

第二步初始化物理卷为PV
创建PV,添加几个文件系统,然后再添加一个RAID 文件系统
命令:pvcreate /dev/sdb{5,6,7,8,9} ———— 添加文件系统到PV
pvcreate /dev/md0 ———— 添加raid 文件系统到PV
pvs,pvdisplay ———— 查看系统现有PV

第三步创建卷组VG
添加PV 到卷组,创建VG 卷组
命令:vgcreate [-s=16m] test_vg /dev/sdk1 /dev/sdl1
指定PE 大小VG 卷组名要添加到VG 中的PV
使用man看一下使用方法
命令:
vgcreate vg0 /dev/sdb{5,6,7,8,9} /dev/md0
vgdisplay
vgs

注释:[-s=16m] 里面的内容可选,修改默认的PE 单元大小,默认为4M,最大一个卷组是256G,修改默
认单元为16M,最大的卷组单元是1024G
命令:vgdisplay testvg | grep "Total PE"
看看默认的PE 大小为4M,PV 个数为6 个,VG 的总大小为6.7.G

其他VG 卷组的一些操作
激活VG
在被激活之前,VG 与LV 是无法访问的
用man看一下
命令:vgchange -a y vg0 ———— 激活vg0 卷组
当不再使用VG 时,休眠了vg0 卷组
命令:vgchange -a n vg0 ———— 使之不再可用

移除VG
在移除一卷组前应确认卷组中不再有逻辑卷
命令:vgchange -a n vg0 ———— 休眠卷组
vgremove vg0 ———— 移除该卷组

为VG 增加新PV
当卷组空间不足时,可以加入新的物理卷来扩大VG 卷组容量,这时可用命令vgextend
pvcreate /dev/sdb15 ———— 初始化sdb15 为PV
vgextend vg0 /dev/sdb15 ———— 把sdb15 加入到卷组vg0 中
其中/dev/sdb15 是新的PV,当然在这之前,它应使用pvcreate 初始化

从VG 移除PV
在移除PV 之前,应确认该PV 没用被LV 使用
命令:pvdisplay /dev/sdb15 ———— 查看pv 有没有使用
如这个PV 仍在被使用,在确认它未被使用后,可用命令vgreduce 把它从VG 中删除
命令:vgreduce vg0 /dev/sdb15 ———— 从vg 中删除pv
如果所在PV 上有数据,则应把数据传移到其它PV 上
注释:若要把一个PV 从VG 中移除,应首先把其上所有活动PE 中的数据转移到其它PV 上,而新的PV 必
须是本VG 的一部分,有足够的空间,如要把PV1:/dev/md0 上的数据移到PV2:/dev/sdb6 上可用,建议在
转移数据之前备份LV 中的数据,如果在该PV 之上的LV 采用交错方式存放,则这个转移过程不能被打断。
命令:pvmove /dev/md0 /dev/sdb6

第四步创建LV 逻辑卷
lvcreate 命令的常用方法和参数:
lvcreate [options] -n 逻辑卷名卷组名[PV1...]
-i Stripes :采用交错(striped)方式创建LV,其中Stripes 指卷组中PV 的数量。
-I Stripe_size :采用交错方式时采用的块大小(单位为KB),Stripe_size 必须为2 的指数:2N ,
N=2,3...9
-l LEs :指定LV 的逻辑块数。
-L size :指定LV 的大小,其后可以用K、M、G 表示KB、MB、GB。
-s :创建一已存在LV 的snapshot 卷。
-n name :为LV 指定名称。
看看man 帮助如何创建LV
在VG 卷组上创建LV 逻辑卷
命令:lvcreate -L 500M -n lv0 vg0
指定LV 大小LV 名称卷组VG 名称
查看整个卷组VG 总大小6.7G,剩余的空间为6.21G
命令:vgs

格式化LV
命令:mkfs.ext3 /dev/vg0/lv0
查看一个lv0 块设备

删除LV
为删除一个逻辑卷,必须首先从系统卸载其上的文件系统,然后可用lvremove 删除,如:
umount /lv1 先卸载LV 文件系统
lvremove /dev/vg0/lv1 移除lv1 逻辑卷
挂载lv0 并创建文件

扩大LV
步骤如下:
首先增加逻辑卷容量(lvextend)
在线(脱机)增加ext3 文件系统(resize2fs)
查看man 帮助
查看lv 扩展后的VG 卷组剩余空间
首先增加逻辑卷容量(lvextend)
指定扩容后的尺寸: lvextend -L 2G /dev/vg0/lv0
将扩大逻辑卷lv0 的容量为2GB。
指定要增加的尺寸: lvextend -L +512M /dev/vg0/lv0
将为LV v0 再增大容量1GB 至1.5GB。
注释:为LV 扩容的一个前提是,LV 所在的VG 有足够的空闲存储空间可用。
在为LV 扩容之后,应同时为LV 之上的文件系统扩容,使二者相匹配。对不同的文件系统有相对应的扩容
方法。
扩充了LV 后,重新挂载,查看大小,看到当前的LV 大小并没有增大
注释:ext2/ext3 除非内核已有ext2online 补丁,否则在改变ext2/ext3 文件系统的大小时应卸载它
在线(脱机)增加ext3 文件系统(resize2fs)
再次查看的时候可以看到容量大小已经是扩展后的大小了

缩小LV
步骤如下:
卸载文件系统,使其脱机进行操作(umount)
检查文件系统(e2fsck)
缩小文件系统(resize2fs),指定缩小后的容量
缩小LV,减少卷容量(lvreduce),指定缩小后的容量
使用man 帮助看一看lvreduce 的用法
注释:逻辑卷可扩展同样也可缩小,但应在缩小LV 之前首先减小文件系统,否则将可能导致数据丢失。
下面来缩小lv0 的容量,现容量为800M 容量,我要缩小到500M
卸载文件系统,使其脱机进行操作(umount)
命令:umount /lv0
检查文件系统(e2fsck)
命令:e2fsck -f /dev/vg0/lv0
缩小文件系统(resize2fs)
命令:resize2fs /dev/vg0/lv0 500M
缩小LV,减少卷容量(lvreduce)
命令:lvreduce -L 500M /dev/vg0/lv0
挂载lv0 文件系统并查看其大小

系统启动激活
在RHEL 5 以后都会自动激活LVM,
如果没有激活的话请做如下操作:
系统启动/关闭
"为使系统启动时可自动激活并使用LVM,可将以下几行添加到启动rc 脚本中:
/sbin/vgscan
/sbin/vgchange -a y
这些行将浏览所有可用的卷组并激活它们。要注意的是,它们应在安装卷组上的文件系统操作之前被执行,
否则将无法正常安装文件系统。
"在系统关机时,要关闭LVM,这可将以下这行添加到关机rc 脚本中,并确保它在卸装了所有文件系统后
执行:/sbin/vgchange -a n

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code