基本的逻辑卷管理概念:
- PV(Physical Volume)- 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。
- VG(Volumne Group)- 卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
- LV(Logical Volume)- 逻辑卷
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。
- PE(Physical Extent)- 物理块
LVM 默认使用4MB的PE区块,而LVM的LV最多仅能含有65534个PE (lvm1 的格式),因此默认的LVM的LV最大容量为4M*65534/(1024M/G)=256G。PE是整个LVM 最小的储存区块,也就是说,其实我们的资料都是由写入PE 来处理的。简单的说,这个PE 就有点像文件系统里面的block 大小。所以调整PE 会影响到LVM 的最大容量!不过,在 CentOS 6.x 以后,由于直接使用 lvm2 的各项格式功能,因此这个限制已经不存在了。

创建LVM系统分区方式的主要步骤如下:
1、挂载磁盘这里用的是Centos7.0系统,如下所示:
2、开机之后在终端下输入:fdisk -l,运行结果如下
[root@localhost ~]# fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000f3f57
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVM
磁盘 /dev/sdb:3221 MB, 3221225472 字节,6291456 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x40c32012
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 6291455 3144704 8e Linux LVM
磁盘 /dev/sdc:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-root:18.2 GB, 18249416704 字节,35643392 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/test-test1:1073 MB, 1073741824 字节,2097152 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
这里许注意下,你的第一块磁盘为:/dev/sda,第二块为:/dev/sdb,第三块为:/dev/sdc
3、因为我之前做过了所以就用dev/sdc这块硬盘
首先运行创建分区:fdisk /dev/sdc
参数 p:查看分区
n:新建分区
t:更改系统(Linux Lvm为8e)
w:保存
[root@localhost ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x99c27e8d 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-10485759,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):
将使用默认值 10485759
分区 1 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdc:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x99c27e8d
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 10485759 5241856 83 Linux
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):p
磁盘 /dev/sdc:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x99c27e8d
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 10485759 5241856 8e Linux LVM
命令(输入 m 获取帮助):
4、创建pv
首先说明一些简单指令,常见的查看指令包括如下三种:1. pv相关:pvdisplay、pvs、pvscan,pvcreate2. vg相关:vgdisplay、vgs、vgscan,vgcreate3. lv相关:lvdisplay、lvs、lvscan,lvcreate
[root@localhost ~]# pvcreate /dev/sdc1(创建pv)
Physical volume "/dev/sdc1" successfully created.
[root@localhost ~]# pvdisplay (查看详情信息)
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size <19.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4863
Free PE 0
Allocated PE 4863
PV UUID SIz1YH-VIQJ-TMtc-uvON-1qE5-ilhD-CUu6S1
--- Physical volume ---
PV Name /dev/sdb1
VG Name test
PV Size <3.00 GiB / not usable 15.00 MiB
Allocatable yes
PE Size 16.00 MiB
Total PE 191
Free PE 127
Allocated PE 64
PV UUID o3xlCg-67VF-qCOW-wUwt-yrda-1QgO-1heVJW
"/dev/sdc1" is a new physical volume of "<5.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdc1
VG Name
PV Size <5.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID Sc32nQ-sQId-MDjp-v4KE-dsgU-tqfn-FIeeAG
5、创建Vg
[root@localhost ~]# vgcreate test2 /dev/sdc1 -s 16M //用/dev/sdc1分区创建一个名为test2,pe大小为16M的vg组
Volume group "test2" successfully created
[root@localhost ~]# vgdisplay //查看vg
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <19.00 GiB
PE Size 4.00 MiB
Total PE 4863
Alloc PE / Size 4863 / <19.00 GiB
Free PE / Size 0 / 0
VG UUID AQa4PW-Yeuw-Pv1M-QRfY-bHef-bN11-6d0VPx
--- Volume group ---
VG Name test
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 2.98 GiB
PE Size 16.00 MiB
Total PE 191
Alloc PE / Size 64 / 1.00 GiB
Free PE / Size 127 / 1.98 GiB
VG UUID ipoa8D-CPNZ-IRDt-jb4T-5v6I-s3qY-RCfpUf
--- Volume group ---
VG Name test2
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 4.98 GiB
PE Size 16.00 MiB
Total PE 319
Alloc PE / Size 0 / 0
Free PE / Size 319 / 4.98 GiB
VG UUID wX3cXl-HeGP-OVs3-7QDc-0c3N-scM3-Gv1CXW
6、创建LV-->格式化LV-->挂载LV
关于LV的操作主要有3个步骤,分别为:
- 创建LV;
- 格式化LV,如:ext3,ext4等;
- 挂载LV到指定目录下;
[root@localhost ~]# lvcreate -L 3G -n test2 test2 //用test2的卷组创建大小为3G名为test2的lv
Logical volume "test2" created.
[root@localhost ~]#
[root@localhost ~]# mkfs.xfs /dev/test2/test2 //将lv格式化为xfs格式
meta-data=/dev/test2/test2 isize=512 agcount=4, agsize=196608 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=786432, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mkdir /mnt/test2 //创建挂载点,将lv挂载到此文件夹
[root@localhost ~]# mount /dev/mapper/test2-test2 /mnt/test2 //挂载
7、用UUID的方式实现开机挂载
blkid 查看硬盘
的UUID
编辑 /etc/fstab将硬盘的uuid添加到fstab文件中
[root@localhost ~]# blkid /dev/mapper/test2-test2 >> /etc/fstab //将硬盘的uuid追加
vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri Apr 27 10:01:58 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=52868b96-2510-4357-8cb2-f38f784c097f /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/mapper/test-test1 /mnt/test xfs defaults 0 0
UUID="e0376575-06d4-40a1-9d56-4f0a899db145" TYPE="xfs"
/dev/mapper/test2-test2 /mnt/test2 xfs default 0 0
UUID="0ebe9305-5811-495a-a6f1-90a57a4e0517" TYPE="xfs"
~