需要注意的是/boot分区不能基于LVM创建,必须独立出来。
创建lvm案例:
1.查看系统类型:
uname -r:
cat /etc/centos-release
2.查看分区容量
df -Th
3.采用fdisk进行分区并且转换分区类型为8e lvm类型
fdisk /dev/sdb
p n p 1 2048 +1G p
p n p 2 4096 +2G p
w
4.创建pv
[root@test-2 ~]# pvcreate /dev/sdb1
Physical volume “/dev/sdb1” successfully created.
[root@test-2 ~]# pvcreate /dev/sdb2
Physical volume “/dev/sdb2” successfully created.
[root@test-2 ~]#
5.创建vg
[root@test-2 ~]# vgcreate database /dev/sdb1 /dev/sdb2
Volume group “database” successfully created
[root@test-2 ~]#
[root@test-2 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cl 1 2 0 wz–n- 49.00g 4.00m
database 2 0 0 wz–n- 2.99g 2.99g
[root@test-2 ~]#
[root@test-2 ~]# pvdisplay
— Physical volume —
PV Name /dev/sdb1
VG Name database
PV Size 1.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 255
Free PE 255
Allocated PE 0
PV UUID uxRYlC-MbvM-sRKJ-3Urx-Jrey-3opk-UofDdV
— Physical volume —
PV Name /dev/sdb2
VG Name database
PV Size 2.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 511
Free PE 511
Allocated PE 0
PV UUID nYzjRo-Wbjp-3eQo-iLRV-HgZU-9LAE-2wAt7y
— Physical volume —
PV Name /dev/sda2
VG Name cl
PV Size 49.00 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 12543
Free PE 1
Allocated PE 12542
PV UUID aakJHq-OHN0-Fnnk-kNhd-UG82-qD8W-7drZmq
[root@test-2 ~]#
6.创建lv
[root@test-2 ~]# lvcreate -L 500M -n lvdata1 database
Logical volume “lvdata1” created.
[root@test-2 ~]#
7.格式化分区:
[root@test-2 ~]# mkfs.ext4 /dev/database/lvdata1
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: 完成
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
128016 inodes, 512000 blocks
25600 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=34078720
63 block groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@test-2 ~]#
8.挂载镜像:
mkdir /data
mount //dev/database/lvdata1 /data
编写/etc/fatab
mount -a
逻辑卷lvdata1不够用了,如何扩展。
[root@test-2 ~]# lvcreate -L +500M /dev/database
Logical volume “lvol0” created.
[root@test-2 ~]#
[root@test-2 ~]#
[root@test-2 ~]# resize2fs /dev/database/lvdata1 //同步文件系统
扩大卷组:
[root@test-2 ~]# vgextend database /dev/sdb5
Physical volume “/dev/sdb5” successfully created.
Volume group “database” successfully extended
当硬盘空间不够用的情况下,如果减少逻辑卷的空间释放给其他逻辑卷使用。
减少逻辑卷空间,步骤如下
1、 先卸载逻辑卷data1
2、 然后通过e2fsck命令检测逻辑卷上空余的空间。
3、 使用resize2fs将文件系统减少到700M。
4、 再使用lvreduce命令将逻辑卷减少到700M。
注意:文件系统大小和逻辑卷大小一定要保持一致才行。如果逻辑卷大于文件系统,由于部分区域未格式化成文件系统会造成空间的浪费。如果逻辑卷小于文件系统,哪数据就出问题了。
[root@test-2 ~]# umount /data
[root@test-2 ~]# e2fsck -f /dev/database/lv
lvdata1 lvol0
[root@test-2 ~]# e2fsck -f /dev/database/lv
lvdata1 lvol0
[root@test-2 ~]# e2fsck -f /dev/database/lvdata1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/database/lvdata1: 11/128016 files (0.0% non-contiguous), 26684/512000 blocks
[root@test-2 ~]# resize2fs /dev/database/lvdata1 700M
resize2fs 1.42.9 (28-Dec-2013)
The containing partition (or device) is only 512000 (1k) blocks.
You requested a new size of 716800 blocks.
[root@test-2 ~]# lvreduce -L 700M /dev/database/lvdata1
New size given (175 extents) not less than existing size (125 extents)
[root@test-2 ~]# mount /dev/database/lvdata1 /data
[root@test-2 ~]# ls /data
lost+found
[root@test-2 ~]#
如果某一块磁盘或者分区故障了如何将数据快速转移到相同的卷组其他的空间去。
1、通过pvmove命令转移空间数据
2、通过vgreduce命令将即将坏的磁盘或者分区从卷组vgdata里面移除除去。
3、通过pvremove命令将即将坏的磁盘或者分区从系统中删除掉。
4、手工拆除硬盘或者通过一些工具修复分区。
六、删除整个逻辑卷
1、先通过umount命令卸载掉逻辑卷lvdata1
2、修改/etc/fstab里面逻辑卷的挂载信息,否则系统有可能启动不起来。
3、通过lvremove 删除逻辑卷lvdata1
4、通过vgremove 删除卷组vgdata
5、通过pvremove 将物理卷转化成普通分区。
LVM逻辑卷是Linux里面一个很棒的空间使用机制,因为分区在没有格式化的情况下是没有办法加大或者放小的。通过LVM可以将你的磁盘空间做到灵活自如。