近期在进行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
9.1 删除LV:lvremove /dev/vg1/lv1
9.2 删除VG:vgremove vg1
9.3 删除物理卷:pvremove /dev/sdb
10) 拉伸逻辑卷:
10.1 查看VG中足够空暇空间:vgdisplay
10.2 扩充逻辑卷:lvextend -L +50m /dev/vg1/lv1
10.3 查看扩充后大小:lvdisplay
10.4 更新文件系统:resize2fs /dev/vg1/lv1
10.5 查看更新后文件系统:df -h
11) 拉伸卷组:
11.1 pvcreate /dev/sdc
11.2 vgextend vg1 /dev/sdc
11.3 vgdisplay
12)缩小逻辑卷:
12.1 卸载逻辑卷:umount /dev/vg1/lv1
12.2 缩小文件系统:resize2fs /dev/vg1/lv1 (先执行:e2fsck -f /dev/vg1/lv1)
12.3 缩小LV:lvreduce -L -50m /dev/vg1/lv1
12.4 查看缩小后LV:lvdisplay
12.5 又一次挂载:mount /dev/vg1/lv1 /mnt
13)缩小卷组:
13.1 将PV从卷组中移除:vgreduce vg1 /dev/sdc
13.2 查看缩小后卷组大小:vgdisplay
-------------------------
Dylan Presents