linux逻辑卷管理
最近在进行linux充电,根据网络资料自己整理的资料,分享一下
----------------------------------------------------------
Linux逻辑卷管理
1、什么是逻辑卷?
LVM是逻辑卷管理(Logical Volume Manager)的简称,他是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,和直接使用物理存储在管理上相比,提供了更好灵活性。
LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,和硬件相关的存储设置被其隐藏,你能不用停止应用或卸载文件系统来调整卷大小或数据迁移.这样能减少操作成本.
2、使用逻辑卷的优势?
1). 灵活的容量.
当使用逻辑卷时,文件系统能扩展到多个磁盘上,你能聚合多个磁盘或磁盘分区成单一的逻辑卷.
2).可伸缩的存储池.
你能使用简单的命令来扩大或缩小逻辑卷大小,不用重新格式化或分区磁盘设备.
3).在线的数据再分配.
你能在线移动数据,数据能在磁盘在线的情况下重新分配.比如,你能在线更换可热插拔的磁盘.
4). 方便的设备命名
逻辑卷能按你觉得方便的方式来起所有名称.
5).磁盘条块化.
你能生成一个逻辑盘,他的数据能被条块化存储在2个或更多的磁盘上.这样能明显提升数据吞吐量.
6).映像卷
逻辑卷提供方便的方法来映像你的数据.
7).卷快照
使用逻辑卷,你能获得设备快照用来一致性备份或测试数据更新效果而不影响真实数据.
3. LVM基本术语
前面谈到,LVM是在物理存储上添加的一个逻辑层,来为文件系统屏蔽下面的硬件存储设备,提供了一个抽象的盘卷,在盘卷上建立文件系统。首先我们讨论以下几个LVM术语:
* 物理存储介质(The Physical Media)
这里指系统的存储设备,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。
* 物理卷(PV, Physical Volume)
物理卷就是指磁盘,磁盘分区或从逻辑上和磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有和LVM相关的管理参数。当前LVM允许你在每个物理卷上保存这个物理卷的0至2份元数据拷贝.默认为1,保存在设备的开始处.为2时,在设备结束处保存第二份备份.
* 卷组(VG, Volume Group)
LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。能在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
* 逻辑卷(LV, Logical Volume)
LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上能建立文件系统(比如/home或/usr等)。
*线性逻辑卷 (Linear Volumes)
一个线性逻辑卷聚合多个物理卷成为一个逻辑卷.比如,如果你有两个60GB硬盘,你能生成120GB的逻辑卷.
*条块化的逻辑卷(Striped Logical Volumes)
当你写数据到此逻辑卷中时,文件系统能将数据放置到多个物理卷中.对于大量连接读写操作,他能改善数据I/O效率.
*映像的逻辑卷(Mirrored Logical Volumes)
映像在不同的设备上保存一致的数据.数据同时被写入原设备及映像设备.他提供设备之间的容错。
*快照卷(Snapshot Volumes)
快照卷提供在特定瞬间的一个设备虚拟映像,当快照开始时,他复制一份对当前数据区域的改动,由于他优先执行这些改动,所以他能重构当前设备的状态。
* PE(physical extent)
每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是能被LVM寻址的最小单元。PE的大小是可设置的,默认为4MB。
* LE(logical extent)
逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中相同,逻辑卷及卷组相关的元数据也是保存在位于物理卷起始处的VGDA(卷组描述符区域)中。VGDA包括以下内容: PV描述符、VG描述符、LV描述符、和一些PE描述符 。系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。
4、如何使用?
1)添加磁盘(/dev/sdb)
2)创建物理卷
pvcreate /dev/sdb
pvs
pvdisplay
3)创建卷组
vgcreate vg1 /dev/sdb
vgs
vgdisplay
4)创建逻辑卷
lvcreate -n lv1 -L 100m vg1
lvs
lvdisplay
5)格式化逻辑卷
mkfs.ext4 /dev/vg1/lv1
6)挂载使用逻辑卷
mount /dev/vg1/lv1 /mnt
7)查看挂载情况
mount
8)查看磁盘使用情况
df -h
fdisk -l
9)删除LVM
删除LV:lvremove /dev/vg1/lv1
删除VG:vgremove vg1
删除物理卷:pvremove /dev/sdb
10)拉伸逻辑卷:
查看VG中足够空闲空间:vgdisplay
扩充逻辑卷:lvextend -L +50m /dev/vg1/lv1
查看扩充后大小:lvdisplay
更新文件系统:resize2fs /dev/vg1/lv1
查看更新后文件系统:df -h
11)拉伸卷组:
pvcreate /dev/sdc
vgextend vg1 /dev/sdc
vgdisplay
12)缩小逻辑卷:
卸载逻辑卷:umount /dev/vg1/lv1
缩小文件系统:resize2fs /dev/vg1/lv1 (先运行:e2fsck -f /dev/vg1/lv1)
缩小LV:lvreduce -L -50m /dev/vg1/lv1
查看缩小后LV:lvdisplay
重新挂载:mount /dev/vg1/lv1 /mnt
13)缩小卷组:
将PV从卷组中移除:vgreduce vg1 /dev/sdc
查看缩小后卷组大小:vgdisplay