Linux LVM详解:扩展与缩减逻辑卷
需积分: 6 9 浏览量
更新于2024-08-05
收藏 2.61MB DOCX 举报
"这篇资料主要介绍了Linux高级存储管理,包括逻辑卷管理,涉及物理卷(PV)、物理扩展(PE)、卷组(VG)和逻辑卷(LV)的概念,以及如何监控、建立、拉伸和缩减LVM设备。此外,还提到了文件系统的格式化、挂载、拉伸和缩减操作,特别关注了XFS和EXT4文件系统的差异。"
在Linux系统中,高级存储管理通常涉及到逻辑卷管理(LVM),这是一种灵活的存储管理技术,允许管理员动态地调整磁盘空间。LVM的核心概念包括:
1. 物理卷(Physical Volume, PV):这是LVM的基本单位,通常是被处理过的物理分区,用于存储LVM元数据和用户数据。
2. 物理扩展(Physical Extent, PE):PE是分配存储的最小单位,所有PV上的PE大小必须一致。
3. 卷组(Volume Group, VG):多个PV可以组成一个VG,这样就可以把它们的存储空间合并在一起,形成一个大的逻辑存储池。
4. 逻辑卷(Logical Volume, LV):LV是在VG上创建的虚拟分区,分配给实际的文件系统使用。LV的大小可以独立于底层PV进行调整,提供了更大的灵活性。
监控LVM的状态,可以使用以下命令:
```
watch -n1 "pvs; echo ====; vgs; echo =====; lvs; echo =====; df -h /weixindata"
```
创建LVM设备的基本步骤如下:
1. 首先,需要创建物理卷,例如:
```
pvcreate /dev/sda2
```
2. 创建卷组,如:
```
vgcreate westosvg -s 2M /dev/sda2
```
`-s` 参数指定了PE的大小为2M。
3. 创建逻辑卷,比如:
```
lvcreate -L 100M -n westoslv westosvg
```
`-L` 设定了LV的大小,`-n` 指定了LV的名称。
4. 格式化LV并挂载,例如:
```
mkfs.xfs /dev/mapper/westosvg-westoslv
mount /dev/westosvg/westoslv /weixindata/
```
LVM的拉伸与缩减操作:
- 当VG中有足够的容量,可以通过`lvextend`命令拉伸LV,如:
```
lvextend -L 200M /dev/mapper/westosvg-westoslv
```
对于XFS文件系统,使用`xfs_growfs`命令扩展文件系统;对于EXT4,使用`resize2fs`命令。
- 当VG容量不足,需要添加新的PV到VG中,然后扩展LV:
```
pvcreate /dev/sda3
vgextend westosvg /dev/sda3
lvextend -L 2500M /dev/westosvg/westoslv
xfs_growfs /weixindata/
```
- LVM缩减操作对XFS文件系统不支持,但EXT4可以。首先,卸载文件系统,执行检查,然后减小LV大小,最后重新挂载:
```
umount /weixindata
e2fsck -f /dev/westosvg/westoslv
resize2fs /dev/westosvg/westoslv 1500M
lvreduce -L 1500M /dev/westosvg/westoslv
mount /dev/westosvg/westoslv /weixindata/
```
最后,如果不再需要某个PV,可以将其从VG中移除,然后删除PV:
```
vgreduce westosvg /dev/sda3
pvremove /dev/sda3
```
通过这种方式,Linux管理员可以根据需求动态调整存储资源,提高了存储管理的效率和灵活性。
2009-11-06 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-06-04 上传
点击了解资源详情
Z.c173
- 粉丝: 1
- 资源: 6
最新资源
- 单片机串口通信仿真与代码实现详解
- LVGL GUI-Guider工具:设计并仿真LVGL界面
- Unity3D魔幻风格游戏UI界面与按钮图标素材详解
- MFC VC++实现串口温度数据显示源代码分析
- JEE培训项目:jee-todolist深度解析
- 74LS138译码器在单片机应用中的实现方法
- Android平台的动物象棋游戏应用开发
- C++系统测试项目:毕业设计与课程实践指南
- WZYAVPlayer:一个适用于iOS的视频播放控件
- ASP实现校园学生信息在线管理系统设计与实践
- 使用node-webkit和AngularJS打造跨平台桌面应用
- C#实现递归绘制圆形的探索
- C++语言项目开发:烟花效果动画实现
- 高效子网掩码计算器:网络工具中的必备应用
- 用Django构建个人博客网站的学习之旅
- SpringBoot微服务搭建与Spring Cloud实践