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

告别空间焦虑:手把手教你用LVM在麒麟KYLINOS V10上无损扩容系统盘(附数据盘扩容)

告别空间焦虑:手把手教你用LVM在麒麟KYLINOS V10上无损扩容系统盘(附数据盘扩容)

看着系统盘剩余空间一天天减少,那种隐隐的焦虑感是否让你坐立不安?每次安装新软件都要反复确认剩余容量,甚至不得不删除珍贵的工作文件——这种困扰在麒麟KYLINOS V10用户中并不少见。但你可能不知道,只需一块新硬盘和几个简单命令,就能彻底告别这种"数字空间恐惧症"。

LVM(逻辑卷管理)就像给硬盘装上了智能伸缩装置,它能将多块物理硬盘融合成"存储池",再从中划分出可动态调整的逻辑卷。想象一下:当系统盘告急时,不需要重装系统或迁移数据,就像给房间加装伸缩式阁楼一样,在线扩容且不影响现有文件。下面我将用最通俗的语言,带你在麒麟KYLINOS V10上完成这场"空间解放运动"。

1. 前期准备:认识你的存储战场

在开始扩容之前,我们需要先摸清现有磁盘的"家底"。打开终端,输入以下命令:

lsblk

你会看到类似这样的输出(示例):

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 64G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 61.5G 0 part ├─kylin--vg-root 252:0 0 31.3G 0 lvm / ├─kylin--vg-data 252:1 0 20.9G 0 lvm /data └─kylin--vg-swap 252:2 0 9.3G 0 lvm [SWAP]

关键信息解读:

  • sda3:物理分区,容量61.5G
  • kylin-vg:卷组名称(类似存储池)
  • root/data/swap:三个逻辑卷(相当于虚拟分区)

注意:如果你的系统未使用LVM安装,需要先备份数据并重装系统选择LVM分区方案。本文假设你已使用默认LVM安装。

2. 物理扩容:给服务器装上"新仓库"

扩容就像给房子加盖楼层,首先得有新的建筑材料。关机后插入新硬盘(建议SSD),重新启动后再次执行lsblk,应该能看到新增的磁盘(如sdb):

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 100G 0 disk

硬盘选购指南

  • 系统盘扩容建议选择性能相当的SSD
  • 数据盘可选大容量机械硬盘
  • 确认接口类型(SATA/NVMe)
  • 企业环境建议使用热插拔硬盘

3. 逻辑卷魔法:三步完成系统盘扩容

3.1 将新硬盘转化为LVM建材

首先把新硬盘初始化为物理卷(PV):

sudo pvcreate /dev/sdb

成功后你会看到:

Physical volume "/dev/sdb" successfully created.

3.2 扩展存储池容量

将新物理卷加入现有卷组(VG):

sudo vgextend kylin-vg /dev/sdb

验证扩展结果:

sudo vgs

输出示例:

VG #PV #LV #SN Attr VSize VFree kylin-vg 2 3 0 wz--n- 161.49g <100.00g

3.3 给系统根分区"注射生长激素"

现在可以扩展根分区逻辑卷(LV)了,比如增加40G:

sudo lvextend -L +40G /dev/kylin-vg/root

最后让文件系统识别新空间(针对ext4文件系统):

sudo resize2fs /dev/mapper/kylin--vg-root

扩容前后对比表

参数扩容前扩容后
根分区大小31.3G71.3G
卷组剩余空间060G
操作时间-<1分钟

4. 数据盘扩容:一举解决存储饥渴

如果/data分区也需要扩容,可以继续使用剩余空间:

sudo lvextend -l +100%FREE /dev/kylin-vg/data sudo resize2fs /dev/mapper/kylin--vg-data

为什么选择LVM而不是传统分区?

  • 无损扩容:不需要格式化或数据迁移
  • 灵活调配:空间可以随时在逻辑卷之间调整
  • 支持快照:可创建临时备份点(需额外配置)
  • 跨盘整合:多块硬盘可视为单一存储池

5. 避坑指南:常见问题解决方案

Q1:执行resize2fs时报"filesystem is mounted"错误?A:这是正常提示,说明系统正在在线调整,并非错误。

Q2:扩容后df -h显示容量未变化?A:检查是否漏执行resize2fs,该命令才能使文件系统识别新空间。

Q3:误操作导致数据丢失怎么办?A:立即停止写入操作,使用专业恢复工具如testdisk。

扩容安全检查清单

  1. 确认有完整备份
  2. 检查电源稳定(防止意外断电)
  3. 确保新硬盘无坏道(可用smartctl检测)
  4. 预留足够剩余空间(不要100%分配)

6. 进阶技巧:LVM的隐藏技能

空间回收:如果某个逻辑卷分配过大,可以缩减(需先缩小文件系统):

# 缩减文件系统(ext4需先卸载) sudo umount /data sudo e2fsck -f /dev/kylin-vg/data sudo resize2fs /dev/kylin-vg/data 50G # 然后缩减逻辑卷 sudo lvreduce -L 50G /dev/kylin-vg/data

快照备份:创建临时快照进行一致性备份:

sudo lvcreate -s -n data_backup -L 10G /dev/kylin-vg/data

性能优化:为数据盘启用缓存(需额外SSD):

sudo lvconvert --type cache-pool --poolmetadata kylin-vg/cache_meta kylin-vg/cache_pool sudo lvconvert --type cache --cachepool kylin-vg/cache_pool kylin-vg/data

在最近一次为客户部署的麒麟KYLINOS系统中,我们通过LVM将4块480G SSD组成1.8T的存储池,然后按需分配给不同应用。当某个服务需要临时增加空间时,只需简单调整参数即可完成扩容,全程服务不中断。这种灵活性正是LVM在专业环境中的价值体现。

http://www.jsqmd.com/news/754400/

相关文章:

  • 还在用高斯滤波?手把手教你用Python+OpenCV实现BM3D降噪(附完整代码和参数调优心得)
  • 实战应用:基于快马平台构建电商价格监控爬虫系统,实现自动比价告警
  • 给AURIX™新手的安全手册:英飞凌MCU的ISO 26262合规,到底要关注哪几个硬件安全机制?
  • 嵌入式Linux开发的技术演进与实践优化
  • 突破显存限制:ComfyUI-WanVideoWrapper长视频生成实战指南
  • ai结对编程:在快马平台用自然语言驱动python代码生成与调试,重塑开发流程
  • 树莓派太阳能充电模块PV PI HAT设计与应用解析
  • 零基础新手如何借助快马ai编程轻松创建第一个网页
  • 告别IIC时序图恐惧:用蓝桥杯板子玩转AT24C02存储与MCP4017电阻编程
  • Node.js异步读取大文件性能慢,怎么用stream流优化?
  • SIMA 2:通用游戏AI框架的技术解析与应用实践
  • AI 大模型为什么要交「中文税」:为何中文比英文更费 Token?
  • C++实现UML状态图的反应式系统设计
  • 从踩坑到精通:我在CentOS 7上用Certbot申请Let‘s Encrypt泛域名证书的完整避坑指南
  • 从‘bee/bug’登录到实战:手把手教你用bWAPP靶场复现第一个SQL注入漏洞
  • 当防火墙接口Down了,流量是怎么切过去的?图解双机热备切换全过程
  • AI辅助开发:让Kimi为你的华为ensp设备编写复杂时间ACL策略
  • Happy Island Designer:动物森友会岛屿设计的终极免费工具
  • 微软/英伟达/LLVM核心贡献者联合签署的《C++27模块部署黄金准则》(2025 Q2仅开放API文档级访问权限)
  • 实战指南:基于快马ai生成温室环境监测系统的rs485通信与控制代码
  • 磁力搜索终极指南:如何用magnetW一键聚合23个资源站快速找到所需内容
  • 鼠标滚轮反向?别急着换鼠标!用注册表编辑器在Win11/10里轻松修复(附VID查找教程)
  • 【仅限核心开发者访问】:C++ constexpr 调试暗箱操作——利用__builtin_constant_p反向注入调试桩与编译器中间表示(IR)快照提取法
  • 告别复杂外设!用LD3320语音识别芯片做个智能台灯,附Arduino完整代码
  • BFloat16与SME2指令集在AI加速中的实践
  • 算法题(链表)
  • 告别pip安装失败:为ARM64嵌入式设备手动编译PyQt5和SIP的保姆级指南
  • 告别低效调试:用快马平台为openclaw onboard打造一体化视觉与运动规划调试工具
  • 初创团队如何借助Taotoken实现敏捷的AI能力集成与成本控制
  • 别再乱选了!Vivado 2023.1添加文件夹时,‘Scan RTL’和‘Add from Subdirs’到底怎么用?附实例对比