如下图,服务器为R390,安装CAS E0209版本(含CVM/CIC/SSV组件),管理地址为192.168.21.6。有一台存储为服务器提供存储服务。PC可以访问CAS的管理网路和存储网络。
二、 问题描述:
CAS平台无法读取主机存储池信息,显示“未找到任何数据”。尝试排查问题原因发现点击刷新存储池报错“服务器响应错误或网络通信异常”。删除浏览器缓存重新登录问题依旧。主机管理地址同时却可以ping通,SSH可登陆。这样的思路一路排查下来一线就很困惑了,到底该如何排查?且看本文分解。
1、确认问题现象:查看主机的主机池选项卡,确实在存储池信息发现未找到任何数据的提示。刷新存储池和点击其存储池确认是否原本存储池就无数据。查看发现所有存储池都无法找到数据,并有“服务器响应错误或网络通信异常”的告警。
2、检查主机连通性:通过PC ping主机的管理等地址和尝试SSH登录主机后台,发现都是正常可达和可登录。显示器连接服务器或者iLO远程功能登录服务器,查看系统无明显报错。
3、检查主机硬件:登录该主机的iLO管理界面,在系统信息(System Information)里面查看主机硬件正常。
4、查看CAS前台的进程是否正常:执行“service tomcat6 status”查看是否是running或者“ps –elf | grep java”查看是否有图下图2个java进程在运行。
root@cvknode06:~# service tomcat6 status
* Tomcat servlet engine is running with pid 3362
5、检查主机磁盘空间利用率:由于系统和硬件都正常,tomcat前台服务也正常,怀疑是系统空间写满原因。SSH到主机,执行“df -h”查看。发现根分区被写满。
知识小贴士:
1)所有的文件和目录都是由根目录开始的,即根目录是所有目录和文件的源头。当寻找子目录文件时必须从根目录开始找,可见根目录的重要性。根目录的表示方法为一条斜线“/”。如上图,根目录挂载到分区/dev/sda1。
2)所谓的“挂载”就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下,也就是说进入该目录后就可以读取该分区。这个操作我们称为“挂载”,那个进入点的目录我们称之为“挂载点”。根目录跟它的子目录确实可以分别挂载在不同的设备上。如上图,根目录下的/vms子目录就挂载到/dev/sda7分区。
6、清理根分区文件:发现根分区被写满,下一步就是找出“罪魁祸首”的大文件们,然后删除或者修改该文件到其他非根路径。那么问题来了,如何才能找到它们?根目录是所有目录和文件的源头,那么多目录和文件一个个去查找工作量太大。首先是排除已经挂载到其他分区的子目录,比如上图的/vms。其他的可以通过在执行神奇的“du –sh *”命令查看本路径下各个文件夹(含文件)和文件大小。
1)首先通过命令“cd /”进入根目录,执行“du –sh *”查看根目录下各个目录和文件大小。发现有“a1111_20150120174739_0”和“windows2008-clone_20150120174822_0”两台虚拟机的备份文件数据各占用了根分区3G空间,还有/boot和/root目录分别占用了6.2G和12G空间。
2)根目录下的两台虚拟机文件请和客户确认是否需要保留,如果保留请移动到其他非根目录,如/vms。
3)分别执行“cd /root”和“cd /boot”目录,输入“du –sh *”查看相应目录下各个目录和文件大小。比如在root目录下发现有大量的iSO文件和部分镜像文件。根据现场情况做删除或者移动到其他目录。
4)清理完成后,再次执行“df -h”查看根分区利用率已经降到15%。
7、由于之前根分区已经写满,如果要正常使用CVM管理平台还需要将管理平台的mysql数据库服务进程和tomcat前台服务进程重启。
root@cvknode06:~# service mysql stop
mysql stop/waiting
root@cvknode06:~# service mysql start
mysql start/running, process 4821
root@cvknode06:~# service tomcat6 stop
* Stopping Tomcat servlet engine tomcat6
...done.
root@cvknode06:~# service tomcat6 start
* Starting Tomcat servlet engine tomcat6
...done.
说明:注意执行的前后顺序,务必先重启mysql数据库服务进程,再重启tomcat前台服务进程。
当出现主机存储池无法显示数据,但是存储本身、主机管理网络和硬件正常且能正常SSH时,可以怀疑问题是根分区被写满导致。推荐使用“du –sh *”命令从根目录开始查看各级目录和文件的大小来查找占用空间较大的文件,然后做删除或者移动到路径。清理完毕后注意重启前台相关进程(mysql和tomcat服务),CAS管理平台即可恢复使用。
其实出现这个问题的根本原因在于文件存储的规范性,避免直接将文件存储在根分区。也请我们的一线或渠道兄弟在向客户交付服务时注意这一点,并提醒客户。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作