Suse Linux 磁盘动态扩容

2023-11-07

1. 背景

       Suse Linux本身非常少见,在实际项目中用过最多的是CentOs和RedHat版本的Linux,Linux各个发行版只是微小差异,命令基本上一样。有一个数仓的测试环境中,总磁盘大小为1T,根目录/挂载了300G,剩下的600多G挂载到了/home目录下,磁盘空间分配非常不合理,根目录磁盘已经被Oracle的数据库占满了,而/home目录只使用了几十个G,根目录占满之后,数仓的调度几乎无法运行,有些时候连接Oracle都成问题。甲方又不给增加容量,还要我们自己去扩容。

2. 操作步骤

2.1 备份home目录

    服务器的根目录已经100%,根本没有办法存放备份文件,不过我自己的机器发现/run目录下有空间可以存放,备份文件存放在/run目录有方向,后面的操作步骤可能要重启才能完成,重启之后/run目录底下的备份文件自动删除了,可能再也无法恢复,因此备份之后,最后拷贝一份到别的机器上。

     tar cvf /run/home.tar /home

2.2 卸载home目录

     要先终止所有使用/home文件系统的进程,也可以自己手动停止。

     fuser -km /home

     我的由于docker是在home底下的,因此我手动停止了docker

    service docker stop

    卸载home目录

    umount /home

2.3 删除逻辑分区

    lvremove /dev/mapper/system-home

其中system-home主要取决于你的磁盘逻辑分区卷的名称,一般情况centos-home之类的,我的suse的linux默认的名称是system-xxx的名称,下图已经完成了扩容的,只是展示一下逻辑分区的名称,开始的时候有一个

/dev/mapper/system-home逻辑卷挂载到/home目录下

(base) localhost:~ # df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 7.8G     0  7.8G   0% /dev
tmpfs                    7.8G     0  7.8G   0% /dev/shm
tmpfs                    7.8G  4.5G  3.3G  58% /run
tmpfs                    7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/mapper/system-root  788G  277G  477G  37% /
/dev/sda1                500M  5.2M  495M   2% /boot/efi
tmpfs                    1.6G     0  1.6G   0% /run/user/461
tmpfs                    1.6G     0  1.6G   0% /run/user/0

选择y,如果没有弹出选择项或报错,证明还有程序未停止,需要用到/home目录,这个只能自己猜测可能是那个进程了。

(base) localhost:~ # lvremove /dev/mapper/system-home
Do you really want to remove and DISCARD active logical volume system/home? [y/n]: y
  Logical volume "home" successfully removed

2.4 扩大根目录所在逻辑卷

        服务器的/dev/mapper/system-root的逻辑挂载在/根目录,既然要扩容,我就把已经删除/dev/mapper/system-home的磁盘空间全部扩展给了/dev/mapper/system-root,一般需要根据自己的实际情况进行调整,命令如下:

(base) localhost:~ # lvextend -L +606G /dev/mapper/system-root
  Rounding size to boundary between physical extents: 606 GiB.
  Size of logical volume system/root changed from 801.12 GiB (205088 extents) to 806.69 GiB (206512 extents).
  Logical volume system/root successfully resized.

lvextend逻辑扩展命令,+606G 则表示在原有基础上扩大606G ,/dev/mapper/system-root是需要扩大的逻辑卷名称

2.5 查看逻辑卷类型

     后面要根据逻辑卷类型选择不同的命令,因此首先要查看逻辑卷类型,根据类型执行扩容命令,相当于格式化

(base) localhost:~ # df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  7.8G     0  7.8G   0% /dev
tmpfs                   tmpfs     7.8G     0  7.8G   0% /dev/shm
tmpfs                   tmpfs     7.8G   18M  7.8G   1% /run
tmpfs                   tmpfs     7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/mapper/system-root ext4      892G  312G  541G  37% /
/dev/sda1               vfat      500M  5.2M  495M   2% /boot/efi
overlay                 overlay   892G  312G  541G  37% /var/lib/docker/overlay2/d64369565a31e8f9c46905d2ae8d6d4856e1188f0e3ef9a26e9ec1e527af881f/merged
overlay                 overlay   892G  312G  541G  37% /var/lib/docker/overlay2/af28b27b6eb4cd23c9c636f3ca5626f2c626c9f2be1d8311b93ef2c3ccf7ff1d/merged
overlay                 overlay   892G  312G  541G  37% /var/lib/docker/overlay2/ca4ce43a1c24873f6eafe9a6b256c223f0622989050c150bbe33dfbd36588e0f/merged
overlay                 overlay   892G  312G  541G  37% /var/lib/docker/overlay2/d1ec937a44b57d702284d26c17c2757f58d995ce6e63b70751a93b0f0c47efd6/merged
shm                     tmpfs      64M     0   64M   0% /var/lib/docker/containers/3ed03aee3cd32a20b9c898ca8da9e67258a5f4a1866d982c66886a4c79e8faca/mounts/shm
shm                     tmpfs      64M     0   64M   0% /var/lib/docker/containers/64d5077f1266ba607620eb7de0b3ede2b17577eff894576e2b615b0cf234187d/mounts/shm
shm                     tmpfs      64M     0   64M   0% /var/lib/docker/containers/c031ddedbc5dcd36b8dbc6d7c77007566d8eb35d23e556a8c5c8a64fa3370a7d/mounts/shm
shm                     tmpfs      64M     0   64M   0% /var/lib/docker/containers/dd58a8469740466b13584f04229220cfaf362a705d777e5df1b1219dcbecf80a/mounts/shm
tmpfs                   tmpfs     1.6G  8.0K  1.6G   1% /run/user/0
(base) localhost:~ # 

  上面显示/dev/mapper/system-root为ext4的类型

2.6  执行扩容

        我这边的逻辑卷的类型为ext4,命令如下:

       resize2fs /dev/mapper/system-root

(base) localhost:~ # resize2fs /dev/mapper/system-root
resize2fs 1.43.8 (1-Jan-2018)
Filesystem at /dev/mapper/system-root is mounted on /; on-line resizing required
old_desc_blocks = 101, new_desc_blocks = 114
The filesystem on /dev/mapper/system-root is now 237682688 (4k) blocks long.

      如是xfs类型,命令就不一样了。命令可能是

      xfs_growfs /dev/mapper/system-root    这个没有测试过

2.7 恢复home目录

      因为是测试环境,我没有选择重建home的分区,把所有磁盘空间都分配给了/根目录。

       tar xvf /run/home.tar -C /

        上面的命令只是恢复了home目录,千万要记住/run/home.tar执行命令过程中需要重启,一定要拷贝到其他地方去,不然重启之后,home.tar文件就不存在了,无法恢复

2.8 检查开机启动挂载的目录

       到2.7解决基本已经完成了根目录的扩容了,但不是万事大吉,重启可能无法正常进入到系统,原因可能有很多,我也不能打包票说大家碰到的问题都一样。我碰到的问题时无法正常登录系统,是因为已经删除/dev/mapper/system-home的挂载信息还在/etc/fstab里面,机器重启之后,会读取/etc/fstab配置,自动挂载磁盘。

因此需要删除掉已经删除的逻辑卷/dev/mapper/system-home,删除之后下图所示:

(base) localhost:~ # vi /etc/fstab 
/dev/system/swap  swap       swap  defaults      0  0
/dev/system/root  /          ext4  defaults      0  1
UUID=3960-7C74    /boot/efi  vfat  codepage=936  0  2
~

上面主要删除已经不存在逻辑卷配置。如果是因为逻辑卷不存在,导致挂载问题,无法直接进入系统,则不要慌,可能还是可以通过root来登录的,只是挂载失败,导致无法直接进入系统。一般根据提示进行操作即可。

   

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Suse Linux 磁盘动态扩容 的相关文章

  • 验证码图片实现

    使用验证码进行验证 自动生成验证码 后台实现 package common makeCertPic import java awt Color import java awt Font import java awt Graphics im
  • 修改IP 脚本

    echo off echo echo 1 地税外网 echo 2 地税内网 echo 3 公司 echo 4 自动获取 echo echo 选择你要设置的网络 set p x if x 1 goto a if x 2 goto b if x
  • curl在windows的安装和使用

    经常看到别人在用curl命令可以请求各种网络请求在命令行里 看起来挺炫酷的 curl作为一个请求web服务器的命令行工具 玩得好甚至可以代替postman 这里我就是讲一下关于如何安装curl在windows上 毕竟很多时候用的电脑都是公司
  • 安卓数据视图化工具SQLiteStudio

    SQLiteStudio工具使用介绍 1 下载 SQLliteStudio 解压后打开文件夹中的exe文件即可 阿里网盘有 2 对SQLliteStudio进行配置 简介 视图化安卓开发过程中数据库内容 笔者使用AndroidStudio开
  • Visual Studio 性能探查器使用技巧,看这篇就足够了

    Visual Studio 提供了性能测量值和分析工具选择 某些工具 如 CPU 使用情况 和 内存使用情况 可以在带或不带调试器的情况下运行 也可以在发布版本或调试版本配置上运行 应用程序时间线 等 性能探查器 工具可以在发布版本或调试版
  • STL之Set基本用法

    单独说一下Set是因为这个工具以前很少用 因为接触不多 后来发现功能太强大了 本来很多题目用Set可以快速通过 但无奈之前都没有使用set的习惯 导致吃了不少亏 set功能非常强大 原因在于Set就是一棵二叉搜索树 我们在很多题目中经常遇到
  • 写需求分析必须牢记的5大要点

    需求验证的5大要点 要做好需求验证 必须在思想 方法 语言 人员 内容5个要点上做好相应的工作 否则就会产生很多负面的影响 1 思想 前面已经说过 由于Review被翻译成 评审 导致很多人将其与中国人常说的评审相混淆 其实它们之间是有区别
  • docker 安装wiki.js 和wekan

    wiki js https blog csdn net vegas lee article details 122356646 wekan http t zoukankan com caihemm p 14446937 html
  • 《软件调试的艺术》学习笔记——GDB使用技巧摘要(1)

    软件调试的艺术 因为名是The Art of Debugging with GDB DDD and Eclipse 作者是美国的Norman Matloff和Peter Jay Salzman 中文版由张云翻译 是人邮出版社图灵程序设计丛书
  • 【Apifox Helper】自动生成接口文档,IDEA+Apifox懒人必备

    文章目录 前言 缘由 接口文档对接爽 整理起来真费脑 本文阅读时长 约10分钟 前置条件 1 IDEA开发工具 2 Apifox 不必要 主要目标 一秒生成接口文档 水图 IDEA中项目接结构图 生成到Apifox接口文档图 试用人群 1
  • 使用禅道 api 添加用户完整流程与分析

    在使用禅道系统时 有时为了方便 需要与其他系统对接 如其他系统添加用户后可以直接同步到禅道系统 而不是在禅道系统重新添加一遍用户 禅道系统提供了二次开发的api 但是里面的内容并不详细 故笔者写这篇文章进行记录 这里先以 postman进行
  • Linux Container(lxc)分析和配置使用

    前提 本文翻译 有道翻译 自linux container lxc 根据重点摘录学习 介绍 最好将容器化定义为 通过操作系统中的特性启用的进程隔离机制 容器是与系统其他部分隔离的一个或多个进程的集合 Containers VMs lxc通过
  • python3.6+wamp配置python脚本环境(Windows)

    最近学到ajax 教程里需要用到wamp 这里就不介绍wamp了 wamp包含了apache服务器 但其默认只支持php脚本 而本人没学过php 所以希望降低学习成本 于是动手修改apache配置文件 网上有很多修改的教程 但我尝试了很多种
  • Xray使用教程

    简介 Xray是长亭科技开发的一款漏扫工具 支持多种扫描方式和漏洞类型 可自定义POC Proof of Concept 概念验证 即漏洞验证程序 俺是在 乌雲安全 看到了这个工具的使用 作为一个脚本小子初学者 这里做一下笔记 使用 web
  • CodeBlocks+wxWidgets

    之前也安装过CodeBlocks 只是当时没有安装wxWidgets 试着新建一个wxWidgets工程后没有看到界面设计的东东就放弃了 今天发现群里的南果梨也在用CodeBlocks 在他的帮助也终于成功的安装了wxWidgets 到ww
  • 不瞒各位,不安装软件也能操作Xmind文档

    大家好 我是小悟 作为搞技术的一个人群 时不时就要接收产品经理发过来的思维脑图 而此类文档往往是以Xmind编写的 如果你的电脑里面没有安装Xmind的话 不好意思 是打不开这类后缀结尾的文档 打不开的话就看不到 无法洞察产品经理的意思 无
  • 校长亲测,文章采集工具:提升学生写作阅读素养利器

    近期 我代表校长身份有幸试用了 文章采集工具 这款线上资源下载利器 通过使用此神器 我得以精准检索海量优秀文章 助力提升学生们的写作及阅读素养 更有效地激发学校文化生活的新活力 1 真实可靠 我原本对在线下载工具持保留意见 但在深入研究并亲
  • vscode开发python环境配置

    前言 vscode作为一款好用的轻量级代码编辑器 不仅支持代码调试 而且还有丰富的插件库 可以说是免费好用 对于初学者来说用来写写python是再合适不过了 下面就推荐几款个人觉得还不错的插件 希望可以帮助大家更好地写代码 安装CPytho
  • 开源一个超好用的接口Mock工具——Msw-Tools

    作为一名前端开发 是不是总有这样的体验 基础功能逻辑和页面UI开发很快速 本来可以提前完成 但是接口数据联调很费劲 耗时又耗力 有时为了保证进度还不得不加加班 为了摆脱这种痛苦 经过一周的努力 从零开发了一个灵活无依赖 且集成简单的数据接口
  • 基于vue-cli快速发布vue npm 包

    一 编写组件 1 初始化项目并运行 vue create vue digital count npm run serve 2 组件封装 新建package文件夹 因为我们可能会封装多个组件 所以在src下面新建一个 package 文件夹用

随机推荐

  • ZCA白化的步骤

    ZCA白化的主要用于去相关性 尽量使白化后的数据接近原始输入数据 对于含有m个样本的数据集 x 1 x 2 x m 假设每个样本的维度为n 即x i R n 对其进行ZCA白化的具体步骤如下 1 计算数据集的协方差矩阵 计算公式如下 1 m
  • Java 程序如何正确地打印日志?

    在 Java 开发中 打印日志是一项非常重要的工作 正确的打印日志可以帮助我们快速定位问题 并提高代码的可维护性和可读性 本文将为大家介绍 Java 程序如何正确地打日志 希望对大家有所帮助 一 为什么需要打印日志 在开发过程中 我们经常需
  • 仓库运行状况如何得知?数据挖掘是关键!

    库存 订单 出入库记录 物流信息 货物状态等数据 是仓库管理的重要组成部分 仓库数据的重要性 做好仓库数据管理对企业的重要性不言而喻 通过有效地管理数据 企业可以更好地了解市场需求和库存情况 快速响应市场变化 提高库存周转率和客户满意度 此
  • 阿里云centos7.9安装docker,创建nginx容器,启动vue3项目

    1 安装必要的依赖包 sudo yum install y yum utils device mapper persistent data lvm2 2 添加Docker存储库 sudo yum config manager add rep
  • 实现快速排序(数据结构与算法 - 排序)

    通过补全快速排序私有函数QSort 来供函数QuickSort调用 以此来实现快速排序的功能 相关知识 快速排序的基本过程是 从待排序记录中任选一个记录 以它的排序码作为中心值 将其它记录划分为两个部分 第一部分包含所有排序码小于等于中心值
  • 【TensorFlow】tf.reset_default_graph()函数

    如下是官网对tf reset default graph 函数描述的翻译 tf reset default graph函数用于清除默认图形堆栈并重置全局默认图形 注意 默认图形是当前线程的一个属性 该tf reset default gra
  • postman的参数是图片和文件如何设置,及操作提示this file is not in your working directory

    1 图片或者文件 作为参数的设置 在参数这里 选择文件 选择需要作为参数的文件 2 提示this file is not in your working directory 提示这个文件不在你的工作路劲下 设置一下当前的工作路径即可
  • 用sql语句对数据库表中的数据进行增删改

    如何使用sql语句对mysql数据库中表的数据进行增删改 这里新创了一个school数据库 在下面创建一张名为student表 创建student表的sql语句代码如下 使用school数据库 use school 判断是否存在studen
  • 手把手教你用 NebulaGraph AI 全家桶跑图算法

    前段时间 NebulaGraph 3 5 0 发布 whitewum 吴老师建议我把前段时间 NebulaGraph 社区里开启的新项目 ng ai 公开给大家 所以 就有了这个系列文章 本文是该系列的开篇之作 ng ai 是什么 ng a
  • Java中Scanner类中next与nextLine的区别

    1 next的意思是接受文字 有效文字 next不接收空格回车以及Tab 当你输入空格回车Tab的时候接收就会终止 并不会存入到String 变量中去 特别的情况 当在输入的时候先输入了几个空格然后再输入String中内容得时候String
  • C++ 程序文档生成器介绍(doxygen)

    http ly4cn cnblogs com archive 2005 11 23 282637 html 程序文档 曾经是程序员的一个头痛问题 写一个程序文档 比较花时间 但不是很难 麻烦的是当程序修改后 程序文档也要跟着同步更新 否则文
  • Python 练习实例11:兔子的规律为数列1,1,2,3,5,8,13,21

    古典问题 有一对兔子 从出生后第3个月起每个月都生一对兔子 小兔子长到第三个月后每个月又生一对兔子 假如兔子都不死 问每个月的兔子总数为多少 程序分析 兔子的规律为数列1 1 2 3 5 8 13 21 程序代码 def f n if n
  • 傅里叶变换、短时傅里叶变换、小波变换

    顺序 傅里叶 gt 短时傅里叶变换 gt 小波变换的顺序 转载自形象易懂的傅里叶变换 短时傅里叶变换和小波变换本文作者按照傅里叶 短时傅里叶变换 小波变换的顺序 由浅到深的解释小波变换的缘由以及思路 https mp weixin qq c
  • VMware中安装Kali一步解决(7z格式)

    VMware中安装Kali一步解决 7z格式 首先搜索Kali 进入官网找到VMware版本 选择第一个就好了 进去之后 根据自己的电脑选择就好 有64位和32位 点击torrent会生成种子 下载好种子之后 使用迅雷下载就好了 下载完成之
  • 十一.linux多线程同步之互斥锁、信号量、条件量

    笔记 https note youdao com ynoteshare1 index html id 1b529d966d34b16f3bdd828be48364e4 type note 目录 一 线程同步之信号量 1 任务 用户从终端输入
  • leetcode链表之反转链表

    本文主要有三道题 都是关于反转链表的算法题 由浅入深 文章出现的代码都是python3 206 反转链表 题目 给你单链表的头节点 head 请你反转链表 并返回反转后的链表 示例1 输入 head 1 2 3 4 5 输出 5 4 3 2
  • 基于MATLAB GUI的数字滤波仿真平台设计

    基于MATLAB GUI的数字滤波仿真平台设计 一 平台介绍 二 设计原理 1 登陆系统设计原理 2 IIR数字滤波器设计 3 FIR数字滤波器设计 三 程序实现 1 用户登陆系统程序 2 IIR DF设计 3 FIR DF设计 4 FDA
  • Pyinstaller打包exe附带图片的方法

    2019 10 27更新 在最近的wordpress项目中学到了图片字节码可在文件中存在 于是我做了试验并成功了 就是代码里带一堆字节码 参考 https blog csdn net jss19940414 article details
  • vue 路由守卫

    vue router 提供的导航守卫主要用来通过或取消的方式来守卫导航 有多种机会植入路由导航的过程 主要分为全局导航 单个路由导航 组件导航 所谓路由导航我们可以这么理解 导航守卫就相当于保安的意思 你要进入这个房子 保安需要知道你是 t
  • Suse Linux 磁盘动态扩容

    1 背景 Suse Linux本身非常少见 在实际项目中用过最多的是CentOs和RedHat版本的Linux Linux各个发行版只是微小差异 命令基本上一样 有一个数仓的测试环境中 总磁盘大小为1T 根目录 挂载了300G 剩下的600