Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19268760
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类:

2008-05-11 22:26:03

公司在春节期间有3个SITE按计划同时停了一次电,有些体会写出来。

一、停电前的系统关机
    如果快停电的时候才去关机,服务器一多,势必会手忙脚乱,不如提前做好计划。

    AIX下,可以用at命令,比如:echo "shutdown -h" | at 0755 feb 13,意思是让服务器在2月13号的7:55执行关机命令。

    WINDOWS下的at命令不是很好用,建议不要使用,而是用“控制面板”中“任务计划”来提前定制任务。Windows Resource Kit中提供了一个关机工具shutdown.exe可供使用。

    公司有台REDHAT也要停电,发现at命令不能用,提示某个进程没起,由于不是管理员,不敢随意乱动,所以改用crontab,比如:
    25 8 13 2 0 /home/vincent/poweroff
    8:25 2月13日 星期日(crontab的格式我老是记不住,这里对前面数字的含义注解一下,方便以后自己看)

    PS:1、停电结束后要及时把crontab改回来,要不几年后的2月13日恰好又赶上是星期日,那系统可就又自动关机了。
    2、“/home/vincent/poweroff”改成“shutdown -h”是否可以?不知道,没试。反正这个脚本的内容就是shutdown -h。

二、检验服务器是否存活的脚本先写好
    目的有两个:关机时确认机器是否已经关闭;来电时确认机器是否已经启动成功。

    我用的是DOS下的BATCH,如下:

    FOR %variable IN (set) DO command [command-parameters]
    for %i in (公司的服务器名不给你们看,呵呵) do ping %i

    FOR /L %variable IN (start,step,end) DO command [command-parameters]
    for /l %i in (233,1,239) do ping 9.181.161.%i
    for /l %i in (233,1,239) do ping -n 2 9.181.161.%i

三、CISCO交换机上的VLAN等信息还是先备份一下吧
    公司用CISCOWORKS,所以我看用它的USER TRACKING就够了。如果你公司没有CISCOWORKS之类网管软件那就用EXPECT,自己写脚本吧。EXPECT不仅UNIX平台有,WINDOWS平台也有,很好的东西。

    事实上,2月14号来电后果然有一台2980坏了,上面的VLAN信息全部丢失,还好我2月8号(年三十那天)用USER TRACKING导出了一个文本文件。恢复过程在此顺便提一下:
1、DOS下: type cicsoworks050208.txt |find "9.184.83.243" > 9.184.83.243.txt
2、用EXCEL编辑9.184.83.243.txt,根据实际情况我只要PORT、VLAN、PORT NAME那三列
3、把文件上传到UINX上,用AWK生成CISCO的配置命令。
awk '{print "set valn "$2" "$1}' 9.184.83.243.txt
awk '{print "set port name "$1" "$3}' 9.184.83.243.txt
4、把上述结果贴到交换机里

    由此可见,真的只有做到有备,才能无患啊。

四、AIX服务器的信息也有必要收集一下
    我只收集了crontab、prtconf等信息,自己写了个叫“1”的脚本,自动往TFTP SEVER上传数据。

/home/vincent$cat >1
echo "echo ============= >1.txt" >1.sh
echo "uname -a >>1.txt" >>1.sh
echo "uname -M >>1.txt" >>1.sh
echo "echo ============= >>1.txt" >>1.sh
echo "echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>1.txt" >>1.sh
echo "crontab -l|grep -v ^# >>1.txt" >>1.sh
echo "echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>1.txt" >>1.sh
echo "crontab -l >>1.txt" >>1.sh
echo "echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>1.txt" >>1.sh
echo "prtconf >>1.txt" >>1.sh
echo "echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>1.txt" >>1.sh
echo "echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>1.txt" >>1.sh
sh 1.sh
tftp  -p ./1.txt 9.184.86.9 `hostname`.txt
rm 1.txt 1.sh
rm 1
/home/vincent$sh 1
发送 5367字节,用了0.1秒

五、来电后AIX服务器的检查
    来电后,由于开机人不是先前的关机人,造成部分光纤交换机没开;或者加电顺序不是严格按照FastT、EXP、主机的顺序,引起有些VG无法varyon;或者系统以前配置就有问题,所以检查的时候最好如下命令都敲一边:lsvg; lsvg -o; lsdev -Cc disk; lsfs; mount 。

    经过这次停电,我发现实际上AIX服务器还真是很健壮,没有以前想象中的那么多事情,看来AIX服务器管理员的确要比WINDOWS管理员轻松很多啊!

    PS:由于网页的问题,以上脚本中的“\”等符号可能会丢失。

阅读(2411) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~