歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS下使用mdadm創建RAID10陣列

CentOS下使用mdadm創建RAID10陣列

日期:2017/2/27 15:55:53   编辑:Linux教程
原來有一台做hadoop slave的機器,現在想用來做運維工具機。可惜機器是sas1068e的卡,默認界面只能做一個RAID1的陣列。為了不浪費後面10塊1T的盤。我使用mdadm工具將後面10個盤做RAID10陣列。
#!/bin/bash
PATH='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin'
#定義參與軟RAID組建的磁盤
disks='
/dev/sda
/dev/sdb
/dev/sdc
/dev/sdd
/dev/sde
/dev/sdf
/dev/sdg
/dev/sdh
/dev/sdi
/dev/sdj
'
#將磁盤分區
for i in $disks
do
total_size=`parted -s $i print 2>/dev/null | grep ^Disk | awk -F: '{print $2}' | sed 's/[ \t]\{1,\}//g'`
[ "x${total_size}" == "x" ] && total_size=`fdisk -l $i 2>/dev/null | grep ^Disk | grep -v identifier | awk '{printf("%d",$3);}'`
label_type='msdos'
if echo $total_size | grep -q GB ; then
total_size_num=`echo $total_size | sed 's/GB//g'`
[ $total_size_num -gt 2000 ] && label_type='gpt'
elif echo $total_size | grep -q TB ; then
label_type='gpt'
fi
parted -s $i mklabel $label_type
parted -s $i mkpart primary 0% 100%
done
sleep 5
partprobe
sleep 2
devices=`echo $disks | sed -e 's/[ \t]\{1,\}/1 /g' -e 's/$/1/g' `
devices_count=`echo $disks | awk '{print NF}'`
#使用mdadm工具組建起磁盤陣列
mdadm --create /dev/md0 --level=10 --raid-devices=${devices_count} ${devices}
#生成mdadm的配置文件,以供下次啟動時自動啟動軟raid
mdadm -Ds >> /etc/mdadm.conf
完成後執行fdisk -l即可以看到/dev/md0了
Disk /dev/md0: 5001.0 GB, 5001010872320 bytes
2 heads, 4 sectors/track, 1220949920 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md0 doesn't contain a valid partition table
查看md0的詳細信息:
mdadm -D /dev/md0
顯示結果如下:
/dev/md0:
        Version : 0.90
  Creation Time : Wed Jan 30 21:31:44 2013
     Raid Level : raid10
     Array Size : 4883799680 (4657.55 GiB 5001.01 GB)
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
   Raid Devices : 10
  Total Devices : 10
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Wed Jan 30 21:38:35 2013
          State : active, resyncing
 Active Devices : 10
Working Devices : 10
 Failed Devices : 0
  Spare Devices : 0

         Layout : near=2
     Chunk Size : 64K

 Rebuild Status : 3% complete

           UUID : 9bc0d611:5aa5749a:ffa4d4d5:af481dce
         Events : 0.2

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1
       2       8       33        2      active sync   /dev/sdc1
       3       8       49        3      active sync   /dev/sdd1
       4       8       65        4      active sync   /dev/sde1
       5       8       81        5      active sync   /dev/sdf1
       6       8       97        6      active sync   /dev/sdg1
       7       8      113        7      active sync   /dev/sdh1
       8       8      129        8      active sync   /dev/sdi1
       9       8      145        9      active sync   /dev/sdj1
從中可以看到md0正在rebuild。對於rebuild的進度。也可以通過cat /proc/mdstat 看到相對比較簡單。
之後/dev/md0可以像普通磁盤一樣格式化使用了。
Copyright © Linux教程網 All Rights Reserved