Ubuntu Server 24.04 LVM 分区扩容

Ubuntu Server 24.04 LVM 分区扩容

一、背景

        公司买了一台机架式服务器(512G + 8T),出厂没有预装系统,后面装了个 Ubuntu Server 24.04,装的过程中没有手动设置分区,装完之后看各分区的容量发现跟实际的硬盘对不上,没有哪个分区有 512G 或者 8T,应该是大容量硬盘没有挂载,所以需要把硬盘挂载到目标分区,实现扩容。

二、分区扩容

1. 查看分区情况

        可以看到一共有 8 个分区,最大分区容量是根目录的 98G,但是 512G 的 /dev/sdb 没有使用到,8T 的 /dev/sda 划分了 sda1,sda2 和sda3 三个分区,但只有 sda1 和 sda2 分别挂载到了 /boot 分区和 /boot/efi 分区,剩下 7.3T 的 sda3 没有使用。

        因为当时安装系统时,在磁盘分区那里选择的默认方式(Set up this disk as an LVM group),系统使用了 LVM 分区方式,所以 / 对应的是 /dev/mapper/ubuntu--vg-ubuntu-lv 逻辑卷,在分配容量时并不会使用所有硬盘容量,当分区空间不足时就需要利用 LVM 进行扩容。

2. 主目录扩容

        系统的分区列表里没有 /home,所以在扩容之前需要先创建 /home。(在此之前还有一步对根目录 LV 进行缩容,实操时由于根目录的占用问题导致缩容一直失败,不同方法尝试了很多次,即使进入单用户模式操作也不行,最终放弃这一步,直接扩容。)

# 缩小根目录文件系统 resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv 20G # 缩小LV容量 lvreduce -L 20G /dev/mapper/ubuntu--vg-ubuntu--lv
(1)创建新 LV

分配 /dev/sda3 全部剩余空间给 /home

# 查看卷组剩余空间(确认大小) vgdisplay ubuntu-vg | grep "FREE PE" # 创建 /home 的 LV(名称 home-lv,大小用全部剩余空间) lvcreate -l 100%FREE -n home-lv ubuntu-vg
(2)格式化 LV
# 格式化 /home 的 LV mkfs.ext4 /dev/mapper/ubuntu--vg-home--lv
(3)挂载新 LV
# 临时挂载新LV mkdir /mnt/tmp_home mount /dev/mapper/ubuntu--vg-home--lv /mnt/tmp_home # 复制现有/home数据到新LV(保留权限) rsync -av /home/ /mnt/tmp_home/ # 备份原 /home,修改挂载 mv /home /home.bak mkdir /home umount /mnt/tmp_home mount /dev/mapper/ubuntu--vg-home--lv /home # 验证数据,确认复制完整(应看到原有用户目录) ls /home
(4)永久挂载
# 查看新 LV 的 UUID blkid /dev/mapper/ubuntu--vg-home--lv # 写入 fstab,替换 UUID echo "UUID=your UUID /home ext4 defaults 0 2" >> /etc/fstab # 验证挂载(无报错则正常) mount -a

3. 根目录扩容

将 /dev/sdb 加入 LVM,扩展根目录

(1)创建分区
# 分区工具 fdisk /dev/sdb

依次输入并回车:

  • g:创建GPT分区表;
  • n:新建分区(默认全部空间,按回车确认起始/结束扇区);
  • t:修改分区类型为LVM(输入8e或1LV);
  • w:保存分区表。
(2)创建 PV 并加入卷组
# 将 /dev/sdb1 创建为 LVM 物理卷 pvcreate /dev/sdb1 # 将 PV 加入ubuntu-vg 卷组 vgextend ubuntu-vg /dev/sdb1
(3)扩展根目录
# 扩展根目录 LV 到卷组全部剩余空间,包含 /dev/sdb1 的 447G lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv # 刷新文件系统,使容量生效 resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

4. 验证

# 查看 LV 分配 lvs # 查看挂载和空间 df -h / /home

可以看到扩容之后的根目录有 538G,主目录有 7.2T。扩容完成。上述操作都是在单用户模式下进行的。

三、总结

        第一次搞服务器系统,虽然差别不大,但确实没有桌面版操作的方便,好在过程还算顺利,除了第一步缩容失败,但是看来对结果没啥影响,记录一下当做一个学习的过程吧。(主要还是靠豆包了)

参考资料

[1] 安装 Ubuntu Server 24.04 LTS 图文教程-知乎

[2] 解决 Linux /dev/mapper/ubuntu--vg-ubuntu--lv 磁盘空间不足的问题-博客园

[3] ubuntu的ubuntu--vg-ubuntu--lv磁盘扩容-博客园

Read more

量化、算子融合、内存映射:C语言实现AI推理的“三板斧“

量化、算子融合、内存映射:C语言实现AI推理的“三板斧“

量化、算子融合、内存映射:C语言实现AI推理的"三板斧" 摘要:做嵌入式AI开发的同学,大概率都遇到过这样的困境:训练好的AI模型(比如CNN),在PC上用TensorFlow/PyTorch跑起来流畅丝滑,可移植到单片机、MCU等边缘设备上,要么内存爆掉,要么推理延迟高到无法使用——毕竟边缘设备的资源太有限了:几百KB的RAM、几MB的Flash、没有GPU加速,甚至连浮点运算都要靠软件模拟。这时,依赖庞大的深度学习框架就成了“杀鸡用牛刀”,甚至根本无法运行。而C语言,作为嵌入式开发的“母语”,凭借其极致的性能控制、内存可控性和无 runtime 依赖的优势,成为边缘设备AI推理引擎的最佳选择。但纯C语言实现AI推理,绝不是简单地“用C重写框架代码”,关键在于掌握三大核心优化技术——这就是我们今天要讲的AI推理“三板斧”:量化、算子融合、内存映射。 它们三者协同作用,能从“体积、速度、内存”三个维度彻底优化AI推理性能:

By Ne0inhk
【AI 大模型】LangChain 框架 ① ( LangChain 简介 | LangChain 模块 | LangChain 文档 )

【AI 大模型】LangChain 框架 ① ( LangChain 简介 | LangChain 模块 | LangChain 文档 )

文章目录 * 一、LangChain 简介 * 1、LangChain 概念 * 2、LangChain 定位 * 3、LangChain 开发语言与应用场景 * 4、LangChain 核心组件 * 5、LangChain 学习路径 * 二、LangChain 模块 * 1、模型输入 / 输出 ( Models ) * 2、提示词模板 ( Prompts ) * 3、索引 ( Indexes ) * 4、链 ( Chains ) * 5、记忆 ( Memory ) * 6、代理 ( Agents ) * 7、 工具 ( Tools ) * 8、 文档加载器 ( Document Loaders ) * 9、评估

By Ne0inhk
OpenClaw横空出世:星标榜第一的AI Agent框架凭什么引爆2026?

OpenClaw横空出世:星标榜第一的AI Agent框架凭什么引爆2026?

欢迎文末添加好友交流,共同进步! “ 俺はモンキー・D・ルフィ。海贼王になる男だ!” * 一、现象级爆火:GitHub年度最热AI项目 * 二、OpenClaw是什么? * 核心定位 * 三、OpenClaw凭什么成为新标杆? * 3.1 自托管部署:数据主权回归 * 3.2 无代码革命:人人都是开发者 * 3.3 微内核架构:优雅且强大 * 3.4 多智能体协同 * 四、技术架构深度解析 * 4.1 核心组件 * 4.2 2026.3.7重大更新 * 五、与主流框架对比 * 5.1 OpenClaw vs LangChain * 5.2 OpenClaw vs

By Ne0inhk