LVM磁盘管理
LVM(Logical Volume Manager)逻辑卷管理器可以将几个物理分区(或磁盘)通过软件组合成为一块看起来是独立的大磁盘,然后再将这个大磁盘进行分区使用,LVM对比普通分区挂载文件系统的优点是可以弹性调整文件系统容量。
基本概念
PV:PhysicalVvolume,物理卷。物理分区(或磁盘)先经过fdisk命令调整系统标识符为8e,再经过pvcreate命令转换成LVM最底层的物理卷PV。
VG:Volume Group,卷用户组。多个pv组成的一个大磁盘
LV:Logical Volume,逻辑卷。从VG中划分出的类似物理分区
基本命令
1、PV相关操作
pvcreate:将物理分区新建成PV
pvscan:查询目前系统中具有PV的磁盘
pvdisplay:显示目前系统上PV的状态
pvremove:将PV属性删除,让该分区不具有PV属性
部分命令详细介绍
pvcreate /dev/sdb1 #/dev/sdb1表示系统标识符为8e的磁盘分区,下同 pvcreate /dev/sdb{1,2,3,4} #同时创建多个pv语法
2、 VG相关操作
vgcreate:新建VG
vgscan:查找系统上VG
vgdisplay:系统系统上VG状态
vgextend:在VG内新增PV
vgreduce:在VG内删除PV
vgchange:设置VG是否启动
vgremove:删除VG
部分命令详细介绍
vgcreate [ -s N[mgt]] VG名称 PV名称
参数:
-s:后面是PE的大小,默认是4M
3、 LV相关操作
lvcreate:新建LV
lvscan:查找系统上LV
lvdisplay:系统系统上LV状态
lvextend:在LV里增加容量
lvreduce:在LV里减少容量
lvchange:设置LV是否启动
lvremove:删除LV
lvresize:调整LV容量大小
LVM实现流程
1、使用fdisk进行磁盘分区,并调整系统标识符为8e。假设磁盘分区为/dev/sdb1
fdisk /dev/sdb -> /dev/sdb1
2、利用pvcreate命令将步骤1划分的磁盘分区转换成最底层物理卷PV。
pvcreate /dev/sdb1
3、利用vgcreate命令将步骤2中的PV创建为VG
vgcreate vgdata /dev/sdb1
4、利用lvcreate命令从VG中划分出一个LV
lvcreate -L 2G -n lvoracle vgdata
5、利用mkfs命令将格式化文件系统
mkfs -t ext3 /dev/vgdata/lvoracle #lv使用全路径,可以用lvdisplay查看获取
6、创建挂载点并完成磁盘挂载
mkdir /oracle;mount /dev/vgdata/lvoracle /oracle
7、完成。操作流图如下所示
常见实例
1、VG扩容
vgextend vgdata /dev/sdb2 #/dev/sdb2是经过fdisk新增的具有8e系统标识符的磁盘分区,且该分区已使用pvcreate转换
2、LV扩容
lvextend -L +2G /dev/vgdata/lvoracle vgdata # -L 后带容量,+2G表示增加2G。
resize2fs /dev/vgdata/lvoracle #可选,如果是挂载盘需执行才能扩容新增容量到文件系统
3、LV状态修改
lvchange -a y /dev/vgdata/lvoracle #修改为active状态。lvscan可查看lv状态,若为inactive状态则不可用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义