zoukankan      html  css  js  c++  java
  • Linux之LVM

      LVM是Logical Volume Manager (逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。

      LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。

      物理卷管理、卷组管理以及逻辑卷管理的相关指令:

     

      物理卷可以是一个硬盘也可以是一个分区,因为是靠软件来实现的。严格意义上来说最好使用物理的磁盘。

      Linux(RHEL5.4)实现LVM

      首先创建分区sda5、sda6、sda7,注意(分区的id要改成8e,即LINUX LVM)

      

      创建物理卷:

      

      创建卷组testvg:

      先把sda5、sda6这两个物理卷加入卷组中。

      

      创建逻辑卷testlv:

      

      格式化:

      

      挂载:

      

      演示逻辑卷的在线扩展功能:

      将2.5G,扩展成3.5G。存储池中只有3G,只能增加物理卷。将物理卷放入卷组,在卷组上去扩展分区。

      

      

      现在的需求换成是将3.5G缩小为2.8G,不能实现在线的缩小,扩展可以在线,缩小必须要先卸载。

      

      提示要先执行e2fsck文件系统检测指令:

      

      重新挂载检查看是否成功缩小:

      

      可以看到已经缩小为2.7G。

      总结:

      创建 lv

      1.pvcreate

      2.vgcreate 名称 目录卷

      3.lvcreate -L 大小 -n 名称 卷组名称

      4.格式化

      5.挂载

      扩展 lv(在线)

      1.vgextend 卷组 物理卷

      2.lvresize -L 大小/+增加的大小 lv路径名称

      3.resize2fs lv路径名称

      缩小(离线)

      1.卸载

      2.e2fsck -f lv路径名称 (强制性的文件系统扫描)

      3.resize2fs lv路径名称 大小

      4.lvresize -L 大小 lv路径名称

      5.挂载

      删除整个架构,自顶向下拆除lvm

      1.卸载逻辑卷

      2.删除逻辑卷

      3.删除卷组

      4.删除物理卷

      

      

      

  • 相关阅读:
    Java实现 LeetCode 27 移除元素
    Java实现 LeetCode 26 删除排序数组中的重复项
    Java实现 LeetCode 26 删除排序数组中的重复项
    Java实现 LeetCode 26 删除排序数组中的重复项
    Java实现 LeetCode 25 K个一组翻转链表
    Java实现 LeetCode 25 K个一组翻转链表
    Java实现 LeetCode 25 K个一组翻转链表
    Java实现 LeetCode 24 两两交换链表中的节点
    Java实现 LeetCode 24 两两交换链表中的节点
    Java实现 LeetCode 24 两两交换链表中的节点
  • 原文地址:https://www.cnblogs.com/reagina/p/6294926.html
Copyright © 2011-2022 走看看