一、LVM简介

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。LVM将一个或多个磁盘分区(PV)虚拟为一个卷组(VG),相当于一个大的硬盘,我们可以在上面划分一些逻辑卷(LV)。当卷组的空间不够使用时,可以将新的磁盘分区加入进来。我们还可以从卷组剩余空间上划分一些空间给空间不够用的逻辑卷使用。

LVM模型如下图:

物理硬盘(虚拟硬盘)---创建物理卷PV--多个PV合成一个组VG---在VG基础上创建逻辑卷LV

扩展主要步骤:

  1. 1. 添加新的物理磁盘
  2. 2.创建新的分区,最多可分配【3个主分区,1个扩展分区】 或 【4个主分区】,扩展分区又可以有多个分区;
  3.    window常见的分配方式:
  4.        方式1:[1个主分区(C盘)+1个扩展分区(包括3个分区,D,E,F盘)]
  5.        方式2:[4个主分区,分别作为:C、D、E、F盘]
  6.      若是使用LVM方式分区,分区时最好选择LVM分区方式;
  7. 3. 创建PV;
  8. 4. 创建VG;
  9. 5. 创建LV;
  10. 6. 格式化LV,ext3,ext4等格式;
  11. 7. 挂载LV到指定目录;
  12. 8. 将挂载信息写入:/etc/fstab;
  13. 9. LVM扩容操作
  14.  9.1 LV的扩容;
  15.      (1) 使用VG的Free空间,对LV扩容;
  16.      (2) 完成后需要在对文件系统扩容;
  17.  9.2 VG的扩容
  18.      方式1: 通过增加PV来实现
  19.      方式2: 通过扩展raid(磁盘阵列)设备的容量来间接对VG扩容
  20. 10. LVM缩减操作
  21.     10.1 LV的缩减
  22.     10.2 VG的缩减
  23. 11. 删除LVM

二、LVM添加硬盘和扩容

测试环境:CentOS7 64位(KVM虚拟机)

LVM版本:lvm2-2.02.105-14.el7.x86_64

1、使用 fdisk -l 查看到这块新盘为/dev/sda:

   2、对新盘分区

使用 fdisk 命令对新盘进行分区,这里建立了一个主分区/dev/sda,大小25GB,最后使用 partprobe 命令重新读取分区表:

   输入:n,1,回车,回车,t,8e,w
   再输入:partprobe

在分区的过程中,注意设置格式为8e,这是LVM的分区格式。

    3、创建物理卷(PV)

使用 pvcreate 命令创建物理卷,pvdisplay 查看物理卷信息:

[root@iotApp&iagri-44 ~]# pvcreate /dev/sda4
Physical volume "/dev/sda4" successfully created
[root@iotApp&iagri-44 ~]# pvscan
PV /dev/sda2 VG centos lvm2 [49.80 GiB / 0 free]
PV /dev/sda3 VG centos lvm2 [5.00 GiB / 5.00 GiB free]
PV /dev/sda4 lvm2 [25.00 GiB]
Total: 3 [79.80 GiB] / in use: 2 [54.80 GiB] / in no VG: 1 [25.00 GiB]

    4、将PV加入卷组(VG)

使用 vgdisplay 查看卷组信息,下图显示卷组名为centos,空闲大小为0:

[root@iotApp&iagri-44 ~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 54.80 GiB
PE Size 4.00 MiB
Total PE 14028
Alloc PE / Size 12749 / 49.80 GiB
Free PE / Size 1279 / 5.00 GiB
VG UUID mMcfc3-2mj2-cFk6-uMNY-FWQl-cXZ5-ENEEXX

使用 vgextend 命令把/dev/vdb1加入到centos:

[root@iotApp&iagri-44 ~]# vgextend centos /dev/sda4
Volume group "centos" successfully extended

[root@iotApp&iagri-44 ~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 3
Act PV 3
VG Size 79.79 GiB
PE Size 4.00 MiB
Total PE 20427
Alloc PE / Size 12749 / 49.80 GiB
Free PE / Size 7678 / 29.99 GiB
VG UUID mMcfc3-2mj2-cFk6-uMNY-FWQl-cXZ5-ENEEXX

    5、创建逻辑卷(LV)&扩容

创建逻辑卷用lvcreate

使用 lvextend 命令进行逻辑卷扩容。我把所有剩余空间都分配给了newlv,增大到了25GB,

[root@iotApp&iagri-44 ~]# lvextend -l +7678 /dev/centos/root
Size of logical volume centos/root changed from 47.94 GiB (12272 extents) to 77.93 GiB (19950 extents).
Logical volume root successfully resized
[root@iotApp&iagri-44 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID Zep8rM-0AR5-RE0m-zj2n-Nc8S-VrL5-W2Zjzx
LV Write Access read/write
LV Creation host, time localhost, 2016-10-12 03:54:21 -0400
LV Status available
# open 1
LV Size 77.93 GiB
Current LE 19950
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0

使用 xfs_growfs 命令在线调整xfs格式文件系统大小(CentOS6使用resize2fs):

[root@iotApp&iagri-44 ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=3141632 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=12566528, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=6136, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 12566528 to 20428800

最后我们看到逻辑卷分区已经动态扩容了25GB:

[root@iotApp&iagri-44 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 78G 924M 78G 2% /
devtmpfs 2.9G 0 2.9G 0% /dev
tmpfs 2.9G 0 2.9G 0% /dev/shm
tmpfs 2.9G 8.4M 2.9G 1% /run
tmpfs 2.9G 0 2.9G 0% /sys/fs/cgroup
/dev/sda1 197M 105M 93M 54% /boot

CentOS7 LVM添加硬盘及扩容的更多相关文章

  1. (转)CentOS7 LVM添加硬盘及扩容

    原文:http://blog.51cto.com/qicheng0211/1620171 9818人阅读   一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写 ...

  2. Ubuntu16.04 使用lvm挂载硬盘以及扩容

    1.首先通过fdisk -l 查看磁盘的属性,找到要添加的磁盘名称(Disk /dev/sda) 2.使用fdisk将磁盘进行逻辑分区 fdisk /dev/sda m来查看命令帮助 n添加一张新的p ...

  3. 虚拟机中CentOS-7.9的硬盘空间扩容(EXSI)

    目录 一.增加虚机容量 二.创建新的分区 三.格式化新分区 四.lvm实现卷扩容 五.文件系统的扩容 大家好,我是LSF,发现一台虚机上 /dev/mapper/centos-root Use%已经快 ...

  4. 使用LVM对硬盘在线扩容

    初始状态: root@control:/dev/nova-volumes# vgdisplay --- Volume group --- VG Name nova-volumes System ID ...

  5. centos 7添加硬盘及LVM扩容

    一堆概念 分区工具 fdisk:支持MBR,对GPT支持的不好 parted:支持GPT partprobe(centos 5/6).partx(centos 7)通知内核强制重读磁盘分区表 分区表 ...

  6. VMware虚拟机中CentOS7的硬盘空间扩容

    查看centos7系统挂载点信息 扩展VMWare-centos7硬盘空间 对新增加的硬盘进行分区.格式化 添加新LVM到已有的LVM组,实现扩容 1.查看centos7系统挂载点信息 df -h查看 ...

  7. Centos7 LVM扩容实例

    Centos7 lvm 扩容与以往版本有所不同   1.插入硬盘,我是在虚拟机上做的测试  直接添加一块5G的硬盘   2.系统读取硬盘信息     # echo "- - -" ...

  8. Centos7 LVM管理的逻辑卷根目录扩容和/var目录扩容

    Centos7 LVM管理的逻辑卷根目录扩容 fdisk /dev/sdb #对新加磁盘进行分区操作pvcreate /dev/sdb1 #创建一个物理卷vgs #查看现有的卷组vgextend ce ...

  9. (转)fastdfs group通过添加硬盘扩容

    通过给group的机器添加硬盘的方式,实现某个group的扩容. fastdfs在一台服务器支持多个store_path,每个store_path指向一个存储路径.url “M00/3F/E1/oYY ...

随机推荐

  1. HDU 1114 Piggy-Bank(完全背包模板题)

    完全背包模板题 #include<cstdio> #include<cstring> #include<algorithm> using namespace std ...

  2. iClap分享:如何优雅的在 APP 中实现测试?

    开发团队常面临的问题有:内测 APP 时测出一堆 bug 写了很多文档,交到下一个人手中时问题总是不够清晰明了;版本发布公测时只能分发原生版本给团队和用户,无法快速反馈测试和体验结果;使用第三方工具, ...

  3. NC开发笔记指导

    修改端口 InvocationInfoProxy.getInstance().get().getUserCode(); 前台 Nchome F:\JAVA\Projects\ERPEHROA\ufid ...

  4. centos配置jdk的环境变量

    1.首先呢,centos下的JDK环境配置分两种情况,一直是root用户级别的jdk配置,另一种是其他用户组级别的配置.这里讲解的是root用户级别的配置. 我们已经下载解压好了jdk的目录.如下 2 ...

  5. 微信企业号的JAVA开发平台

    JEEWX 微信企业号平台 - 开源|免费 JEEWX 微信企业号平台,是基于JEECG3.6.3版本开发,采用插件方式提供,如果你的系统采用JEECG3.6.3版本开发,可以轻松集成JEEWX微信企 ...

  6. 20145322《Java程序设计》第3次实验报告

    实验内容,, 组队使用 git 上传代码并且互相下载对方代码修改之后再上传. 实现代码的重载 一. 使用git 上传代码 过程如图: 仨人成功上传后的代码图如下: 使用git 相互更改代码 执行git ...

  7. 20145324 Java实验二

    实验1: 先建立.java 在建立test 测试正常情况 测试出错情况 错误 修改后的代码 正确 测试边界情况 100时出错 修改后的代码 测试 实验2: 先建test在写,java 实验3:建模 练 ...

  8. 20145331 《Java程序设计》第3周学习总结

    20145331 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 认识对象 •对象(Object):存在的具体实体,具有明确的状态和行为 •类(Class):具有相同属性和行 ...

  9. 20145230熊佳炜《网络对抗》实验九:web安全基础实践

    20145230熊佳炜<网络对抗>实验九:web安全基础实践 webgoat webgoat的中文是代罪羔羊的意思,而它是一个有很多漏洞的web应用程序,我们可以利用它来研究关于web应用 ...

  10. mac下ssh到远程服务器时中文乱码

    前言:mac本地的语言环境为英文,远程是支持中文的, 问题: 一开始是在iterm2下登录远程服务器更新数据库时发现中文注释不能正常显示,以为是iterms2下设置有问题,使用系统自带的termina ...