Linux常用命令之--逻辑卷

Linux常用命令之--逻辑卷,第1张

每个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变小了,缩小成功

提示很明显了,你那个目录并没有挂载任何设备。

是不是已经卸载过了,或者你打错了。记得缺省情况下,/dev下面是没有aa这个目录的。

又或者,你的/dev/aa/6000F4B0000000000061012e144bec9 本身就是一个设备。

如果是这样,那你应该是去卸载挂载这个设备的目录才对啊,怎么直接对设备进行卸载了?

哦,我想是你的概念还不清晰。

/dev目录下的,是设备节点。只要你的设备还插在电脑上,这个目录下的节点就不可能删掉。

挂载跟设备节点是两码事。设备接到电脑上,内核会在/dev目录下为这个设备生成一个设备节点。而此时,设备并没有被挂载,只是做好了被挂载的准备。此时,如果要挂载这个节点,一般就在/mnt或者/media目录下创建一个用于挂载设备的目录,然后再用mount命令挂载设备。

这下清楚了吗?

所以,你直接对设备节点进行卸载,肯定是不行的。要想你所谓的“卸载”,那只有一个办法:拨掉设备

1. 添加逻辑卷

1) 添加文件系统卷。例如:在vg01上添加一个200M的文件系统卷,卷名为data,mount到目录 /sample 上。

A. 创建逻辑卷,在系统提示符下键入命令:

" lvcreate -L 200 -n data /dev/vg01"

B. 在逻辑卷data上创建文件系统:

" newfs -F hfs /dev/vg01/rdata"

注:如果是vxfs文件系统,则用" newfs -F vxfs

/dev/vg01/rdata"

C. 创建目录/sample,并将逻辑卷data mount 到/sample.

" mkdir sample"

" mount /dev/vg01/data /sample"

D. 用bdf命令,将会看到/dev/vg01/data mount 到 /sample上。

2) 添加非文件系统卷(raw data volume)。例同上。

A. 创建逻辑卷,在系统提示符下键入命令:

" lvcreate -L 200 -n data /dev/vg01"

B. 创建目录/sample,并将逻辑卷data mount 到/sample.

" mkdir sample"

" mount /dev/vg01/data /sample"

C. 用bdf命令,将会看到/dev/vg01/data mount 到 /sample上。

2. 删除逻辑卷

例如:删除 vg01 中名为 data 的逻辑卷,mount 到/sample.

1) 卸载所要删除的逻辑卷:

A. 首先用 umount 命令将逻辑卷 data 从/sample上卸载下来:

" umount /sample"

B. 若系统提示设备忙,不能卸载;则在根目录系统提示符下,键入以

下命令,进入单用户:

" shutdown -y 0"

在单用户下,先将所有逻辑卷mount上,键入命令:

" mount -a "

用bdf 命令看该逻辑卷是否已经mount上,如果mount上,键入以下命令:

" umount /sample"

2) 删除逻辑卷 /dev/vg01/data ,用命令:

" lvremove /dev/vg01/data"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8735187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存