|
服务器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" |
|