RAID和LVM

-----------------------------------------------------------------------------------------------------------------------------------------------

RAID:廉价磁盘冗余阵列,将多个较小的磁盘整合成一个较大的磁盘装置,该磁盘装置提供更好的性能、更好的冗余,或者两者都提供


RAID实现方式:

1.外接式磁盘阵列:通过扩展卡提供适配能力

2.内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置

3.Software RAID:软件方式实现的RAID功能


RAID级别

RAID-0:条带卷,使用相同型号或者容量的磁盘组成效果更佳,假设2块磁盘,每块容量为1T,该RAID容量为2T,当有100MB数据写入,两个硬盘数据分别写入50MB,该RAID组无容错能力,磁盘利用率100%

 

RAID-1:镜像卷,当硬盘a写入数据时,硬盘b也写入同样的数据,a删除数据b也删除数据,提供冗余能力,磁盘利用率50%

 

RAID-2:两组磁盘,一组用于写入数据,一组用于写入纠错码,数据写入时候纠错码检查数据是否一致,如果需要可以进行适当的修正

 

RAID-3:使用多个数据存储磁盘,并使用专用磁盘存储奇偶校验,顺序读写表现良好,随机读写最差性能

 

RAID-4:最少三个磁盘,有一块硬盘为专有磁盘校验块,良好随机读取,不过每次写入都必须写入单个奇偶校验磁盘,由于只有一块硬盘存校验位,该磁盘容易故障

 

RAID-5:最少三个磁盘,带校验位的条带集,具有容错性,允许损坏一块硬盘,但性能降级,需尽快更换故障硬盘,与RAID-4不同的是每个磁盘都会存入校验位,因此每块硬盘故障率大体相同,磁盘利用率n-1/n

 

RAID-6:最少四个磁盘,它可以看作是每组数据有两个校验块,允许损坏两块硬盘,磁盘利用率n-2/n

 

RAID-10:先RAID-1再RAID-0,最少情况下4个磁盘,先将磁盘分两组,做成RAID1之后,将两组镜像用RAID-0方式组合,该组合失败几率为1/3

 

RAID-01:先RAID-0再RAID-1,最少情况下4个磁盘,先将磁盘分两组,做成RAID0之后,将两组条带卷用RAID-1方式组合,该组合失败几率为2/3


RAID-5创建步骤:

1.准备5个分区(fd)或磁盘,文件系统hexcode码为fdisk中的fd,即为linux raid auto 

2.创建RAID,mdadm -C /dev/md0 -a yes -l5 -n4 -x1 /dev/sd{b,c,d,e}1  /dev/sdf

-C:创建RAID

-a:后接yes或者no,自动创建设备文件

-l:RAID级别

-n:干活的磁盘数

-x:预留的磁盘

3.制作RAID的配置文件,mdadm -Ds /dev/md0 > /etc/mdadm.conf

4.格式化分区,mkfs.ext4 /dev/mdN

5.挂载,mount /dev/mdN /mnt/raid


RAID删除步骤:

1.取消挂载点;

2.停止RAID设备mdadm -S /dev/md0;

3.清除磁盘分区上的RAID信息mdadm –zero-superblock /dev/sd……

4.如果之前有挂载信息将挂载信息删除即可


如果新加的硬盘或者分区进行扩容,需要进行文件系统同步:

对于xfs文件系统,使用命令 xfs_growfs /app/hello 此命令后接挂载点

对于ext文件系统,使用命令resize2fs /dev/sdb 此命令后接设备名


LVM:逻辑卷管理,可以弹性的调整filesystem的容量


PV:物理卷,硬盘分区或从逻辑上与磁盘分区具有同样功能的设备,是LVM的基本存储逻辑块,单核基本的物理存储介质相比,却包含有与LVM相关的管理参数


VG:眷族,类似于非LVM系统中的物理硬盘,由物理卷组成。可以再卷组上创建一个或多个LVM分区,LVM卷组由一个或多个物理卷组成,可以相对理解为物理硬盘的扇区


LV:逻辑卷,LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)


LVM实现

创建PV

创建VG

创建LV

创建文件系统

挂载


扩容LV

扩容时候要求逻辑卷卷组必须有空间,如果逻辑卷也满了,需要加新的物理卷

缩减LV

xfs不支持缩减,ext可以缩减,缩减可能会造成数据丢失,因此缩减前需要备份数据


lvm迁移

lvrename /dev/newvg0/lv0 newlv0

取消挂载

临时禁用卷组,即卷组设置为非活动状态,vgchange -an newvg0

导出卷组,vgexport newvg0

迁移磁盘

磁盘扫描echo “_ _ _” > /sysconfig/class/scsi_host/host0/scan

导入卷组,vgimport newvg0

激活卷组,vgchange -ay newvg0

挂载


快照

lvcreate -n lv0-snapshot -s -L +1G /dev/vg0/lv0

lvcreate -n lv0-snapshot -s -p r -L +1G /dev/vg0/lv0

             -p r:设为只读

             -s:表明是快照逻辑卷

创建好后需要挂载


还原:

取消逻辑卷挂载和逻辑卷快照的挂载

将快照里的数据还原到之前逻辑卷里,lvconvert –merge /dev/newvg0/lv0-snapshot 


删除快照

取消挂载

lvremove /dev/vg0/lv0-snapshot


释放物理磁盘

把剩余pe挪到/dev/sde,pvmove /dev/sde

将/dev/sde从vg0中除名,vgreduce vg0 /dev/sde

移除/dev/sde释放空间,pvremove /dev/sde


移除逻辑卷

取消挂载

删除逻辑卷,lvremove /dev/vg0/lv0

删除卷组,vgremove vg0

删除pv,pvremove /dev/sdb