一、LVM逻辑卷 LVM是逻辑卷管理(Logical Volume Manager)的简称,他是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,和直接使用物理存储在管理上相比,提供了更好灵活性。 LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,和硬件相关的存储设置被其隐藏,你能不用停止应用或卸载文件系统来调整卷大小或数据迁移.这样能减少操作成本. LVM和直接使用物理存储相比,有以下好处:

  1. 灵活的容量. 当使用逻辑卷时,文件系统能扩展到多个磁盘上,你能聚合多个磁盘或磁盘分区成单一的逻辑卷.

2.可伸缩的存储池. 你能使用简单的命令来扩大或缩小逻辑卷大小,不用重新格式化或分区磁盘设备.

3.在线的数据再分配. 你能在线移动数据,数据能在磁盘在线的情况下重新分配.比如,你能在线更换可热插拔的磁盘.

  1. 方便的设备命名 逻辑卷能按你觉得方便的方式来起所有名称.

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建立的映射机制来访问实际的物理位置。 我这里是为了区分自定义硬盘大小

fdisk -l #可以列出所有的分区,包括没有挂上的分区和usb设备,查看硬盘及分区信息;

挂载上的硬盘 由于硬盘的主引导记录中仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,故主引导扇区中总计只能存储4个分区的数据。也就是说,一块物理硬盘只能划分为4个主分区磁盘。并且MBR最大仅支持2TB的硬盘,在现在这个连4T都不稀奇的时代,MBR出场的机会恐怕会越来越少。 sda和hda的区别: sd代表的是SCSI,SATA接口硬盘 hd代表IDE接口的硬盘 sda和hda最后面的a都代表的是第一块硬盘 sda1和hda1则代表的是该硬盘的第一分区

fdisk /dev/sdb #对sdb硬盘进行分区 Command (m for help): m #就会输出帮助; Command (m for help): n #添加新分区; Select (default p): p #添加一个主分区 分区号(1-4,默认1): #默认的分区账号 第一扇区(2044-1048 575,默认2048): #默认的话就自动分一个号码 使用默认值2048 最后扇区,+扇区或+大小{k,m,g}(20481085599,默认10485759):+2G 依照上面的步骤再加一个新的分区为1G。 Command (m for help): p #打印分区表 Command (m for help):  w #保存 pvcreate /dev/sdb1 /dev/sdb2 #将新创建的两个分区/dev/sdb1 /dev/sdb2转化成物理卷PV . vgcreate vg01 /dev/sdb1 /dev/sdb2 #创建卷组 vg01 ,这个是个名字可以更改,并将刚才创建好的两个物理卷加入该卷组 vgdisplay #查看物理卷 #lvcreate -n lv01 -l 100 vg01 #创建一个名字为Lv01大小为100的逻辑卷 逻辑卷“LV01”创建。 mkfs -t ext4 /dev/vg01/lv01 #使用mkfs在逻辑卷LV01上创建ext4文件系统. MKE2FS 1.42.9(23-DEC-2013) 文件系统标签= 操作系统类型:Linux 块大小=1024(log=0) 片段大小=1024(log=0) 步长=0个块,条带宽度=0个块 102400个节点,409600个块 为超级用户保留的20480个块(5%) 第一数据块=1 最大文件系统块=34078720 50方块群 每组8192个块,每组8192个片段 每组2048个节点 存储在块上的超级块备份: 8193, 24577, 40961、57345, 73729, 204801、221185, 401409 分配组表:完成 写入索引表:完成 创建日志(8192个块):完成 编写超级块和文件系统会计信息:完成 df -Th #查看挂载 mkdir /mnt/lv01 #创建一个挂载的目录随便命名LV01 mount /dev/vg01/lv01 /mnt/lv01/ #挂载到新创建的目录下面 vim /etc/fstab