本节所讲内容:

      RAID5、RAID10配置

      RAID删除

 

建立RAID5

1)     创建RAID5

2)     停止阵列,重新激活阵列

3)     再添加新的1G热备盘,扩展阵列容量,从3磁盘个扩展到4个

实验环境: sde1,sde2,sde3,sde5,sde6 个主分区  每个1G

 

[root@localhost ~]# ll/dev/sde*

brw-rw---- 1 root disk8, 64 Dec 12 20:35 /dev/sde

brw-rw---- 1 root disk8, 65 Dec 12 20:35 /dev/sde1

brw-rw---- 1 root disk8, 66 Dec 12 20:35 /dev/sde2

brw-rw---- 1 root disk8, 67 Dec 12 20:35 /dev/sde3

brw-rw---- 1 root disk8, 68 Dec 12 20:35 /dev/sde4

brw-rw---- 1 root disk8, 69 Dec 12 20:35 /dev/sde5

brw-rw---- 1 root disk8, 70 Dec 12 20:35 /dev/sde6

brw-rw---- 1 root disk8, 71 Dec 12 20:35 /dev/sde7

 

创建RAID5

[root@localhost ~]#mdadm -C -v /dev/md5  -l 5 -n 3 -c 32 -x1 /dev/sde{1,2,3,5}

mdadm: layout defaultsto left-symmetric

mdadm: layout defaultsto left-symmetric

mdadm: size set to1047552K

mdadm: Defaulting toversion 1.2 metadata

mdadm: array /dev/md5started.

 

[root@localhost ~]#mdadm -Ds > /etc/mdadm.conf

[root@localhost ~]# cat!$

cat /etc/mdadm.conf

ARRAY /dev/md5metadata=1.2 spares=1 name=localhost.localdomain:5UUID=001e2e2c:3840d49c:73cdb15c:87b091b5

 

停止md5 

停止之前先生成配置文件

 

[root@localhost ~]#mdadm -S /dev/md5

mdadm: stopped /dev/md5

 

激活:

[root@localhost ~]#mdadm -As

mdadm: /dev/md5 hasbeen started with 3 drives and 1 spare.

 

#再新添加一块硬盘分区/dev/sde6,希望扩展RAID5阵列到4块硬盘

 

[root@localhost ~]#mdadm  -a /dev/md5 /dev/sde6

mdadm: added /dev/sde6

[root@localhost ~]# cat/proc/mdstat

Personalities : [raid6][raid5] [raid4]

md5 : active raid5sde6[5](S) sde1[0] sde5[3](S) sde3[4] sde2[1]

      2095104 blocks super 1.2 level 5, 32kchunk, algorithm 2 [3/3] [UUU]

     

unused devices:<none>

 

[root@localhost ~]#mdadm -G /dev/md5  -n 4

[root@localhost ~]#watch -n 1 cat /proc/mdstat

 

重新生成配置文件

[root@localhost ~]#mdadm -Ds > /etc/mdadm.conf

[root@localhost ~]# cat!$

cat /etc/mdadm.conf

ARRAY /dev/md5metadata=1.2 spares=1 name=localhost.localdomain:5UUID=001e2e2c:3840d49c:73cdb15c:87b091b5

 

了解:

建立RAID 1+0双层架构的方法

方法,先创建raid1,再使用创建的raid1设备创建raid0

 

[root@localhost~]# ll /dev/sdf*

brw-rw----1 root disk 8, 80 Dec 12 20:52 /dev/sdf

brw-rw----1 root disk 8, 81 Dec 12 20:52 /dev/sdf1

brw-rw----1 root disk 8, 82 Dec 12 20:52 /dev/sdf2

brw-rw----1 root disk 8, 83 Dec 12 20:52 /dev/sdf3

brw-rw----1 root disk 8, 84 Dec 12 20:52 /dev/sdf4

 

#首先创建两个底层RAID1

[root@localhost ~]#mdadm -C -v /dev/md11 -l 1 -n 2 /dev/sdf{1,2}

[root@localhost ~]#mdadm -C -v /dev/md12 -l 1 -n 2 /dev/sdf{3,4}

#再创建上层RAID0

[root@localhost ~]#mdadm -C -v /dev/md10 -l 0 -n 2 /dev/md1{1,2}

mdadm: chunk sizedefaults to 512K

mdadm: Defaulting toversion 1.2 metadata

mdadm: array /dev/md10started.

 

[root@localhost ~]#mdadm -Ds > /etc/mdadm.conf

[root@localhost ~]# cat!$

cat /etc/mdadm.conf

ARRAY /dev/md5metadata=1.2 spares=1 name=localhost.localdomain:5UUID=001e2e2c:3840d49c:73cdb15c:87b091b5

ARRAY /dev/md11metadata=1.2 name=localhost.localdomain:11UUID=ba77b10e:a0307dae:3e63e88e:b458e3fe

ARRAY /dev/md12metadata=1.2 name=localhost.localdomain:12 UUID=da9ab587:79b73a6f:373b0178:73bd957e

ARRAY /dev/md10metadata=1.2 name=localhost.localdomain:10UUID=ecb7930c:53e3eaaa:c0294533:16246096

 

关闭所有的RAID

卸载raid的挂载

[root@localhost ~]#mdadm -Ss

 

全部激活:

[root@localhost ~]#mdadm -As

 

mdadm软RAID的删除方法

创建一个raid1

[root@localhost ~]# mdadm-C /dev/md3 -l 1 -n 2 /dev/sde8 /dev/sde9

 

准备环境:分区、格式化,挂载

 

开始删除:

[root@localhost~]# umount /opt/                       #卸载设备

[root@localhost~]# mdadm -Ss                                   #停止设备

 

删除配置文件

[root@localhost ~]# rm-rf /etc/mdadm.conf

 

清除物理磁盘中的raid标识:

[root@localhost ~]#mdadm --misc --zero-superblock  /dev/sde8

[root@localhost ~]#mdadm --misc --zero-superblock  /dev/sde9

 

参数说明:

mdadm --miscoptions... devices

            report on or modify various mdrelated devices.  #报告或修改各种MD相关的设备

--zero-superblock  : erase the MD superblock from a device.   #擦除设备中的MD超级块。

 

 

 

本节所讲内容:

      LVM日常管理

      LVM快照

      磁盘配额

 

LVM

Logical Volume Manager(逻辑卷管理)  

wKioL1ZsNwKj1YaHAABD5BCEn-w294.png

PV

VG

LV

概念(名词):

PV

Physical Volume(物理卷)

 

VG

Volume Group(卷组)

 

LV

Logical Volume(逻辑卷)

最小存储单位为:PE

 

总结:  

名称      最小存储单位  

硬盘        扇区(512B)

文件系统  block(1K,4K)

RAID       chunk (512) mdadm  -c

LVM               PE (16M 自定义)

 

LVM层次结构图:

wKiom1ZsNyOBWBpqAACnL05zCCo168.png

 

创建LVM:

准备分区:

#fdisk /dev/sdb  分三个分区: sdb1,2,3

[root@localhost ~]# ls/dev/sdb*

/dev/sdb  /dev/sdb1 /dev/sdb2  /dev/sdb3  /dev/sdb4 /dev/sdb5

 

制作PV

[root@localhost ~]#pvcreate /dev/sdb{1,2}

  Physical volume "/dev/sdb1"successfully created

  Physical volume "/dev/sdb2"successfully created

 

制作VG

[root@localhost ~]#vgcreate Vg1 /dev/sdb{1,2}

  Volume group "Vg1" successfullycreated

 

制作LV

[root@localhost ~]#lvcreate -n LV1 -L 1.5G Vg1

  Logical volume "LV1" created.

 

#-n  指lv的name  # -L 指定大小

 

各种查看:

#pvs    #pvscan   #pvdisplay

#vgs    #vgscan   #vgdisplay

#lvs    #lvscan   #lvdisplay

 

查看PE:

[root@localhost ~]#pvdisplay

--- Physical volume ---

  PV Name               /dev/sdb1

  VG Name               Vg1

  PV Size               1.00 GiB / not usable 4.00 MiB

  Allocatable           yes (but full)

  PE Size               4.00 MiB

  Total PE              255

  Free PE               0

  Allocated PE          255

  PV UUID               KR0Pmy-SGW5-PQy8-x31U-q45Z-1jYN-9MS4Ny

 

[root@localhost ~]#vgcreate -s 16M VGrm /dev/sdb3

  Physical volume "/dev/sdb3"successfully created

  Volume group "VGrm" successfullycreated

 

# -s  指定PE大小

 

使用:

[root@localhost ~]#mkfs.xfs  /dev/Vg1/LV1

[root@localhost ~]#mkdir /lv1

[root@localhost ~]#mount /dev/Vg1/LV1 /lv1/

 

 

LV扩展:

LVM支持动态扩容。

首先,确定一下是否有可供扩容的空间

[root@localhost ~]# vgs

  VG  #PV #LV #SN Attr   VSize    VFree  

  VGrm  1   0   0 wz--n- 1008.00m 1008.00m

  Vg1   2   1   0 wz--n-   1.99g  504.00m

  rhel  1   2   0 wz--n-  12.00g    4.00m

 

查看当前空间大小

[root@localhost ~]# lvs

  LV  VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  LV1 Vg1  -wi-ao----  1.50g                                                   

  root rhel -wi-ao---- 10.00g                                                   

  swap rhel -wi-ao----  2.00g       

 

逻辑卷扩展

[root@localhost ~]#lvextend -L +300M /dev/Vg1/LV1

  Size of logical volume Vg1/LV1 changed from1.50 GiB (384 extents) to 1.79 GiB (459 extents).

  Logical volume LV1 successfully resized

 

[root@localhost ~]# lvs

  LV  VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  LV1 Vg1  -wi-ao----  1.79g                                                   

  root rhel -wi-ao---- 10.00g                                                   

  swap rhel -wi-ao----  2.00g    

 

RHEL7对文件系统进行扩容:

[root@localhost ~]#xfs_growfs /dev/Vg1/LV1

 

RHEL6对文件系统进行扩容:

[root@xuegod63 ~]# resize2fs /dev/Vg1/LV1

 

[root@localhost ~]# df-h

/dev/mapper/Vg1-LV1    1.8G  33M  1.8G   2% /lv1

 

VG扩展:

[root@localhost ~]#vgextend Vg1  /dev/sde7

  Physical volume "/dev/sde7"successfully created

  Volume group "Vg1" successfullyextended

[root@localhost ~]# pvs

  PV        VG   Fmt  Attr PSize   PFree  

  /dev/sda2 rhel lvm2 a--    12.00g    4.00m

  /dev/sdb1 Vg1  lvm2 a--  1020.00m      0

  /dev/sdb2 Vg1  lvm2 a--  1020.00m 204.00m

  /dev/sdb3 VGrm lvm2 a--  1008.00m 1008.00m

  /dev/sde7 Vg1  lvm2 a--  1020.00m 1020.00m

 

LV缩减:将逻辑卷LV1 ,从1.8G缩小到1000M。

lvm支持在线缩小,但是ext4文件系统不支持在线缩小。btrfs支持在线缩小

 

扩展:

 

Btrfs 简介

一直使用 ext2/3,ext 文件系统以其卓越的稳定性成为了事实上的 Linux 标准文件系统。近年来 ext2/3 暴露出了一些扩展性问题,于是便催生了 ext4 。 ext4 的作者Theodore Tso 也盛赞 btrfs 并认为btrfs 将成为下一代 Linux 标准文件系统。

btrfs 的特性

首先,是扩展性 (scalability) 相关的特性,btrfs 最重要的设计目标是应对大型机器对文件系统的扩展性要求。其整体性能而不会随着系统容量的增加而降低。

其次是数据一致性 (data integrity) 相关的特性

第三是和多设备管理相关的特性。 Btrfs 支持创建快照 (snapshot),和克隆 (clone) 。

最后,总结一些特性: 这些特性都是比较先进的技术,能够显著提高文件系统的时间 / 空间性能,包括延迟分配,小文件的存储优化,目录索引等

 

LVM快照

lvm快照有两大用途,一是用来克隆虚拟机,例如做xen虚拟机时,可先新建一台完整虚拟机,假设大小为10G,然后我们可以在这台10G的虚拟机上创建1个3G的快照,接着通过这个3G的快照启动虚拟机,做完实验后,可以直接删除快照而保持原来完整虚拟机的纯净。

lvm快照的第二大用途是实时备份(moment-in-time),即为了保持系统的一致性,我们先做一个快照冻结当前系统状态,这样快照里面的内容可暂时保持不变,系统本身继续运行,通过备份快照来实现不中断服务的的备份

本实验基于快照的热备。

在RHEL6上操作

原来有一个lv的基础上

#lvcreate  -s   -nlv_NAME_bak    -L 200M     /dev/Vg1/LV1

#创建一个名字为lv_NAME_bak,大小为200M的快照。

# snapshot

 

创建一个LV2

[root@localhost ~]#vgcreate vg2 /dev/sdc{1,2}

[root@localhost ~]#lvcreate -n LV2 -L 1G vg2

  Logical volume "LV2" created.

 

格式化:

[root@localhost ~]#mkfs.ext4  /dev/vg2/LV2

[root@localhost ~]#mount /dev/vg2/LV2 /opt/

[root@localhost ~]# cp/etc/passwd /opt/

[root@localhost ~]# ls/opt/

passwd

 

创建一个快照:

[root@localhost ~]#lvcreate -s -n lv2_sp -L 300M  /dev/vg2/LV2

  Logical volume "lv2_sp" created.

 

查看:

[root@localhost ~]# lvs

  LV    VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  LV1   Vg1  -wi-a-----   1.79g                                                   

  root  rhel -wi-ao----  10.00g                                                   

  swap  rhel -wi-ao----   2.00g                                                   

  LV2   vg2  owi-aos---   1.00g                                                   

  lv2_sp vg2 swi-a-s--- 300.00m      LV2    0.00   

 

[root@localhost ~]#mount /dev/mapper/vg2-lv2_sp  /lv2/

 

备份快照

cp  /lv2/*  /databackup-2015-12-12

 

后期恢复快照只需要把备份的内容拷贝回来就可以了

 

 

学习过程中如果问题,请留言。更多内容请加:
学神IT-linux讲师-RM老师QQ:2805537762
学神IT-戚老师QQ:3341251313
学神IT-旭斌QQ:372469347
学神IT教育RHEL7交流群:468845589