linux 宕机了 ssh也连接不上 怎么办
这个原因可能比较多,例如:被防火墙挡掉,ssh服务配置文件中的参数是否拒绝了连接等等。我说一种最可能出现的吧,清除/root/ssh/known_hosts文件中和你所要连接的ip或者主机名有关的ssh加密Key。
服务器的问题,我现在也维护一台windows2003 Server 标准版的服务器,服务器是IBM的X系列,曾经因为环境问题烧掉过一个CPU(原服务器是双CPU现在放在高标准机房),未知问题坏过一次电源,这些硬件问题都是厂家客服解决。所以你首先考虑硬件问题,硬件问题怎么解决:机房环境要合格,放在类办公室的地方,高速消耗。软件问题首先系统要打好ServicePack补丁,我维护的这台win服务器在内网内,不用经常去打安全补丁。我个人觉得为了求稳尽量少变。其次,服务器的软件环境要尽可能简单,与服务器部署服务无关的其他第三方应用程序一律删除。比如有的服务器管理员喜欢拿服务器当P2P下载机用。三、windows和Linux的选择,Linux各种那个发行版方向定位明确,所以很多自定义的Linux服务器效能非常高,比如豆瓣的Getoo定制的服务器。你要想部署Linux,在自己机器上装个或者虚拟一个,玩熟了再在生产应用中部署。CPanel的这个问题,我看到的好像和你们老板看到的一样。面板这种东西要通用才方便。
linux Tomcat自动检测、重启 客户的机器有时遇见宕机的情况,虽然我在linux服务器上配置了Tomcat自启动程序,可以在机器重启的时候自动部署web应用。但是,当数据库服务器与Web应用服务器不能同时启动的时候,Tomcat启动项目就失败了。最后,写了shell脚本,来自动判断是否有tomcat进程,如果没有的话,就重启tomcat,否则,不执行任何操作,并将tomcat启动日志写到文件里。脚本如下:Java代码 #/bin/bash ############################################# # author zhao yanan # date 2010/08/23 # update 2011/01/10 # Automatic detection and restart tomcat ############################################# #脚本可写入到自动任务中,执行周期可根据tomcat起停时间长短来定,如下,每天0点到20点之间每隔10分钟检查一次 #echo /3 0-24 root /root/script/tomcat_checksh >> /root/script/tomcat_checklog 2>&1 >> /etc/crontab echo ======================================== date PROCESS_NUM=`ps -ef grep tomcat grep -v grep wc -l` if [ $PROCESS_NUM -lt 1 ]; then # 判断是否有Tomcat进程,如果没有,则执行接下来的任务,否则执行else后的任务。 # java Environment variables #设置jdk的环境变量,根据自已的实际情况设定 export JAVA_HOME=/usr/local/jdk160_25 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=:$JAVA_HOME/lib/dtjar:$JAVA_HOME/lib/toolsjar export CATALINA_HOME=/usr/local/tomcat echo restart tomcat ${CATALINA_HOME}/bin/shutdownsh #关闭tomcat sleep 5 #等待tomcat关闭,一般是1~150s不等 kill -9 `ps auxgrep /usr/local/tomcatgrep -v grepawk '{print $2}'` #等待时间结束后,偿试强制结束tomcat进程 sleep 5 ${CATALINA_HOME}/bin/catalinash run sleep 5 else echo checked #首页下载成功,提示已检查 fi
Linux 中,有如下几种方法来获取各种崩溃时产生的信息。
1Core dump
Core dump 通常用来调试应用程序错误,当某些应用程序运行出现异常崩溃时,可以开启系统的 core dump 功能,来得到一个程序崩溃时的内存信息,用来分析崩溃原因:
在/etc/profile里加上(或者修改)一条:
ulimit -c 0
运行命令:sysctl -w "kernelcore_name_format=/coredump/%ncore"
该命令意思是指core文件放在/coredump目录下,文件名是进程名+core
2Diskdump
diskdump工具提供了在单机上创建和采集vmcore(kernel dump)的能力,而无须使用网络。当内核本身出现崩溃的时候,当前的内存和CPU状态以及相关的信息都会被保存到一个支持diskdump的磁盘上的保留分区上。在下一次重新启动的时候,当系统重新启动,diskdump的初始化脚本会从保留分区中读取保存的信息并创建一个vcore文件,然后这个文件被再次存放到/var/crash/目录下,文件名为127001-
如下是一个配置 HP SCSI 设备上启用 diskdump 的过程,如果不是 HP SCSI 设备(即设备名为 /dev/sdX的形式),则无须执行第三、四两个步骤。但需要在第一步前先执行命令: modprobe
diskdump
第一步:编辑 /etc/sysconfig/diskdump文件,将一个空白分区的设备名填入后保存退出,例如:
DEVICE=/dev/cciss/c0d0p2
第二步:初使化 dump 设备
#service diskdump initialformat
警告:该分区的所以数据会丢失。
第三步:使用 cciss_dump 模块替换当前的 cciss 模块:
在 /etc/modprobeconf 找到如下行:
alias scsi_hostadapter cciss
修改为:
alias scsi_hostadapter cciss_dump
再增加一行:
options cciss_dump dump_drive=1
注:假设diskdump文件中配置的为 /dev/cciss/c0d[#a]p[#b], 请设置为: options cciss_dump dump_drive=[#a]
第四步:重建 initrd 文件:
#mv /boot/initrd-`uname -r`img /boot/initrd-`uname -r`imgold
#mkinitrd /boot/initrd-`uname -r`img `uname -r`
第五步:设置 diskdump 服务能够开机自启动:
# chkconfig diskdump on
3Netdump
如果使用红旗DC40 或 30 版本系统,是不能支持 diskdump 的,可以利用netdump 来达到输出vmcore 的目的。但是Netdump要求至少有一个服务器以及任意数目的客户端。服务器用来接收客户端死机时的信息,客户端是经常死机的机器。
(一)服务器配置:
(1)检验netdump服务器是否安装完毕:
rpm -q netdump-server
如果未安装,请在光盘 RedFlag/RPMS/ 目录中找到 netdump-server 打头的软件包,执行命令:
rpm -ivh netdump-server-xxxrpm (x为版本号)
进行安装。
(2)服务器包安装后,用命令:
passwd netdump
更改用户的密码
(3)打开服务:
chkconfig netdump-server on
(4)运行服务器:
service netdump-server start
(二)客户端配置:
(1)校验客户端是否已安装
rpm -q netdump
如果未安装,在光盘 RedFlag/RPMS/ 目录中找到 netdum 打头的软件包,执行命令:
rpm -ivh netdump-xxxrpm (x为版本号)
安装
(2)编辑文件/etc/sysconfig/netdump,添加如下行:
DEV=eth0
NETDUMPADDR=1721681182
NETDUMPMACADDR=00:0C:29:79:F4:E0
1721681182指 netdump 服务器地址。
(3)运行下面的命令,出现提示符时输入密码:
service netdump propagate
(4)打开客户端:
chkconfig netdump on
(5)运行客户端:
service netdump start
(6)测试
为了测试netdump的配置是否正确,在netdump客户机上做下面操作:
cp /usr/share/doc/netdump-xxxxxx/crashc
gcc -DKERNEL -DMODULE -I/lib/modules/$(uname -r)/build/include -c crashc
insmod /crasho
这会造成系统崩溃,会在netdump服务器的/var/crash/<客户端IP>/目录下,看到一个核心转储。当客户机正在转储数据到服务器的时候,你会看到一个名叫“vmcore-incomplete"的文件。当转储结束后,该文件会改名成 "vmcore"。"vmcore"文件的大小会变化,可能达到几个GB在一个内存是512M的系统上,上面的测试会产生大约510M的vmcore文件。
0条评论