准备知识

linux volume

1.(PV)physical volume
disk ; 物理硬盘
物理硬盘需要转换成lvm(logic volume manage)可识别的状态,将磁盘的system id 转换成8e(lvm的识别码),再通过
pvcreate转换成PV,这样才能对磁盘加以利用

2.(VG) volume group
磁盘组, 由pv组成,而后pv又会被看做一个整体分为lv1、lv2···

3.(PE) physical extent
lvm的最小存储块

4.(LV)logical volume
逻辑卷
VG最后会被分成许多LV
表示为 /dev/vgname/lvname 例 /dev/sda/sda1 、/dev/sda/sda2 、/dev/sdb/sdb1
—————————————-华丽的分割线—————————————————-
系统版本:

cat /etc/redhat-release
  • 1

CentOS Linux release 7,2,15,11

现状:
磁盘有2块 sda(20G) 、sdb(2G), 现只有sda被使用,因为root分区马上就满了所以准备对磁盘sda扩容,将sdb合并到sda中

原理:
使用lvm对磁盘扩容
通过转置sdb的pe到sda中达到对sda扩容的目的。

流程:
1.添加逻辑卷sdb
先用parted确定磁盘类型,若类型为MBR则使用fdisk,若为GPT则使用gdisk来分割。

parted /dev/sdbx print
  • 1


确认一个扇区(sector)的大小为512字节
确定类型为msdos(mbr),所以使用fdisk。

fdisk /dev/sdb
  • 1


注意此处因为是要将sdb中所有容量都拿过来,所以在设定容量时直接按默认值回车了,如果要分配出指定的容量,则在last sector 行自行设置,例 +2G;再将系统识别码设置称lvm可是别的8e,w保存。

2.更新分区表

partprob 
  • 1

3.格式化为ext4格式

mkfs -t ext4 /dev/vdb1
  • 1

4.挂载sbd(此处挂载可忽略,因为扩容不需要挂载,跳到5)

mkdir /mnt/sdb1
mount /dev/sdb1 /mnt/sdb
  • 1
  • 2

设置开机自动挂载

vi /etc/fstab 在末尾添加一行
/dev/sdb1 /mnt/sdb ext4 defaluts 1 2
  • 1
  • 2

reboot 重启df -h 查看

成功!

如果你的设备已经挂载请先卸载。
5.通过lvm管理sdb1
先创建物理卷pv

lvm
pvcreate /dev/sdb1
  • 1
  • 2


将pv(物理卷)加入到vg(卷组),可以通过·vgdisplay 查看组信息

vgextend centos /dev/sdb1
  • 1


可以看到vg size 增加到了22G,Free PE size 也有了2G(511)的大小。(我们要增加的就是这个PE的大小!!)
到现在终于可以开始扩充根目录酱的容量啦。。(有奇怪的东西混了进来2333)
逻辑卷扩容

lvextend -l +511 /dev/mapper/centos-root
  • 1


同样可以通过lvdisplay查看结果

6.接下来扩容文件系统
注意:如果文件系统是xfs格式用 xfs_growfs ,我这里是ext4格式用resize2fs

resize2fs /dev/mapper/centos-root
  • 1

df -h 查看结果
  • 1


可以看到我们的根目录酱(划掉)⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄已经成功的从18G涨到20G啦。

至此扩容完成。

linux 根目录扩容方法的更多相关文章

  1. Ubuntu系统分配存储空间的建议以及给Ubuntu系统根目录扩容方法(从20GB追加100GB)

    当初准备装双系统时,也思考了很久分配多少空间给Ubuntu16.04系统,查了许多资料,大多意思是‘/’目录总共给20GB,其他的给/home.网上资料推荐的大多跟这篇文章一样:https://blo ...

  2. linux根目录扩容

    原来在ucloud上面买了一个服务器,结果根目录上面只有20G,/data挂载点下面有500G,没多久/根目录存储空间用完了,所以要扩展 linux的文件模式分为lvm模式和普通的非lvm模式,云服务 ...

  3. linux 根目录扩容

    之前搭建了一个CentOS(7.0, x64)的VM,一直没留意它的硬盘空间.昨天,系统突然弹出警示,说 根目录 空间不足了. 这样的话,就只能给它增加空间呗. 我自己其实已经增加过硬盘空间了,但是为 ...

  4. (扩展根目录容量方法汇总)把Linux系统迁移到另一个分区或者硬盘

    Linux系统扩容方法汇总 相信很多朋友都有过这样的经历,本想装个Ubantu玩玩,没想到玩久了反而不习惯Windows了,然而开始装系统的时候只分配了非常小的空间,那应该怎样扩展我们的ubantu呢 ...

  5. Linux系统扩容根目录磁盘空间

    作者:非法小恋 一.使用背景 Linux根目录磁盘空间不够用了,当修改了虚拟机模版增加磁盘大小或者插入了一块新硬盘,但是发现系统里的大小还是没改变. 产生的原因是没有给磁盘格式化,没有增加分区. 二. ...

  6. Docker 后台进程参数-------更改Docker运行根目录的方法

    参数 介绍 --api-enable-cors=false 远程API调用. -b, --bridge="" 桥接一个系统上的网桥设备到 Docker 容器里,当使用 none 可 ...

  7. [转帖]【mount】Linux根目录空间不足

    [mount]Linux根目录空间不足 2019.04.15 21:30:47字数 1094阅读 107 一.问题背景 一台数据库服务器,突然监控告警,报根目录空间不足(no space left o ...

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

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

  9. [linux]vmware中linux虚拟机扩容 标签: vmware虚拟机linux 2016-09-05 08:03 315人阅读 评

    扩容原因 现阶段,虚拟机的标配都是1G内存和20G硬盘,大部分时候是够用的,但是也会出现虚拟机里面东西放多了硬盘不够用的情况,这种情况下,除了清理垃圾,另外就只能给虚拟机扩容了.因为window扩容相 ...

  10. Centos7 LVM管理的逻辑卷根目录扩容和/var目录扩容

    Centos7 LVM管理的逻辑卷根目录扩容 fdisk /dev/sdb #对新加磁盘进行分区操作pvcreate /dev/sdb1 #创建一个物理卷vgs #查看现有的卷组vgextend ce ...

随机推荐

  1. Kaggle API使用范例

    kaggle.com/docs/api

  2. SpringBoot(四) - 整合Mybatis,逆向工程,JPA,Mybatis-plus

    1.SpringBoot整合MyBatis 1.1 application.yml # 数据源配置 spring: datasource: driver-class-name: com.mysql.c ...

  3. 高性能队列Disruptor

    背景 Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级).基于Disruptor开发的系统单线程能 ...

  4. K8S故障处理:临时设置节点为不可调度(cordon与drain区别)

    在Kubernetes中,节点驱逐是一种管理和维护集群的重要操作,允许节点在维护.升级或者发生故障时从集群中移除,等到节点修复后,再重新承担pod调度功能. 1.K8s节点驱逐 节点驱逐是指将节点上运 ...

  5. frida 解决一些报错问题

    遇到的一些问题 第一个问题 Unable to start: Error binding to address 127.0.0.1:27042: Address already in use 解决方法 ...

  6. 微信小程序block的作用

    有了block标签过后,你就可以把if 或则 for 语句写在block标签里面; 这样就控制了这一块的逻辑. 个人建议是要是v-if和v-for的都可以写在block上: block并不是一个组件, ...

  7. 将VSCode设置为中文(汉化)

    1.VSCode安装好后默认语言为英文,此汉化过程的VSCode版本为1.42.1,如下图所示: 2.下载安装完成后,打开VSCode,使用快捷键Ctrl+Shift+P,然后在出现的输入框中输入co ...

  8. .NET周刊【1月第3期 2025-01-19】

    国内文章 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(一):从.NET IoT入门开始 https://www.cnblogs.com/GreenShade/p/1866 ...

  9. Java代码覆盖率工具之Jacoco

    Java代码覆盖率工具之Jacoco JaCoCo(Java Code Coverage)是一款面向Java语言的开源代码覆盖率工具,以其小型化和轻量化著称.它能够提供代码在测试过程中的覆盖率信息,帮 ...

  10. StarUML画类图

    1.Classes说明 [1]Class  类 [2]Interface 接口 [8]Generalization A与B的泛化关系,A继承B.继承非抽象类 [9]Interface Realizat ...