Linux LVM卷组管理
Linux LVM卷组管理
由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理。
由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数据的情况。
一、LVM基本属于介绍
- 物理存储介质(The physical media)
- 这里指系统的存储设备:硬盘,如:/dev/hda、/dev/sda等等,是存储系统最低层的存储单元。
- 物理卷(physicalvolume)
- 物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
- 卷组(Volume Group)
- LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
- 逻辑卷(logicalvolume)
- LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
- PV(physical volume,PV)
- 物理卷,它的文件格式不是ext4这些,而是具有LVM管理功能的LVM格式
- VG(Volume Group,VG)
- 卷组,卷组是在PV物理卷的基础上创建的,卷组是由一个或多个物理卷组成的,卷组可以在物理卷PV的基础上扩展和缩小。
- LV(logical volume,LV)
- 逻辑卷,在VG的基础上创建,可以进行格式化、可以创建文件系统、可以被挂载。对于用户相当于一个磁盘分区,不过实际上是在VG上逻辑出来的,可以在VG的基础上实现扩展和缩小,扩展的边界是不能超过VG的。
- PE(Physical Extents)
- 物理块、PE相当于block块,默认是4M,一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,VG是由这些PE块组成,也是VG可以自由扩展和缩小的关键原因。
- LE(Logical Extent)
- 逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应
分类 | 命令 | 说明 | 示例 |
---|---|---|---|
PV | pvcreate | 创建物理卷 | pvcreate /dev/sdb1 |
PV | pvdisplay | 显示已创建的物理卷的详细信息 | |
PV | pvs | 显示已创建的物理卷的汇总信息 | |
PV | pvremove | 删除物理卷 | pvremove /dev/sdb1 |
VG | vgcreate | 创建卷组 | pvcreate vg1 /dev/sdb1 /dev/sdb2 … |
VG | vgdisplay | 显示已创建的卷组的详细信息 | |
VG | vgs | 显示已创建的卷组的汇总信息 | |
VG | vgextend | 扩展卷组 | vgextend vg1 /dev/sdb3 … |
VG | vgreduce | 收缩卷组 | vgreduce vg1 /dev/sdb5 |
VG | vgremove | 删除卷组 | vgremove vg1 |
LV | lvcreate | 创建逻辑卷 | lvcreate -L 1000M -n lv1 vg1 |
LV | lvdisplay | 显示已创建的逻辑卷的详细信息 | |
LV | lvs | 显示已创建的逻辑卷的汇总信息 | |
LV | lvresize | 重设逻辑卷大小 | lvresize -L 1000M /dev/vg1/lv1 |
LV | resize2fs | 更新逻辑卷信息(ext4) | resize2fs /dev/vg1/lv1 |
LV | lvremove | 删除逻辑卷 | lvremove /dev/vg1/lv1 |
LV | xfs_growfs | 更新逻辑卷信息(xfs) | xfs_growfs /dev/vg1/lv1 |
LV | e2fsck | 检查逻辑卷错误(ext4) | e2fsck -f /dev/vg1/lv1 |
其它参数:
-f 强制创建物理卷,不需要用户确认
-u 指定设备的UUID
-y 所有的问题都回答“yes”
-Z 是否利用前4个扇区
pvcreate
-l 卷组上允许创建的最大逻辑卷数
-p 卷组中允许添加的最大物理卷数
-s 卷组上的物理卷的PE大小
vgcreate
-L 指定逻辑卷的大小,单位为“kKmMgGtT”字节
-l 指定逻辑卷的大小(LE数)
-n 后面跟逻辑卷名
-s 创建快照
lvcreate
二、实验的操作环境
- 操作系统:Redhat 7 x64
- 磁盘:1快/dev/sdb磁盘10G、已创建4个分区、3个主分区各2G、1个扩展分区4G。
- 如果使用CentOS 7.4默认没有安装支持上述命令的软件包,因此需要提前安装
lvm2
软件包,具体命令为:yum install -y lvm2
1、创建LVM
【创建过程】
(1)对新磁盘进行分区操作(fdisk
);
(2)逐一变更分区类型为Linux LVM
(Hex代码为:8e
);
(3)将物理磁盘初始化为物理卷PV(pvcreate
);
(4)将一个或多个物理卷PV转变为一个卷组VG(vgcreate
)。
(5)从VG中创建逻辑卷(lvcreate
)。
(6)格式化(mkfs.ext4
/mkfs.xfs
)。
(7)根据实际需要将逻辑卷挂载使用(mount
)。
(8)根据需要对磁盘or逻辑卷进行扩展和缩减。
1.1、先将创建4个分区、3个主分区各2G、1个扩展分区4G。
# 管理/dev/sdb磁盘
fdisk /dev/sdb # 添加主分区/sdb1 给2G空间
n -> p -> 1 -> 空格 -> +2G # 添加主分区/sdb2 给2G空间
n -> p -> 2 -> 空格 -> +2G # 添加主分区/sdb3 给2G空间
n -> p -> 3 -> 空格 -> +2G # 添加扩展分区/sdb4 给4G空间
n -> e -> 4 -> 空格 -> 空格
1.2、转换分区类型为8e、8e类型为LVM。
# 将主分区1转换为LVM
t -> 1 -> 8e # 将主分区2转换为LVM
t -> 2 -> 8e # 将主分区3转换为LVM
t -> 3 -> 8e
1.3、将物理磁盘分区初始化为物理卷PV
# 为/dev/sdb1分区 创建PV
pvcreate /dev/sdb1 # 为/dev/sdb2分区 创建PV
pvcreate /dev/sdb2 # 为/dev/sdb3分区 创建PV
pvcreate /dev/sdb3
1.4、将一个或多个物理卷PV转变为一个卷组VG
# 分区/dev/sdb1 /dev/sdb2 整合为一个 VG、命名为 vg1
vgcreate vg1 /dev/sdb1 /dev/sdb2
1.5、从VG中创建逻辑卷。
# 方案1:创建逻辑卷、lvcreate -L 划分大小 -n 逻辑卷名称 卷组名称
lvcreate -L 1G -n lv1 vg1 # 方案2:创建逻辑卷、通过使用vg的PE大小来分逻辑卷,下面-l 分配了100个PE大小的逻辑卷
lvcreate -l 100 -n lv1 vg1
1.6、格式化逻辑卷、并挂载使用
# 格式化、/dev/vg1/lv1 为卷组创建出的逻辑卷位置
mkfs.ext4 /dev/vg1/lv1 # 挂载逻辑卷使用 挂载到 /mnt 目录下
mount /dev/vg1/lv1 /mnt
# 查看逻辑卷的UUID:最后一行就是逻辑卷的信息,把该行的UUID复制出来,不含引号。
命令:blkid
例:/dev/mapper/vg1-lv1: UUID="11262806-d796-4f49-8f08-897181e8ec33" # 编辑fstab: 在最后添加一行,输入如下内容:
# 然后保存退出(:wq),重启后查看结果,如果能正常挂载就没有问题了。
UUID=11262806-d796-4f49-8f08-897181e8ec33 /mnt ext4 defaults 0 0
永久生效
1.7、卷组扩容 将/dev/sdb3 添加到 vg1 卷组内
# 将/dev/sdb3 分区添加到vg1卷组内
vgextend vg1 /dev/sdb3
1.8、卷则缩容 将/dev/sdb3 移除 vg1 卷组
命令:pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg1 lvm2 a-- <2.00g 0
/dev/sdb2 vg1 lvm2 a-- <2.00g 0
/dev/sdb3 vg1 lvm2 a-- <2.00g <2.00g
- 只有PFree等于PSize,也就是说没有被使用的物理卷,还能被列入考虑范围。
- 根据上面命令的执行结果,只有/dev/sdb5和/dev/sdb6二个可以被移除。
# 将分区/dev/sdb3 移除 vg1 卷组
vgreduce vg1 /dev/sdb3
1.9、更新逻辑卷状态
# 更新/dev/vg1/lv1逻辑卷状态
resize2fs /dev/vg1/lv1
2、彻底删除逻辑卷
2.1、查看挂载、并取消挂载
# 查看挂载
df -mT
/dev/mapper/vg1-1v1 ext4 2.6M 907M 1% /mnt # 取消挂载
umount /dev/mapper/vg1-1v1
2.2、删除挂在记录
# 删除/etc/fstab 下挂载信息
vim /etc/fstab
...
2.3、删除逻辑卷
lvremove /dev/mapper/vg1-1v1
2.4、删除卷组
vgremove vg1
2.5、删除物理卷
pvremove /dev/sdb1
pvremove /dev/sdb2
Linux LVM卷组管理的更多相关文章
- 烂泥:【解决】修改LVM卷组名重启系统后,无法进入进入系统
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 一台服务器系统已经安装完毕,但是LVM的卷组vg使用的是默认的VolGroup名称,使用起来感觉不舒服,打算把这个卷组名称修改为vg. 先来查看系统中有 ...
- linux学习16 Linux用户和组管理命令演练和实战应用
一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...
- centos7 -lvm卷组
老忘,记一下 基本的逻辑卷管理概念: PV(Physical Volume)- 物理卷 物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备. ...
- Linux扩增卷组、逻辑卷以及缩减逻辑卷
今天我们将了解怎样来扩展卷组,扩展和缩减逻辑卷.在这里,我们可以缩减或者扩展逻辑卷管理(LVM)中的分区,LVM也可称之为弹性卷文件系统. 前置需求使用LVM创建弹性磁盘存储——第一部分 什么时候我们 ...
- 第2章 细说Linux系统用户/组管理(1)
2.1 用户和组的基本概念 用户和组是操作系统中一种身份认证资源. 每个用户都有用户名.用户的唯一编号uid(user id).所属组及其默认的shell,可能还有密码.家目录.附属组.注释信息等. ...
- Linux用户与组管理命令
1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. who | cut -d" " -f1 | sort -u 或 who | cut -d ...
- Docker 中卷组管理
一.概念 数据卷是一个可供一个或多个容器使用的特殊目录实现让容器的一个目录和宿主机中的一个文件或者目录进行绑定.数据卷 是被设计用来持久化数据的,对于数据卷你可以理解为NFS中的哪个分享出来的挂载点, ...
- AIX中卷组管理
1.创建卷组 使用mkvg指令创建卷组. mkvg 指令参数 -B 创建大型卷组,该卷组最大能容纳128个物理卷和512个逻辑卷 -C 创建增加型并发卷组 -f 强制创建卷组 -G 与-B一样,创 ...
- linux上的组管理
上一次我们谈了CentOS上的用户管理,现在我们再来谈下CentOS上的用户组管理. groupadd创建一个新的组 用法如下: groupadd [选项] groupname 常用选项: -f 强制 ...
随机推荐
- 大整数加减运算的C语言实现
目录 大整数加减运算的C语言实现 一. 问题提出 二. 代码实现 三. 效果验证 大整数加减运算的C语言实现 标签: 大整数加减 C 一. 问题提出 培训老师给出一个题目:用C语言实现一个大整数计算器 ...
- 获取当前目录绝对路径,参考canal run.sh里面的方式
case "`uname`" in Darwin) bin_abs_path=`cd $(dirname $0); pwd` ;; Linux) bin_abs_path=$(re ...
- Apache kylin进阶——元数据篇
一.Apache kylin元数据的存储 Apache kylin的元数据包括 立方体描述(cube description),立方体实例(cube instances)项目(project).作业( ...
- Logistic 最大熵 朴素贝叶斯 HMM MEMM CRF 几个模型的总结
朴素贝叶斯(NB) , 最大熵(MaxEnt) (逻辑回归, LR), 因马尔科夫模型(HMM), 最大熵马尔科夫模型(MEMM), 条件随机场(CRF) 这几个模型之间有千丝万缕的联系,本文首先会 ...
- PHP异常处理、错误捕获和自动加载的一些总结
<?php // 设置顶层异常处理器 set_exception_handler('exceptionHandler'); function exceptionHandler($e) { ech ...
- gym 101858
我这个傻逼被治了一下午. 大好的橘势,两个小时6T,去看L,哇傻逼题.然后我跑的最短路T到自闭 最后十几分钟去想了下A,一直在想如何表示状态..就是想不到二进制搞一下... 然后游戏结束了..以后我就 ...
- mybatis11--多对多关联查询
多对多关联! 其实就是两个一对多的关联! 比如说 一个学生可以有多个老师!一个老师可以有多个学生! 那么 学生和老师之间的关系 可以理解为 多对多的关联关系! 关键是怎么建立数据库中两个表之间的关系 ...
- 关于Could not load driverClass ${jdbc.driverClassName}问题解决方案
在spring与mybatis3整合时一直遇到Could not load driverClass ${jdbc.driverClassName}报错如果将 ${jdbc.driverClassNam ...
- Python学习之旅(三十)
Python基础知识(29):virtualenv virtualenv:用来为一个应用创建一套隔离的Python运行环境 比如,现有两个Python项目,一个是Python2.7的一个是Python ...
- PAT甲级1068 Find More Coins【01背包】
题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805402305150976 题意: n个硬币,每一个有一个特有的价 ...