一种集群文件系统中客户端进程信息的诊断方法

文档序号:9887491阅读:306来源:国知局
一种集群文件系统中客户端进程信息的诊断方法
【技术领域】
[0001]本发明涉及集群文件系统技术领域,特别是涉及一种集群文件系统中客户端进程Ia息的诊断方法。
【背景技术】
[0002]目前,一般集群文件系统在用户态进程中,可能会出现客户端挂载不上集群,或者集群状态信息不正常的情况,以及无法正常的向集群进行读写操作,传统的方法往往是重启客户端进程,或者是进行集群的重启来修复这样异常,往往这些操作容易导致数据的丢失,对集群的数据安全存在很大的隐患。

【发明内容】

[0003]本发明的目的是提供一种集群文件系统中客户端进程信息的诊断方法,以实现快速定位客户端进程信息问题,保证集群文件的安全性,避免数据的丢失。
[0004]为解决上述技术问题,本发明提供一种集群文件系统中客户端进程信息的诊断方法,该方法包括:
[0005]利用调试工具调试当前的客户进程,查看当前的客户端进程的程序;
[0006]在所述程序运行时,在所述调试工具上打印所述程序运行过程中所有的参数信息,查看所述参数信息;
[0007]当所述程序停止时,通过打印出来的参数信息来确定所述程序停止的位置。
[0008]优选的,所述方法还包括:
[0009]若所述程序为服务程序,设置所述程序运行时的进程地址ID,通过所述调试工具连接入所述进程地址ID。
[0010]优选的,所述参数信息包括变量、字符串和表达式。
[0011]优选的,所述在所述调试工具上查看当前的客户端进程的程序,包括:
[0012]通过ps-a命令查看当前的进程信息,所述进程信息为当前客户端进程的程序。
[0013]优选的,所述方法还包括:
[0014]通过所述调整工具修改所述程序中的运行参数,查看修改后的所述程序的运行状
??τ O
[0015]优选的,所述运行参数包括所述程序当前运行的函数中的局部变量及局部变量的数值。
[0016]优选的,所述方法还包括:
[0017]通过所述调试工具在所述程序中选定一个函数,在选定的函数的位置上设置断点,使客户端进程运行到所述断点时停住。
[0018]优选的,所述方法还包括:
[0019]当所述程序调用一个函数时,被调用的函数的地址、参数和局部变量均被压入堆栈中,在所述调试工具上打印所述堆栈中的所有信息。
[0020]本发明所提供的一种集群文件系统中客户端进程信息的诊断方法,利用调试工具调试当前的客户进程,查看当前的客户端进程的程序;在所述程序运行时,在所述调试工具上打印所述程序运行过程中所有的参数信息,查看所述参数信息;当所述程序停止时,通过打印出来的参数信息来确定所述程序停止的位置。可见,利用调试工具调试当前的客户进程,并能查看所有的参数信息,当出现客户端挂载不上集群或者集群状态信息不正常的情况,不再需要重启客户端进程或者进行集群的重启来修复异常,直接利用调试工具就能确定程序停止的位置,即出现异常的问题所在的地方,避免重启过程造成数据的丢失,所以该方法实现快速定位客户端进程信息问题,保证集群文件的安全性,避免数据的丢失。
【附图说明】
[0021]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0022]图1为本发明所提供的一种集群文件系统中客户端进程信息的诊断方法的流程图。
【具体实施方式】
[0023]本发明的核心是提供一种集群文件系统中客户端进程信息的诊断方法,以实现快速定位客户端进程信息问题,保证集群文件的安全性,避免数据的丢失。
[0024]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0025]请参考图1,图1为本发明所提供的一种集群文件系统中客户端进程信息的诊断方法的流程图,该方法包括:
[0026]SI 1:利用调试工具调试当前的客户进程,查看当前的客户端进程的程序;
[0027]其中,在调试工具上查看当前的客户端进程的程序的过程具体是:通过ps-a命令查看当前的进程信息,进程信息为当前客户端进程的程序。这里的客户端进程的程序为客户端进程信息。
[0028]SI2:在程序运行时,在调试工具上打印程序运行过程中所有的参数信息,查看参数信息;
[0029]其中,参数信息包括变量、字符串和表达式。
[0030]SI3:当程序停止时,通过打印出来的参数信息来确定程序停止的位置。
[0031]可见,利用调试工具调试当前的客户进程,并能查看所有的参数信息,当出现客户端挂载不上集群或者集群状态信息不正常的情况,不再需要重启客户端进程或者进行集群的重启来修复异常,直接利用调试工具就能确定程序停止的位置,即出现异常的问题所在的地方,避免重启过程造成数据的丢失,所以该方法实现快速定位客户端进程信息问题,保证集群文件的安全性,避免数据的丢失。
[0032]具体的,参数信息是客户端进程的程序中的函数对应的参数。在调试过程中,通过查看打印出来的参数信息来确定程序停止的位置,判断参数信息是否正确,若参数信息的数值与预设的数值相一致,说明程序正常运行,若参数信息的数值与预设的数值不一致,说明程序出现问题,不一致的参数信息所在的进程位置就是程序停止的位置,程序停止表明进程出现异常,如此确定了程序停止的位置,即能找出异常的问题所在的地方。其中,预设的数值为参数信息的正确数值,表明参数信息是正确的,只有参数信息正确时,客户端进程的程序才能正常运行,一旦参数信息不正确,客户端进程的程序就会出现错误停止运行,找出错误的参数信息所在的位置,就是程序停止的位置。
[0033]需要说明的是,文中出现的程序指代客户端进程的程序。
[0034]基于上述方法,具体的,若程序为服务程序,设置程序运行时的进程地址ID,通过调试工具连接入进程地址ID。
[0035]其中,通过调试工具修改程序中的运行参数,查看修改后的程序的运行状态。运行参数包括程序当前运行的函数中的局部变量及局部变量的数值。
[0036]通过调试工具在程序中选定一个函数,在选定的函数的位置上设置断点,使客户端进程运行到断点时停住。因为客户端进程的程序整个全部运行完毕需要很长的时间,这样打印出来的信息也很多,需要在打印出来的的参数信息来确定程序停止的位置,在所有的参数信息中一个个去查看,也很繁琐,可以在程序中设置断点,程序运行到断点处就会停止,这样可以将程序设置成多份,分别来运行和查看打印出来的参数信息,这样不用将整个程序都运行完,通过每设置一个断点来查看一次打印出来的参数信息,参数信息没有那么多,容易查看参数信息,看看程序是否有问题,如此通过设置断点分成一段段来调试程序,更方便进行客户端进程的诊断。
[0037]其中,当程序调用一个函数时,被调用的函数的地址、参数和局部变量均被压入堆栈中,在调试工具上打印堆栈中的所有信息。
[0038]该方法使用户能够更好的使用集群文件系统,保证集群状态的正常和客户端出现故障时及时诊断问题进行修复,更好的使集群对外提供服务。利用调试工具来解决客户端进程遇到故障时,进行进程的诊断来定位问题的所在,从而从根本上解决问题。
[0039]考虑到集群的特殊性,通过该方法能够解决如集群不能正常挂载或者无法正常进行一些文件操作的问题,保证集群的文件的安全性,当出现这些问题时可以通过调试进程信息和修改一些参数的方法来诊断问题的所在,定位解决问题,以一种调试工具来调试进程,来进行客户端进程信息的诊断。
[0040]详细的,本发明通过调试进程信息和修改一些参数的方法来诊断问题的所在,定位解决问题,以一种调试工具来调试进程,来进行客户端进程信息的诊断。以一个客户端出现的问题为例,客户端无法正常挂载集群,或者是挂载到集群却不能进行正常的文件操作。遇到这种问题,一般的方法不能解决,可以使用一种调试工具来调试。以gdb调试工具为例。通过命令ps-a查看当前的进程信息,如果程序是一个服务程序,则可以指定这个服务程序运行时的进程ID,gdb会自动的attach上去即自动连接进程ID上。调试过程中对于程序运行的上下文,可以通过命令set args指定程序运行参数,通过命令show args查看设置好的运行参数,这样就能随时修改参数的值,来查看进程的运行状态。通过在文件的指定函数处或者源程序的行数出进行设置断点,设置断点的命令为b filenameifunct1n或b 20
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1