LVM逻辑卷管理和RAID
LVM
逻辑卷管理和
RAID
知识要点
LVM概述
LVM管理命令
LVM应用实例
LVM troubleshooting
Raid概述
LVM
概述
Logical Volume Manager,
逻辑卷管理
是
对磁盘分区进行管理
的一种机制
[root@localhost ~]# rpm -qa | grep lvm
lvm2-2.02.143-7.el6.x86_64
mesa-private-llvm-3.6.2-1.el6.x86_64
lvm2-libs-2.02.143-7.el6.x86_64
是一种将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现一种磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性,使用普通的磁盘分区,当一个磁盘的分区空间不够使用的时候,可能就会带来很大的麻烦。使用LVM在一定程度上就可以解决普通磁盘分区带来的问题。
屏蔽了底层磁盘布局,便于动态调整磁盘容量
相对传统分区方式的有下列优点
空间利用率高
:硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间
可以在线扩展容量
:文件系统建立在逻辑卷上,而逻辑卷可根据需要改变大小(在卷组容量范围内)以满足要求
文件系统建立在LVM上,可以跨分区,方便使用
可随意定义逻辑卷卷标
/boot分区用于存放引导文件,不能应用LVM机制
LVM
概述
LVM机制的基本概念
PV(Physical Volume,物理卷)
处于LVM最底层,可以是整个硬盘或使用fdisk等工具建立的普通分区
包括许多默认4MB大小的PE(Physical Extents,基本单元),PE是PV中可以用于分配的最小存储单元
VG(Volume Group,卷组)
是一个或多个物理卷组合而成的整体,是建立在PV之上的。同一VG中所有PV的PE大小应该相同,当VG被创建后,我们才能正常查看PE的数量 。
LV(Logical Volume,逻辑卷)
从卷组中分割出的一块空间,它是建立在VG之上,相当于原来分区的概念。不过大小可以动态改变。其实LV就是由PE组成的,不过在LV里面这些PE叫做LE。
LE(Logical Extents)
LE是LV中可以用于分配的最小存储单元,与PE大小相同并一一对应
LVM
管理命令
功能
|
物理卷管理
|
卷组管理
|
逻辑卷管理
|
Scan 扫描
|
pvscan
|
vgscan
|
lvscan
|
Create 建立
|
pvcreate
|
vgcreate
|
lvcreate
|
Display 显示
|
pvdisplay
|
vgdisplay
|
lvdisplay
|
Remove 删除
|
pvremove
|
vgremove
|
lvremove
|
Extend 扩展
Reduce 减少
|
vgextend vgreduce
|
lvextend
lvresize
|
建立命令的用法
pvcreate 设备名(硬盘,分区)
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 大小 -n 逻辑卷名 卷组名
LVM
应用实例
案例描述:
公司的邮件服务器由于用户数量众多,邮件存储需要大量的空间,考虑到动态扩容的需要,计划增加两块SCSI硬盘并构建LVM逻辑卷,挂载到“/mail”目录专门用于存放邮件数据
推荐步骤:
PV --> VG -->LV --> 格式化,挂载使用文件系统
1. 转化物理卷
使用fdisk命令规划两个分区,类型设置为“8e”
/dev/sdb1、/dev/sdc1
使用pvcreate命令转换上述分区为物理卷
2. 创建卷组
使用vgcreate命令创建卷组mail_store
包括物理卷:/dec/sdb1、/dev/sdc1
3. 创建逻辑卷
使用lvcreate命令创建逻辑卷 mail
从卷组mail_store上划出60GB空间
使用mkfs命令创建ext3文件系统
调整
LV
大小
为逻辑卷扩容
使用lvextend命令为逻辑卷 mail扩充容量
从卷组 mail_store 上再划出10GB给逻辑卷mail
使用resize2fs命令更新文件系统大小
调整逻辑卷大小命令
lvextend -L +大小 /dev/卷组名/逻辑卷名
lvresize -L +/-大小 /dev/卷组名/逻辑卷名
如果要增大逻辑卷,先用增大逻辑卷,再用resize2fs增大文件系统
可以在线增大逻辑卷
给LV扩容:
增加的空间来自lv所在的VG的空闲空间
lv底层的分区或者硬盘可以跨多个
// 查看分区信息
[root@localhost ~]# fdisk -l
Disk /dev/sda: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000922f6
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 281 2048000 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.