博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LVM2逻辑卷之1——创建及扩容
阅读量:7120 次
发布时间:2019-06-28

本文共 1558 字,大约阅读时间需要 5 分钟。

一、背景介绍

LVM2逻辑卷由于支持空间的动态扩展或收缩,在中小企业中有一定的使用场景,在CentOS5、6系统中经常会见到,从CentOS7以后默认的文件系统由ext4改为btrfs,而btrfs也支持空间的动态扩展和收缩,所以在CentOS7以后的系统中再使用LVM就是不明智的选择了

二、LVM原理介绍

在介绍LVM之前首先需要对几个名词进行说明:

PV——physical volume,在物理层面磁盘组成的磁盘卷

VG——volume group,在较低的逻辑层从多个PV中抽象出来的卷组

PE——physical extend,VG将PV所提供的容量再次以“块”的形式对外提供,每一个“块”的大小

LV——logical volume,由多个LV“块”组成可供挂载使用的设备文件

从上图可以看出VG是一个或多个PV抽象出一个逻辑层,该逻辑层对外提供的块大小称为PE,将多个PE组成的LV就是用于挂载的设备文件。空间的扩展或收缩就是增加或减少PE的过程。LVM功能实际上是通过内核中的dm模块(device mapper)实现,它将一个或多个底层块设备组织成一个逻辑设备的模块,在/dev/目录下以dm-#形式展现

三、创建LVM2逻辑卷

1.添加一个新磁盘,或在原有磁盘剩余空间上新创建几个分区(只要是块设备都可以用于创建LVM2),注意分区时ID号要是8e

2.从分区类型中可以看到,8e是用于LVM的的ID号

3.使用pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3命令新建3个PV,完成后可以使用pvs查看

4.使用命令vgcreate [-s #[kKmMgG]] myvg /dev/sdb1 /dev/sdb2 /dev/sdb3 创建VG,可以使用-s设置PE块的大小,默认是4M,myvg是自定义的VG名称

5.使用命令lvcreate -L 15G -n mylv myvg创建LV,此处需要注意的是如果后期删除LV需要之名LV的路径,即使用lvremove /dev/myvg/mylv命令完成

创建好的LV可以在/dev/mapper/下通过VG_NAME-LV_NAME或者在/dev/下通过VG_NAME/LV_NAME找到,这两个路径其实都是指向/dev/dm-#的链接

6.此时LV就已将创建完成,使用mke2fs命令将LV格式化后就可以挂载使用了

三、LVM2扩容

从前文得知LV的大小受制于PE、VG、PV,所以当要对LV进行扩容时推荐的步骤为:扩容PV——扩容VG——扩容LV——扩大文件系统大小

1.再将一个分区创建为PV

2.将新创建的分区加入myvg的VG中,使用vgs可以看到PV数量由3变成了4

3.在通过lvresize -L +4G /dev/myvg/mylv命令扩容LV大小,此处注意-L后+4G表示再原有基础上再增加4G的空间,也可以写成lvresize -L 19G /dev/myvg/mylv表示空间大小增加到19G

4.此时LV空间虽然扩大了,但是会发现挂载的设备文件空间大小并没有发生变化

卸载原来的挂载点,使用resize2fs /dev/myvg/mylv命令对文件系统扩容后,再挂载看到已经变成19G了

补充说明

在讲LV设备(/dev/myvg/mylv)挂载到/lvm目录下后,直接扩展文件系统时提示无法在线扩展

卸载后再次尝试扩展文件系统提示找不到有效的超级块

重启后再次尝试,提示先检查并修复文件系统

只有当检查完文件系统后再次扩容才能够成功,具体产生的原因尚且不清楚

本文转自 qiao645 51CTO博客,原文链接:http://blog.51cto.com/arkling/1911573

转载地址:http://icsel.baihongyu.com/

你可能感兴趣的文章
ASP.NET 4.0的ClientIDMode=”Static”未必是最好
查看>>
Ease & Easy ASP.NET MVC 开发框架
查看>>
[解析]for循环为何可恨?
查看>>
LINQ(LINQ to DataSet)
查看>>
asp.net 列表样式
查看>>
BlazeMeter发布chrome扩展插件,支持JMeter脚本创建
查看>>
web 分享代码片段
查看>>
Leetcode: Combinations
查看>>
Android 蓝牙操作详解
查看>>
个人封装的一个Camera类
查看>>
android如何播放资源文件夹raw中的视频
查看>>
wyh2000 and pupil
查看>>
llvm -O 经历过那些pass
查看>>
how to set thread timeout time
查看>>
xml.query() 实例演示
查看>>
关于CSource和CSourceStream .
查看>>
Specifying High-Resolution Images in iOS
查看>>
01.部署NopCommerce时遇到的问题
查看>>
windows写文件到ubuntu之ftp
查看>>
dtruss
查看>>