每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。如果估计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区
逻辑卷管理器LVM(Logicl Volume Manager),通过使用逻辑卷管理器对硬盘存储设备进行管理,可以实现硬盘空间的动态划分和调整,而且可以将零碎的空间进行整合
• 物理卷(PV-Physical Volume)
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘
• 卷组(VG-Volumne Group)
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组
• 逻辑卷(LV-Logical Volume)
逻辑卷建立在卷组之上,卷中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组
逻辑卷管理器和是主分区还是逻辑分区没有关系
vgdisplay 里的PE Size是指逻辑卷的最小单位。假设PE Size是4M;比如我向里写东西。我一个文件可能只占用1B的容量,但是我先占上4M,其他的也是,不足4M我也先占上4M。等到每个块都用了,但是每个块都有剩余位置的时候,会把每个区的剩余位置都拼凑一下,以供使用。但是只要还有没被占用的块,都不会使用用过的块。逻辑卷大小为这个PE Size的整数倍
处在它所在的文件夹的时候是无法卸载的
我现在想创建两个卷组,vg1和vg2。sdc1和sdc2给vg1,sdc3和sdc4给vg2
修改卷组属性,用来设置卷组是否处于活动状态,活跃状态的时候卷组无法被删除,非活动状态的卷组才能被删除掉。VG Status:resizable是表示可被调整大小的状态。lvremove时有可能因为逻辑卷里东西过多导致删除逻辑卷的时候假删除,即逻辑卷没了,但是里面东西还在,这时卷组觉得它里面还有东西,就会处于活跃状态,这时需要↓
接下来resize1要用来做块(逻辑卷)的放大,resize2要用来做块的缩小。设备放大时不论是挂载状态下或非挂载状态下都可以做放大,即在线放大。但是缩小的话设备要是非挂载的状态,即离线缩小
df -lh
发现size大小变小了。之前给的resize1是800M,resize2是784M,这里的大小表示文件系统(filesystem)大小(即这个设备能存多少东西),剩下的容量mkfs,挂载的时候都会损耗一定的容量大小。文件系统大小不会随着块的变大或缩小而改变,需要手动才能改变文件系统大小。
❉ 放大要先放大块的大小,再放大文件系统的大小
lvresize -L +200M /dev/vg3/resize1 放大逻辑卷
如果不带+,会出现warning,+时是在原有基础之上加200M,不加+的话就是将现有逻辑卷的大小调整成200M。如果比之前设置的逻辑卷小的话就证明是要将其缩小,会造成数据丢失
resize2fs /dev/vg3/resize1 调整文件系统大小,但是不会管你到底是放大还是缩小,就是将文件系统调整到它可以变大的最大程度
df -lh 看设备容量变大了
❉ 缩小的时候要先将文件系统缩小,再缩小逻辑卷的大小
umount /mnt/rs2/
resize2fs /dev/vg3/resize2 700M
出现提示 [请先输入e2fsck -f /dev/vg3/resize2 命令],将处于多个块当中的内容整理到一起,以便进行缩小。但是也不能百分百保证数据不丢失
e2fsck -f /dev/vg3/resize2
resize2fs /dev/vg3/resize2 700M
lvresize -L 700M /dev/vg3/resize2
mount /dev/vg3/resize2 /mnt/rs2/ 重新挂载回来
df -lh 看系统里设备和文件系统挂载的使用情况
发现size变小了,缩小成功
在Linux磁盘 *** 作中,如果磁盘写满,那么就需要对磁盘进行扩容。把数据写入到更大的磁盘中,这个工作量是非常大的,而且非常容易出现错误,危险性很高,那么我们就可以使用逻辑卷管理器(LVM)来对磁盘进行管理扩容。这样就可以很轻松的,没有危险的对数据进行移动。我们来看看LVM比传统硬盘管理的优点:
1.灵活性容量:允许多个磁盘或分区作为一个逻辑卷。
2.可以伸缩的存储池:不必格式化,用命令可以直接修改逻辑卷。
3.在线数据的分配:可以在线移动数据,可以热插拔硬盘更换磁盘。
4.设备命名方便。
5.镜像卷:很方便的做数据镜像。
6.卷快照:快照会把逻辑卷的全部内容保存。
那么逻辑卷要怎么来创建呢,我们做如下步骤:
1.在创建逻辑卷前,必须要有一块物理磁盘做物理卷(PV)。
2.由一个或多个物理卷组成一个存储池,我们叫他卷组(VG)。
3.根据卷组中的空闲物理空间,建立逻辑卷(LV)。
上面3步时创建逻辑卷的具体思路。下面我们具体 *** 作:
创建逻辑卷步骤:
1.使用fdisk创建一个物理分区,t 选项设置类型为:linuxLVM
2.使用partprobe向内核注册新的分区。
3.创建物理卷pvcreate /dev/sdb1(需要创建的硬盘分区名,根据自己服务器查找)
4.创建卷组 vgcreate 卷组名 /dev/sdb1
5.创建逻辑卷 lvcreate -n 逻辑卷名 -L 卷组大小 卷组名
lvcreate -n abc -L 10G myvg
6.创建文件系统 mkfs.ext4 /dev/卷组名/逻辑卷名
mkfs.ext4 /dev/myvg/abc
7.创建永久挂载点(写入文件/etc/fstab),这一步就不在赘述,可以查阅我前一文章,有详细记载。
这样,我们的逻辑卷就创建成功了。
那我们怎么查看物理卷,卷组,逻辑卷呢
查看物理卷信息:pvdisplay /dev/sdb1
查看卷组信息:vgdisplay myvg
查看逻辑卷信息:lvdisplay /dev/myvg/abc
逻辑卷的扩容
如果在建立的卷组还有空间,就可以给逻辑卷扩容。那怎么做呢。
1.lvextend -L +10G /dev/myvg/abc
给逻辑卷 abc 扩容10G。减少容量直接把 + 变为 - 即可。
2.resize2fs /dev/myvg/abc针对ext4文件
xfs_growfs /dev/myvg/abc针对xfs文件
使扩容生效。
如果卷组空间不够,需先增加卷组空间,在对逻辑卷扩容。
1.准备物理磁盘 fdisk ,partprobe ,mkfs.ext4
2.创建物理卷
3.给原来的卷组增加物理卷 vgextend myvg /dev/sdc1,然后vgdiaplay
创建完成,那么我们需要删除逻辑卷,怎么做呢。
1.取消挂载,同时删除 /etc/fstab 文件下的挂载内容。
2.删除逻辑卷 lvremove /dev/myvg/abc
3.删除卷组 vgremove myvg
4.删除物理卷 pvremove /dev/sdb1
步骤和创建相反。
Linux下磁盘管理的逻辑卷就总结完毕。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)