在Linux学习过程中,可能会遇到根目录存储空间不足的问题,这时候如果只是新增一块硬盘并挂载到某个目录上,还需要将数据转移至新的硬盘中才能缓解存储压力。这种操作未免有些繁琐,那可不可以直接对跟目录进行扩容呢?当然是可以的,接下来就给大家介绍操作步骤:

  实验环境:RHEL7系统(默认已部署LVM)、VMware Workstation 12虚拟软件

  第1步:给虚拟机新增一块20GB的硬盘

  第2步:查看系统盘的分区类型,最后记得输入q不保存退出

[root@linuxprobe ~]# fdisk /dev/sda
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): p //输入p查看分区信息 Disk /dev/sda: 21.5 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: 0x00091636 Device Boot Start End Blocks Id System
/dev/sda1 * Linux
/dev/sda2 8e Linux LVM //分区类型为Linux LVM

 Command (m for help): q     //输入q不保存退出

  第3步:对新硬盘进行分区,并设置分区类型

[root@linuxprobe ~]# 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 //主分区
Partition number (-, default ): 1 //分区编号为1
First sector (-, default ): <此处按下回车键>
Using default value
Last sector, +sectors or +size{K,M,G} (-, default ): +10G //分区大小为10GB
Partition of type Linux and of size GiB is set Command (m for help): p //再次查看分区信息 Disk /dev/sdb: 21.5 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: 0x1894a517 Device Boot Start End Blocks Id System
/dev/sdb1 Linux //新的分区添加成功,不过分区类型不对 Command (m for help): t //变更分区的类型
Selected partition
Hex code (type L to list all codes): 8e //输入8e即"Linux LVM"
Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): p //再次查看分区信息 Disk /dev/sdb: 21.5 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: 0x1894a517 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步:让新添加的硬盘分区支持LVM技术

[root@linuxprobe ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created

  第5步:查看当前系统的卷组,并将/dev/sdb1硬盘分区加入到卷组中

[root@linuxprobe ~]# vgdisplay
--- Volume group ---
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 19.51 GiB
//卷组的总容量大小
PE Size 4.00 MiB
Total PE
Alloc PE / Size / 19.51 GiB
Free PE / Size /
VG UUID mGomiV-U0sF-wKii-YxOh-V7Gw-VEQ4-yIkcRD
[root@linuxprobe ~]# vgextend rhel /dev/sdb1 //把/dev/sdb1硬盘分区加入到rhel卷组中
Volume group "rhel" successfully extended
[root@linuxprobe ~]# vgdisplay
--- Volume group ---
VG Name 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.50
GiB //卷组的容量增大了10GB
PE Size 4.00 MiB
Total PE
Alloc PE / Size / 19.51 GiB
Free PE / Size / 10.00 GiB
VG UUID mGomiV-U0sF-wKii-YxOh-V7Gw-VEQ4-yIkcRD

  第6步:查看当前逻辑卷信息

[root@linuxprobe ~]# lvdisplay
--- Logical volume ---
LV Path /dev/rhel/swap //用来充当SWAP分区,我们这里不管它
LV Name swap
VG Name rhel
LV UUID d2gNWI-6Oin-9Q3r-OGLp-0nf5-0Dun-Z8EvgS
LV Write Access read/write
LV Creation host, time localhost, -- :: +
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/rhel/
root //该逻辑卷实际就是Linux系统盘,我们将对它进行扩容
LV Name root //逻辑卷名为root
VG Name rhel
LV UUID rI6Xvu-eCJx-0WFO-TuUj-LQWM-WuUc-3uE6zc
LV Write Access read/write
LV Creation host, time localhost, -- :: +
LV Status available
# open
LV Size 17.51
GiB //逻辑卷的大小,即系统盘大小
Current LE
Segments
Allocation inherit
Read ahead sectors auto
- currently set to
Block device :

  第7步:对root逻辑卷进行扩容操作

[root@linuxprobe ~]# lvextend -L +10G /dev/rhel/root
Extending logical volume root to 27.51 GiB
Insufficient free space: extents needed, but only available //显示实际空闲容量不足10GB,比10GB稍微小一点点
[root@linuxprobe ~]# lvextend -L +5G /dev/rhel/root //这里我们先扩容5GB
Extending logical volume root to 22.51 GiB
Logical volume root successfully resized
[root@linuxprobe ~]# lvdisplay ----------------省略部分输出内容------------------------ --- Logical volume ---
LV Path /dev/rhel/root
LV Name root
VG Name rhel
LV UUID rI6Xvu-eCJx-0WFO-TuUj-LQWM-WuUc-3uE6zc
LV Write Access read/write
LV Creation host, time localhost, -- :: +
LV Status available
# open
LV Size 22.51
GiB //容量已从17.51GB提升至22.51GB
Current LE
Segments
Allocation inherit
Read ahead sectors auto
- currently set to
Block device :

  第8步:重置root逻辑卷的大小。xfs系统不需要先umount操作

[root@linuxprobe ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G .1G 15G % / //重置之前,先查看当前系统盘的大小,此时显示为18GB
devtmpfs 985M 985M % /dev
tmpfs 994M 80K 994M % /dev/shm
tmpfs 994M 8.9M 986M % /run
tmpfs 994M 994M % /sys/fs/cgroup
/dev/sr0 .5G .5G % /media/cdrom
/dev/sda1 497M 119M 379M % /boot
[root@linuxprobe ~]# xfs_growfs /dev/rhel/root //重置root逻辑卷大小
meta-data=/dev/mapper/rhel-root isize= agcount=, agsize= blks
= sectsz= attr=, projid32bit=
= crc=
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
[root@linuxprobe ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 23G .1G 20G % / //系统盘成功扩容至23G,增加了5GB容量,且重启依然生效
devtmpfs 985M 985M % /dev
tmpfs 994M 80K 994M % /dev/shm
tmpfs 994M 8.9M 986M % /run
tmpfs 994M 994M % /sys/fs/cgroup
/dev/sr0 .5G .5G % /media/cdrom
/dev/sda1 497M 119M 379M % /boot

 至此,Linux系统盘扩容操作完毕。

 知识补充:

  1、重置逻辑卷命令 "xfs_growfs /dev/rhel/root" 和 "xfs_growfs /dev/mapper/rhel-root" 效果一样;

  2、如果是ext4文件系统,重置命令为"resize2fs /dev/rhel/root";

  3、xfs文件系统只能扩容,不允许缩容。

[root@linuxprobe ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 rhel lvm2 a-- .51g
/dev/sdb1 rhel lvm2 a-- .00g .00g //还省5GB空闲容量

Linux系统系统盘扩容的更多相关文章

  1. Linux系统硬盘扩容

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

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

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

  3. linux LVM 系统盘扩容

    1.fdisk /dev/sda2.输入n,开始创建新分区3.输入p4.输入w5.mkfs.ext4 /dev/sda36.pvcreate /dev/sda37.vgdisplay 查看VG nam ...

  4. Linux系统盘扩容-物理机非虚拟机

    # Linux系统盘扩容 ## 了解磁盘分区情况 - `blkid` 查看分区情况- `fdisk -l` 分区表 ## 系统挂载分区 - `/etc/fstab` 启动挂载分区情况 ## 双系统下分 ...

  5. Linux系统LVM分区减容扩容

    Linux系统LVM分区减容扩容 目标:将VolGroup-lv_home缩小到20G,并将剩余的空间添加给VolGroup-lv_root 1.首先查看磁盘使用情况 [root@localhost ...

  6. linux 系统扩容 VMware Centos---VMware ESXi

    用到的命令 df  fdisk  pvcreate   pvdisplay    vgdisplay    vgextend    lvdisplay    lvextend  resize2fs 0 ...

  7. 虚拟机linux系统 硬盘/root路径扩容

    调整完后,重新打开虚拟机,使用fdisk -l查看,可以看到我们刚刚扩容的空间已经可以看到,但没有分区,还不能使用./dev/sda已经拥有了扩大的空间. 使用Linux的fdisk分区工具给磁盘/d ...

  8. centos7下使用LVM给系统硬盘扩容超详细

    简单介绍: LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的 ...

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

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

随机推荐

  1. 方差分析||MSA/MSE|

    应用统计学-方差分析 数值型数据使用线性回归来研究因素对因变量的影响.类别型数据使用方差分析来研究因素对因变量的影响.方差分析是使用方差比MSA/MSE来检验均值是否全相等,即相等是H0假设,而不全相 ...

  2. html,将元素水平,垂直居中的四种方式

    将元素垂直,水平居中分两种情况:一个是元素尺寸固定,二是元素尺寸不固定 一.尺寸固定 方法1:定位 ,50%,margin负距 .box{ width: 400px; height: 300px; b ...

  3. HDU-1251-统计难题(Trie树)(BST)(AVL)

    字典树解法(Trie树) Accepted 1251 156MS 45400K 949 B C++ #include"iostream" #include"cstdlib ...

  4. flink测试用例编写

    使用tableFunction的collect总是npe, 实际可以自定义collector, 在collector中做自己想做的事 不使用现成的collector

  5. Inventor 卸载工具,完美彻底卸载清除干净Inventor各种残留注册表和文件

    一些同学安装Inventor出错了,也有时候想重新安装Inventor的时候会出现这种本电脑windows系统已安装Inventor,你要是不留意直接安装,只会安装Inventor的附件,Invent ...

  6. python中的reduce函数

    python中的reduce   python中的reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是 ...

  7. linux上apache的安装

    1.简介 Apache HTTP Server(简称Apache或httpd)是Apache软件基金会的一个开放源代码的网页服务器软件,旨在为unix,windows等操作系统中提供开源httpd服务 ...

  8. Nginx笔记总结十五:nginx+keepalive+proxy_cache配置高可用nginx集群和高速缓存

    nginx编译 wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz ./configure --prefix=/usr/loca ...

  9. response 画验证码

    代码 import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.Bu ...

  10. python基础 生成器 迭代器

    列表生成式: a=[1,2,3] print a b=[i*2 for i in range(10)] #i循环10次,每一个i的值乘2就是列表中的值.列表生成式 print b >>[1 ...