警告!

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

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

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

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

方案:

一、所在卷组(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. centos7及服务器端安装python2.7.13, setuptools, pip

    1. 安装python2.7.13 因为涉及到安装到服务器,所以可能不能直接在usr/bin及usr/local/bin下安装,所以本文详解安装在自定义目录下. 下载安装包: $ wget https ...

  2. netcore swagger xml发布丢失问题

    1.netcore2.1.2,swagger.aspnetcore 1.1.0版本.发布netcore项目时swagger的接口文档xml 遗漏,始终发布不上去.后来查阅资料,讲的好像是netcore ...

  3. webform非表单提交时防xss攻击

     1.webform默认配置下,主动防御了针对表单提交的xss攻击,但这次发生时因为url导致的,所以webform的默认防御机制不起作用  webform下输出非表单提交获得的数据的时候,要加htm ...

  4. datatable的点击事件

    datatable的点击事件 在项目中遇到一个问题,在动态绑定到datatables上的数组,要是用table中的两个某一行中数据作为参数,通过鼠标点击进行获取,查阅官方文档得以解决: //首先定义一 ...

  5. 06 str() bytes() 编码转换

    x = str() #创建字符串#转换成字符串,字节,编码 m = bytes()#创建字节#转换成字节,字符串,要编程什么编码类型的字节 a = "李露" b1 = bytes( ...

  6. pymysql 数据库操控

    模块安装 pip install pymysql 执行sql语句 import pymysql #添加数据 conn = pymysql.connect(host='127.0.0.1', port= ...

  7. Qt 添加 QtNetwork 库文件

    Qt应用程序默认没有加QtNetwork库.如下图: 在开发过程中,因处理业务需要手动添加QtNetwork库.根据常见情况分为以下两种: [1]若使用QTCreator开发程序 在工程的pro文件中 ...

  8. python pandas 基础理解

    其实每一篇博客我都要用很多琐碎的时间片段来学完写完,每次一点点,用到了就学一点,学一点就记录一点,要用上好几天甚至一两个礼拜才感觉某一小类的知识结构学的差不多了. Pandas 是基于 NumPy 的 ...

  9. python相关工具

      1.matlab与python之间的数据传递 import scipy.io as sio import numpy as np ###下面是讲解python怎么读取.mat文件以及怎么处理得到的 ...

  10. Linux基础命令---添加组groupadd、删除组groupdel

    groupadd 指定群组名称来建立新的群组账号,需要时可以从系统中取得新的群组值. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. ...