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…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...