LVM将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。
本文操作环境:
VMware Workstation 12 Pro
CentOS6.7 Minimal
VMware 虚拟化一块5G的硬盘,在系统中设备名称识别为/dev/sdb
1.创建分区
首先创建分区,使用fdisk工具将硬盘分区成lvm格式。我们这里将5G的硬盘划分成一个分区,分区系统类型为8e(lvm格式的代码)。
因为现在是将整块硬盘做lvm,所以不需要先分区了,直接跳到第2个步骤创建物理卷就好。(之前是将一块硬盘的某个分区做的lvm,所以这一步保留下来了)
[root@minimal ~]# fdisk /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-652, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652):
Using default value 652
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
2.创建物理卷
使用lvcreate命令在sdb1分区上创建物理卷
[root@minimal dev]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
可以使用lvdisplay命令查看创建成功的物理卷情况。
3.创建卷组
在这里我们将卷组命名为vg_study。
[root@minimal dev]# vgcreate vg_study /dev/sdb1
Volume group "vg_study" successfully created
使用vgdisplay命令可以查看卷组情况。
[root@minimal dev]# vgdisplay
--- Volume group ---
VG Name vg_study
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.99 GiB
PE Size 4.00 MiB
Total PE 1278
Alloc PE / Size 0 / 0
Free PE / Size 1278 / 4.99 GiB
VG UUID 4qVoWE-oJ1C-oCgn-VtpA-g1ly-m3AG-3IR85E
4.创建逻辑卷
我们将逻辑卷命名为lv_study。
[root@minimal dev]# lvcreate -l +1278 -n lv_study vg_study
Logical volume "lv_study" created.
使用lvdisplay命令可以查看创建的逻辑卷情况。
[root@minimal dev]# lvdisplay
--- Logical volume ---
LV Path /dev/vg_study/lv_study
LV Name lv_study
VG Name vg_study
LV UUID Q45wiu-YOQd-bt5n-lQxB-1Otq-1Ug0-kQ5sUy
LV Write Access read/write
LV Creation host, time minimal, 2015-10-23 08:53:46 -0400
LV Status available
# open 0
LV Size 4.99 GiB
Current LE 1278
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
5.创建逻辑卷文件系统
创建完逻辑卷后,我们需要将其格式化成某种文件系统类型,这里我们将其格式化成ext4。
[root@minimal dev]# mkfs.ext4 /dev/vg_study/lv_study
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1308672 blocks
65433 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
6.挂载逻辑卷
将创建好文件系统的逻辑卷挂载到目录以后,就可以通过此目录对卷进行读写操作。这里我们将其挂载到lvm_study目录
[root@minimal dev]# mkdir /lvm_study
[root@minimal dev]# mount /dev/vg_study/lv_study /lvm_study/
之后我们就可以通过lvm_study目录对逻辑分区进行读写。