【Liunx常用操作】LVM逻辑卷的介绍和相关操作(创建、删除、扩缩容)
【Liunx常用操作】LVM逻辑卷的介绍和相关操作
提示:为保证文章的正确性和实用性,文章内容作者会不断优化改进,若您有建议或者文章存在错误请留言或评论指正。
前言
LVM(Logical Volume Manager)逻辑卷管理器,由内核驱动和应用层工具组成,它屏蔽了底层存储设备的差异,将存储设备组合并抽象成逻辑卷,逻辑卷可以格式化成文件系统后挂载使用。
LVM的原理就是把部分、整个或多个存储设备标识成物理卷(PV),再将一个或多个物理卷(PV)组合成一个卷组(VG),卷组(VG)可以通过增删物理卷(PV)灵活调整大小,在卷组(VG)的基础上提供逻辑卷(LV),逻辑卷(LV)格式化成文件系统后挂载使用。逻辑卷(LV)最大的特点是支持利用所在卷组(VG)的空间动态调整大小,避免了因为需要调整存储空间大小而停止应用、卸载文件系统和进行数据迁移等动作,减少了操作成本和风险。
LVM中的几个重要概念:
(1)物理卷(physical volume):简称PV,物理卷可以是整个硬盘或硬盘的分区,是LVM的基本存储逻辑块,物理卷和普通硬盘或分区的区别是物理卷包含了一些与LVM有关的管理参数。
(2)卷组(Volume Group):简称VG,可以看成单独的逻辑磁盘,建立在PV之上,一个卷组中至少要包括一个PV,在卷组建立之后可以动态的添加PV到卷组中。卷组的名称可以自定义。
(3)物理区域(physical extent):简称PE,物理区域是卷组中可用于分配的最小存储单元,物理区域的大小默认为4MB,也可以在创建卷组时通过“-s”参数手动指定大小,创建卷组时物理区域大小一旦确定创建卷组后将不能更改。
(4)逻辑卷(logical volume):简称LV,相当于磁盘分区(partition),逻辑卷建立在卷组之上,可以动态的扩展或缩小空间,扩展的空间利用的是所在卷组的未分配的空间。一个卷组可以创建多个逻辑卷,一个逻辑卷不能属于多个卷组。逻辑卷有多种分类,可以通过执行lvcreate -h查看具体类型,其中较为常见的是线性LV。
不管是物理卷还是卷组,都属于存储设备,所以它们都在“/dev”下,而逻辑卷属于卷组,类似于分区(partition)属于磁盘,所以逻辑卷在“/dev/卷组名称”下。简单来讲,创建并使用逻辑卷的步骤大致为:“创建物理卷(Physical volume)>创建卷组(Volume group)并将物理卷加入到卷组>激活卷组(卷组在创建时默认激活)>创建逻辑卷(Logical volume)>格式化逻辑卷>将逻辑卷挂载到目录下”,如下图。
步骤
创建并挂载逻辑卷
下面就在CentOS操作系统上用一块100G的硬盘创建两个分区,并将两个分区分别做成pv后加入同一个vg,然后利用该vg创建一个lv并挂载到“/datas”下为例,介绍具体操做步骤。
步骤一: 在操作系统中执行以下命令,查看系统中块设备的信息,如下图所示,系统中存在一块盘符为sdb的100G硬盘。
lsblk
步骤二: 执行以下命令, 对盘符为“sdb”的磁盘进行分区。
fdisk /dev/sdb
步骤三: 重复执行步骤二, 利用“sdb”磁盘剩余空间创建分区2即(sdb2)。如下图所示,成功在一块100G的硬盘上创建了两个分区(sdb1、sdb2)。
步骤四: 执行以下命令,将分区“sdb1”、“sdb2”创建成物理卷。
pvcreate /dev/sdb1 /dev/sdb2
步骤五: 执行以下命令,创建卷组“testvg”并将物理卷sdb1和sdb2添加到该卷组中。
vgcreate testvg /dev/sdb1 /dev/sdb2
步骤六: 执行以下命令,在卷组“testvg”中创建大小为60G、名称为“datas_lv”的逻辑卷。(如何创建一个使用所有VG空间的LV?)
lvcreate testvg -L 60G -n datas_lv
步骤七: 执行以下命令,将逻辑卷“datas_lv”格式化成ext4类型的文件系统。
注意:若将逻辑卷格式化成xfs类型的文件系统后,逻辑卷将只支持扩容不支持缩容。
mkfs.ext4 /dev/testvg/datas_lv
步骤八: 执行以下命令,在“/”下创建datas目录。
mkdir /datas;ll / |grep datas
步骤九: 执行以下命令,将逻辑卷“datas_lv”挂载到“/datas”目录下。
mount /dev/testvg/datas_lv /datas/
步骤十: 执行以下命令,编辑“/etc/fstab”文件。
vim /etc/fstab
步骤十一: 在配置文件最后添加以下内容后保存退出,实现卷的开机自动挂载(注意参数换成自己实际的,不然会导致系统启动无法正确mount而进不去系统)。
/dev/testvg/datas_lv /datas ext4 defaults 0 0
扩容逻辑卷
(1)扩容逻辑卷的目的是为了增加该逻辑卷文件系统的空间,步骤分为扩容逻辑卷和文件系统同步扩容生效两个步骤。扩容操作既可以在文件系统已挂载的情况下进行,也可以在卸载文件系统确认文件系统状态正常后进行。
(2)逻辑卷扩容前,一定要将卷上的数据进行备份。
(3)建议在操作实际生产环境前,搭建相同的模拟环境测试操作步骤的可行性,别人的案例和方法可以借鉴但不一定就完全符合条件。
步骤一: 执行以下命令,查看系统中的逻辑卷大小和卷组空间,如下图,逻辑卷datas_lv的大小是60G,所属卷组testvg,testvg卷组的可用空间(VFree)还有39.99G。
注意:若待扩容逻辑卷所在卷组没用剩余空间的话,需要将新的磁盘或者分区做成物理卷加入卷组,操作方法在上面有提到。
lvs;vgs
步骤二: 执行以下命令,查看逻辑卷的文件系统类型,如下图逻辑卷datas_lv的文件系统类型为ext4。
注意:扩容逻辑卷后需要对文件系统进行同步扩容生效操作,不同的文件系统同步扩容生效命令不一样,因此扩容前确认逻辑卷的文件系统类型尤为重要。
lsblk -f
步骤三: 执行以下命令,扩容逻辑卷datas_lv(当前大小60G)。扩容需求不同命令参数也不同,以下三种方法根据实际情况选择。
(1)把逻辑卷datas_lv扩容到指定大小,比如70G:
lvextend -L 70g /dev/testvg/datas_lv;lvs
(2)给逻辑卷datas_lv扩容指定大小的空间,比如20G:
lvextend -L +20g /dev/testvg/datas_lv;lvs
(3)将逻辑卷datas_lv所在卷组剩余空间都扩容到逻辑卷datas_lv上:
lvextend -l +100%free /dev/testvg/datas_lv;lvs
步骤四: 执行以下命令,进行文件系统的同步扩容生效操作,文件系统类型不同命令也不同,以下两种种方法根据实际情况选择。
(1)xfs类型的文件系统:
xfs_growfs /dev/testvg/datas_lv
(2)ext2、ext3、ext4类型的文件系统:
resize2fs /dev/testvg/datas_lv
缩容逻辑卷
(1)缩容逻辑卷的步骤分为卸载文件系统、检查文件状态、缩容文件系统、缩容逻辑卷、挂载文件系统五个步骤。非必要情况下不建议缩容逻辑卷,xfs类型的文件系统不支持缩容。
(2)逻辑卷缩容前,一定要将卷上的数据进行备份。
(3)建议在操作实际生产环境前,搭建相同的模拟环境测试操作步骤,别人的案例和方法可以借鉴但不一定就完全符合条件。
步骤一: 执行以下命令,查看逻辑卷的文件系统类型以及挂载点,如下图逻辑卷datas_lv的文件系统类型为ext4,挂载点为“/datas”。若文件系统类型为xfs则不支持缩容,不要执行本章节操作。
lsblk -f
步骤二: 执行以下命令,查看当前挂载点“/datas”上的文件系统大小。
df -h
步骤三: 执行以下命令,卸载挂载点“/datas”上的文件系统。
umount /datas
步骤四: 执行以下命令,检查并自动修复datas_lv上的文件系统。
e2fsck -pf /dev/testvg/datas_lv
步骤五: 执行以下命令,把datas_lv上的文件系统大小调整为50G。
resize2fs /dev/testvg/datas_lv 50g
步骤六: 执行以下命令,把逻辑卷datas_lv的大小调整为50G。
lvreduce -L 50g /dev/testvg/datas_lv
步骤七: 执行以下命令,再次检查并自动修复datas_lv上的文件系统。
e2fsck -pf /dev/testvg/datas_lv
步骤八: 执行以下命令,重新挂载datas_lv上的文件系统,可以看见“/datas”挂载点的文件系统已经变成50G了。
mount /dev/testvg/datas_lv /datas/
df -h
总结
创建物理卷
pvcreate /dev/sdb
或者
pvcreate /dev/sdb1 /dev/sdb2
查看物理卷
pvs或者pvscan或者pvdisplay
移除物理卷
pvremove /dev/sdb
创建卷组
vgcreate testvg /dev/sdb1 /dev/sdb2
激活卷组
vgchange -a y testvg
添加新的物理卷到卷组中
vgextend testvg /dev/sdc
查看卷组
vgs或者vgscan或者vgdisplay
从卷组中删除一个物理卷
vgreduce testvg /dev/sdc
删除卷组
vgremove testvg
创建普通逻辑卷
lvcreate testvg -n test -L 20G
或者(使用全部vg空间创建lv)
vgdisplay testvg | grep ‘Total PE’
lvcreate testvg -n test -l PE数量
创建条块化的逻辑卷(逻辑卷在两个物理卷中条块化存放数据,默认一块大小为64KB)
lvcreate testvg -n test -L 20G -i2
创建镜像的逻辑卷(表示只生成一个单一镜像,镜像分别放在/dev/sdb1和/dev/sdc1上,镜像日志放在/dev/sdb2上)
lvcreate testvg -n test -L 20G -m1 /dev/sdb1 /dev/sdc1 /dev/sdb2
查看逻辑卷
lvs或者lvscan或者lvdisplay
删除逻辑卷(先卸载,再删除)
umount /dev/testvg/test
lvremove /dev/testvg/test
在线数据迁移
pvmove -n test /dev/sdb1 /dev/sdc1
【Liunx常用操作】LVM逻辑卷的介绍和相关操作(创建、删除、扩缩容)相关推荐
- linux设置逻辑卷进不了图形界面,LVM逻辑卷管理器图形界面操作
LVM逻辑卷管理器图形界面操作 LVM有关概念 LVM(Logical Volume Manager)即逻辑卷管理器,它最先是在Linux 2.4内核中被集成到内核中去的,它的出现改变了传统的磁盘空间 ...
- Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)
Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载) Linux LVM逻辑卷配置过程详解 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量, ...
- linux删除配置信息,Linux LVM逻辑卷配置过程详解(创建、扩展、缩减、删除、卸载、快照创建)...
一.预备知识 LVM全称为Logical Volume Manager逻辑卷管理器,LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上.文件系统之下的一个逻辑层,可提高磁盘分 ...
- 50.逻辑卷管理5,文件系统相关操作,创建挂载文件系统,扩容文件
文件系统相关操作 创建文件系统 格式化 逻辑卷textlv创建好之后,就可以在上面创建文件系统,以ext4文件系统为例,应该注意的是逻辑卷的引用需要逻辑卷的设备文件,逻辑卷的设备文件有两种书写方式 以 ...
- centos 调整home分区xfs_Linux中对lvm逻辑卷分区大小的调整教程(针对xfs与ext4不同文件系统)...
前言 当我们在安装系统的时候,由于没有合理分配分区空间,在后续维护过程中,发现有些分区空间不够使用,而有的分区空间却有很多剩余空间.如果这些分区在装系统的时候使用了lvm(前提是这些分区要是lvm逻辑 ...
- Linux系统之磁盘分区(基本分区和LVM逻辑卷分区)
一.磁盘简介 1.磁盘属性简介 •定义: 磁盘=硬盘=disk,与内存不一样的是容量比较大. •类型 从工作原理上分为机械硬盘和固态硬盘 机械硬盘:机械硬盘即是传统普通硬盘,主要由:盘片,磁头, ...
- Linux常用命令(八)LVM逻辑卷管理
Linux常用命令(八)LVM逻辑卷管理 一.LVM概述 LVM是Linux系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上,文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下 ...
- LVM 逻辑卷管理精讲
1.1介绍 在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值.因为如果估计不准确,当遇到某个分区不够用时 ...
- LVM逻辑卷使用手册
LVM逻辑卷基础知识 PV (physical volume)物理卷 VG (Volume Group)卷组 LV ( Logical Volume)逻辑卷 它们之间的关系 先创建PV(物理卷) 给P ...
最新文章
- 使用Forms Authentication实现用户注册、登录 (二)用户注册与登录
- Oracle RMAN 设置和配置(一)
- android onTouch()与onTouchEvent()的区别
- js获取时间(yyyy-MM-dd HH:mm:ss)
- Linux解决无法启动网络
- 征信逾期了,5年后能自动消除吗?
- linux 检测蓝牙 rssi,树莓派开发笔记(十一):蓝牙的使用,BlueZ协议(双树莓探测rssi并通过蓝牙互传获取的rssi信号强度)...
- Unity面试题精选(2)
- 调用webserver时出现:请求因 HTTP 状态 401 失败: Unauthorized。
- 苹果 Siri 被曝涉嫌泄露用户隐私;中国联通回应 5G 入网问题;PHP 7.4 beta 1 发布 | 极客头条...
- 如何获取母版页上控件的值?
- 手机上将mp4转换成amv_如何在Linux上将所有文本从大写转换为小写?
- python编程单词排序_Python实现针对中文排序的方法
- PDM转换成Word文档或者XML文档
- 基于微信小程序的爱生活爱乐餐订餐外卖系统#毕业设计
- 如何高效Debug(又名如何高效解决问题)
- html 人物行走动画,CSS3人行走动作图解和动画实现
- 金融量化交易场景下数据库如何改造?同花顺、弘源泰平真实案例分享
- 西北工业大学计算机学院推免,2021年西北工业大学接收推荐免试研究生预报名的通知...
- multi-head GAT