第四十一讲——LVM管理 本文共有5078个字,关键词: 我们对于LVM2的管理层次为 管理物理卷PV 管理卷组 VG 管理逻辑卷 LV 首先是物理卷的管理 pvcreate 创建物理卷 pvcreat /dev/sd{a,b,c,d} 创建物理卷(pv) pvremove 抹除物理卷元数据 pvscan 扫描物理卷 pvscan 查看当前系统上一共有多少个pv我们将一个主机的pv拆除加入其他主机上时,我们需要先扫描其元数据,先识别成pv类型。 pvdisplay、pvs 查看物理卷 pvs查看当前系统的所有pv(简单查看),可以查看pv属于哪一个VG pvdisplay 查看pv的详细信息 当一个pv还没有加入VG(卷组)的时候,是没有PE大小的,加入某个VG后才会拥有PE的大小。 pvdisplay 也可以指定某个pv查看其信息 pvdisplay /dev/sd[a-z] pvmove 移动数据(将一个物理卷的数据移动到其他物理卷上) 用于做逻辑卷的底层设备类型是非常独特的,逻辑卷的底层分区类型为8e,我们之前讲的RAID分区类型为fd。 fdisk最多只能创建15个分区,这是fdisk本身的限制。 我们要创建卷组(VG)所需要的命令以vg开头 vgcreate 创建卷组 vgcreate vg_name /dev/sd[a-z] 指定卷组名称,和其包含的pv vgcreate VG_NMAE /PATH/TO/PV 加入VG中的pv,PE大小默认为4.0MB, -s 指定PE的大小,支持的单位有{B/K/M/G/T/P/E} PE physical extend size 物理盘区大小 vgremove 移除卷组 vgremove VG_NAME 移除一个VG,当我们在VG上创建了LV,并且存储了数据,VG是不能随意删除的。 vgextend 扩展卷组,扩展就是加入新的pv 扩展卷组就给卷组增加新的pv,我们先使用pvcreate /dev/sd[a-z] 创建一个pv vgextend VG_NAME /dev/sd[a-z] 将新的pv加入卷组。pv在加入一个人卷组时其PE为VG创建时指定的大小,PE大小在VG创建好之后是不能改变的。 vgreduce 缩减卷组,缩减卷组就是移除pv 我们要缩减一个VG时,先要将pv上的数据转移到其他pv上 pvremove /dev/sd[a-z](需要移除的pv)数据会转移到其他pv上,转移完数据之后我们就能够从pv中移除pv。 vgreduce VG_NAME /dev/sd[a-z] 从某一个卷组中移除哪个pv。 使用pvremove抹除其中的元数据(从VG中移除之后)。再使用pvs等命令查看就没有移除的物理卷的信息了。 vgs 查看卷组信息 vgdisplay 查看卷组详细信息 vgscan 扫描卷组 创建LV lvcreate 创建一个逻辑卷 lvremove 移除逻辑卷 lvextend 扩展逻辑卷 lvreduce 缩减逻辑卷 lvresize 改变逻辑卷大小 lvs 查看lv卷 lvdisplay 查看lv卷的详细信息 lvcreate –n lv_name –L #M/G(指定空间大小) vg_name(指定卷组名称) -n 指定lv(逻辑卷名称) -L 指定占用空间大小(常用) -l 指定占用多少个PE(盘区) 至此,我们已经创建好了一个逻辑卷(lv)。可以正常格式化并挂载使用。 mke2fs –j /dev/VG_NAME/LV_NAME mount /dev/VG_NAME/LV_NAME /mnt 挂载到/mnt目录。 挂载完成后使用fdisk –l 命令查看可以发现实际的挂载源为/dev/mapper/VG_MAME-LV_NAME,所以/dev/mapper下才是真正意义上的设备文件,我们引用的只是一个连接。 逻辑卷的移除: lvremove /dev/VG_NAME/LV_NAME(指定逻辑卷的路径) 我们需要注意的是,正在使用中的逻辑卷是不能移除的,得先卸载,再lvremove 扩展分区(LV逻辑卷) 我们知道,要想使用文件系统需要先划分分区。文件系统本身边界是在物理空间边界内定义的,文件系统中定义了我们一共可以在里面使用多大的空间件存储数据。 创建分区实际上就是创建物理边界的过程,在物理边界的内部,我们创建了文件系统,文件系统的边界我们称为逻辑边界,所以到底能够存储多少数据取决于物理边界的大小,还取决于逻辑边界的大小,实际上逻辑边界是紧靠在物理边界的大小上创建的,他们基本上是一样的。 我们知道逻辑分区有物理边界,还有逻辑边界,我们扩展逻辑边界需要先扩展物理边界,而后再扩展逻辑边界(即逻辑边界是附着在物理边界上的) 在LVM中,逻辑卷相当于分区,也就是物理边界,所以要扩展文件系统,我们就需要先扩展逻辑卷边界,然而逻辑卷下还有卷组,因此我们先需要扩展卷组才能对逻辑卷进行扩展。扩展逻辑卷的命令: lvextend –L +#(+5G增加 5G) /PATH/TO/LV_NAME 扩展逻辑卷边界 resize2fs /PATH/TO/LV_NAME #G(5G 扩展到5G) 扩展文件系统边界 resize2fs -p /PATH/TO/LV_NAME 扩展文件系统边界 -p 能扩展到多大就扩展到多大。 修复逻辑边界,若是逻辑边界超出物理边界很可能导致文件系统的崩溃。事实上,我们在扩展逻辑边界时应当先检查文件系统。 e2fsck –f /dev/VG_NAME/LV_NAME 强行进行文件系统检测 其实扩展的风险是很小的,我们需要确定的是扩展逻辑卷(lv)时应确定VG上有足够的空闲空间。 如果文件系统被挂载处于使用当中,不需要卸载,在线就能够扩展。 缩减分区(lv逻辑卷) 首先,缩减逻辑卷的风险是很大的,很可能造成数据的损坏,一定不要在线进行缩减! 缩减需要先卸载 还得保证缩减后的空间能够保存所有的数据。 为了足够可靠,在缩减之前应当强行检查文件系统,以确保文件系统处于一致性状态。 确保没有问题了才可以使用。 resize2fs /PATH/TO/LV_NAME #G(如60G,为缩减后的大小)先缩减文件系统边界。 lvreduce -#G /PATH/TO/LV_NAME 缩减逻辑卷(lv)边界 再缩减VG(将pv中的数据转存到其他pv后,将pv移除卷组) pvmove /PATH/TO/PV 将pv中的数据移动至其他pv vgreduce /PATH/TO/PV 移除空闲的pv pvremove /PATH/TO/PV 清除pv的元数据。 清除pv信息(元数据) 总结一下缩减逻辑卷边界 先使用 df –lh 查看lv使用情况,以确保缩减后的空间能容下原有数据。 卸载umount已经挂载的盘 强行进行文件系统的检测,没有问题则可以缩减逻辑边界 e2fsck -f /PATH/TO/LV_NAME resize2fs /PATH/TO/LV_NAME #G(缩减后的大小) 缩减物理边界 lvreduce –L -#G /PATH/TO/LV_NAME 缩减逻辑卷#G大小空间,当缩减完成没有问题后,重新挂载即可。 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 几人行 (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 给自己讲linux 2017-01-10 评论 1524 次浏览