当前位置: 首页 > news >正文

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

完成,整个过程没有重启。

http://www.lryc.cn/news/209614.html

相关文章:

  • 19c-rac环境安装AHF
  • ESP32网络开发实例-Web控制按钮与硬件状态同步
  • 分享一下怎么做陪诊小程序
  • 【Linux】Linux+Nginx部署项目
  • 【git命令】删除分支
  • LabVIEW开发TDS1000 和TDS2000 系列泰克示波器
  • 1. 两数之和、Leetcode的Python实现
  • TSINGSEE青犀基于AI视频识别技术的平安校园安防视频监控方案
  • 基于LSTM encoder-decoder模型实现英文转中文的翻译机器
  • 世界前沿技术发展报告2023《世界航空技术发展报告》(四)无人机技术
  • 【JAVA学习笔记】48 - 八大常用Wrapper类(包装类)
  • 学习笔记:Splay
  • JAVA中的垃圾回收器(1)
  • Windows 10/11如何恢复永久删除的文件?
  • 【Shell 系列教程】shell介绍(一)
  • 考研数学中放缩法和无穷项求和
  • 计算机网络常识
  • React之Jsx如何转换成真实DOM
  • OpenCV学习(六)——图像算术运算(加法、融合与按位运算)
  • 如何做好一次代码审查,什么样是一次优秀的代码审查,静态代码分析工具有哪些
  • 【Android】一个contentResolver引起的内存泄漏问题分析
  • 2023年正版win10/win11系统安装教学(纯净版)
  • 系统架构设计师-第11章-未来信息综合技术-软考学习笔记
  • Python __new__()方法详解
  • 虹科 | 解决方案 | 汽车示波器 索赔管理方案
  • 详解Jmeter中的BeanShell脚本
  • 前端和后端 优化
  • C++编译与运行:其二、编译期和运行期的区别
  • 汽车电子专有名词与相应技术
  • idea 没加载 provided的包