RAID初识

来源:互联网 发布:verilog调用模块 数组 编辑:程序博客网 时间:2024/06/04 23:35

今天看完马哥RAID教程视频。

  针对RAID第一认知:raid就是针对数据存储与数据安全可靠性的提高的产物。

        raid:独立磁盘冗余阵列  Redundant Array of InexpensiveDisks

      优势:1、在容量与管理上的优势 

可以更加灵活的进行容量的扩展,提升管理能力

     2、在性能上的优势

磁盘分块,提升性能的读写性

     3、可靠性与可利用性d恶优势

通过冗余、热备、热换提升可靠性

   RAID 0 :条带

  提升读写能力。

       无冗余性。

   RAID  1: 镜像 

       提升读的能力,降低写的能力,应为需要写入多次进行镜像存储

       利用能力低:50%

   RAID 5:独立存储列阵。校验信息分割在每个盘

       提升读写能力。磁盘重建比较复杂


   RAID有硬件与软件2种方式。硬件模式稳定

 #!/bin/bash
#
#写一个脚本(前提:请为虚拟机新增一块硬盘,假设它为/dev/sdb),为指定的硬盘创建分区:
#1、列出当前系统上所有的磁盘,让用户选择,如果选择quit则退出脚本;如果用户选择错误,就让用户重新选择;
#2、当用户选择后,提醒用户确认接下来的操作可能会损坏数据,并请用户确认;如果用户选择y就继续,n就退出;否则,让用户重新选择;
#3、抹除那块硬盘上的所有分区;并为其创建三个主分区,然后使用3个分区创建raid

echo -e "\033[1;32m请仔细选择创建分区硬盘:\033[0m"
echo -e "\033[1;31m`fdisk -l| grep "Disk /dev/s" |awk -F : '{print $1}'|awk -F ' ' '{print $2}'`\033[0m"
echo -e "\033[1;31m请输入1or2(1=sda,2=sdb):\033[0m"
read  CHOICEtest
until [ -n "$CHOICEtest" ]&>/dev/null;do
   echo -e "\033[1;31m请重新输入1or2(1=sda,2=sdb):\033[0m"
   read  CHOICEtest 


done
CHOICE=""
#echo $CHOICEtest
if [ $CHOICEtest -eq 1 ]&>/dev/null;then
    CHOICE=/dev/sda
    echo -e "\033[1,34m您选择创建分区的硬盘是:$CHOICE"
elif [ $CHOICEtest -eq 2 ]&>/dev/null;then
    CHOICE=/dev/sdb
    echo -e "\033[1,34m您选择创建分区的硬盘是:$CHOICE"
else
    echo "输入错误,程序退出!!!"
    exit 7
fi
echo "提醒:接下来可能会损坏数据,请确认操作{y|Y or n|N}:"
read ACCESSTest
until [ $ACCESSTest == "y" -o $ACCESSTest == "Y" -o $ACCESSTest == "n" -o $ACCESSTest == "N" ];do
    echo "提醒:接下来可能会损坏数据,请重新确认操作{y|Y or n|N}:"
    read ACCESSTest
done


if [ $ACCESSTest == "y" -o $ACCESSTest = "Y" ];then
   dd if=/dev/zero of=$CHOICE bs=512 count=1&>/dev/null
   sync
   else 
       echo "选择退出!"
       exit 8
fi
echo -n "n
p
1


+2G
n
p
2


+2G
n
p
3


+2G
t
1
fd
t
2
fd
t
3
fd
w" | fdisk $CHOICE&>/dev/null
sync
mdadm -C /dev/md0 -l 5 -n 3 /dev/sdb{1,2,3}
mke2fs ext3 /dev/md0
mkdir ~/testdir/raid5disk
mount /dev/md0 ~/testdir/raid5disk


echo "操作已完成!"

   

    

0 0