一、传统磁盘管理的问题

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

二、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. 【AT91SAM3S】英倍特串口示例工程05-UART中,串口是怎样初始化的

    在这个示例工程的main.c文件中,进入main之后,没有发现串口功能的任何配置.直接使用了printf这个东西进行输出.将软件下载到开发板上之后,在电脑端使用串口软件,可以看板子有数据发来.说明这个 ...

  2. Laravel 校验规则之字段值唯一性校验

    版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] laravel validator unique 'name' => 'required|unique:test,disp ...

  3. JDK源码包结构分类

    最近查看JDK源码时,无意间发现几个类在陌生包里:com.sun.*.sun.*.org.*,google了一把总结了下以备他人搜索,如内容有误欢迎指正!   Jre库包含的jar文件(jdk1.6) ...

  4. thinkphp nginx配置

    安装和配置: http://www.cnblogs.com/Bonker/p/4252588.html  spawn-fcgi 要先安装和启动:(已过时) sudo spawn-fcgi -a -u ...

  5. 基于Node.js+socket.IO创建的Web聊天室

    这段时间进了一个新的项目组,项目是用Appcan来做一个跨平台的移动运维系统,其中前台和后台之间本来是打算用WebSocket来实现的,但写好了示例后发现android不支持WebSocket,大为受 ...

  6. TableView使用CATransform3D特效动画

    效果一: 在代理方法中实现: - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell fo ...

  7. PIC32MZ tutorial -- Hello World

    Today I implement "Hello World" on PIC32MZ EC starter kit. The application of "Hello ...

  8. Http的请求对象

    Servlet 客户端 HTTP 请求 当浏览器请求网页时,它会向 Web 服务器发送特定信息,这些信息不能被直接读取,因为这些信息是作为 HTTP 请求的头的一部分进行传输的.您可以查看 HTTP ...

  9. Android之使用Android-AQuery异步加载图片(一)

    第一节:转载地址(http://www.cnblogs.com/lee0oo0/archive/2012/10/25/2738299.html) // 必须实现AQuery这个类 AQuery aq ...

  10. VC++ 标准C++中的string类的用法总结

    相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...