文章目录
LVM
概念
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。
LVM基本术语
1、物理存储介质(PhysicalStorageMedia)
指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。
2、物理卷(Physical Volume,PV)
指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
3、卷组(Volume Group,VG)
类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。
4、逻辑卷(Logical Volume,LV)
类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。
5、物理块(Physical Extent,PE)
每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。
6、逻辑块(Logical Extent,LE)
逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
7、线性逻辑卷 (Linear Volumes)
一个线性逻辑卷聚合多个物理卷成为一个逻辑卷.比如,如果你有两个60GB硬盘,你能生成120GB的逻辑卷.
8、条块化的逻辑卷(Striped Logical Volumes)
当你写数据到此逻辑卷中时,文件系统能将数据放置到多个物理卷中.对于大量连接读写操作,他能改善数据I/O效率.
9、映像的逻辑卷(Mirrored Logical Volumes)
映像在不同的设备上保存一致的数据.数据同时被写入原设备及映像设备.他提供设备之间的容错。
10、快照卷(Snapshot Volumes)
快照卷提供在特定瞬间的一个设备虚拟映像,当快照开始时,他复制一份对当前数据区域的改动,由于他优先执行这些改动,所以他能重构当前设备的状态。
和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中相同,逻辑卷及卷组相关的元数据也是保存在位于物理卷起始处的VGDA(卷组描述符区域)中。VGDA包括以下内容: PV描述符、VG描述符、LV描述符、和一些PE描述符 。系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。
安装LVM
首先确定系统中是否安装了LVM工具:
如果出现以上信息,说明系统已经安装了LVM管理工具;如果未安装使用命令:yum install lvm -y
进行安装
创建和管理LVM
要创建一个LVM系统,一般需要经过以下步骤:
[root@loaclhost ~]# uname -r 查看系统版本号信息
3.10.0-327.el7.x86_64
[root@loaclhost ~]# cat /etc/redhat-release 查看红帽系统版本
Red Hat Enterprise Linux Server release 7.2 (Maipo)
[root@loaclhost ~]# df -h 查看磁盘使用信息
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 20G 3.6G 16G 19% /
devtmpfs 979M 0 979M 0% /dev
tmpfs 993M 88K 993M 1% /dev/shm
tmpfs 993M 9.0M 984M 1% /run
tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 197M 123M 74M 63% /boot
tmpfs 199M 16K 199M 1% /run/user/0
/dev/sr0 3.8G 3.8G 0 100% /mnt
[root@loaclhost ~]# fdisk -l 查看磁盘有几个分区
磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00079ee8
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 41371647 20480000 83 Linux
/dev/sda3 41371648 45467647 2048000 82 Linux swap / Solaris
三个分区是虚拟机创建的时候添加的那三个/、boot、swap
1、创建分区
首先从磁盘上创建三个分区,磁盘大小都为5G.因为磁盘只剩下18.3G的扩展分区可以使用(从后面可以看见)。使用命令fdisk /dev/sda添加分区,注意扩展分区是不能直接使用的,我们应该在扩展分区中建立新的分区才能使用。
[root@loaclhost ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e
已选择分区 4
起始 扇区 (45467648-83886079,默认为 45467648):
将使用默认值 45467648
Last 扇区, +扇区 or +size{K,M,G} (45467648-83886079,默认为 83886079):
将使用默认值 83886079
分区 4 已设置为 Extended 类型,大小设为 18.3 GiB
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (45469696-83886079,默认为 45469696):
将使用默认值 45469696
Last 扇区, +扇区 or +size{K,M,G} (45469696-83886079,默认为 83886079):+5G
分区 5 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 6
起始 扇区 (55957504-83886079,默认为 55957504):
将使用默认值 55957504
Last 扇区, +扇区 or +size{K,M,G} (55957504-83886079,默认为 83886079):+5G
分区 6 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 7
起始 扇区 (66445312-83886079,默认为 66445312):
将使用默认值 66445312
Last 扇区, +扇区 or +size{K,M,G} (66445312-83886079,默认为 83886079):+5G
分区 7 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00079ee8
设备 Boot Start End Blocks Id System
分区类型
/dev/sda1 * 2048 411647 204800 83 Linux
标准分区
/dev/sda2 411648 41371647 20480000 83 Linux
/dev/sda3 41371648 45467647 2048000 82 Linux swap / Solaris
交换分区
/dev/sda4 45467648 83886079 19209216 5 Extended
扩展分区
/dev/sda5 45469696 55955455 5242880 83 Linux
/dev/sda6 55957504 66443263 5242880 83 Linux
/dev/sda7 66445312 76931071 5242880 83 Linux
下面三个分区是新建的LVM分区,所以要改ID,分区类型,LVM的ID为8e
命令(输入 m 获取帮助):m
获取一下帮助
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types 打印当前分区类型
m print this menu
n add a new partition