Hadoop环境----自动分区和挂载磁盘

       前段时间用ambari搭建大数据环境,甲方购买了11台服务器,用于构建大数据环境,每台除了系统盘外,插了24块1.2T的磁盘,在我们接手后,发现这200多块盘真的是“插”上去的,啥都没干,如果一个人一块块的弄,每块3分钟,264块,那就要一天了。

       咨询了前同事小马哥后,只能自己写脚本挂载。主要命令“parted和blkid”,http://book.51cto.com/art/201012/240866.htm

http://zhucke.blog.51cto.com/180229/1906365


      两个脚本:一个分区,一个挂载;

      分区脚本:

#!/bin/bash

i=0
b=1
for  disk in `fdisk -l | grep "/dev/sd*" | awk '{if($2~/sd/ && $2!="/dev/sdy:") print substr($2,0,8)}'`
do
parted $disk  << EXIT
         mklabel gpt
         mkpart primary 0 -1
         ignore
         quit
EXIT

if [[ $? -eq 0 ]];then
       mkfs.ext4 $disk$b
fi
i=$(($i + 1))
done

    挂载脚本:

#!/bin/bash

myFile=/root/mymountinfo
 
if [ ! -x "$myFile" ];then
    touch "$myFile"
fi
>"$myFile"
i=0
b=1
for  disk in `fdisk -l | grep "/dev/sd*" | awk '{if($2~/sd/ && $2!="/dev/sdy:") print substr($2,0,8)}'`
do
  sleep 1s
  uuid=`blkid $disk$b | awk '{print $2}'|awk -F"\"" '{print $2}'`
  if [ ! -d "myPath" ];then
       mkdir -p /data$i
  fi
  cat << EXIT > "$myFile"
UUID=$uuid      /data${i}       ext4    defaults                1 2 
EXIT
  cat "$myFile" >> /etc/fstab

i=$(($i + 1))
done
chown -R uhdfs:oinstall /data*
mount -a

    切记,不要立马复制粘贴,直接在服务器上跑。下面是我在自己的虚拟机上跑的结果。

[#1(zhouxx_vm(node3:192.168.56.103))#root@node3~]#df -h
文件系统              容量  已用  可用 已用%% 挂载点
/dev/sda2              18G   12G  4.9G  72% /
tmpfs                 939M     0  939M   0% /dev/shm
/dev/sda1             194M   33M  152M  18% /boot
/dev/sdb1             133M  5.6M  121M   5% /data0
/dev/sdc1             133M  5.6M  121M   5% /data1
/dev/sdd1             133M  5.6M  121M   5% /data2
vmdata2_node3         101G   86G   15G  86% /media/sf_vmdata2_node3
[#2(zhouxx_vm(node3:192.168.56.103))#root@node3~]#

             线上最后的结果:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sdy7       166G  9.1G  149G   6% /
tmpfs            63G     0   63G   0% /dev/shm
/dev/sdy3       194M   35M  149M  19% /boot
/dev/sdy5        79G  185M   75G   1% /home
/dev/sdy8        20G  191M   19G   1% /tmp
/dev/sda1       1.1T  205M  1.1T   1% /data0
/dev/sdb1       1.1T  337M  1.1T   1% /data1
/dev/sdc1       1.1T  288M  1.1T   1% /data2
/dev/sdd1       1.1T  271M  1.1T   1% /data3
/dev/sde1       1.1T  290M  1.1T   1% /data4
/dev/sdf1       1.1T  302M  1.1T   1% /data5
/dev/sdg1       1.1T  304M  1.1T   1% /data6
/dev/sdh1       1.1T  245M  1.1T   1% /data7
/dev/sdi1       1.1T  215M  1.1T   1% /data8
/dev/sdj1       1.1T  214M  1.1T   1% /data9
/dev/sdk1       1.1T  219M  1.1T   1% /data10
/dev/sdm1       1.1T  205M  1.1T   1% /data11
/dev/sdl1       1.1T  231M  1.1T   1% /data12
/dev/sdn1       1.1T  214M  1.1T   1% /data13
/dev/sdp1       1.1T  225M  1.1T   1% /data14
/dev/sdq1       1.1T  221M  1.1T   1% /data15
/dev/sdo1       1.1T  202M  1.1T   1% /data16
/dev/sds1       1.1T  345M  1.1T   1% /data17
/dev/sdt1       1.1T  260M  1.1T   1% /data18
/dev/sdr1       1.1T  206M  1.1T   1% /data19
/dev/sdu1       1.1T  214M  1.1T   1% /data20
/dev/sdw1       1.1T  207M  1.1T   1% /data21
/dev/sdx1       1.1T  232M  1.1T   1% /data22
/dev/sdv1       1.1T  218M  1.1T   1% /data23




你可能感兴趣的:(linux,shell)