简单介绍

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。

扩容方案

①添加新硬盘,并把新硬盘通过mount挂载到指定挂载点;(比如新建一个/data目录,把新硬盘挂载到/data下提供使用)

②添加新硬盘,通过LVM把新硬盘的空间划给原系统盘,实现动态扩容系统盘;(也可以在虚拟机设置里调大原有磁盘,再扩容)

此处记录一下在centos7下方案②的操作步骤

测试目标

把一台CentOS7.4虚拟机原系统磁盘扩容10G。(原系统盘30G,扩容至40G)

操作步骤

1. 虚拟机编辑设置添加一块新硬盘

2. 查看一下

[root@server- ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 990M 990M % /dev
tmpfs 1001M 1001M % /dev/shm
tmpfs 1001M 57M 944M % /run
tmpfs 1001M 1001M % /sys/fs/cgroup
/dev/mapper/centos-root 27G .8G 22G % /    // 扩容后,再来看该项,作对比
/dev/sda1 1014M 154M 861M % /boot
tmpfs 201M 201M % /run/user/
[root@server- ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda : 30G disk
├─sda1 : 1G part /boot
└─sda2 : 29G part
├─centos-root : 27G lvm /
└─centos-swap : 2G lvm [SWAP]
sdb : 10G disk     // 新加的硬盘命名为sdb,已经存在,但是还没分区无法给系统使用
sr0 : 1024M rom

3. 给新硬盘创建分区(此处就默认创建一个分区)

[root@server- ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.). Changes will remain in memory only, until you decide to write them.
Be careful before using the write command. Command (m for help): n  // 添加新分区
Partition type:
p primary ( primary, extended, free)
e extended
Select (default p):   // 回车,默认p,主分区
Using default response p
Partition number (-, default ):   // 回车,默认1
First sector (-, default ):   // 回车,默认起始位置
Using default value
Last sector, +sectors or +size{K,M,G} (-, default ):   // 回车,默认最后位置
Using default value
Partition of type Linux and of size GiB is set Command (m for help): t  // 更改分区格式
Selected partition
Hex code (type L to list all codes): L  // 查看可选项
Empty NEC DOS Minix / old Lin bf Solaris
FAT12 Hidden NTFS Win Linux swap / So c1 DRDOS/sec (FAT-
XENIX root Plan Linux c4 DRDOS/sec (FAT-
XENIX usr 3c PartitionMagic OS/ hidden C: c6 DRDOS/sec (FAT-
FAT16 <32M Venix Linux extended c7 Syrinx
Extended PPC PReP Boot NTFS volume set da Non-FS data
FAT16 SFS NTFS volume set db CP/M / CTOS / .
HPFS/NTFS/exFAT 4d QNX4.x Linux plaintext de Dell Utility
AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt
AIX bootable 4f QNX4.x 3rd part Amoeba e1 DOS access
a OS/ Boot Manag OnTrack DM Amoeba BBT e3 DOS R/O
b W95 FAT32 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) CP/M a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
OPUS EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b
Hidden FAT12 Golden Bow a8 Darwin UFS f1 SpeedStor
Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor
Hidden FAT16 < SpeedStor ab Darwin boot f2 DOS secondary
Hidden FAT16 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
Hidden HPFS/NTF Novell Netware b7 BSDI fs fc VMware VMKCORE
AST SmartSleep Novell Netware b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 PC/IX be Solaris boot ff BBT
1e Hidden W95 FAT1 Old Minix
Hex code (type L to list all codes): 8e  // 更改分区格式为LVM
Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): p  // 打印,查看改好的分区(blocks为分区大小 单位为kb) Disk /dev/sdb: 10.7 GB, bytes, sectors
Units = sectors of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk label type: dos
Disk identifier: 0xa6e3dd82 Device Boot Start End Blocks Id System
/dev/sdb1 8e Linux LVM Command (m for help): w  // 保存
The partition table has been altered! Calling ioctl() to re-read partition table.
Syncing disks.

4. 再次查看分区,只是分区好,没挂载没加入系统根,无法使用

[root@server- ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda : 30G disk
├─sda1 : 1G part /boot
└─sda2 : 29G part
├─centos-root : 27G lvm /
└─centos-swap : 2G lvm [SWAP]
sdb : 10G disk
└─sdb1 : 10G part
sr0 : 1024M rom

5. 把新的分区转换为物理卷

[root@server- ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.

6. 查看现有的卷组名,这里为centos

[root@server- ~]# vgdisplay
--- Volume group ---
VG Name centos  // 这是Centos系统下默认的VG Name,RHEL系统显示为rhel
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 RNpAgN-PLQm-M4vp-E37i-fhhp-mr2z-faLm3A

7. 把转换号的物理卷并到vg(卷组)中

[root@server- ~]# vgextend centos /dev/sdb1
Volume group "centos" successfully extended
[root@server- ~]# vgdisplay
--- Volume group ---
VG Name centos
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 38.99 GiB  //对比,变大了约10G
PE Size 4.00 MiB
Total PE
Alloc PE / Size / 28.99 GiB
Free PE / Size / 10.00 GiB
VG UUID RNpAgN-PLQm-M4vp-E37i-fhhp-mr2z-faLm3A

8. 查看逻辑卷,默认系统分了2个,选择对应逻辑卷路径

[root@server- ~]# lvdisplay
--- Logical volume ---
LV Path /dev/centos/swap  //系统默认分了2G给swap,不用管
LV Name swap
VG Name centos
LV UUID w8yxWk-Qrth-x16P-jVg3-1haX-lZUH-0r1SkV
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/centos/root  // 后面扩展该逻辑卷,记住该路径
LV Name root
VG Name centos
LV UUID ECEWl4-0AEW-W1Tn-acE2-GLpe-NxeD-v16tGb
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 :

9. 给逻辑卷扩展空间

[root@server- ~]# lvextend /dev/centos/root /dev/sdb1
Size of logical volume centos/root changed from 26.99 GiB ( extents) to <36.99 GiB ( extents).
Logical volume centos/root successfully resized.

10. 写入文件系统,使扩容生效。

[root@server- ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize= agcount=, agsize= blks
= sectsz= attr=, projid32bit=
= crc= finobt= spinodes=
data = bsize= blocks=, imaxpct=
= sunit= swidth= blks
naming =version bsize= ascii-ci= ftype=
log =internal bsize= blocks=, version=
= sectsz= sunit= blks, lazy-count=
realtime =none extsz= blocks=, rtextents=
data blocks changed from to

如果是ext系统,可以使用resize2fs命令替换xfs_growfs命令。

11. 检查扩容效果

[root@server- ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 990M 990M % /dev
tmpfs 1001M 1001M % /dev/shm
tmpfs 1001M 57M 944M % /run
tmpfs 1001M 1001M % /sys/fs/cgroup
/dev/mapper/centos-root 37G .8G 32G % /
/dev/sda1 1014M 154M 861M % /boot
tmpfs 201M 201M % /run/user/

对比最初的显示,扩容成功。

结束.

centos7下使用LVM给系统硬盘扩容超详细的更多相关文章

  1. 【转载】CentOS7下使用LVM给系统硬盘扩容

    原文地址:https://www.cnblogs.com/ding2016/p/9680690.html 简单介绍: LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是L ...

  2. centos7 yum搭建lnmp环境及配置wordpress超详细教程

    yum安装lnmp环境是最方便,最快捷的一种方法.源码编译安装需要花费大量的人类时间,当然源码编译可以个性化配置一些其它功能.目前来说,yum安装基本满足我们搭建web服务器的需求. 本文是我根据近期 ...

  3. CentOS7下的lvm(逻辑卷)在线扩容

    扩展前该lvm分区为14GB 关闭系统,给sdb硬盘扩展6GB,然后重新进入CentOS.(或者是原有磁盘还有剩余未使用的空间) 对sdb进行分区: [root@converter ~]# fdisk ...

  4. Linux系统硬盘扩容

    参考教程:https://www.jb51.net/article/144291.htm 1.查看硬盘已经用了99% $ df -h #查看硬盘已经使用了99% 文件系统 容量 已用 可用 已用% 挂 ...

  5. Disk:磁盘管理之LVM和系统磁盘扩容

    简介 小伙伴们好,好久不见,今天想给大家介绍一下关于磁盘管理的方法和心得:磁盘管理可谓运维工作中的重要内容,主要包括磁盘的合理规划以及扩缩容 常用的磁盘管理方法为LVM(Logical Volume ...

  6. Oracle VM VirtualBox虚拟机内Linux系统硬盘扩容步骤(CentOS6.5)

    1.首先获取要扩容的虚拟机的 UUID VBoxManage 改命令在C:\Program Files\Oracle\VirtualBox目录内,可先添加该目录到环境变量.C:\Users\yzkj- ...

  7. linux下挂载另一系统硬盘。

    问题描述: Error mounting /dev/sda5 at /media/wangzheng/办公: Command-line `mount -t "ntfs" -o &q ...

  8. LINUX下为LVM磁盘增加硬盘空间

    总结: ~~~~~~~~~~~~~~~~~~~~ fdisk -lpvcreate /dev/sdbvgextend VolGroup /dev/sdblvextend -L +180G /dev/m ...

  9. CentOS7 下使用 Firewall防火墙系统封禁允许IP和端口的访问 端口转发 IP转发方法

    CENTOS7的防火墙系统默认已经从iptable改成了firewall,使用方法也有所不同,下面是详细介绍 一.管理端口 列出 dmz 级别的被允许的进入端口 # firewall-cmd --zo ...

随机推荐

  1. iOS----------取数据的两种取法

    NSMutableArray * dataArray =[responseDictionary valueForKeyPath:@"data.list_dic.list"]; NS ...

  2. Fragment已经被added了导致的异常。

    java.lang.IllegalStateException: Fragment already added:  ******Effect 出现的原因是commit方法提交是异步的,所以容易出现,判 ...

  3. Broadcast发送广播

    一.知识介绍 1.[广播分类] ①有序广播:接收者A收到广播传递给B,B传给C,有序传递.任何一个环节都可以终止广播,也可以修改广播中携带的数据. 发送的方式:sendOrderedBroadcast ...

  4. Redis进阶学习笔记

    Redis是什么这里不用再说了吧?下面是官方的解释 Redis is an open source (BSD licensed), in-memory data structure store, us ...

  5. 彻底删除mysql服务(清理注册表)

    由于安装某个项目的执行文件,提示要卸载MySQL以便它自身MySQL安装,然后我禁用了MYSQL服务,再把这个文件夹删除后,发现还是提示请卸载MYSQL服务. 解决步骤: 1.以管理员身份运行命令提示 ...

  6. 常用SMTP地址

    1.QQ邮箱(mail.qq.com) POP3服务器地址:pop.qq.com(端口:110) SMTP服务器地址:smtp.qq.com(端口:25) 2.搜狐邮箱(sohu.com): POP3 ...

  7. Unity ECS 视频笔记

    视频摘要 本文视频资料:使用Entity Component System开发<快乐的Minecraft>游戏 使用Unity2018及以上版本才有ECS功能. 本文是看视频的一些摘要. ...

  8. LeetCode算法题-Heaters(Java实现)

    这是悦乐书的第239次更新,第252篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第106题(顺位题号是475).冬天来了!您在比赛期间的第一份工作是设计一个固定温暖半径 ...

  9. IBM小练习

    '''例一:BMI指数(bmi是计算而来的,但很明显它听起来像是一个属性而非方法,如果我们将其做成一个属性,更便于理解) 成人的BMI数值: 过轻:低于18.5 正常:18.5-23.9 过重:24- ...

  10. 给Integer对象加锁的错误方式

    package com.thread.test; public class BadLockOnInteger implements Runnable { public static Integer i ...