警告!

本文为虚拟机环境,生产环境请务必在操作前优先备份重要数据

再有,请确保所需扩充的分区为非进程占用分区

实验背景:当时规划系统分区时/(根)目录分配过小

实验目的 : 无损增大/(根)分区容量

方案:

一、所在卷组(vg)有空闲,直接将空闲空间分配给/(根)挂载的逻辑卷(LV);

二、所在卷组(vg)已全部分配,无空闲空间,可系统增加一块盘,做物理卷(pv)加入到卷组(vg),达到扩充卷组空间,再将空闲的卷组空间划分给/(根)挂载的逻辑卷(LV);

三、所在卷组(VG)已全部分配,无空闲空间,VG下有其他LV有多余空间可分配出来。将这部分空间转移到/(根)下。

下面实验就是用方案三做演示:

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-可爱的分隔符=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

可以看到/已经达到了75%,我们要将test下的空间转移一部分到/下,下面详细介绍从lv_test分区下取出10G的空间添加到lv_root分区上去。

查看卷组和逻辑卷

[root@swnode1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root vg_swnode1 -wi-ao---- 21.89g          #/分区所在lv的空间
lv_test vg_swnode1 -wi-ao---- 19.99g          #/test所在lv的空间
1、缩减lv_test空间(缩减文件系统→缩减lv)
  首先得umount 卸载test分区
[root@swnode1 ~]# umount /test/

  重新设定lv_test的大小(先调整文件系统大小)

[root@swnode1 ~]# resize2fs -p /dev/mapper/vg_swnode1-lv_test 10G                //-p查看进度

  提示先进行此命令检查

[root@swnode1 ~]# e2fsck -f /dev/mapper/vg_swnode1-lv_test

重新执行下文件系统缩容

mount下查看缩减后

  将逻辑卷lv_test也减少到文件系统大小

[root@swnode1 ~]# lvreduce -L 9.8G /dev/mapper/vg_swnode1-lv_test

2、增加VG下可用空间到根目录(注:扩容时顺序和缩容相反,先扩lv再文件系统)

  查看vg的空闲空间

[root@swnode1 ~]# vgdisplay

  将空闲空间划分到/

[root@swnode1 ~]# lvextend -L +10.19G /dev/vg_swnode1/lv_root

  现在设定分区文件系统大小

[root@swnode1 ~]# resize2fs -p /dev/vg_swnode1/lv_root

再次查看扩容结果

可能遇到的问题

1、在卸载/test目录的时候失败

可先执行如下fuser命令解除磁盘占用,然后再umount即可:

2、在设定lv_root的大小时,不要把Free PE / Size的空间全部都用上,这很可能会出现Free PE空间不足的现象,建议保留一点Free PE的空间。

3、重启后进入不到系统,提示文件损坏

https://www.cnblogs.com/-abm/p/9221378.html

热扩容LVM形式的/(根)分区(无损增大、缩小LVM分区)的更多相关文章

  1. Docker容器学习梳理 - 容器硬盘热扩容

    前面已介绍了docker很多知识点的操作记录,今天这里梳理下docker容器空间扩展的操作.默认情况下,物理机下创建的docker容器的空间是10G(虚拟机下创建的docker容器空间就是虚拟机的空间 ...

  2. clickhouse高可用-节点宕机数据一致性方案-热扩容

    1. 集群节点及服务分配 说明: 1.1. 在每个节点上启动两个clickhouse服务(后面会详细介绍如何操作这一步),一个数据分片,一个数据备份,为了确保宕机数据一致性,数据分片和数据备份不能同一 ...

  3. 图解MBR分区无损转换GPT分区+UEFI引导安装WIN8.1

    确定你的主板支持UEFI引导.1,前期准备,WIN8.1原版系统一份(坛子里很多,自己下载个),U盘2个其中大于4G一个(最好 准备两个U盘)2,大家都知道WIN8系统只支持GPT分区,传统的MBR分 ...

  4. Linux上把新磁盘扩展到已有分区中(基于LVM)

    0.在不重启服务器的前提下找到新加的磁盘 --查看主机总线号 ls /sys/class/scsi_host/ --根据查询结果生成刷新磁盘语句 echo "- - -" > ...

  5. Linux磁盘分区(四)之分区大小调整

    Linux磁盘分区(四)之分区大小调整在学习调整分区大小之前,先了解linx分区的概念.参考如下博客:[1]linux 分区 物理卷 逻辑卷 https://www.cnblogs.com/liuch ...

  6. 打算安装个Ubuntu双系统,遇到了些基本概念问题(主分区、活动分区、扩展分区、逻辑分区)

    和运维的同事聊天,了解到: 1.XP系统时代(老的硬盘分区形式和分区表),最多允许建4个“主分区”,为了解决这个限制,就有了“扩展分区”的概念: 2.在“扩展分区”上,我们就可以建很多的“逻辑分区”, ...

  7. Atitit 分区后的查询  mysql分区记录的流程与原理

    Atitit 分区后的查询  mysql分区记录的流程与原理 1.1.1. ibd是MySQL数据文件.索引文件1 1.2. 已经又数据了,如何分区? 给已有的表加上分区 ]1 1.3. 分成4个区, ...

  8. UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究

    内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...

  9. Sql Server 分区之后增加新的分区

    随着时间的推移,你可能会希望为已分区的表添加额外的分区(例如,可以为每一个新年创建一个新的分区).要增加一个新的分区,可以使用ALTER PARTITION SCHEME和ALTER PARTITIO ...

随机推荐

  1. PHP "松散比较"

    PHP 的整数和字符串比较是 "松散比较" var_dump('dev' == 0); bool(true) switch switch 在进行比较的时候,只是对值进行比较(&qu ...

  2. HP-UX平台Oracle启动实例遭遇:ORA-27154,ORA-27300,ORA-27301,ORA-27302

    环境:HP-UX 11.31 + Oracle 11.2.0.4 现象:在hpux安装Oracle,按业务需求配置参数后,无法启动实例. 报错如下: ORA-27154:post/wait creat ...

  3. 递归n!

    package sushudigui; import java.util.Scanner; public class digui { public static void main(String[] ...

  4. jQuery-淡入淡出效果-fadeIn()淡进 fadeOut()淡出 fadeToggle();

    动画高级函数:基于底层函数又进行了封装两大块:简化版的动画函数和万能动画函数简化版动画函数显示/隐藏$().show;  $(...).hide();  强调:无参数的show()/hide()使用的 ...

  5. 本地计算机上的SQLServer(MSSQLSERVER)服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止

    SQLServer的服务启动问题: 本地计算机上的SQLServer(MSSQLSERVER)服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止 出现这个问题导致无法启动SQLServer服 ...

  6. Ubuntu10.04 python2.6下安装matplotlib环境

    一.准备工作1.sudo apt-get install python-numpy2.sudo apt-get install python2.6-dev3.sudo apt-get install ...

  7. centos下mysql 5源码安装全过程记录

    参考:http://blog.csdn.net/mycwq/article/details/24488691 安装cmake,mysql 5.5以后的版本要通过cmake进行编译 在新装的CentOS ...

  8. scu 4444 Travel

    题意: 一个完全图,有n个点,其中m条边是权值为a的无向边,其它是权值为b的无向边,问从1到n的最短路. 思路: 首先判断1和n被哪种边连通. 如果是被a连通,那么就需要全部走b的边到达n,选择最小的 ...

  9. mysql 查看版本和是否支持分区

    命令行界面: 查看版本: select version(); 结果: +------------+| version() |+------------+| 5.6.31-log |+--------- ...

  10. 文件、文件夹操作(I)

    遍历一个目录下的所有文件 首先我们获取用户文档目录路径 let manager = FileManager.default let urlForDocument = manager.urls(for: ...