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个磁盘,先将磁盘分两组全部做RAID-1镜像卷,之后将两组镜像用RAID-0方式组合,该组合失败几率为1/3
RAID-01:先RAID-0再RAID-1,最少情况下4个磁盘,先将磁盘分两组全部做RAID-0条带卷,之后将两组条带卷用RAID-0方式组合,该组合失败几率为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