#!/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
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
make &>> make-`date +%f`.log
make install &>> make-`date +%f`.log
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
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
fi
else
name=`df -h|awk '$0~/dev\/sdb1/{print $nf}'`
chown -r mfs:mfs $name
echo "$name" >> /usr/local/mfs/etc/mfs/mfshdd.cfg
echo "####準備chunkserver啟動腳本"
\cp /usr/local/mfs/sbin/mfschunkserver /etc/init.d/mfschunkserver
chmod +x /etc/init.d/mfschunkserver
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