raid0的创建和删除

1、raid0的创建脚本

此脚本基于Debian系统,其他系统请按需修改后使用

#!/bin/bash
set -e
install_mdadm(){
    echo "正在更新apt源......"
        sudo apt update
    sudo apt --fix-broken install
    echo "正在安装raid0工具......"
        sudo apt install mdadm xfsprogs
    if [ $? -eq 0 ];then
        echo "mdadm安装成功"
    else
        echo "mdadm安装失败,请查看安装日志查找错误原因"
        exit
    fi
}
umount_dev(){
        read -p "请输入需要卸载的磁盘设备:" -a dev0
        for i in ${dev0[@]}; do
                sudo umount $i
                dev_id=`sudo blkid $i |awk '{print $2}'`
                sed -e "/$dev_id/ s/^#*/#/" -i /etc/fstab
        done
}
create_raid0(){
        read -p "请输入需要做raid0的磁盘设备(如/dev/vda,多个设备之间用空格隔开):" -a dev
        read -p "请输入您要创建的设备名(如/dev/md0):" dev1
        read -p "请输入您挂载文件系统的目录(如/mnt/md0):" dev2
        sudo mdadm -C $dev1 -a yes -l 0 -n ${#dev[@]} --assume-clean ${dev[@]}
        sudo mdadm --verbose --detail --scan >/run/mdadm/mdadm.conf
        dev3=`sudo echo $dev1 |awk -F"/" '{print $3}'`
        raid0_status=`sudo cat /proc/mdstat | grep $dev3 |awk '{print $3}'`
        if [ $raid0_status == active ];then
                echo "raid0创建成功"
        else
                echo "raid0创建失败"
                exit
        fi
        sudo mkfs.xfs -K -f $dev1
        sudo mkdir -p $dev2
        sudo mount $dev1 $dev2
        block_id=`sudo blkid $dev1 |awk '{print $2}'`
        echo "$block_id $dev2 xfs defaults,nofail,noatime,nodiratime    0 0" >> /etc/fstab
        df -h -x devtmpfs -x tmpfs |grep $dev1
        if [ $? -eq 0 ];then
                echo "新文件系统已安装且可以正常使用"
        else
                echo "文件系统安装失败"
                exit
        fi
}
main(){
while true
do
    cat << EOF
*******************************Raid0*********************************
        1.卸载磁盘(如果要做raid0的磁盘没有被挂载可跳过此步骤)
        2.做raid0和文件系统
        q.退出
*********************************************************************
EOF
    read -p "请输入你的选择:" c
    case $c in
    1)
        umount_dev
        ;;
    2)
        install_mdadm
        create_raid0
        ;;
    q)
        echo "byebye~~"
        exit
        ;;
    esac
 done
}
main

2、删除软raid0

假设要删除的软raid0为/dev/md0,此raid0由两块盘/dev/vdb、/dev/vdc组成
1、卸载文件系统:umount /dev/md0
2、停止运行raid0:mdadm -S /dev/md0
3、删除配置文件中与此raid0有关内容
如果机器上只有/dev/md0一个raid,可直接用:cat /dev/null > /etc/mdadm.conf
注意:配置文件所在目录可能不同
4、删除元数据
mdadm --zero-superblock /dev/vdb
mdadm --zero-superblock /dev/vdc

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。