Linux 扩展 root 文件系统
本文描述的是通过Linux自带的工具,不用安装额外的包,来实现root文件系统的扩展。
我们可以看到,根盘46.6G:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 46.6G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part├─klas-root 253:0 0 17G 0 lvm /└─klas-swap 253:1 0 2G 0 lvm [SWAP]
但根文件系统,以及对应的分区只有19G,安装数据库是不够的:
# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 7.2G 0 7.2G 0% /dev
tmpfs 7.3G 0 7.3G 0% /dev/shm
tmpfs 7.3G 9.0M 7.2G 1% /run
tmpfs 7.3G 0 7.3G 0% /sys/fs/cgroup
/dev/mapper/klas-root 17G 7.0G 11G 41% /
tmpfs 7.3G 4.0K 7.3G 1% /tmp
/dev/sda1 1014M 216M 799M 22% /boot
tmpfs 1.5G 0 1.5G 0% /run/user/992
tmpfs 1.5G 0 1.5G 0% /run/user/0# fdisk -l /dev/sda
Disk /dev/sda:46.59 GiB,50010783744 字节,97677312 个扇区
磁盘型号:BlockVolume
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 1048576 字节
磁盘标签类型:dos
磁盘标识符:0x5917cffa设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 41943039 39843840 19G 8e Linux LVM# pvdisplay--- Physical volume ---PV Name /dev/sda2VG Name klasPV Size <19.00 GiB / not usable 3.00 MiBAllocatable yes (but full)PE Size 4.00 MiBTotal PE 4863Free PE 0Allocated PE 4863PV UUID 8i1xe9-bQGw-C3UN-yXKl-RX71-BpMZ-Z5sJCW# vgdisplay--- Volume group ---VG Name klasSystem IDFormat lvm2Metadata Areas 1Metadata Sequence No 3VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 2Max PV 0Cur PV 1Act PV 1VG Size <19.00 GiBPE Size 4.00 MiBTotal PE 4863Alloc PE / Size 4863 / <19.00 GiBFree PE / Size 0 / 0VG UUID sdCaBU-DZsc-M40m-FjMc-7tcr-fOAq-OboAQX# lvdisplay--- Logical volume ---LV Path /dev/klas/swapLV Name swapVG Name klasLV UUID gDn1nO-nlbE-bHvu-IVQ4-0c7p-Jss8-avOEiLLV Write Access read/writeLV Creation host, time localhost, 2023-10-24 11:49:34 +0800LV Status available# open 2LV Size 2.00 GiBCurrent LE 512Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:1--- Logical volume ---LV Path /dev/klas/rootLV Name rootVG Name klasLV UUID eH66eX-dg12-kFwB-Nhp0-mfqs-R301-Y2dHD6LV Write Access read/writeLV Creation host, time localhost, 2023-10-24 11:49:35 +0800LV Status available# open 1LV Size <17.00 GiBCurrent LE 4351Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:0
删除并重建分区sda2,使其扩大。
这里的关键点在于,分区删除重建,并不影响其中的数据!
# fdisk /dev/sda欢迎使用 fdisk (util-linux 2.35.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。命令(输入 m 获取帮助):p
Disk /dev/sda:46.59 GiB,50010783744 字节,97677312 个扇区
磁盘型号:BlockVolume
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 1048576 字节
磁盘标签类型:dos
磁盘标识符:0x5917cffa设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 41943039 39843840 19G 8e Linux LVM命令(输入 m 获取帮助):m帮助:DOS (MBR)a 开关 可启动 标志b 编辑嵌套的 BSD 磁盘标签c 开关 dos 兼容性标志常规d 删除分区F 列出未分区的空闲区l 列出已知分区类型n 添加新分区p 打印分区表t 更改分区类型v 检查分区表i 打印某个分区的相关信息杂项m 打印此菜单u 更改 显示/记录 单位x 更多功能(仅限专业人员)脚本I 从 sfdisk 脚本文件加载磁盘布局O 将磁盘布局转储为 sfdisk 脚本文件保存并退出w 将分区表写入磁盘并退出q 退出而不保存更改新建空磁盘标签g 新建一份 GPT 分区表G 新建一份空 GPT (IRIX) 分区表o 新建一份的空 DOS 分区表s 新建一份空 Sun 分区表命令(输入 m 获取帮助):d
分区号 (1,2, 默认 2): 2分区 2 已删除。命令(输入 m 获取帮助):n
分区类型p 主分区 (1 primary, 0 extended, 3 free)e 扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (2-4, 默认 2): 2
第一个扇区 (2099200-97677311, 默认 2099200):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2099200-97677311, 默认 97677311):创建了一个新分区 2,类型为“Linux”,大小为 45.6 GiB。
分区 #2 包含一个 LVM2_member 签名。您想移除该签名吗?是[Y]/否[N]:N命令(输入 m 获取帮助):w分区表已调整。
正在同步磁盘。
确认,分区已扩大,:
# fdisk -l /dev/sda
Disk /dev/sda:46.59 GiB,50010783744 字节,97677312 个扇区
磁盘型号:BlockVolume
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 1048576 字节
磁盘标签类型:dos
磁盘标识符:0x5917cffa设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 97677311 95578112 45.6G 83 Linux
扩展pv:
# pvdisplay--- Physical volume ---PV Name /dev/sda2VG Name klasPV Size <19.00 GiB / not usable 3.00 MiBAllocatable yes (but full)PE Size 4.00 MiBTotal PE 4863Free PE 0Allocated PE 4863PV UUID 8i1xe9-bQGw-C3UN-yXKl-RX71-BpMZ-Z5sJCW# pvresize /dev/sda2Physical volume "/dev/sda2" changed1 physical volume(s) resized or updated / 0 physical volume(s) not resized# pvdisplay--- Physical volume ---PV Name /dev/sda2VG Name klasPV Size <45.58 GiB / not usable 1.00 MiBAllocatable yesPE Size 4.00 MiBTotal PE 11667Free PE 6804Allocated PE 4863PV UUID 8i1xe9-bQGw-C3UN-yXKl-RX71-BpMZ-Z5sJCW
可以直接扩展lv了:
# vgdisplay--- Volume group ---VG Name klasSystem IDFormat lvm2Metadata Areas 1Metadata Sequence No 4VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 2Max PV 0Cur PV 1Act PV 1VG Size 45.57 GiBPE Size 4.00 MiBTotal PE 11667Alloc PE / Size 4863 / <19.00 GiBFree PE / Size 6804 / <26.58 GiBVG UUID sdCaBU-DZsc-M40m-FjMc-7tcr-fOAq-OboAQX# lvextend -r -L +6804 /dev/klas/rootSize of logical volume klas/root changed from <17.00 GiB (4351 extents) to 23.64 GiB (6052 extents).Logical volume klas/root successfully resized.
meta-data=/dev/mapper/klas-root isize=512 agcount=4, agsize=1113856 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=1, sparse=1, rmapbt=0= reflink=1
data = bsize=4096 blocks=4455424, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 4455424 to 6197248# lvextend -r -l +5103 /dev/klas/rootSize of logical volume klas/root changed from 23.64 GiB (6052 extents) to 43.57 GiB (11155 extents).Logical volume klas/root successfully resized.
meta-data=/dev/mapper/klas-root isize=512 agcount=6, agsize=1113856 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=1, sparse=1, rmapbt=0= reflink=1
data = bsize=4096 blocks=6197248, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 6197248 to 11422720# vgdisplay--- Volume group ---VG Name klasSystem IDFormat lvm2Metadata Areas 1Metadata Sequence No 6VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 2Max PV 0Cur PV 1Act PV 1VG Size 45.57 GiBPE Size 4.00 MiBTotal PE 11667Alloc PE / Size 11667 / 45.57 GiBFree PE / Size 0 / 0VG UUID sdCaBU-DZsc-M40m-FjMc-7tcr-fOAq-OboAQX[root@kylinos ~]# lvdisplay--- Logical volume ---LV Path /dev/klas/swapLV Name swapVG Name klasLV UUID gDn1nO-nlbE-bHvu-IVQ4-0c7p-Jss8-avOEiLLV Write Access read/writeLV Creation host, time localhost, 2023-10-24 11:49:34 +0800LV Status available# open 2LV Size 2.00 GiBCurrent LE 512Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:1--- Logical volume ---LV Path /dev/klas/rootLV Name rootVG Name klasLV UUID eH66eX-dg12-kFwB-Nhp0-mfqs-R301-Y2dHD6LV Write Access read/writeLV Creation host, time localhost, 2023-10-24 11:49:35 +0800LV Status available# open 1LV Size 43.57 GiBCurrent LE 11155Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:0[root@kylinos ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 7.2G 0 7.2G 0% /dev
tmpfs 7.3G 12K 7.3G 1% /dev/shm
tmpfs 7.3G 9.0M 7.2G 1% /run
tmpfs 7.3G 0 7.3G 0% /sys/fs/cgroup
/dev/mapper/klas-root 44G 7.2G 37G 17% /
tmpfs 7.3G 4.0K 7.3G 1% /tmp
/dev/sda1 1014M 216M 799M 22% /boot
tmpfs 1.5G 0 1.5G 0% /run/user/992
tmpfs 1.5G 0 1.5G 0% /run/user/0
完成,整个过程没有重启。
相关文章:

Linux 扩展 root 文件系统
本文描述的是通过Linux自带的工具,不用安装额外的包,来实现root文件系统的扩展。 我们可以看到,根盘46.6G: # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 46.6G 0 disk ├─sda1 …...

19c-rac环境安装AHF
准备给19c rac打补丁,发现tfa报错,如下 [rootdb1 /]# /u01/app/19.0.0/grid_1/OPatch/opatchauto apply /opt/update/35370167/35319490 -oh /u01/app/19.0.0/grid_1 OPatchauto session is initiated at Sat Oct 28 19:33:56 2023 System initializ…...

ESP32网络开发实例-Web控制按钮与硬件状态同步
Web控制按钮与硬件状态同步 文章目录 Web控制按钮与硬件状态同步1、应用介绍2、软件准备3、硬件准备4、代码实现在文中,我们将介绍同时使用网络服务器和物理按钮来控制 ESP32输出。 换句话说,如果用户使用按钮控制 LED,则 LED 的状态也会在 Web 服务器上自动更新。 1、应用介…...

分享一下怎么做陪诊小程序
在当今快节奏的社会中,人们的生活压力越来越大,尤其是在大城市中,由于工作繁忙,生活节奏快,很多人都感到看病难、看病贵的问题。为了解决这一问题,陪诊小程序应运而生。陪诊小程序是一种可以提供线上预约、…...

【Linux】Linux+Nginx部署项目
🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Linux的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.单体项目的部署 0.我们需要将要进行部…...

【git命令】删除分支
1. 删除本地分支 使用git branch -d命令删除本地分支 git branch -d branch_name其中,branch_name是分支名。如果有未合并的更改,Git会阻止你删除分支。 使用git branch -D命令强制删除本地分支 git branch -D branch_name这个命令会强制删除分支&am…...

LabVIEW开发TDS1000 和TDS2000 系列泰克示波器
LabVIEW开发TDS1000 和TDS2000 系列泰克示波器 泰克示波器是经常用到的工具,一般手动操作即可,但有时候也要集成到系统中,需要程控。这时候先要下载厂家提供的例子,了解LabVIEW的demo。根据不用的示波器型号,选择和计…...

1. 两数之和、Leetcode的Python实现
博客主页:🏆看看是李XX还是李歘歘 🏆 🌺每天分享一些包括但不限于计算机基础、算法等相关的知识点🌺 💗点关注不迷路,总有一些📖知识点📖是你想要的💗 ⛽️今…...

TSINGSEE青犀基于AI视频识别技术的平安校园安防视频监控方案
一、背景需求 因学校频频出治安事件,所以必须要加强学校的安防工作,目前来看,大部分校园都建设了视频监控来预防保障校园安全。但是传统的视频监控系统,主要通过设备来录像以及人员时时监控来进行。这种监管方式效率十分低下&…...

基于LSTM encoder-decoder模型实现英文转中文的翻译机器
前言 神经网络机器翻译(NMT, neuro machine tranlation)是AIGC发展道路上的一个重要应用。正是对这个应用的研究,发展出了注意力机制,在此基础上产生了AIGC领域的霸主transformer。我们今天先把注意力机制这些东西放一边,介绍一个对机器翻译…...

世界前沿技术发展报告2023《世界航空技术发展报告》(四)无人机技术
(四)无人机技术 1.无人作战飞机1.1 美国空军披露可与下一代战斗机编组作战的协同式无人作战飞机项目1.2 俄罗斯无人作战飞机取得重要进展 2.支援保障无人机2.1 欧洲无人机项目通过首个里程碑2.2 美国海军继续开展MQ-25无人加油机测试工作 3.微小型无人机…...

【JAVA学习笔记】48 - 八大常用Wrapper类(包装类)
一、包装类 1.针对八种基本定义相应的引用类型一包装类 2.有了类的特点,就可以调用类中的方法。 黄色背景的表示父类是Number 二、包装类和基本数据的转换 演示包装类和基本数据类型的相互转换,这里以int和Integer演示。 1.jdk5前的手动装箱和拆箱方…...

学习笔记:Splay
Splay 定义 Splay 树, 或 伸展树,是一种平衡二叉查找树,它通过 Splay/伸展操作 不断将某个节点旋转到根节点,使得整棵树仍然满足二叉查找树的性质,能够在均摊 O ( log n ) O(\log n) O(logn) 时间内完成插入,查…...

JAVA中的垃圾回收器(1)
一)垃圾回收器概述: 1.1)按照线程数来区分: 串行回收指的是在同一时间端内只允许有一个CPU用于执行垃圾回收操作,此时工作线程被暂停,直至垃圾回收工作结束,在诸如单CPU处理器或者较小的应用内存等硬件平台不是特别优越的场合,出行…...

Windows 10/11如何恢复永久删除的文件?
数据丢失在我们的工作生活中经常发生。当你决定清理硬盘或U盘时,你会删除一些文件夹或文件。如果你通过右键单击删除文件,则可以很容易从回收站恢复已删除的文件。但是,如果你按Shift Delete键、清空回收站或删除大于8998MB的大文件夹&#…...

【Shell 系列教程】shell介绍(一)
文章目录 前言Shell 脚本Shell 环境第一个shell脚本运行 Shell 脚本有两种方法:1、作为可执行程序2、作为解释器参数 前言 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 Sh…...

考研数学中放缩法和无穷项求和
考研数学放缩法和无穷项求和 放缩法专题例子1例子2例子3例子4例子5 放缩法专题 本文以例子为切入,对一些常用的放缩方法进行总结归纳,以期让读者对相关问题有一定的应对手段。 例子1 问题:2020年高数甲,选择题第1题。 lim …...

计算机网络常识
文章目录 1、HTTP2、HTTP状态码1xx(信息性状态码):2xx(成功状态码):3xx(重定向状态码):4xx(客户端错误状态码):5xx(服务器…...

React之Jsx如何转换成真实DOM
一、是什么 react通过将组件编写的JSX映射到屏幕,以及组件中的状态发生了变化之后 React会将这些「变化」更新到屏幕上 在前面文章了解中,JSX通过babel最终转化成React.createElement这种形式,例如: <div>< img src&q…...

OpenCV学习(六)——图像算术运算(加法、融合与按位运算)
图像算术运算 6. 图像算术运算6.1 图像加法6.2 图像融合6.3 按位运算 6. 图像算术运算 6.1 图像加法 OpenCV加法是饱和运算Numpy加法是模运算 import cv2 import numpy as npx np.uint8([250]) y np.uint8([10])# OpenCV加法 print(cv2.add(x, y)) # 25010 260 > 255…...

如何做好一次代码审查,什么样是一次优秀的代码审查,静态代码分析工具有哪些
代码审查是确保代码质量、提升团队协作效率、分享知识和技能的重要过程。以下是进行优秀代码审查的一些指南: 如何做好代码审查: 理解代码的背景和目的: 在开始审查前,确保你了解这次提交的背景和目的,这有助于更准确…...

【Android】一个contentResolver引起的内存泄漏问题分析
长时间的压力测试后,系统发生了重启,报错log如下 JNI ERROR (app bug): global reference table overflow (max51200) global reference table overflow的log 08-08 04:11:53.052912 973 3243 F zygote64: indirect_reference_table.cc:256] JNI ER…...

2023年正版win10/win11系统安装教学(纯净版)
第一步:准备一个8G容量以上的U盘。 注意,在制作系统盘时会格式化U盘,所以最好准备个空U盘,防止资料丢失。 第二步:制作系统盘。 安装win10 进入windows官网 官网win10下载地址:https://www.microsoft.c…...

系统架构设计师-第11章-未来信息综合技术-软考学习笔记
未来信息综合技术是指近年来新技术发展而提出的一些新概念、新知识、新产品 信息物理系统(CPS ) ,人工智能( A l) ,机器人、边缘计算、数字孪生、云计算和大数据等技术 信息物理系统技术概述 信息物理系统的概念 信息物理系统是控制系统、嵌入式系统…...

Python __new__()方法详解
__new__() 是一种负责创建类实例的静态方法,它无需使用 staticmethod 装饰器修饰,且该方法会优先 __init__() 初始化方法被调用。 一般情况下,覆写 __new__() 的实现将会使用合适的参数调用其超类的 super().__new__(),并在返回之…...

虹科 | 解决方案 | 汽车示波器 索赔管理方案
索赔管理 Pico汽车示波器应用于主机厂/供应商与服务店/4S店的协作,实现产品索赔工作的高效管理;同时收集的故障波形数据,便于日后的产品优化和改进 故障记录 在索赔申请过程中,Pico汽车示波器的数据记录功能可以用于捕捉故障时的…...

详解Jmeter中的BeanShell脚本
BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法,所以它和java是可以无缝衔接的,学了Java的一些基本语法后,就可以来在Jmeter中写写BeanShell脚本了 在利用jmeter进行接口测试或者性能测试的时候,…...

前端和后端 优化
1.前端资源优化 1.1 html结构优化 保证简洁、清晰的html结构,减少或避免多余的html标签 使用HTML5的web语义化标签,结构清晰且利于seo css文件在head中引入,js文件放在body底部引入,这样做可以防止阻塞。另外如果有需要提前加载的…...

C++编译与运行:其二、编译期和运行期的区别
C的编译分为四步,最终生成一个可执行文件。 C的运行,就是将可执行文件交给操作系统,按照机器码逐步执行,运行功能。 先看一个非常非常有趣的例子: class Father{ public:virtual void f(){cout<<"I am fat…...

汽车电子专有名词与相应技术
1.EEA (Electronic & Electrical Architecture 电子电气架构) EEA在宏观上概括为物理架构与逻辑架构的结合,微观上通过众多电子元器件的协同配合,或集成式或分布式的系统级电子电气架构,具体详见专栏 新能源汽车电…...