系统环境:CentOS Linux release 7.3.1611 (Core)  3.10.0-514.el7.x86_64

CentOS6与7配置方法大同小异。通常是在系统安装的时候创建lvm,然后在后期进行动态扩展分区容量。

新建lvm

安装lvm2

# yum install lvm2

创建初始化物理卷,物理卷可以是一个分区,也可以是一整块硬盘

# pvcreate /dev/sda2

查看物理卷

[root@centos7 etc]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cl lvm2 a-- .00g 4.00m
[root@centos7 etc]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name cl
PV Size 29.00 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE
Free PE
Allocated PE
PV UUID TN6Hvw-4C4D-pceR-Beqx-CTUm-7L7b-8oFozr

创建卷组,可指定多个硬盘

# vgcreate VGNAME /dev/sda2

查看卷组

[root@centos7 etc]# vgs
VG #PV #LV #SN Attr VSize VFree
cl wz--n- .00g 4.00m
[root@centos7 etc]# vgdisplay
--- Volume group ---
VG Name cl
System ID
Format lvm2
Metadata Areas
Metadata Sequence No
VG Access read/write
VG Status resizable
MAX LV
Cur LV
Open LV
Max PV
Cur PV
Act PV
VG Size 29.00 GiB
PE Size 4.00 MiB
Total PE
Alloc PE / Size / 28.99 GiB
Free PE / Size / 4.00 MiB
VG UUID 3Wspeg-DuBe-V4yu-QuIk-90eS-D0TC-FLwOaU

创建逻辑卷

# lvcreate -n LVNAME -L 20G VGNAME

查看逻辑卷

[root@centos7 etc]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- .99g
swap cl -wi-ao---- .00g
[root@centos7 etc]# lvdisplay
--- Logical volume ---
LV Path /dev/cl/swap
LV Name swap
VG Name cl
LV UUID 2TMxpT-Ed6t-OJNr-rKbJ-Fep6-3kQO-A30ntK
LV Write Access read/write
LV Creation host, time localhost.localdomain, -- :: +
LV Status available
# open
LV Size 2.00 GiB
Current LE
Segments
Allocation inherit
Read ahead sectors auto
- currently set to
Block device : --- Logical volume ---
LV Path /dev/cl/root
LV Name root
VG Name cl
LV UUID UfjHjv-bWzI-FMKs-ze0A-7GoI-Z3ho-oguZ61
LV Write Access read/write
LV Creation host, time localhost.localdomain, -- :: +
LV Status available
# open
LV Size 26.99 GiB
Current LE
Segments
Allocation inherit
Read ahead sectors auto
- currently set to
Block device :

格式化逻辑卷并挂载使用

# mkfs.ext4 /dev/VGNAME/LVNAME
# mount /dev/VGNAME/LVNAME /mnt

删除lvm,先后顺序lv->vg->pv

# lvremove /dev/VGNAME/LVNAME
# vgremove VGNAME
# pvremove /dev/sdb

动态扩展lvm

新增物理卷

# pvcreate /dev/sdd

新增物理卷到卷组

# vgextend VGNAME /dev/sdd

增加逻辑卷容量,增加逻辑卷容量的操作是热操作,无需停用任何设备或分区

# lvextend -L +10G /dev/VGNAME/LVNAME  #增加10G到LVNAME卷中
# lvextend -l +%FREE /dev/VGNAME/LVNAME  #增加剩余所有容量到卷中

更新文件系统之后,新增容量才能生效

# resize2fs /dev/VGNAME/LVNAME  #适用于ext2、、4文件系统
# xfs_growfs /dev/VGNAME/LVNAME  #适用于xfs文件系统

缩小lv、vg,删除pv

卸载逻辑卷。要执行逻辑卷缩小操作,必须先取消挂载,且操作顺序必须是umount>resize2fs>lvreduce

# umount /dev/VGNAME/LVNAME

重新指定逻辑卷大小

# resize2fs /dev/VGNAME/LVNAME 10G

把逻辑卷减少9G容量,为防数据丢失,减少的容量尽量少于实际计算的减少容量

# lvreduce -L -9G /dev/VGNAME/LVNAME 

把逻辑卷减少到9G,缩小后的容量必须大于已经使用的空间

# lvreduce -L 9G /dev/VGNAME/LVNAME

重新挂载逻辑卷

# mount /dev/VGNAME/LVNAME /mnt

缩小卷组容量,退出物理卷(物理硬盘)。缩小前确认vg空闲空间大于/dev/sdd,否则可能造成数据丢失

# vgreduce VGNAME /dev/sdd
# pvremove /dev/sdd

逻辑卷lvm创建、扩展、缩小的更多相关文章

  1. GNU/Linux下LVM配置管理以及快照卷、物理卷、卷组、逻辑卷的创建和删除

    LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上.文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性.最大的优点是在不损伤数据的前提下调整存储空间的大小. 本篇主要讲述L ...

  2. LVM逻辑卷的创建及使用

    在上一篇随笔里面 LVM逻辑卷基本概念及LVM的工作原理,详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理,包括LVM中最重要的四个基本点(PE.PV.VG以及LV),这 ...

  3. Linux磁盘管理:LVM逻辑卷的创建及使用

    一.创建LVM逻辑卷 事先添加了三块虚拟物理磁盘/dev/sdb 1G, /dev/sdc 2G, /dev/sdd 3G 使用fdisk –l命令查看: [root@localhost ~]# fd ...

  4. 创建逻辑卷LVM以及swap分区

    #!/bin/bash ##创建逻辑卷LVM /dev/mapper/lvm_data-data### ###default 大小为500G,但是LV一般会比500略小################ ...

  5. Linux学习之CentOS(二十六)--Linux磁盘管理:LVM逻辑卷的创建及使用

    在上一篇随笔里面 Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理,详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理, ...

  6. linux运维基础知识-系统分区及LVM逻辑卷的创建

    系统分区及LVM逻辑卷的创建 分区 创建逻辑卷 LVM简介:逻辑卷管理器(LogicalVolumeManager)本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次,如图 ...

  7. LVM逻辑卷:创建LVM分区实例

    一.概述 LVM(Logical Volume Manager)是基于内核的一种逻辑卷管理器,LVM适合于管理大存储设备,并允许用户动态调整文件系统的大小.此外LVM快照功能可以帮助我们快速备份数据. ...

  8. Linux逻辑卷的拉伸和缩小

    相对于普通磁盘优势是逻辑卷可以在线动态的拉伸(不用先unmount操作),只要vg中有足够的空间即可 1:首先查看vg是否有足够的空间 [root@gechong mapper]# vgdisplay ...

  9. 逻辑卷LVM

    1.理解LVM http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html 2.创建LVM 根据“理解LVM”提供的原理思路搞 a)建立 ...

随机推荐

  1. 第6章 Overlapped I/O, 在你身后变戏法 ---1

    这一章描述如何使用 overlapped I/O(也就是 asynchronous I/O).某些时候 overlapped I/O 可以取代多线程的功用.然而,overlapped I/O 加上co ...

  2. Spring-Boot:Spring Cloud构建微服务架构

    概述: 从上一篇博客<Spring-boot:5分钟整合Dubbo构建分布式服务> 过度到Spring Cloud,我们将开始学习如何使用Spring Cloud 来搭建微服务.继续采用上 ...

  3. 基于NIO的Socket通信

    一.NIO模式的基本原理: 服务端: 首先,服务端打开一个通道(ServerSocketChannel),并向通道中注册一个通道调度器(Selector):然后向通道调度器注册感兴趣的事件Select ...

  4. VB.NET 打开窗体后关闭自己

    第一:要实例化打开的窗体 Dim bb As New frm_Main 第二:打开窗体 show 第三:释放自身 Finalize()   '赋值另一窗体的控件值,先实例化,再进行操作 Dim bb ...

  5. js生成json数据

    <script src="~/static/js/jquery.min.js"></script><script type="text/ja ...

  6. C语言判断电脑的大、小端机

    #include int main() { int x = 0x1234; if (char(x) == 0x34)  {   printf("小端机!\n");  }  else ...

  7. C-一行或多行文章垂直居中

    1 样式效果 2 table布局 li span 

  8. OpenSCAD 建模:相框

    下载地址:https://github.com/ZhangGaoxing/openscad-models/tree/master/PhotoFrame 代码: module bottom(){ dif ...

  9. (转)十分钟入门pandas

    本文是对pandas官方网站上<10 Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook . 习 ...

  10. C#使用互斥量(Mutex)实现多进程并发操作时进程间的同步操作(进程同步)

    本文主要是实现操作系统级别的进程同步的代码及测试结果,代码经过测试,可直接使用,也可供参考. 承接上一篇博客的业务场景[C#使用读写锁三行代码简单解决多线程并发写入文件时线程同步的问题]. 随着服务进 ...