1、创建和管理卷组
[root@clz ~]# vgcreate vg0 /dev/sdb1 /dev/sdb2 Volume group "vg0" successfully created [root@clz ~]# 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@clz ~]# 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@clz ~]# vgextend vg0 /dev/sdb3 Volume group "vg0" successfully extended [root@clz ~]# 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@clz ~]# 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@clz ~]# 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@clz ~]# vgcreate vg0 -s 8 /dev/sdb1 /dev/sdb2
删除卷组:
[root@clz ~]# vgremove vg0
二、创建和管理逻辑卷
创建逻辑卷;
[root@clz ~]# lvcreate -L 96M -n lv0 vg0 Logical volume "lv0" created [root@clz ~]# 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@clz ~]# lvcreate -l 10%vg -n lv1 vg0
[root@clz ~]# lvcreate -l 10%free -n lv2 vg0
删除逻辑卷: [root@clz ~]# lvremove /dev/vg0/lv2 -f Logical volume "lv2" successfully removed
创建文件系统:
[root@clz ~]# mkfs.xfs /dev/vg0/lv1
挂载文件系统:
[root@clz ~]# mount /dev/vg0/lv1 /aa
[root@clz ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg0-lv1 13M 880K 12M 7% /aa
拓展逻辑卷:
[root@clz ~]# lvextend -L +16M /dev/vg0/lv1
[root@clz ~]# xfs_growfs /aa/
[root@clz ~]# df -h /dev/mapper/vg0-lv1 29M 912K 28M 4% /aa
缩小逻辑卷:
先缩小文件系统,后缩小逻辑卷:xfs文件系统是职能增大,不能减小
实例:扩大和缩小ext4的文件系统
扩大LV:
[root@clz ~]# mkfs.ext4 /dev/vg0/lv1
[root@clz ~]# lvextend -L +16M /dev/vg0/lv1
[root@clz ~]# resize2fs /dev/vg0/lv1
[root@clz ~]# 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@clz ~]# umount /aa/ [root@clz ~]# fsck /dev/vg0/lv1 -f
[root@clz ~]# resize2fs /dev/vg0/lv1 29M
[root@clz ~]# lvreduce -L -24M /dev/vg0/lv1
[root@clz ~]# mount /dev/vg0/lv1 /aa/
给逻辑卷创建快照,快照的size必须为PE的整数倍:
[root@clz ~]# lvcreate -L 16M -n lv2 -s /dev/vg0/lv1 [root@clz ~]# lvscan ACTIVE Original '/dev/vg0/lv1' [24.00 MiB] inherit ACTIVE Snapshot '/dev/vg0/lv2' [16.00 MiB] inherit
创建的快照包含了源卷的文件系统,不需要再格式化,快照类似于一个软链接,快照的大小,意思允许在快照里面创建和修改的文件大小
[root@clz /]# mkdir bb
[root@clz /]# mount /dev/vg0/lv2 /bb
[root@clz /]# 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@clz /]# 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@clz ~]# cat /proc/mdstat
使用命令创建Raid5:
[root@clz ~]# 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@clz ~]# 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 : clz.sg.com:0 (local to host clz.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@clz ~]# mkfs.ext4 /dev/md0
[root@clz ~]# mount /dev/md0 /aa
查看ext4的文件属性:
[root@clz ~]# tune2fs -l /dev/md0
可以通过命令模拟Raid里面的磁盘出现故障:
[root@clz ~]# mdadm /dev/md0 -f /dev/sdb4
关闭与启动Raid
首先卸载和关闭:
[root@clz ~]# umount /aa [root@clz ~]# mdadm -S /dev/md0 mdadm: stopped /dev/md0
[root@clz ~]# mdadm -As
Raid分区删除后,要对每个磁盘的superblock清零: