软 raid 配置简单操作

2020/11/14 Linux raid

软raid配置简单操作

分以下几步:

  • 停止已有的md
  • 磁盘分区
  • 创建软raid虚拟磁盘
  • 格式化磁盘
  • 挂载磁盘

停止已有的md

通过 ls -al /dev/md*,观察是否已有 mdxxx 的字样,如果有则需要先清掉。


all_disk=`fdisk -l|grep '1.8 T'|awk '{print $2}'|cut -d":" -f1`
part_disk=`fdisk -l|grep 'Linux raid autodetect'|awk '{print $1}'`
umount /dev/md/cache

md_list=`ls -al /dev/md/*|awk '{print $9}'`
for i in $md_list
do
mdadm -S $i
done

mdadm --misc --zero-superblock $part_disk
rm -f /etc/mdadm.conf
rm -f /etc/mdadm/mdadmin.conf

磁盘分区

通过 fdisk -l,观察每块nvme磁盘是否都有一个分区,且该分区的类型是 Linux raid autodetect。如果不是则需要配置。

fdisk /dev/nvme?n1
# 下列操作需要依据需求来做,一般通过n创建分区,通过fd指定类型,通过w写入数据。

创建软raid虚拟磁盘

这一步不难,如果前面做好的话。

blkid $part_disk
/sbin/mdadm --create cache --auto yes --level 0 -n`echo $part_disk|wc -w` $part_disk

上面的指令出现了五个问号,都是数字。其中n后面的数字是指一共几个磁盘,nvme后面的指盘符。

创建完成后需要写入到配置文件。

echo DEVICE $part_disk  >> /etc/mdadm.conf
mdadm -Evs >> /etc/mdadm.conf 

格式化磁盘

上述操作完成后得到了一个容量比较大的虚拟磁盘,需要格式化它。

mkfs.ext4 /dev/md/cache

挂载磁盘

格式化会花费一些时间,之后可以将它挂载到指定目录。

mkdir -p /opt/cache
mount /dev/md/cache /opt/cache
chown -R Development:Development /opt/cache
echo "UUID=`blkid /dev/md/cache|cut -d'"' -f2` /opt/cache ext4 defaults,nofail,discard 0 0" >> /etc/fstab

最后通过 lsblk 查看结果。

指令合集

#移除md
remove_md(){
umount /opt/cache/
md_list=`ls -al /dev/md/*|awk '{print $9}'`
for i in $md_list
do
mdadm -S $i
done

md_list=`ls -al /dev/md*|awk '{print $10}'`
for i in $md_list
do
mdadm -S $i
done

mdadm --misc --zero-superblock $part_disk
rm -f /etc/mdadm.conf
rm -f /etc/mdadm/mdadmin.conf
}

#磁盘分区表操作
set_disk(){
CHECK_DISK_EXIST=`/sbin/fdisk -l 2> /dev/null | grep -o "$DISK"`
[ ! "$CHECK_DISK_EXIST" ] && { echo "Error: Disk is not found !"; exit 1;}

CHECK_DISK_PARTITION_EXIST=`/sbin/fdisk -l 2> /dev/null | grep -o "${DISK}p[1-9]"`
[ ! "$CHECK_DISK_PARTITION_EXIST" ] || { echo "WARNING: ${CHECK_DISK_PARTITION_EXIST} is Partition already !"; continue;}

/sbin/fdisk $DISK<<EOF &> /dev/null
n
p
1


t
fd
wq
EOF

partx -a $DISK
}

# 磁盘分区
partition_disk(){
for DISK in $all_disk
do
	set_disk
done

echo "Disk Partition Create OK!"
}

# 创建软 raid
create_md(){
/sbin/mdadm --create cache --auto yes --level 0 -n`echo $part_disk|wc -w` $part_disk

echo DEVICE $part_disk >> /etc/mdadm.conf
/sbin/mdadm -Evs >> /etc/mdadm.conf
cat /etc/mdadm.conf
}

# 格式化磁盘
mkfs_md(){
mkfs.ext4 /dev/md/cache
}

# 挂载
mount_md(){
mkdir -p /opt/cache
mount /dev/md/cache /opt/cache/
chown -R Development:Development /opt/cache
echo "UUID=`blkid /dev/md/cache|cut -d'"' -f2` /opt/cache ext4 defaults,nofail,discard 0 0" >> /etc/fstab
}

all_disk=`fdisk -l|grep '1.8 T'|awk '{print $2}'|cut -d":" -f1`
part_disk=`fdisk -l|grep 'Linux raid autodetect'|awk '{print $1}'`
remove_md
partition_disk
create_md
mkfs_md
mount_md

Search

    Table of Contents