LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 953|回复: 0

赶制的自用GFS+LVS中apache自动启动脚本(中文注释周末补充)

[复制链接]
发表于 2007-9-13 13:14:25 | 显示全部楼层 |阅读模式
服务器DOWN了,没啥,我的错,我把apache的最大连接数调高了那么一点而已.然后忘记做ab压力测试.
我来这个公司不到5天;
我从来没接触过GFS和LVS,什么heartbeat,LVM更是闻未未见;
我做梦都不会想去碰CISCO的路由器,那据说是高档货,一般人他用不着.

前前任一个牛得了不起的SA(据说在加拿大呆了10年的博士生),搭建了一套10+台服务器的LVS集群,结果还闲置了3台,前任的也没弄好.


CentOS4.4还是32位的,忍了;
LAMP平台全拿现成的xampp,编译的活都省了,也算了;
主力HA服务器,因为自己编译内核而导致iptables无法使用;
两台apache服务器,每台最大连接数75;
一台可怜的1U服务器做MySQL,最大连接数才100;
分区规则强得一塌糊涂,除了/var和/opt其他加起来不到3.5G
因为HA的iptables无法使用,拦在前面的是一台昂贵的2U CISCO路由器,啥端口都封得死死的.害得我周末MySQL死机的时候打车到公司加了一夜班!
不留构建文档,不做自启动批处理脚本.这服务器管理员是不是也该讲下职业操守和道德素质!




就这样留给老子一个烂摊子,自己连着看了两天的文档,边摸边做,终于在路由器那里捅开了一个小洞洞,让我好歹回家了还能上来看看服务器挂了没.
网站程序也强得一塌糊涂,几个SQL查询就可以轻松把一台4U,16G内存的机器轻轻推倒了.
结果,今晚回到家,两台Apache因为进程过多,直接趴下.联系机房重启后发现我家里的电脑压根没有什么交接文档.然后我们经理说:据说那Y的文档都不一定对,漏了什么步骤的.
干,我根本就没去看多两眼那些DOC格式的文档,压根不知道怎么做,真是太有才了!
他说那个叫博士的核心机密,嗯,机密你妹.

通过1个半小时耐心浏览内容重复到恶心的国内技术网站,终于把两台死掉的apache服务器启动了,搞定以后最想扁三个人,一个是这个网站的程序员,一个是这套LVS的建立者,一个是发明GFS的家伙!

#!/bin/sh
#BOOT GFS mount and start LVS server.You must run this script in root mode.
#Author: Justin.Nbx(nbxmedia@163.com)
#Setting VARs above

#GFS server address(IP or hostname)
GFS_SERVER = "gnbd-server"

#Mount source
GFS_DEV = "/dev/gnbd/gfs"

#Mount point
GFS_MOUNT_POINT = "/var/www/htdocs/files/"

#Vitural IP for HA server
IFACE = "eth0:1"
VIP = "192.168.1.100"
NETMASK = "255.255.255.0"
BROADCAST = "10.0.0.255"

#Server start command
SERVER_COMMAND = "/usr/sbin/apachectl"




#Starts commands here


#Connect to GNBD
echo "Connecting to GNBD server..."
modprobe lock_dlm
ccsd
cman_tool join
sleep 2
echo "Testing connection,if failed to connect, please stop the server agian and type gnbd_import -R command"
ccs_test connect

fence_tool join
modprobe gnbd



#Mounting GFS
echo "Mounting GFS filesystem..."


gnbd_import -v -i $GFS_SERVER
modprobe gfs


mount -t gfs $GFS_DEV $GFS_MOUNT_POINT
sleep 2


echo "GFS mount status:"
df | grep $GFS_DEV
sleep 2

#Start your Vitural server
echo "Now starting LVS..."


#Setting VIP
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

ifconfig $IFACE $VIP netmask $NETMASK broadcast $BROADCAST
$SERVER_COMMAND start

echo "All commands finished"
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表