linux下lvm逻辑卷配置过程
LVM全称为Logical Volume Manager逻辑卷管理器,LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。可以使硬盘无限扩展。
PV(physical volume):物理卷。在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区。
VG(volume group):卷组。建立在物理卷上,一卷组中至少要包括一物理卷,卷组建立后可动态的添加卷到卷组中,一个逻辑卷管理系统工程中可有多个卷组。
LV(logical volume):逻辑卷。建立在卷组基础上,卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可以动态扩展和缩小空间。
PE(physical extent):物理区域。是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入到vg后,pe的大小自动更改为vg中定义的pe大小。 lvm=pe*n.
LE(logical extent):逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。
注意:linux下的文件系统需要挂载才可以使用,要将逻辑卷挂载。
卷组描述区域:卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中逻辑卷、逻辑卷中物理区域的分配等所有信息,它是在使用pvcreate建立物理卷时建立的。
我们要创建逻辑卷,首先要创建物理卷PV,之后创建卷组VG,最后才创建逻辑卷LV。
######################2.lvm逻辑卷配置详情####################################
##(1)创建lvm逻辑卷#####################################
在创建管理之前,我们最好还原一下实验环境,以免在实验过程中才发现问题造成极大的麻烦。
这里我选择在server虚拟机里进行实验。
下面我们就进入创建步骤:
(1) watch -n 1 'pvs;vgs;lvs;df -h /mnt' ##监控命令
(2) 打开另一个shell fdisk /dev/vdb ##建立三个分区,大小为1G并且标签改为8e
(3) partprobe ##手动同步分区
(4) pvcreate /dev/vdb1 ##创建物理卷
(5) vgcreate vg0 /dev/vdb1 ##创建物理卷组
(6) lvcreate -L 200M -n lv0 vg0 ##在卷组上创建名为lv0,大小为200的逻辑卷
(7)mkfs.xfs /dev/vg0/lv0 ##格式化逻辑卷
(8) mount /dev/vg0/lv0 /mnt/ ##挂载
##(2)lvm逻辑卷的扩容#####################################
逻辑卷的扩容又分为xfs系统中扩容和ext4系统中扩容;
xfs系统中扩容分为两种:vg足够扩容和vg不足扩容;
(1)vg足够扩容:
lvextend -L 500M /dev/vg0/lv0 ##扩建逻辑卷大小为500M
xfs_growfs /dev/vg0/lv0 ##扩展挂载的文件系统
(2)vg不足扩容:
当pv容量不够用时,可以添加pv
pvcreate /dev/sdb2 ##新建物理卷
vgextend vg0 /dev/sdb2 ##扩大物理卷组
lvextend -L 1500M /dev/vg0/lv0 ##扩大设备
xfs_growfs /dev/vg0/lv0 ##扩大文件系统
(3)ext4下的lvm扩容
[root@localhost ~]# umount /mnt ##先卸载
[root@localhost ~]# mkfs.ext4 /dev/vg0/lv0 ##格式化逻辑卷
[root@localhost ~]# mount /dev/vg0/lv0 /mnt/ ##挂载
[root@localhost ~]# lvextend -L 1800M /dev/vg0/lv0 ##增加逻辑卷空间
Extending logical volume lv0 to 1.76 GiB
Logical volume lv0 successfully resized
[root@localhost ~]# resize2fs /dev/vg0/lv0 ##更新逻辑卷信息
扩容后的结果:
##3.缩减lvm逻辑卷空间及vg缩减#############################
(1)缩减lvm逻辑卷空间
lvm逻辑卷的缩减只针对于ext4系统,xfs文件系统不支持缩减;
也就是说xfs文件系统只支持扩容,不能缩减;而ext4文件系统既可以扩容也可以缩减。
在ext4缩减的具体步骤:
[root@localhost ~]# umount /mnt ##先卸载 [root@localhost ~]# e2fsck -f /dev/vg0/lv0 ##扫描逻辑卷上的空余空间 [root@localhost ~]# resize2fs /dev/vg0/lv0 1000M ##设备文件减少到1000M [root@localhost ~]# mount /dev/vg0/lv0 /mnt ##挂载 [root@localhost ~]# lvreduce -L 1000M /dev/vg0/lv0 ##将逻辑卷减少到1000M
缩减之后结果:
(2)vg缩减(如果移除设备有数据,要迁移到空闲设备里)
[root@localhost ~]# pvmove /dev/vdb1 /dev/vdb2 ##将vdb1的空间数据转移到vdb2
/dev/vdb1: Moved: 88.0%
/dev/vdb1: Moved: 100.0% ##转移数据成功
[root@localhost ~]# vgreduce vg0 /dev/vdb1 ##将分区从vg0卷组中移除
Removed "/dev/vdb1" from volume group "vg0"
[root@localhost ~]# pvremove /dev/vdb1 ##把分区从系统中删除
Labels on physical volume
"/dev/vdb1" successfully wiped
注意:将vdb1的空间数据转移到vdb2时,要确保vdb2的足够的空间能将vdb1的数据转移,否则需要先将vdb1缩减。
##4.建立lvm快照#######################
使用的命令:
lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0
## -L大小,-n快照名字,-s 快照对象。
我们给刚创建的lv0创建快照。
步骤:
(1)先在lv0中建立10个文件;
cd /mnt、
touch file{1..10}
(2)建立一个50M的快照;(快照的大小只能小于余留大小,否则快照建立不成功)
lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 50M:照片的大小
(3)挂载快照
mount /dev/vg0/lv0backup /mnt/
(4)查看是否有之前建立的文件
cd /mnt
ls
(5)删除
rm -fr *
cd
(6)卸载快照
umount /mnt/
(7)删除快照
lvremove /dev/vg0/lv0backup
(8)重新创建快照
lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0
(9)再次挂载快照,又可以查看到刚开始建立的文件
mount /dev/vg0/lv0backup /mnt/
ls /mnt/
##5.删除lvm逻辑卷#######################
其实这一步很简单,就是创建lvm逻辑卷的逆操作;
[root@localhost ~]# umount /mnt ##卸载
[root@localhost ~]# df
[root@localhost ~]# lvremove /dev/vg0/lv0backup ##删除快照
[root@localhost ~]# lvremove /dev/vg0/lv0 ##删除逻辑卷
[root@localhost ~]# vgremove vg0 ##删除物理卷组
[root@localhost ~]# pvremove /dev/vdb{1..2} ##删除物理卷
逻辑卷删除后结果:
总结:LVM逻辑卷是Linux里面一个很棒的空间使用机制,因为分区在没有格式化的情况下是没有办法加大或者放小的。通过LVM可以将你的磁盘空间做到灵活自如。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CentOS系统下Java环境配置
1.卸载Linux系统自带的JDK java -version rpm -qa | grep -i java 我们要删除掉自带的JDK环境 rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686 再次查询是否已经删除 2.安装自己下载的JDK 2.1 下载JDK,地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 使用的是32位linux系统,因此下载了32位,可以使用命令查询是32位还是64位 getconf LONG_BIT 2.2 上传JDK到服务器,解压到自己创建的目录下面 mkdir -p /usr/local/java 解压JDK到/usr/local/java 下面 tar -zxvf jdk-8u171-linux-i586.tar.gz -C /usr/lo...
- 下一篇
linux相对路径和绝对路径
讲解思路: 什么是绝对路径 什么是相对路径 相对路径和绝对路径存在的合理性 什么是绝对路径 系统中的所有文件路径,构成一棵树。你在查找一个文件的过程,其实就是在遍历一棵树,你想要的那个文件就是树上的一个节点,从树根到当前节点的遍历就是一条路径。如果你无论查找什么文件都从树根开始,那么最终找到目标文件所遍历的路径就是绝对路径。比如在根路径/下有一个目录lives,这个目录的结构如下: lives ├── animal │ ├── cat │ └── dog ├── human │ ├── man │ │ ├── programmer │ │ ├── scientist │ │ └── teacher │ └── woman └── planet ├── earth └── mars 如果你现在在programmer目录下: [root@localhost programmer]# pwd /lives/human/man/programmer 你想从当前programmer目录跳转到scientist目录下,你怎么做? 如果采用绝对路径: [root@localhost programm...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Hadoop3单机部署,实现最简伪集群
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16