今天突然发现维护的linux系统无法访问了,网站打不开,SSH无法登陆,后台面板也没有响应,打开机房的管理后台,reboot服务器,过了一会还是没有反应,有点纳闷,这是商业网站,不敢怠慢,马上开工找问题。
打开机房准备的KVM,KVM是基于jave的远程服务器管理工具。由于是基于java的东东,现在的java使用是相当的严格和麻烦,安全级别只有“高”和“较高”,所以降低安全等级使用浏览器java是不行了,必须把域名加入白名单。
由于从机房的下载的jnlp文件里面的网站端口每次都不一样,所以好一阵子是烦死了,无法下载jnlp文件里面地址的文件,导致KVM无法使用。这里有个小经验。
把http://108.170.22.66:25750
加入“例外站点”列表就好了。
用KVM链接上服务器,reboot,查看服务器情况,出现了如下错误
kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) Pid:1, comm:swapper not tainted 2.6.32-696.6.3.e16.x86_64 #1
看到这个“2.6.32-696.6.3.e16.x86”错误,突然我想起了什么,昨天执行过yum update,安装过新的内核,今天就加载新的内核了,难怪错误,找到了原因就好办了。重新reboot,重启之后按KVM虚拟键盘的ESC键,一会就出现了可供启动的3个内核版本的选择,选择老的内核启动,顺利进入系统。
那么下次怎么办呢,总是这样手动肯定不是办法,我们要修改/boot/grub/grub.conf
文件。
从SSH登陆系统后,执行vim /boot/grub/grub.conf
grub.conf的内容如下
# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/mapper/syswoZn-root # initrd /initrd-[generic-]version.img #boot=/dev/sda default=2 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-696.6.3.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-696.6.3.el6.x86_64 ro root=/dev/mapper/syswoZn-root rd_NO_LUKS pcie_aspm=off LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=syswoZn/root rd_NO_DM rhgb quiet pcie_aspm=off title CentOS (2.6.32-696.3.2.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-696.3.2.el6.x86_64 ro root=/dev/mapper/syswoZn-root rd_NO_LUKS pcie_aspm=off LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=syswoZn/root rd_NO_DM rhgb quiet pcie_aspm=off initrd /initramfs-2.6.32-696.3.2.el6.x86_64.img title CentOS 6 (2.6.32-696.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=/dev/mapper/syswoZn-root rd_NO_LUKS pcie_aspm=off LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=syswoZn/root rd_NO_DM rhgb quiet pcie_aspm=off initrd /initramfs-2.6.32-696.el6.x86_64.img
可以看到有3个内核版本,两个为CentOS (2.6.32-696.6.3.el6.x86_64),另外一个为 CentOS 6 (2.6.32-696.el6.x86_64),他们的序号从0开始,分别为0,1,2.
那么把default参数的值修改为2就好了,成功搞定。