一、传统磁盘管理的问题

当分区大小不够用时无法扩展其大小,只能通过添加磁盘、创建新的分区来扩充空间,但是新添加进来的硬盘是作为独立文件系统存在的,原有的文件系统并未得到扩充,上层应用很多时候只能访问一个文件系统。只能让现有磁盘下线,换上新的磁盘之后,再将原始数据导入。

二、LVM逻辑卷的基本概念

LVM(Logical volume Manager)逻辑卷管理通过将底层物理硬盘抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整,而且不会丢失现有数据。新加入的硬盘也不会改变现有上层的逻辑卷。

作为一种动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

PE(physical extend)默认为4MB的基本块

PV(physical volume)硬盘或分区

VG(volume group)由一个或多个PV组成的整体

LV(logical volume)从VG中切割出的空间用于创建文件系统

三、LVM创建过程

  1. 物理磁盘被格式化为PV,空间被分为一个个PE
  2. 不通的PV加入同一个VG,不同PV的PE全部进入VG的PE池内
  3. LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同物理磁盘
  4. LV现在就直接可以格式化后挂载使用了
  5. LV的扩充缩减实际上就是增加或减少组成该LV的PE的数量。其过程不丢失原始数据

四、创建LVM

将物理磁盘设备初始化为物理卷

pvcreate /dev/sdb /dev/sdc

创建卷组,并将PV加入卷组中

vgcreate vg0 /dev/sdb /dev/sdc

基于卷组创建逻辑卷

lvcreate -n lv0 -L 5G vg0

为创建好的逻辑卷创建文件系统

mkfs.ext4 /dev/vg0/lv0

将格式化好的逻辑卷挂载使用

mount /dev/vg0/lv0 /mnt/

将挂载信息写入/etc/fstab中重启依然生效

echo "/dev/vg0/lv0 /mnt ext4 defaults 0 0 " >> /etc/fstab

五、查看LVM

查看物理卷信息:pvs、pvdisplay(详细)

查看卷组信息:vgs、vgdisplay(详细)

查看逻辑卷信息:lvs、lvdisplay(详细)

六、删除LVM

删除LV:lvremove /dev/vg0/lv0

删除VG:vgremove vg0

删除PV:pvremove /dev/sdb

七、拉伸一个逻辑卷

逻辑卷的拉伸操作可以在线执行,不需要卸载逻辑卷

保证VG中有足够的空闲空间

vgs、vgdisplay

扩充逻辑卷

lvextend -L +5G /dev/vg0/lv0

查看扩充后LV大小

lvs、lvdisplay

更新文件系统

resize2fs /dev/vg0/lv0

查看更新后的文件系统

df –h

八、拉伸一个卷组

将要添加到VG的硬盘格式化为PV

pvcreate /dev/sdd

将新的PV添加到指定卷组中

vgextend vg0 /dev/sdd

查看扩充后VG大小

vgs、vgdisplay

九、缩小一个逻辑卷

逻辑卷的缩小操作必须离线执行,要卸载逻辑卷

卸载已经挂载的逻辑卷

umount /dev/vg0/lv0

缩小文件系统(原lv0为10G)

e2fsck -f /dev/vg0/lv0

resize2fs /dev/vg0/lv0 3G

缩小LV

lvreduce -L -7G /dev/vg0/lv0

查看缩小后的LV

lvs、lvdisplay

挂载

mount /dev/vg0/lv0 /mnt

十、缩小卷组

将一个PV从指定组中移除

vgreduce vg0 /dev/sdd

查看缩小后的卷组大小

vgs、vgdisplay

移除PV

pvremove /dev/sdd

LVM基本概念、管理的更多相关文章

  1. LVM基本概念及工作原理

    LVM基本概念及工作原理 背景知识: 一直困惑于LVM,特地找资料查了查,终于对LVM的概念和工作原理有了深入的理解.接下来记录下.新的技术出来必定是为了改变现有的不足,所以LVM的出现是由于对现有磁 ...

  2. 18 LVM逻辑卷管理

    根据上一节的内容,我们知道md这个内核模块可以用来做软RAID的管理.同时RAID实现了两个功能:1.提高了磁盘的读写能力:2.对于数据进行了冗余备份: 但是,如果是管理员手动误删的数据,则一样无法找 ...

  3. centos下LVM配置与管理

    centos下LVM配置与管理 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层, ...

  4. Linux:使用LVM进行磁盘管理

    LVM的概念 LVM 可以实现对磁盘的动态管理,在磁盘不用重新分区的情况下动态调整文件系统的大 小,利用 LVM 管理的文件系统可以跨越磁盘. "/boot"分区用于存放系统引导文 ...

  5. 【转载】Linux磁盘管理:LVM逻辑卷管理

    Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一. ...

  6. linux LVM逻辑卷管理

    什么是LVM LVM是逻辑卷管理(Logical Volume Manager)的简称,它是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性. ...

  7. linux的存储管理(RALD) LVM 逻辑卷管理 虚拟阵列

    磁盘存储管理 LVM 逻辑卷 虚拟阵列 1.Linux系统中 磁盘使用 存在3个大问题: 1.灵活性 2.安全性 3.性能 2.解决办法RAID独立磁盘冗余阵列 RAID(Redundant Arra ...

  8. LVM逻辑卷管理

    一.LVM简介 LVM(Logic Volume Manager)逻辑卷管理,简单理解就是将一块或多块硬盘的分区在逻辑上集合,当一块大硬盘来使用. 其特点是: 1.可以实现在线动态扩展,也可以缩减 2 ...

  9. Linux LVM卷组管理

    Linux LVM卷组管理 由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理. 由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数 ...

  10. LVM逻辑卷管理测试——逻辑卷扩展、收缩、快照及删除

    一.逻辑卷扩展 [root@lxjtest /]# umount /testLVM/ [root@lxjtest /]# df -h Filesystem Size Used Avail Use% M ...

随机推荐

  1. linux net command /uboot command

    1. uboot command 读取寄存器内容 md [内存地址][长度] 修改内存地址 mw [内存地址][长度] 2. linux络命令  -- netstat -a (all)显示所有选项,默 ...

  2. XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装Xcode4.6.3(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 在安装Xcode前, ...

  3. 数据结构&算法-双向链表

    1.引言 双向链表原理和单链表差不多,就是操作相对繁琐一些,简单画了几个图,把思想弄清楚就好. 2.正文 这里介绍一下插入和删除的原理,相信这两个操作搞清楚的话,其他操作也没什么问题. 2.1插入节点 ...

  4. android 横竖屏切换

    解决Android手机 屏幕横竖屏切换 Android中当屏幕横竖屏切换时,Activity的生命周期是重新加载(说明当前的Activity给销毁了,但又重新执行加载),怎么使屏幕横竖屏切换时,当前的 ...

  5. 慕课网-安卓工程师初养成-6-5 使用循环操作 Java 中的数组

    来源:http://www.imooc.com/code/1531 实际开发中我们经常使用循环控制数组成员的操作.如: 运行结果: 其中,  用于获取数组的长度 需要注意的“小毛病”: 1. 数组下标 ...

  6. windows 10启动盘制作工具

    Rufus 官方网站:http://rufus.akeo.ie/

  7. javaweb学习第一天 debug

    debug 断点: f5:step into f6:step over f7:step return drop to frame:跳到当前方法的的第一行 resume:跳到下一个断点 watch:观察 ...

  8. mysql问题小结

    1.数据表存在,但查询时提示不存在 原因:默认情况下,mysql在windows对表名大小不敏感(lower_case_table_names=1),在linux上大小敏感(lower_case_ta ...

  9. 【转载】OpenGL超级宝典笔记——GLSL语言基础

    变量 GLSL的变量命名方式与C语言类似.变量的名称可以使用字母,数字以及下划线,但变量名不能以数字开头,还有变量名不能以gl_作为前缀,这个是GLSL保留的前缀,用于GLSL的内部变量.当然还有一些 ...

  10. 初尝 JFinal 项目(一)

    temp1: JFinal项目与JAVA项目类似,有属性方法.操作方法.Sql语句操作.jdbc.配置文件 对比:|| JAVA: Bean / Srv(Server) / SqlMap / jdbc ...