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

逻辑卷

LVM(逻辑卷)的产生是因为传统的分区一旦分区好后就无法在线扩充空间,也存在一些工具能实现在线扩充空间但是还是会面临数据损坏的风险;传统的分区当分区空间不足时,一般的解决办法是再创建一个更大的分区将原分区卸载然后将数据拷贝到新分区,但是在企业的生产系统往往不允许停机或者允许停机的时间很短,LVM就能很好的解决在线扩充空间的问题,而且不会对数据造成影响,LVM还能通过快照在备份的过程中保证日志文件和表空间文件在同一时间点的一致性。《linux 就该这么学》

在LVM中PE(Physical Extend)是卷的最小单位,默认4M大小,就像我们的数据是以页的形式存储一样,卷就是以PE的形式存储。PV(Physical Volume)是物理卷,如果要使用逻辑卷,首先第一步 *** 作就是将物理磁盘或者物理分区格式化成PV,格式化之后PV就可以为逻辑卷提供PE了。VG(Volume Group)是卷组,VG就是将很多PE组合在一起生成一个卷组,当然这里的PE是可以跨磁盘的,如果当前服务器磁盘空间不足就可以增加一个新磁盘对当前系统不会产生任何影响。LV(Logical Volume)是逻辑卷,逻辑卷最终是给用户使用的,前面几个都是为创建逻辑卷做的准备,创建逻辑卷的大小只要不超过VG剩余空间就可以。

文件系统

当硬盘分区被创建完成之后,还并不能直接挂载到目录上存储文件,需要选择合适的文件系统进行格式化。常见的分区类型有FAT32、FAT16、NTFS、HP-UX等,而专供Linux使用的主流的一些分区有ext2/3/4、physical volume (LVM) 、softwareRAID、swap、vfat、xfs等。其中:

1、ext2/3/4:是适合Linux的文件系统类型,由于ext3文件系统多了日志记录功能,因此系统恢复起来更加快速,ext4是ext3的升级,效率更加高,因此建议使用默认类型ext4类型,而不要使用ext2/3;

2、physical volume (LVM):这是一种d性调整文件系统大小的机制,即可以让文件系统变大或变小,而不改变原文件数据的内容,功能不错,但性能不佳。

3、softwareRAID:利用Linux系统的特性,用软件仿真出磁盘阵列功能。

4、swap:就是内存交换空间。由于swap并不会使用到目录树的挂载,因此用swap就不需要指定挂载点。

5、vfat:同时被Linux与windows所支持的文件系统类型。如果主机硬盘同事存在windows和linux两种 *** 作系统,为了进行数据交换,可以使用该文件系统。

6、xfs:也是一个文件系统类型,在centos7中将被作为默认的文件系统类型,替换ext4。

根据前面介绍的分区命令就可以创建分区了,不过需要注意,我们要为某些特定挂载点设置合适的分区大小。CentOS 7 (参考 Red Hat Ent erprise Linux 7 安装手册)至少需要为 /boot 、 / 、 /home 、 swap 这四个挂载点配置分区。下面是这四个挂载点分区大小建议:

下面是可选的挂载点分区:

为各挂载目录创建好分区之后,就可以为其创建文件系统了。

在 Windows 环境下,格式化的 *** 作相对简单。通常的 *** 作步骤是:先打开资源管理器,接着在希望被执行格式化的盘符图标上右击,然后选择“格式化”,再按照提示 *** 作即可。也可以选择“快速格式化”,但要求分区没有坏道。需要注意的是:对硬盘执行格式化 *** 作时,用户需要拥有系统管理员权限(仅限于 Windows Vista 以及此后推出的作业系统)。在 Windows 环境中,除了可以使用图形化的 *** 作界面执行格式化 *** 作之外,也可以在命令提示字符中使用 Diskpart 指令 (仅限于 Windows 2000 及以后的作业系统,包含 Windows PE)进行 *** 作。

在 Unix/Linux 环境下,通常使用命令工具执行格式化 *** 作。需要注意的是:对硬盘执行格式化 *** 作时,用户需要拥有超级用户权限。创建文件系统的常用命令如下:

并非所有文件系统的命令工具都已经默认安装了。要想知道某个文件系统的命令工具是否可用,可以使用 type 命令。

每个文件系统命令都有很多命令行选项,允许你定制如何在分区上创建文件系统。要查看所有可用的命令行选项,可用 man 命令来显示该文件系统命令的手册页面。所有的文件系统命令都允许通过不带选项的简单命令来创建一个默认的文件系统。

为分区创建了文件系统之后,下一步是将它挂载到虚拟目录下的某个挂载点,这样就可以将数据存储在新文件系统中了。你可以将新文件系统通过 mount 命令挂载到虚拟目录中需要额外空间的任何位置。

现在你可以在新分区中保存新文件和目录了! 这种挂载文件系统的方法只能临时挂载文件系统。当重启 Linux 系统时,文件系统并不会自动挂载。要强制 Linux 在启动时自动挂载新的文件系统,可以将其添加到 /etc/fstab 文件。

如果用标准分区在硬盘上创建了文件系统,为已有文件系统添加额外的空间多少是一种痛苦的体验。你只能在同一个物理硬盘的可用空间范围内调整分区大小。如果硬盘上没有地方了,你就必须弄一个更大的硬盘,然后手动将已有的文件系统移动到新的硬盘上。这时候就可以通过将另外一个硬盘上的分区加入已有文件系统,动态地添加存储空间。 Linux 逻辑卷管理器(logical volume manager, LVM)软件包正好可以用来做这个。它可以让你在无需重建整个文件系统的情况下,轻松地管理磁盘空间。

逻辑卷管理的核心在于如何处理安装在系统上的硬盘分区。在逻辑卷管理的世界里,硬盘称作 物理卷(physical volume, PV) 。每个物理卷都会映射到硬盘上特定的物理分区。多个物理卷集中在一起可以形成一个 卷组(volume group, VG) 。逻辑卷管理系统 将卷组视为一个物理硬盘 ,但事实上卷组可能是由分布在多个物理硬盘上的多个物理分区组成的。 卷组提供了一个创建逻辑分区的平台,而这些逻辑分区则包含了文件系统。 整个结构中的最后一层是逻辑卷(logical volume, LV) 逻辑卷为 Linux 提供了创建文件系统的分区环境,作用类似于到目前为止我们一直在探讨的 Linux 中的物理硬盘分区。Linux 系统将逻辑卷视为物理分区。 每个逻辑卷可以被格式化成某种文件系统,然后挂载到虚拟目录中某个特定位置 。逻辑卷由 PE (physical extents,即物理区段)组成,PE 为硬盘可供指派给逻辑卷的最小单位(通常为4MB)。

注意,上图中的第三个物理硬盘有一个未使用的分区。通过逻辑卷管理,你随后可以轻松地将这个未使用分区分配到已有卷组:要么用它创建一个新的逻辑卷,要么在需要更多空间时用它来扩展已有的逻辑卷。 类似地,如果你给系统添加了一块硬盘,逻辑卷管理系统允许你将它添加到已有卷组,为某个已有的卷组创建更多空间,或是创建一个可用来挂载的新逻辑卷。这种扩展文件系统的方法要好用得多!

优点

比起正常的硬盘分区管理,LVM 更富于d性:

这些优点使得 LVM 对服务器的管理非常有用,对于桌面系统管理的帮助则没有那么显著,你需要根据实际情况进行取舍。

缺点

Linux LVM 是由 Heinz Mauelshagen 开发的,于 1998年 发布到了 Linux 社区。它允许你在 Linux 上用简单的命令行命令管理一个完整的逻辑卷管理环境。 Linux LVM 有两个可用的版本。

大部分采用 2.6 或更高内核版本的现代 Linux 发行版都提供对 LVM2 的支持。除了标准的逻辑卷管理功能外, LVM2 还提供了另外一些好用的功能。

Linux LVM 包只提供了命令行程序来创建和管理逻辑卷管理系统中所有组件。有些 Linux 发行版则包含了命令行命令对应的图形化前端,但为了完全控制你的 LVM 环境,最好习惯直接使用这些命令。

此外,还可以使用以下命令来 *** 作逻辑卷:

在手动增加或减小逻辑卷的大小时,要特别小心。逻辑卷中的文件系统需要手动修整来处理大小上的改变。大多数文件系统都包含了能够重新格式化文件系统的命令行程序,比如用于 ext2、 ext3 和 ext4 文件系统的 resize2fs 程序。

第一种方法:直接增大5G,写“+5G”

第二种方法:原来是10G,增大5G就是“15G”

动态扩容示例:


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

原文地址: https://outofmemory.cn/yw/8490260.html

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

发表评论

登录后才能评论

评论列表(0条)

保存