Linux学习笔记(十六)lvm、磁盘故障小案例

一、LVM介绍
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制
LVM - 优点:
LVM通常用于装备大量磁盘的系统,但它同样适于仅有一、两块硬盘的小系统。

小系统使用LVM的益处:

传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变:

1.不同的分区相对独立,无相互联系,各分区空间很易利用不平衡,空间不能充分利用;

2.当一个文件系统/分区已满时,无法对其扩充,只能采用重新分区/建立文件系统,非常麻烦;或把分区中的数据移到另一个更

大的分区中;或采用符号连接的方式使用其它分区的空间。

3.如果要把硬盘上的多个分区合并在一起使用,只能采用再分区的方式,这个过程需要数据的备份与恢复。

当采用LVM时,情况有所不同:

1.硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间;

2.文件系统建立在逻辑卷上,而逻辑卷可根据需要改变大小(在卷组容量范围内)以满足要求;

3.文件系统建立在LVM上,可以跨分区,方便使用;

大系统使用LVM的益处:

1、在使用很多硬盘的大系统中,使用LVM主要是方便管理、增加了系统的扩展性。

2、在一个有很多不同容量硬盘的大型系统中,对不同的用户的空间分配是一个技巧性的工作,要在用户需求与实际可用空间中寻求

平衡。

3、用户/用户组的空间建立在LVM上,可以随时按要求增大,或根据使用情况对各逻辑卷进行调整。当系统空间不足而加入新的硬

盘时,不必把用户的数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。同样,使用LVM可以在不停服务的

情况下。把用户数据从旧硬盘转移到新硬盘空间中去。

二、 基本概念
1、 物理卷-----PV(Physical Volume)
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘。

2、 卷组--------VG(Volumne Group)
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工

程中可以只有一个卷组,也可以拥有多个卷组。

3、 逻辑卷-----LV(Logical Volume)
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个

逻辑卷要以属于同一个卷组,也可以属于不同的多个卷组。

4、 物理区域--PE(Physical Extent)
物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在建立物理卷时指定。物理区域大小一旦确定将

不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。

5、 逻辑区域―LE(Logical Extent)
逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。

6、 卷组描述区域-----(Volume Group Descriptor Area)
卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中的逻辑卷及逻辑卷中物理区域的分配等所有信

息,卷组描述区域是在使用pvcreate建立物理卷时建立的。

三、 常用命令
1、 物理卷命令
一般维护命令:
pvscan #在系统的所有磁盘中搜索已存在的物理卷
pvdisplay 物理卷全路径名称 #用于显示指定物理卷的属性。
pvdata 物理卷全路径名称 #用于显示物理卷的卷组描述区域信息,用于调试目的。
pvchange Cx|--allocation {y|n} 物理卷全路径名 #用于改变物理卷的分配许可设置物理卷的创建与删除命令
pvcreate 设备全路径名 #用于在磁盘或磁盘分区上创建物理卷初始化信息,以便对该物理卷进行逻辑卷管理。
pvmove 源物理卷全路径我[目的物理卷全路径名] #用于把某物理卷中的数据转移到同卷组中其他的特刊卷中。

2、 卷组命令
一般维护命令
vgscan #检测系统中所有磁盘
vgck [卷组名] #用于检查卷组中卷组描述区域信息的一致性。
vgdisplay [卷组名] #显示卷组的属性信息
vgrename 原卷组名 新卷组名
vgchange -a y|n [卷组名] #改变卷组的相应属性。是否可分配
vgchange -l 最大逻辑卷数 #卷组可容纳最大逻辑卷数
vgchange -x y|n [卷组名] #卷是否有效
vgmknodes [卷组名|卷组路径] #用于建立(重新建立)已有卷组目录和其中的设备文件卷组配置的备份与恢复命令
vgcfgbackup [卷组名] #把卷组中的VGDA信息备份到“/etc/lvmconf”目录中的文件
vgcfgrestore -n 卷组名 物理卷全路命名 #从备份文件中必得指定物理卷的信息卷组的建立与删除命令
vgcreate 卷组名 物理卷全路径名[物理卷全路径名]
vgmove 卷组名

卷组的扩充与缩小命令
vgextend 卷组名 物理卷全路径名[物理卷全路径名]
vgreduce 卷组名 物理卷全路径名[物理卷全路径名]

卷组的合并与拆分
vgmerge 目的卷组名 源卷组名 #合并两个已经存在的卷组,要求两个卷组的物理区域大小相等且源卷组是非活动的。
vgsplit 现有卷组 新卷组 物理卷全路径名[物理卷全路径名]

卷组的输入与输出命令
vgexport 卷组名
vgimport 卷组名 卷组中的物理卷[卷组中的物理卷]

3、 逻辑卷命令
一般命令
lvscan
lvdisplay 逻辑卷全路径名[逻辑卷全路径名]
lvrename 旧逻辑卷全路径名 新逻辑卷全路径名
lvrename 卷组名 旧逻辑卷名 新逻辑卷名
lvchange
e2fsadm -L +|- 逻辑卷增减量 逻辑卷全路径名

逻辑卷的创建与删除命令
lvcreate
lvremove

逻辑卷的扩充与缩小命令
lvextend -L|--size +逻辑卷大小增量 逻辑卷全路径名
lvreduce q -L|--size +逻辑卷减小量 逻辑卷全路径名

4、 逻辑卷管理命令
lvmdiskscan #检测所有的SCSI、IDE等存储设备
lvmchange -R|--reset #复位逻辑卷管理器
lvmsadc [日志文件全路径名] #收信逻辑卷管理器读写统计信息,保存到日志文件中。
lvmsar 日志文件全路径名 #从lvmsadc命令生成的日志文件中读取并报告逻辑卷管理器的读写统计信息。
摘自:http://blog.51cto.com/kerry/568427

一、lvm应用
首先,之前挂载了新加磁盘/dev/sdb
第一步,创建分区,创建一个1g的主分区

可以看到id是83 ,system是linux,我们需要将它转换成lvm格式
输入t
8e
即可

,相同方式再创建两个分区
输入w保存退出

第二步,创建物理卷

pvcreate  /dev/sdb1

centos7默认没有安装lvm,所以我们要手动安装

yum install -y lvm   


这是因为软件包名不叫lvm

yum provides "/*/pvcreate"

通配查询pvcreate命令的软件包名

可以看到软件包名为lvm2

yum install -y lvm2  


这时候执行创建物理卷还是会报错,因为分区文件没有自动生成
执行

partprobe

生成分区文件

分别执行

pvcreate  /dev/sdb1
pvcreate  /dev/sdb2
pvcreate  /dev/sdb3

pvdisplay查看已经创建的物理卷

第三步
创建卷组
pvs
可以直观的查看物理卷有哪些

创建卷组,将sdb1和sdb2设置为一个卷组

vgcreate vg1 /dev/sdb1 /dev/sdb2

vgdisplay可以查看卷组信息

第四步
创建逻辑分区

lvcreate -L 100M -n lv1 vg1 

从vg1卷组中创建名字为lv1大小100M的逻辑分区
-L指定分区大小
-n指定分区名字

将分区格式化为ext4格式
mkfs.ext4 /dev/vg1/lv1
然后将文件挂载

mount /dev/vg1/lv1 /mnt


可以发现文件系统并不是/dev/vg1/lv1
通过ls -l 可以发现
/dev/vg1/lv1 与/dev/mapper/vg1-lv1 是指向同一个文件

扩容逻辑分区

lvresize -L 200M /dev/vg1/lv1


上面的操作不够规范,因为我们之前已经挂载了/dev/vg1/lv1
所以先
umount /mnt/
然后再扩容
扩容之后

e2fsck -f /dev/vg1/lv1

检查磁盘是否有错误

resize2fs /dev/vg1/lv1

更新逻辑分区大小,不然重新挂载会无法识别扩容的大小

mount   /dev/vg1/lv1 /mnt/

重新挂载,这时候大小就已经是扩容之后的大小了

以上是ext4的扩容
下面学习ext4的缩容
先卸载分区

umount /mnt/
e2fsck -f /dev/vg1/lv1

检查磁盘是否有错误

resize2fs /dev/vg1/lv1 100M

将分区缩小为100M

lvresize -L 100M /dev/vg1/lv1

重新设置卷大小


扩容与缩容不会更改分区中的文件,xfs只可以扩容不可以缩容;
xfs扩容
如果磁盘已经挂载要先umount 卸载
然后格式化为xfs

mkfs.xfs  -f  /dev/vg1/lv1

挂载分区,然后创建一个文件

XFS的扩容不需要先卸载,直接扩容即可

但是这时候df -h 分区大小没有改变

需要执行以下命令更新分区大小

xfs_growfs /dev/vg1/lv1


关于扩容缩容的总结
ext4可以扩容和缩容而且需要卸载后操作,xfs只可以扩容,不需要卸载
ext4扩容

lvresize -L 100M /dev/vg1/lv1
e2fsck -f /dev/vg1/lv1
resize2fs /dev/vg1/lv1

缩容

e2fsck -f /dev/vg1/lv1
resize2fs /dev/vg1/lv1 100M
lvresize -L 100M /dev/vg1/lv1

xfs扩容

lvresize -L 100M /dev/vg1/lv1
xfs_growfs /dev/vg1/lv1

在分区空间用完之后就需要扩容卷组,然后再扩容
卷组扩容

vgextend vg1 /dev/sdb3

将 /dev/sdb3加入到vg1卷组

小问题解决,
由于之前将/dev/sdb添加到了/etc/fstab 前面又修改了/dev/sdb
所以重启后无法进入系统了

输入root用户密码
然后vi /etc/fstab
将之前添加的最后一行删除,保存退出,重启即可

原文地址:http://blog.51cto.com/13569831/2073327

时间: 2024-08-04 08:17:31

Linux学习笔记(十六)lvm、磁盘故障小案例的相关文章

Linux学习笔记<十六>——进程管理

Process/Thread Model Stopped:进程收到停止信号后停止运行 Ready:正在运行 Executing正在运行队列中等待 Uninterruptible sleep:不可终端指的不是CPU不响应外部硬件的中断,而是进程不响应异步信号 Interruptible sleep:等待某些事件的发生而被挂起 Zombie:进程已终止,但进程的进程控制块(以及少数资源)没被回收 程序优先级,数字越小,越优先,更优先获得运行的机会,获得更多的CPU运行时间 0-99:内核控制 100

十六、lvm、磁盘故障小案例

lvm 物理卷:磁盘分区. 卷组:多个物理卷的集合. 逻辑卷:在卷组的基础上划分出来的逻辑卷. 最终在逻辑卷的基础上进行格式化,再挂载到系统里面去使用. 如何操作: 1.fdisk /dev/sdb 2.n 创建3个新分区,分别1G 3.t 改变分区类型为8e(lvm) 设备 Boot      Start         End      Blocks   Id  System /dev/sdb1            2048     2099199     1048576   83  Li

C++学习笔记十六-模板和泛型编程(二)

C++学习笔记十六-模板和泛型编程(二) 16.4 类模板成员 1.模板作用域中模板类型的引用: 通常,当使用类模板的名字的时候,必须指定模板形参.这一规则有个例外:在类本身的作用域内部,可以使用类模板的非限定名.例如,在默认构造函数和复制构造函数的声明中,名字 Queue 是 Queue<Type> 缩写表示.实质上,编译器推断,当我们引用类的名字时,引用的是同一版本.因此,复制构造函数定义其实等价于: Queue<Type>(const Queue<Type> &a

Linux centosVMware 命令 lvm、磁盘故障小案例

一.lvm命令 LVM:逻辑分区管理,可基于动态的扩展缩小硬件设备的使用空间,注意:lvm磁盘复杂,由于使用lvm,数据丢失恢复起来有一定风险.概念:pv.VG.lvpv(物理卷,有pp基本单位构成):物理磁盘VG(卷组,由pv基本单位构成):一个或多个物理磁盘(容量)的集合lv(逻辑卷,由lp基本单位构成):VG下划分出来的使用分区(空间)fs:file system 文件系统硬件设备的一个属性设备文件:硬件文件,如一块硬盘.一块U盘.一个(硬盘)分区等.当将他们格式化的时候就是选择把他们格式

4.10—4.12 lvm讲解(上中下);4.13 磁盘故障小案例

4.10 lvm讲解(上) 1. 按使用的命令,搜索yum安装的包名: yum provides "/*/使用的命令" [[email protected] ~]# yum provides "/*/pvcreate" 得出lvm2  是pvcreate命令的安装包名 2. yum安装lvm2 包: [[email protected] ~]# yum install -y lvm2 3. 给新的磁盘分区: fdisk  /dev/磁盘名 [[email prote

四周第一次课(1月2日) 4.10/lvm讲解 4.11/lvm讲解 4.12/lvm讲解 4.13 磁盘故障小案例

四周第一次课(1月2日)4.10/lvm讲解4.11/lvm讲解4.12/lvm讲解4.13 磁盘故障小案例 onnecting to 192.168.183.128:22...Connection established.To escape to local shell, press 'Ctrl+Alt+]'. Last login: Tue Jan 2 19:34:17 2018[[email protected] ~]# ip add1: lo: <LOOPBACK,UP,LOWER_UP

4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例

4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例 4.10/4.11/4.12 lvm讲解 lvm讲解 4.10 lvm讲解上 安装下lvm 如果忘记了 lvm包 pvdisplay 查看 4.11 lvm 中 查看物理卷 除了pvdisplay命令还有一个 pvs命令也可以直观查看当前的物理卷 有了物理卷之后再来创建卷组 先用俩个物理卷创建一个卷组 vgcreate vg1 /dev/sdb1 /dev/sdb2 可以查看下卷组vgdiskplay 或者 vgs vgremo

lvm讲解、磁盘故障小案例

lvm讲解创建3个分区,每个分区1G,并且使用t把分区类型(id)改成8e.·然后使用yum install -y lvm2安装lvm.·然后使用pvcreate将划分好的3个分区变成物理卷·创建好物理卷之后我们使用pvdisplay或者pvs查看一下系统中所有的物理卷.·创建好物理卷之后我们来创建物理卷组,使用vgcreate命令,后面跟物理卷组名,在后面更你要做成组的所有物理卷名.·vgremove是删除卷组的命令.有了卷组之后我们就可以创建逻辑卷了.使用lvcreate命令,后面跟-L指定

MYSQL进阶学习笔记十六:MySQL 监控!(视频序号:进阶_35)

知识点十六:MySQL监控(35) 一.为什么使用MySQL监控 随着软件后期的不断升级,myssql的服务器数量越来越多,软硬件故障的发生概率也越来越高.这个时候就需要一套监控系统,当主机发生异常时,此时通过监控系统发现和处理. 这个监控实际上是在我们的开发完成之后,这个时候软件就开始在运行,这个运行我们就需要去关注到mysql服务器是否正常,那么我们要观察它就需要给它提供一些监控,这监控就是当它发生故障之后, 那么我们这个监控就会告诉我们到底什么地方发生了一些异常或者一些错误,这个时候我们就

Linux学习笔记&lt;十&gt;——vim编辑器

vi:Visual Interface vim:Visual Interface iMproved vim模式: 编辑模式(命令模式):默认打开vim后处于的模式 输入模式 末行模式 模式转换: 编辑-->输入: i: 在当前光标所在字符的前面,转为输入模式: a: 在当前光标所在字符的后面,转为输入模式: o: 在当前光标所在行的下方,新建一行,并转为输入模式: I:在当前光标所在行的行首,转换为输入模式 A:在当前光标所在行的行尾,转换为输入模式 O:在当前光标所在行的上方,新建一行,并转为