当LVM分区空间不足的时候,可以进行扩容。主要的扩容方法有两种:

通过空余的磁盘进行扩容,这个方法比较简单,不会对原有数据有影响。
将其他LVM分区空间取出一部分给需要扩容的LVM分区。
下面就分别具体介绍这两种方法。

查看系统磁盘
当使用df -h 命令,可以看到系统的磁盘使用情况,如下所示。

[root@localhost home]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
51G 24G 25G 49% /
tmpfs 935M 0 935M 0% /dev/shm
/dev/xvda1 477M 93M 360M 21% /boot
/dev/mapper/VolGroup-lv_home
199G 60M 189G 1% /home
利用空余磁盘扩容
1. 首先使用命令fdisk -l 查看磁盘情况,此系统有两块硬盘,/dev/xvda 274.9G,/dev/xvdb 10.7G

[root@localhost home]# fdisk -l

Disk /dev/xvdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

2. 创建pv ,通过pvcreate命令将磁盘/dev/xvdb创建为一个系统PV

[root@localhost home]# pvcreate /dev/xvdb
Physical volume "/dev/xvdb" successfully created

3. 将 PV /dev/xvdb添加到卷组VolGroup 中。磁盘已经添加到VolGroup ,而且卷组的空间增加了10G。使用命令vgextend VolGroup /dev/xvdb

[root@localhost home]# vgextend VolGroup /dev/xvdb
Volume group "VolGroup" successfully extended
[root@localhost home]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 2 3 0 wz--n- 265.50g 0

4. 为/ 添加10G的空间。使用命令lvextend -L +10G /dev/mapper/VolGroup-lv_root

[root@localhost home]# lvextend -L +10G /dev/mapper/VolGroup-lv_root
Size of logical volume VolGroup/lv_root changed from 50.98 GiB (13050 extents) to 55.98 GiB (14330 extents).
Logical volume lv_root successfully resized

5. 逻辑卷扩展后并不会马上生效,需要使用“resize2fs”命令重新加载逻辑卷的大小。使用命令 resize2fs /dev/VolGroup/lv_root。再使用命令df -h查看发现/已经多了10G。

[root@localhost home]# resize2fs /dev/VolGroup/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VolGroup/lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 4
Performing an on-line resize of /dev/VolGroup/lv_root to 14673920 (4k) blocks.
The filesystem on /dev/VolGroup/lv_root is now 14673920 blocks long.

[root@localhost home]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
60G 24G 34G 41% /
tmpfs 935M 0 935M 0% /dev/shm
/dev/xvda1 477M 93M 360M 21% /boot
/dev/mapper/VolGroup-lv_home
199G 60M 189G 1% /home

利用其他LVM分区空余空间进行扩容
1. 使用df -h查看每个分区的使用情况。如下,发现/dev/mapper/VolGroup-lv_home容量很充裕,本次扩容通过减少/dev/mapper/VolGroup-lv_home的空间给/dev/mapper/VolGroup-lv_root。

[root@localhost home]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
60G 24G 34G 41% /
tmpfs 935M 0 935M 0% /dev/shm
/dev/xvda1 477M 93M 360M 21% /boot
/dev/mapper/VolGroup-lv_home
199G 60M 189G 1% /home

2. 卸载/home

[root@localhost home]# umount /home
umount: /home: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))

umount /home 如果提示无法卸载,因为有进程占用/home,使用如下命令来终止占用进程:

[root@localhost home]# fuser -m /home
/home: 1463c

如果依然无法卸载,使用以下命令:

[root@localhost home]# umount -l /home

3. 调整/dev/mapper/VolGroup-lv_home分区大小

需要先进行磁盘检测 ,输入命令e2fsck -f /dev/mapper/VolGroup-lv_home。 
注意:遇到Abort< y >? 这边输入的是n,才能继续进行。

[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_home
e2fsck 1.41.12 (17-May-2010)
The filesystem size (according to the superblock) is 52848640 blocks
The physical size of the device is 52592640 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort<y>? no

Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/VolGroup-lv_home: 26/13213696 files (0.0% non-contiguous), 877250/52848640 blocks

然后输入命令resize2fs -p /dev/mapper/VolGroup-lv_home 100G,进行磁盘重订大小。

[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 100G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/VolGroup-lv_home to 26214400 (4k) blocks.
Begin pass 2 (max = 32768)
Relocating blocks XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 1613)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/mapper/VolGroup-lv_home is now 26214400 blocks long.
4. 重新挂载/home

重新挂载后,输入df -h,发现/dev/mapper/VolGroup-lv_home已[root@localhost ~]# mount /home


[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
60G 24G 34G 41% /
tmpfs 935M 0 935M 0% /dev/shm
/dev/xvda1 477M 93M 360M 21% /boot
/dev/mapper/VolGroup-lv_home
99G 60M 94G 1% /home

5. 设置空闲空间

使用命令vgdisplay,可以看到Free PE/Size 25760 / 100.62 GiB,有了100G的空余空间。 或者使用 vgs 命令

[root@localhost ~]# lvreduce -L 100G /dev/mapper/VolGroup-lv_home
WARNING: Reducing active and open logical volume to 100.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_home? [y/n]: y
Size of logical volume VolGroup/lv_home changed from 200.62 GiB (51360 extents) to 100.00 GiB (25600 extents).
Logical volume lv_home successfully resized
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name VolGroup
Free PE / Size 25760 / 100.62 GiB
VG UUID hQoxGl-H4T9-Lu9W-sITN-hO2B-aos7-T5TmKC

6. 把闲置空间挂在到根目录下

[root@localhost ~]# lvextend -L +100.62G /dev/mapper/VolGroup-lv_root
Rounding size to boundary between physical extents: 100.62 GiB
Size of logical volume VolGroup/lv_root changed from 60.97 GiB (15609 extents) to 161.59 GiB (41368 extents).
Logical volume lv_root successfully resized

使用命令resize2fs -p /dev/mapper/VolGroup-lv_root, 可以不用重启,就显示最新的磁盘空间。

[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 11
Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 42360832 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_root is now 42360832 blocks long.
7. 最后结果

[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
159G 24G 128G 16% /
tmpfs 935M 0 935M 0% /dev/shm
/dev/xvda1 477M 93M 360M 21% /boot
/dev/mapper/VolGroup-lv_home

参考博客
https://blog.csdn.net/weixin_44130166/article/details/86621425
 

现在有这么一个现状,有一个磁盘使用率过高,超过90%,所以为了不影响使用,现在决定为该挂载点扩容

现在有两种解决办法

   一:可以将其他利用率不高的挂载点做个软链接 --> 利用率高的挂载点上(以后在利用率高的挂载点上写数据会被转移到那个利用率不高的挂载点上,变相的给挂载点扩容)

   二:新增磁盘,并分区、格式化、挂载

现在针对这两种方法进行讲解:

一、软链接

首先我们看一下磁盘的利用情况

df -h

我们可以发现根目录的利用率达到了90%,而/dev/sdb这块盘的利用率是1%,所以我们选择这块盘进行软连接

这里我们要注意做软链接的时候,如果目标文件有数据做软链接的时候会显示不到,所以我们尽量先备份文件

1.新建/tmp2文件夹
2.mkdir /tmp2
3.新建磁盘/tmp
cd /data/htdocs/topic/resource
mkdir -m 1777 tmp
4.备份/tmp下的文件
cp sess* /tmp2
5.创建软链接
ln -s /data/htdocs/topic/resource/tmp /tmp

二、新增磁盘进行扩容

先去vmvare上增加磁盘大小或者在磁盘矩阵里新增一块盘

(1)启动VMware环境下的Linux操作系统,添加新分区,需要root账号身份。

1.1 【fdisk -l】 最大分区为/dev/sda2,说明新创建的分区将会是sda3

1.2 输入【fdisk /dev/sda】

1.2.1命令行提示下输入【m】

1.2.2输入命令【n】添加新分区。

1.2.3输入命令【p】创建主分区。

1.2.4输入【回车】,选择默认大小,这样不浪费空间

1.2.5输入【回车】,选择默认的start cylinder。

1.2.6输入【w】,保持修改

1.3 输入【reboot】 重启linux,必须reboot,否则/dev/sda4无法格式化。
或者执行【partprobe】强制让内核重新找一次分区表 1.4 这时在/dev/目录下,才能看到了新的分区比如/dev/sda3 1.5 【mkfs.ext3 /dev/sda3】格式化
mkfs -t ext3 /dev/sda3 1.6 在根目录下创建tmp2目录
cd /
mkdir tmp2 1.7保存原先tmp下的文件
cd /tmp
cp sess* /tmp2 1.7 【mount /dev/sda3 /tmp/】将分区mount到/tmp/上 1.8 在vim修改/etc/fstab文件,加入【/dev/sda3 /tmp ext3 defaults 0 0】一行,并保存,实现开机自动mount。 至此,新增加的磁盘空间容量,即可在/tmp上体现,并且重新开机自动mount该分区,追加磁盘空间的工作完毕。 如果当前磁盘无容可阔,可以用增加磁盘的方法,在VMware主界面,选择 【VMware】下拉菜单,选择【Settings】,用【Add】方式增加一块磁盘,后面的操作类似,不再重复。

linux 的 两种磁盘扩容的更多相关文章

  1. Linux下的两种磁盘分区工具的使用

    如何使用fdisk和parted分区工具来进行硬盘分区,下面我来说一下在Linux系统中这两种硬盘分区工具的使用方法:     ----------fdisk分区工具----------       ...

  2. Linux Centos7 根分区磁盘扩容[详解]

    CentOS7 根分区扩容 [详细过程] 前提 1.如果原来的系统根分区为逻辑卷分区 则可以使用如下的方法 如果不是则不可以 2.如果原来的系统根分区不是逻辑卷分区 则不可以扩展只能再添加挂在磁盘进行 ...

  3. LINUX的两种后门总结(suid shell与inetd)

    前提: 你现在已经是root用户, 想留一个后门以便日后再一次进入. 系统环境:  1 dawg:~# uname -a 2 Linux dawg 2.4.20-1-386 #3 Sat Mar 22 ...

  4. Linux上两种网络连接方式

    模式一:NAT方式好处:路由器更换,或者交换机更换,网络仍然可以使用,所用使用最多 准备工作: 查看VMware服务器启动情况,五个全开模式 vmnet8开启模式 1 配置VMware交换机的ip地址 ...

  5. [ 总结 ] Linux下两种常用的双网卡绑定

    1. mode=0 (round-robin) 链路聚合:将两个或者更多数据信道结合成一个单一的信道,该信道以一个更高带宽的逻辑链路出现,链路聚合一般用来连接一个或多个带宽需求量大的设备,链路聚合是指 ...

  6. Linux系统中存储设备的两种表示方法

    转:https://blog.csdn.net/holybin/article/details/38637381 一.对于IDE接口的硬盘的两种表示方法: 1.IDE接口硬盘,对于整块硬盘的两种表示方 ...

  7. Linux下安装mysql(yum和源码编译两种方式)

    这里介绍Linux下两种安装mysql的方式:yum安装和源码编译安装. 1. yum安装 (1)首先查看centos自带的mysql是否被安装: # yum list installed |grep ...

  8. Linux下 磁盘扩容的两种方式

    Hadoop扩容 概述 Hadoop存储容量或计算能力不能满足日益增长的需求时,就需要扩容. 扩容有两个方案: 1) 增加磁盘 2) 增加节点 方案一:扩大虚拟磁盘 扩大容量 将虚拟的Linux关闭, ...

  9. linux系统的磁盘空间限制的两种方法

    最近在搞VPS,要用到磁盘的限额,在网上找了一些相关的资料,总结起来,有两个方法能实现,一是用quota,另外一种是限制目录大小,下面我就将这两种方法写出来,与大家一起分享! 首先我们来看第一种方法, ...

随机推荐

  1. Netlink: 内核与用户空间传输数据的socket协议

    https://en.wikipedia.org/wiki/Netlink https://stackoverflow.com/questions/12899055/how-kernel-notify ...

  2. python的pandas库读取csv

    首先建立test.csv原始数据,内容如下 时间,地点 一月,北京 二月,上海 三月,广东 四月,深圳 五月,河南 六月,郑州 七月,新密 八月,大连 九月,盘锦 十月,沈阳 十一月,武汉 十二月,南 ...

  3. Ubuntu创建启动器(快捷方式)的方式

    解压.tar.gz的navicat之后发现不能自动生成启动器了,研究了一下发现: 虽然不少带有图形界面的程序会在安装时自动在桌面上创建快捷方式,还有一些图形界面程序或者命令行程序可能需要你手动创建快捷 ...

  4. 小程序~列表渲染~key

    如果列表中项目的位置会动态改变或者有新的项目添加到列表中,并且希望列表中的项目保持自己的特征和状态(如 <input/> 中的输入内容, <switch/> 的选中状态),需要 ...

  5. 《BUG创造队》第八次团队作业:Alpha冲刺

    项目 内容 这个作业属于哪个课程 2016级软件工程 这个作业的要求在哪里 实验十二 团队作业8:软件测试与ALPHA冲刺 团队名称 BUG创造队 作业学习目标 (1)掌握软件测试基础技术.(2)学习 ...

  6. phantomJS+Python 隐形浏览器

    phantomjs解压后,把文件夹bin中的phantomjs.exe移到python文件夹中的Scripts中 实例: from selenium import webdriver driver = ...

  7. wordpress调用指定post type文章怎么操作

    我们有时会用wordpress创建好几种post type文章,比如默认的post文章和product文章,如果我们要在每个页面的底部调用post type类型为post最新文章要如何操作呢?那我们就 ...

  8. linux 判空处理

    linux在进行判空是一个经常要用到的操作,可以使用如下方式: 变量通过" "引号引起来 if [ ! -n "$filename" ];then echo & ...

  9. linux 查看某个目录下文件的数量

    今日思语:时间是个庸医,却自称能包治百病~ 在linux环境下,经常需要查看某个文件目录下的文件数有多少,除了进入当前目录下查看,还可以使用命令: ls -l | grep "^-" ...

  10. docker 下载安装镜像

    docker安装成功后. 1.搜索镜像 # docker search java 可使用 docker search命令搜索存放在 Docker Hub(这是docker官方提供的存放所有docker ...