#!/bin/bash


####结果判断

judge() {

  if [ $? -eq 0 ];then

     echo "successfly..."

  else

     echo "filed...."

     exit 500

  fi

}


echo "####环境准备"

/etc/init.d/iptables stop &>> /dev/null

setenforce 0

cd /usr/local/src

yum -y install zlib-devel &>> /dev/null

id mfs &>> /dev/null

if [ $? -ne 0 ];then

   useradd -s /sbin/nologin mfs

fi

judge


echo "####下载mfs安装包"

if [ ! mfs-1.6.27-5.tar.gz ];then

   wget http://www.moosefs.org/tl_files/mfscode/mfs-1.6.27-5.tar.gz &>> /dev/null

fi

judge


echo "####编译安装"

tar -zxf mfs-1.6.27-5.tar.gz

cd mfs-1.6.27

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount &>> configure-`date +%F`.log

judge

make &>> make-`date +%F`.log

judge

make install &>> make-`date +%F`.log

judge

rm -rf make-`date +%F`.log configure-`date +%F`.log


echo "####准备配置文件"

for i in `ls /usr/local/mfs/etc/mfs/*.dist`

do

  num=`echo $i|wc -L`

  let num1=$num-5

  file=`echo ${i:0:$num1}`

  \cp $i $file

done


sed -i "/MASTER_HOST/a\MASTER_HOST = test_server_110_130" /usr/local/mfs/etc/mfs/mfschunkserver.cfg

chown mfs:mfs /usr/local/mfs/var/mfs

judge


echo "####准备数据存储空间"

dev=`df -h | grep /dev/sdb1|wc -l`

if [ $dev -eq 0 ];then

   if [ ! -d /cache1 ];then

      mkdir /cache1

      mount /dev/sdb1 /cache1

      name=`df -h|awk '$0~/dev\/sdb1/{print $NF}'`

   else

      mount /dev/sdb1 /cache1

      name=`df -h|awk '$0~/dev\/sdb1/{print $NF}'`

   fi

else

  name=`df -h|awk '$0~/dev\/sdb1/{print $NF}'`

fi

chown -R mfs:mfs $name

echo "$name" >> /usr/local/mfs/etc/mfs/mfshdd.cfg

judge


echo "####准备chunkserver启动脚本"

\cp /usr/local/mfs/sbin/mfschunkserver /etc/init.d/mfschunkserver

chmod +x /etc/init.d/mfschunkserver

judge


echo "####添加开机启动项和hosts"

sed -i '/mfs/d' /etc/rc.local

sed -i '/test_server/d' /etc/hosts

sed -i "/mount/d" /etc/rc.local

echo -e "/etc/init.d/mfschunkserver start\nmount /dev/sdb1 /cache1/" >> /etc/rc.local

echo "192.168.110.130 test_server_110_130

192.168.110.131 test_server_110_131

192.168.110.132 test_server_110_132

192.168.110.133 test_server_110_133

192.168.110.134 test_server_110_134" >> /etc/hosts

/etc/init.d/mfschunkserver start

judge