Linux基础教程学习笔记25——逻辑卷LVM管理
Linux基础教程学习笔记25——逻辑卷LVM管理
1、创建和管理卷组
[root@linuxidc ~]# vgcreate vg0 /dev/sdb1 /dev/sdb2
Volume group "vg0" successfully created
[root@linuxidc ~]# pvscan
PV /dev/sda2 VG rhel lvm2 [19.51 GiB / 0 free]
PV /dev/sdb1 VG vg0 lvm2 [96.00 MiB / 96.00 MiB free]
PV /dev/sdb2 VG vg0 lvm2 [96.00 MiB / 96.00 MiB free]
Total: 3 [19.70 GiB] / in use: 3 [19.70 GiB] / in no VG: 0 [0 ]
[root@linuxidc ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz--n- 19.51g 0
vg0 3 0 0 wz--n- 288.00m 288.00m
扩展卷组:
[root@linuxidc ~]# vgextend vg0 /dev/sdb3
Volume group "vg0" successfully extended
[root@linuxidc ~]# pvscan
PV /dev/sda2 VG rhel lvm2 [19.51 GiB / 0 free]
PV /dev/sdb1 VG vg0 lvm2 [96.00 MiB / 96.00 MiB free]
PV /dev/sdb2 VG vg0 lvm2 [96.00 MiB / 96.00 MiB free]
PV /dev/sdb3 VG vg0 lvm2 [96.00 MiB / 96.00 MiB free]
Total: 4 [19.79 GiB] / in use: 4 [19.79 GiB] / in no VG: 0 [0 ]
[root@linuxidc ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz--n- 19.51g 0
vg0 3 0 0 wz--n- 288.00m 288.00m
显示卷组的详细信息:
[root@linuxidc ~]# vgdisplay vg0
--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size 288.00 MiB
PE Size 4.00 MiB
Total PE 72
Alloc PE / Size 0 / 0
Free PE / Size 72 / 288.00 MiB
VG UUID djqWJB-ppYY-RMkR-8pdd-Cc2D-mAt2-ab7ioS
创建卷组的时候指定PE size大小:
[root@linuxidc ~]# vgcreate vg0 -s 8 /dev/sdb1 /dev/sdb2
删除卷组:
[root@linuxidc ~]# vgremove vg0
二、创建和管理逻辑卷
创建逻辑卷;
[root@linuxidc ~]# lvcreate -L 96M -n lv0 vg0
Logical volume "lv0" created
[root@linuxidc ~]# lvscan
ACTIVE '/dev/rhel/swap' [2.00 GiB] inherit
ACTIVE '/dev/rhel/root' [17.51 GiB] inherit
ACTIVE '/dev/vg0/lv0' [96.00 MiB] inherit
[root@linuxidc ~]# lvcreate -l 10%vg -n lv1 vg0
[root@linuxidc ~]# lvcreate -l 10%free -n lv2 vg0
删除逻辑卷:
[root@linuxidc ~]# lvremove /dev/vg0/lv2 -f
Logical volume "lv2" successfully removed
创建文件系统:
[root@linuxidc ~]# mkfs.xfs /dev/vg0/lv1
挂载文件系统:
[root@linuxidc ~]# mount /dev/vg0/lv1 /aa
[root@linuxidc ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-lv1 13M 880K 12M 7% /aa
拓展逻辑卷:
[root@linuxidc ~]# lvextend -L +16M /dev/vg0/lv1
[root@linuxidc ~]# xfs_growfs /aa/
[root@linuxidc ~]# df -h
/dev/mapper/vg0-lv1 29M 912K 28M 4% /aa
缩小逻辑卷:
先缩小文件系统,后缩小逻辑卷:xfs文件系统是职能增大,不能减小
实例:扩大和缩小ext4的文件系统
扩大LV:
[root@linuxidc ~]# mkfs.ext4 /dev/vg0/lv1
[root@linuxidc ~]# lvextend -L +16M /dev/vg0/lv1
[root@linuxidc ~]# resize2fs /dev/vg0/lv1
[root@linuxidc ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-lv1 ext4 43M 1.1M 39M 3% /aa
缩小LV:
步骤:
1、先卸载文件系统:
2、fsck对文件系统进行体检:
3、缩小文件系统;
4、缩小逻辑卷;
[root@linuxidc ~]# umount /aa/
[root@linuxidc ~]# fsck /dev/vg0/lv1 -f
[root@linuxidc ~]# resize2fs /dev/vg0/lv1 29M
[root@linuxidc ~]# lvreduce -L -24M /dev/vg0/lv1
[root@linuxidc ~]# mount /dev/vg0/lv1 /aa/
给逻辑卷创建快照,快照的size必须为PE的整数倍:
[root@linuxidc ~]# lvcreate -L 16M -n lv2 -s /dev/vg0/lv1
[root@linuxidc ~]# lvscan
ACTIVE Original '/dev/vg0/lv1' [24.00 MiB] inherit
ACTIVE Snapshot '/dev/vg0/lv2' [16.00 MiB] inherit
创建的快照包含了源卷的文件系统,不需要再格式化,快照类似于一个软链接,快照的大小,意思允许在快照里面创建和修改的文件大小
[root@linuxidc /]# mkdir bb
[root@linuxidc /]# mount /dev/vg0/lv2 /bb
[root@linuxidc /]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg0-lv1 ext4 23M 396K 21M 2% /aa
/dev/mapper/vg0-lv2 ext4 23M 396K 21M 2% /bb
如果源逻辑卷被删除了,可以通过lvconvert命令恢复镜像:
[root@linuxidc /]# lvconvert --merge /dev/vg0/lv2
Logical volume vg0/lv1 contains a filesystem in use.
Can't merge over open origin volume.
Merging of snapshot lv2 will start next activation.
二、RAID分为硬RAID和软RAID
Chunk:512K为一次往磁盘写入的数据量
Stride:跨步:一个chunk由多少个Block(4K)组成 128
Stripe:条带:256(一次写入多少个磁盘,如2个磁盘,128*2)
RAID0:条带化,至少需要2块磁盘,数据分别存储在不同的硬盘,优点是提高读写速度,缺点是没有冗余
RAID1:镜像化,至少需要2块磁盘,数据有备份,优点是有冗余,缺点是硬盘的存储率较低,1/n(硬盘数量)
RAID5: 条带化, 至少需要3块硬盘,优点是提高了读的速度,缺点是修改数据慢,数据存储效率为(n-1)/n
创建Raid5
先将分区的类型转换为RAID类型:
Number Start (sector) End (sector) Size Code Name
1 2048 206847 100.0 MiB FD00 Linux RAID
2 206848 411647 100.0 MiB FD00 Linux RAID
3 411648 616447 100.0 MiB FD00 Linux RAID
4 616448 821247 100.0 MiB FD00 Linux RAID
5 821248 1026047 100.0 MiB FD00 Linux RAID
6 1026048 1230847 100.0 MiB FD00 Linux RAID
查看当前是否有RAID分区:[
[root@linuxidc ~]# cat /proc/mdstat
使用命令创建Raid5:
[root@linuxidc ~]# mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb{1..4}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
查看Raid的详细信息:
[root@linuxidc ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sat Jan 31 19:02:57 2015
Raid Level : raid5
Array Size : 203776 (199.03 MiB 208.67 MB)
Used Dev Size : 101888 (99.52 MiB 104.33 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sat Jan 31 19:03:00 2015
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : linuxidc.sg.com:0 (local to host linuxidc.sg.com)
UUID : d5084cc8:b7b1a695:70b73034:183df2bd
Events : 18
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 18 1 active sync /dev/sdb2
4 8 19 2 active sync /dev/sdb3
3 8 20 - spare /dev/sdb4
格式化文件系统:
[root@linuxidc ~]# mkfs.ext4 /dev/md0
[root@linuxidc ~]# mount /dev/md0 /aa
查看ext4的文件属性:
[root@linuxidc ~]# tune2fs -l /dev/md0
可以通过命令模拟Raid里面的磁盘出现故障:
[root@linuxidc ~]# mdadm /dev/md0 -f /dev/sdb4
关闭与启动Raid
首先卸载和关闭:
[root@linuxidc ~]# umount /aa
[root@linuxidc ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@linuxidc ~]# mdadm -As
Raid分区删除后,要对每个磁盘的superblock清零:
更多LLVM的资讯:
LLVM 的详细介绍:请点这里
LLVM 的下载地址:请点这里