CN107147516B - 服务器、存储系统及相关方法 - Google Patents

服务器、存储系统及相关方法 Download PDF

Info

Publication number
CN107147516B
CN107147516B CN201710175695.0A CN201710175695A CN107147516B CN 107147516 B CN107147516 B CN 107147516B CN 201710175695 A CN201710175695 A CN 201710175695A CN 107147516 B CN107147516 B CN 107147516B
Authority
CN
China
Prior art keywords
server
virtual machine
disk
network
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710175695.0A
Other languages
English (en)
Other versions
CN107147516A (zh
Inventor
王燊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710175695.0A priority Critical patent/CN107147516B/zh
Publication of CN107147516A publication Critical patent/CN107147516A/zh
Application granted granted Critical
Publication of CN107147516B publication Critical patent/CN107147516B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开一种服务器、存储系统及相关方法,该服务器包括:应用程序,用于产生对文件系统的用户文件进行操作的文件命令;文件系统,用于根据文件命令产生对虚拟磁盘的IO地址进行操作的IO命令;虚拟机监视器,用于根据对虚拟磁盘的IO地址进行操作的IO命令产生对网络磁盘中的卷文件的读写指令,发送读写指令至网络磁盘组件,当确定读写指令执行失败时发送通知信息至监控装置;监控装置,用于接收通知消息根据通知消息构造异常信息,并发送异常信息至管理装置,管理装置响应异常信息迁移虚拟机,并且,在迁移过程中,对卷文件的读写指令被发送至另一服务器的虚拟机监视器。可克服因IO命令不能得到处理而造成业务中断的技术问题。

Description

服务器、存储系统及相关方法
技术领域
本发明涉及IT技术领域,特别涉及一种服务器、存储系统及相关方法。
背景技术
在现有的虚拟化环境中,服务器上安装有虚拟机,虚拟机内设置有应用程序和虚拟硬盘,服务器通过虚拟机监视器管理虚拟机,服务器与网络磁盘建立有数据连接,服务器上安装有网络磁盘组件,网络磁盘组件用于管理网络磁盘分配至服务器的存储空间,当虚拟机内的应用程序对虚拟硬盘进行读写时,产生IO命令,该IO命令会被虚拟机监视器获取,网络磁盘组件从虚拟机监视器获取IO命令,并发送至网络磁盘,网络磁盘根据IO命令进行IO操作,并将携带有IO操作结果的IO操作响应信息返回至网络磁盘组件,网络磁盘组件将IO操作响应信息发送至虚拟机监视器,虚拟机监视器将IO操作响应信息发送至虚拟机,从而使得虚拟机的应用程序可以获取到IO操作结果。
在现有技术中,在网络磁盘组件本身出现问题不能工作维持一定时间,或在服务器与网络磁盘之间的通信链路断开的情况维持一定时间后,由于虚拟机发出的IO命令一直不能得到处理,虚拟机内部业务长期处于等待状态,可能会导致虚拟机卡死,从而引起业务中断。
发明内容
为解决现有技术的问题,本发明实施例提供一种服务器、存储系统及相关方法,可克服因IO命令不能得到处理而造成业务中断的技术问题。
第一方面,本发明实施例提供一种一种存储系统,包括通过网络连接的服务器集群、网络磁盘以及管理装置,服务器集群包括:
第一服务器,包括:
第一网络磁盘组件,第一服务器通过第一网络磁盘组件访问网络磁盘;
第一虚拟机,第一虚拟机设置有应用程序、文件系统以及虚拟磁盘,应用程序用于产生对文件系统的用户文件进行操作的文件命令,文件系统用于根据文件命令产生对虚拟磁盘的IO地址进行操作的IO命令;
第一虚拟机监视器,用于根据对虚拟磁盘的IO地址进行操作的IO命令产生对网络磁盘中的卷文件的读写指令,发送读写指令至第一网络磁盘组件,当确定读写指令执行失败时发送通知信息至监控装置;
监控装置,用于接收通知信息,根据通知消息构造异常信息,并发送异常信息至管理装置,其中异常信息包括第一服务器的网络地址;
管理装置,用于响应异常信息将虚拟机迁移至服务器集群中与网络磁盘之间的通信链路状态正常的第二服务器,并且,在迁移过程中,将对卷文件的读写指令发送至第二服务器的第二虚拟机监视器;
第二服务器,包括:
第二虚拟机监视器,用于将读写指令发送至第二网络磁盘组件;
第二网络磁盘组件,用于根据读写指令产生对网络磁盘中的物理磁盘的IO地址进行读写的IO命令,并发送对网络磁盘中的物理磁盘的IO地址进行读写的IO命令至网络磁盘。
在本发明实施例中,当针对网络磁盘的读写指令执行失败时,将本地虚拟机迁移至与网络磁盘之间的通信链路状态正常的另一服务器,并且在迁移过程中,对卷文件的读写指令被迁移至所述另一服务器的虚拟机监视器,故对卷文件的读写指令可经由另一服务器的网络磁盘组件进行处理,从而实现与网络磁盘进行通信,可克服因IO命令不能得到处理而造成业务中断的技术问题。
在本发明实施例的一种实现方式中,监控装置具体用于根据通知消息检测第一网络磁盘组件的工作状态以及第一服务器与网络磁盘之间的通信链路状态,在网络磁盘组件的工作状态异常,或第一服务器与网络磁盘之间的通信链路状态异常时,构造异常信息。
在本发明实施例中,第一网络磁盘组件用于访问网络磁盘,在第一网络磁盘组件的工作状态出现异常时,读写指令不能得到第一网络磁盘组件的处理,由此会导致读写指令执行失败;并且,在第一服务器与网络磁盘之间的通信链路状态异常时,读写指令即便得到第一网络磁盘的处理,处理结果也不能传输到达网络磁盘,由此也会导致读写指令执行失败,因此,在出现以上二种情况之一或全部时,确认针对网络磁盘的读写指令执行失败。
在本发明实施例的另一种实现方式中,文件系统管理文件系统中的用户文件与虚拟磁盘的IO地址的对应关系。
在本发明实施例的另一种实现方式中,虚拟机监视器记录有虚拟磁盘的IO地址与网络磁盘分配至虚拟机的卷文件的卷号之间的对应关系。
在本发明实施例的另一种实现方式中,第一网络磁盘组件和第二网络磁盘组件均记录有网络磁盘分配至服务器集群中的所有虚拟机的卷文件的卷号与卷文件对应的物理磁盘的IO地址之间的对应关系。
第二方面,本发明实施例提供一种IO命令的处理方法,该方法应用于存储系统,存储系统包括第一服务器、第二服务器、网络磁盘以及管理装置,第一服务器设置有第一虚拟机、第一网络磁盘组件、第一虚拟机监视器以及监控装置,第一虚拟机设置有虚拟磁盘,第一服务器通过第一网络磁盘组件访问网络磁盘,第二服务器设置有第二虚拟机监视器和第二网络磁盘组件,该方法包括:
第一虚拟机产生对虚拟磁盘的IO地址进行操作的IO命令;
第一虚拟机监视器根据对虚拟磁盘的IO地址进行操作的IO命令产生对网络磁盘中的卷文件的读写指令,发送读写指令至第一网络磁盘组件当确定读写指令执行失败时发送通知信息至监控装置;
监控装置接收通知信息,根据通知消息构造异常信息,并发送异常信息至管理装置,其中异常信息包括第一服务器的网络地址;
管理装置响应异常信息将虚拟机迁移至服务器集群中与网络磁盘之间的通信链路状态正常的第二服务器,并且,在迁移过程中,将对卷文件的读写指令发送至第二服务器的第二虚拟机监视器;
第二虚拟机监视器将读写指令发送至第二网络磁盘组件;
第二网络磁盘组件根据读写指令产生对网络磁盘中的物理磁盘的IO地址进行读写的IO命令,并发送对网络磁盘中的物理磁盘的IO地址进行读写的IO命令至网络磁盘。
在本发明实施例的一种实现方式中,监控装置接收通知信息,根据通知消息构造异常信息的步骤具体包括:
在本发明实施例的另一种实现方式中,监控装置根据通知消息检测第一网络磁盘组件的工作状态以及第一服务器与网络磁盘之间的通信链路状态,在第一网络磁盘组件的工作状态异常,或第一服务器与网络磁盘之间的通信链路状态异常时,构造异常信息。
在本发明实施例的另一种实现方式中,第一虚拟机还设置有应用程序和文件系统,文件系统管理文件系统中的用户文件与虚拟磁盘的IO地址的对应关系,第一虚拟机产生对虚拟磁盘的IO地址进行操作的IO命令的步骤具体包括:
应用程序用于产生对文件系统的用户文件进行操作的文件命令;
文件系统根据文件系统中的用户文件与虚拟磁盘的IO地址的对应关系将文件命令转换为虚拟磁盘的IO地址进行操作的IO命令。
在本发明实施例的另一种实现方式中,虚拟机监视器记录有虚拟磁盘的IO地址与网络磁盘分配至虚拟机的卷文件的卷号之间的对应关系,第一虚拟机监视器根据对虚拟磁盘的IO地址进行操作的IO命令产生对网络磁盘中的卷文件的读写指令的步骤具体包括:
第一虚拟机监视器根据虚拟磁盘的IO地址与网络磁盘分配至虚拟机的卷文件的卷号之间的对应关系获取虚拟磁盘的IO地址对应的卷文件的卷号;
第一虚拟机根据卷文件的卷号产生对网络磁盘中的卷文件的读写指令。
在本发明实施例的另一种实现方式中,第一网络磁盘组件和第二网络磁盘组件均记录有网络磁盘分配至服务器集群中的所有虚拟机的卷文件的卷号与卷文件对应的物理磁盘的IO地址之间的对应关系。
第三方面,本发明实施例提供一种服务器,包括虚拟机、虚拟机监视器、网络磁盘组件以及监控装置,服务器设置于服务器集群中,服务器集群由管理装置进行管理,服务器集群经由网络与网络磁盘连接,服务器通过网络磁盘组件访问网络磁盘,虚拟机设置有应用程序、文件系统以及虚拟磁盘,其中:
应用程序,用于产生对文件系统的用户文件进行操作的文件命令;
文件系统,用于根据文件命令产生对虚拟磁盘的IO地址进行操作的IO命令;
虚拟机监视器,用于根据对虚拟磁盘的IO地址进行操作的IO命令产生对网络磁盘中的卷文件的读写指令,发送读写指令至网络磁盘组件,当确定读写指令执行失败时发送通知信息至监控装置;
监控装置,用于接收通知消息根据通知消息构造异常信息,并发送异常信息至管理装置,其中异常信息包括服务器的网络地址,以使得管理装置响应异常信息将虚拟机迁移至服务器集群中与网络磁盘之间的通信链路状态正常的另一服务器,并且,在迁移过程中,将对卷文件的读写指令发送至另一服务器的虚拟机监视器。
在本发明实施例的一种实现方式中,监控装置具体用于根据通知消息检测网络磁盘组件的工作状态以及服务器与网络磁盘之间的通信链路状态,在网络磁盘组件的工作状态异常,或服务器与网络磁盘之间的通信链路状态异常时,构造异常信息。
在本发明实施例的另一种实现方式中,文件系统管理文件系统中的用户文件与虚拟磁盘的IO地址的对应关系。
在本发明实施例的另一种实现方式中,虚拟机监视器记录有虚拟磁盘的IO地址与网络磁盘分配至虚拟机的卷文件的卷号之间的对应关系。
在本发明实施例的另一种实现方式中,网络磁盘组件记录有网络磁盘分配至服务器集群中的所有虚拟机的卷文件的卷号与卷文件对应的物理磁盘的IO地址之间的对应关系。
第四方面,本发明实施例提供一种IO命令的处理方法,该方法应用于服务器,服务器包括虚拟机、虚拟机监视器、网络磁盘组件以及监控装置,服务器设置于服务器集群中,服务器集群由管理装置进行管理,服务器集群经由网络与网络磁盘连接,服务器通过网络磁盘组件访问网络磁盘,虚拟机设置有应用程序、文件系统以及虚拟磁盘,该方法包括:
应用程序产生对文件系统的用户文件进行操作的文件命令;
文件系统根据文件命令产生对虚拟磁盘的IO地址进行操作的IO命令;
虚拟机监视器根据对虚拟磁盘的IO地址进行操作的IO命令产生对网络磁盘中的卷文件的读写指令,发送读写指令至网络磁盘组件,当确定读写指令执行失败时发送通知信息至监控装置;
监控装置接收通知消息根据通知消息构造异常信息,并发送异常信息至管理装置,其中异常信息包括服务器的网络地址,以使得管理装置响应异常信息将虚拟机迁移至服务器集群中与网络磁盘之间的通信链路状态正常的另一服务器,并且,在迁移过程中,将对卷文件的读写指令发送至另一服务器的虚拟机监视器。
在本发明实施例的另一种实现方式中,监控装置接收通知信息,根据通知消息构造异常信息的步骤具体包括:
监控装置根据通知消息检测网络磁盘组件的工作状态以及服务器与网络磁盘之间的通信链路状态,在网络磁盘组件的工作状态异常,或服务器与网络磁盘之间的通信链路状态异常时,构造异常信息。
在本发明实施例的另一种实现方式中,文件系统管理文件系统中的用户文件与虚拟磁盘的IO地址的对应关系,虚拟机产生对虚拟磁盘的IO地址进行操作的IO命令的步骤具体包括:
文件系统根据文件系统中的用户文件与虚拟磁盘的IO地址的对应关系将文件命令转换为虚拟磁盘的IO地址进行操作的IO命令。
在本发明实施例的另一种实现方式中,虚拟机监视器记录有虚拟磁盘的IO地址与网络磁盘分配至虚拟机的卷文件的卷号之间的对应关系,虚拟机监视器根据对虚拟磁盘的IO地址进行操作的IO命令产生对网络磁盘中的卷文件的读写指令的步骤具体包括:
虚拟机监视器根据虚拟磁盘的IO地址与网络磁盘分配至虚拟机的卷文件的卷号之间的对应关系获取虚拟磁盘的IO地址对应的卷文件的卷号;
虚拟机根据卷文件的卷号产生对网络磁盘中的卷文件的读写指令。
在本发明实施例的另一种实现方式中,网络磁盘组件记录有网络磁盘分配至服务器集群中的所有虚拟机的卷文件的卷号与卷文件对应的物理磁盘的IO地址之间的对应关系。
第五方面,本发明实施例提供一种服务器,包括存储器、处理器和总线,存储器和处理器分别与总线连接,存储器存储有程序指令,处理器执行存储器的程序指令以实现虚拟机、虚拟机监视器、网络磁盘组件以及监控装置的功能,虚拟机设置有应用程序、文件系统和虚拟磁盘,其中:
处理器执行存储器中的第一程序指令以执行步骤:应用程序产生对文件系统的用户文件进行操作的文件命令;
处理器执行存储器中的第二程序指令以执行步骤:文件系统根据文件命令产生对虚拟磁盘的IO地址进行操作的IO命令;
处理器执行存储器中的第三程序指令以执行步骤:虚拟机监视器根据对虚拟磁盘的IO地址进行操作的IO命令产生对网络磁盘中的卷文件的读写指令,发送读写指令至网络磁盘组件,当确定读写指令执行失败时发送通知信息至监控装置;
处理器执行存储器中的第四程序指令以执行步骤:监控装置接收通知消息根据通知消息构造异常信息,并发送异常信息至管理装置,其中异常信息包括服务器的网络地址,以使得管理装置响应异常信息将虚拟机迁移至服务器集群中与网络磁盘40之间的通信链路状态正常的另一服务器,并且,在迁移过程中,将对卷文件的读写指令发送至另一服务器的虚拟机监视器。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的存储系统的结构示意图;
图2是根据本发明实施例的存储系统的数据交互图;
图3是本发明实施例的存储系统在虚拟机迁移前的系统结构示意图;
图4是根据本发明实施例的存储系统的另一数据交互图;
图5是根据本发明实施例的存储系统在虚拟机迁移后的系统结构示意图;
图6是根据本发明实施例的存储系统的另一数据交互图;
图7是本发明实施例的存储系统在虚拟机迁移后的另一系统结构示意图;
图8是根据本发明实施例的IO命令的处理方法的流程图;
图9是根据本发明实施例的服务器的装置结构示意图。
具体实施方式
首先请参见图1,图1为根据本发明实施例的存储系统的结构示意图,如图1所示,存储系统包括服务器集群100、管理装置50以及网络磁盘40,服务器集群100至少包括服务器10和服务器20,服务器集群100、管理装置50以及网络磁盘40通过网络30建立通信链路连接。
可选地,网络30具体例如为INETERNET(互联网)、局域网、或INETERNET和局域网的混合。
网络磁盘40具有网络地址,由多个物理磁盘1-n组成,网络磁盘40提供接口以为服务器集群100中的服务器提供存储资源。优选的,网络磁盘40可以采用固定的网络地址,并且,可以将网络磁盘40包含的多个物理磁盘1-n的存储空间设置为多个卷文件,并以卷号标识,记录卷号与物理磁盘的IO地址之间的关系。
管理装置50具有网络地址,且可在与服务器集群100联网的独立计算机系统上运行,或者可以在服务器集群100中任何服务器上设置的虚拟机内运行。,管理装置用于接收服务器集群100中的各监控装置上报的各监控装置所在的服务器与网络磁盘40之间的通信链路状态(于下文详细介绍)。
服务器10上运行有至少一个虚拟机,示例性的,本发明实施例以一个虚拟机为例进行说明。该服务器10包括虚拟机101、操作系统102以及硬件103,虚拟机101包括应用程序1011、虚拟磁盘1012以及文件系统1013。操作系统102包括虚拟机监视器1021、网络磁盘组件1022、物理网卡驱动1023以及监控装置1024,硬件103包括物理网卡1031,虚拟机101运行在操作系统102上。
在一些示例中,硬件103还包括处理器、存储器(图未示出)等,硬件103用于承载操作系统102的运行。
在一种示例中,虚拟机监视器1021、网络磁盘组件1022、物理网卡驱动1023可设置在操作系统102的内核中。在另一种示例中,网络磁盘组件1022、物理网卡驱动1023可作为应用软件安装到操作系统102,在操作系统102上直接运行。
物理网卡驱动1023用于驱动物理网卡1031,物理网卡驱动1023在操作系统102为物理网卡1031提供接口,操作系统102或安装在操作系统102的软件(如网络磁盘组件1022和监控装置1024)可通过接口控制物理网卡1031发送或接收数据。
网络磁盘组件1022记录了网络磁盘40的网络地址,网络磁盘组件1022可通过物理网卡驱动1023提供的接口控制物理网卡1031收发数据以访问网络磁盘40。
监控装置1024记录了管理装置50以及网络磁盘40的网络地址,监控装置可通过物理网卡驱动1023提供的接口控制物理网卡1031收发数据以访问管理装置50。
监控装置1024可监控网络磁盘组件1022的工作状态,举例而言,可通过检测操作系统102的进程列表,若网络磁盘组件1022中的关键进程不在进程列表中,则可确认网络磁盘组件1022工作状态异常。
进一步,监控装置1024可监控服务器10与网络磁盘40之间的通信链路状态,举例而言,监控装置1024通过物理网卡驱动1023提供的接口控制物理网卡1031发送PING(Packet Internet Groper,因特网包探索器)命令至网络磁盘40,利用PING命令来检测物理网卡2031与网络磁盘40之间的通信链路状态,其中,PING命令可利用网络上的设备的网络地址的唯一性,给网络磁盘40发送一个数据包,再要求网络磁盘40返回一个同样大小的数据包来确定服务器10与网络磁盘40之间是否连接相通,且时延是多少。在没有收到返回数据包,或时延超过预定数值时,监控装置1024确认服务器10与网络磁盘40之间的通信链路状态异常。
虚拟机101上设置有操作系统,并设置有与操作系统兼容的文件系统1013。举例而言,虚拟机101可以设置有WINDOWS(视窗)操作系统,则文件系统1013可以为NTFS(NewTechnology File System,新技术文件系统)。
在另外一些示例中,虚拟机101可设置有UNIX或LINUX操作系统,文件系统1013可例如为EXT(Extended file system,延伸文件系统)或者XFS(extension of the ExtentFile System,扩展的延伸文件系统)文件系统。
文件系统1013内设置有用户文件,文件系统1013管理用户文件与虚拟磁盘1012的IO地址的对应关系,应用程序1011发出对用户文件进行操作的文件命令,文件系统1013可接收该文件命令,并根据上述对应关系将该文件命令转换为对虚拟磁盘1012的IO地址进行读写的IO命令。
虚拟机101在虚拟机监视器1021上运行(在一些示例中,虚拟机监视器1021可运行多个虚拟机),虚拟机监视器1021可允许运行于其上的虚拟机所设置的操作系统和应用程序共享硬件103。在一些示例中,虚拟机监视器1021可为VMM(virtual machine monitor,虚拟机监视器),在另一些示例中,虚拟机监视器1021可为Hypervisors(超级管理程序)。虚拟机监视器1021可以访问服务器10上的硬件103,并隔离运行于其上的多个虚拟机,当服务器10启动并执行虚拟机监视器1021时,虚拟机监视器1021会加载运行于其上的虚拟机的操作系统,同时会分配给每一台虚拟机适量的内存,CPU,网络和虚拟磁盘。
在服务器集群100的服务器上运行的虚拟机加载虚拟磁盘时,虚拟机所在服务器的虚拟机监视器通过网络磁盘组件向网络磁盘40申请卷文件,网络磁盘40为虚拟机分配卷文件,并将所分配的卷文件的卷号和卷文件对应的物理磁盘的IO地址发送至该网络磁盘组件,该网络磁盘组件将卷号发送至所在服务器的虚拟机监视器,并记录卷号与物理磁盘的IO地址之间的关系,该虚拟机监视器记录卷号与虚拟磁盘的IO地址之间的关系。
举例而言,虚拟机101加载虚拟磁盘1012时,虚拟机监视器1021通过网络磁盘组件1022向网络磁盘40发送用于申请卷文件的通知(在一些示例中,该通知还包括要求的虚拟磁盘空间大小等信息),网络磁盘40根据该通知为虚拟机101分配预定数量的卷文件,并将所分配的卷文件的卷号和卷文件对应的物理磁盘的IO地址发送至网络磁盘组件1022,网络磁盘组件1022将卷号发送至虚拟机监视器1021,并记录该卷号与物理磁盘的IO地址之间的关系,虚拟机监视器1021记录该卷号与虚拟磁盘的IO地址之间的关系。
如图1所示的服务器10和服务器20类似,服务器10的各个模块分别与服务器20中的各个模块相对应,在此不再赘述。
值得注意的是,在一种可能的实施方式中,服务器集群100中所有服务器的网络磁盘组件之间进行数据同步。举例而言,网络磁盘组件1022记录有网络磁盘40分配至虚拟机101的卷文件的卷号与该卷文件对应的物理磁盘的IO地址之间的对应关系(以下称为第一对应关系),网络磁盘组件2022记录有网络磁盘40分配至虚拟机201的卷文件的卷号与该卷文件对应的物理磁盘的IO地址之间的对应关系(以下称为第二对应关系)。网络磁盘组件1022和网络磁盘组件2022之间通过数据交互同步第一对应关系和第二对应关系,对于图1未示出的服务器集群100的其他服务器中的网络磁盘组件亦然,从而使得服务器集群100中的每一网络磁盘组件均记录了网络磁盘40分配至服务器集群100中的所有虚拟机的卷文件的卷号与该卷文件对应的物理磁盘的IO地址之间的对应关系。
在另外一些示例中,也可由网络磁盘40分别向服务器集群100中的所有网络磁盘组件组播发送网络磁盘40分配至服务器集群中的所有虚拟机的卷文件的卷号与该卷文件对应的物理磁盘的IO地址之间的对应关系,使得服务器集群100中的每一网络磁盘组件均记录网络磁盘40分配至服务器集群中的所有虚拟机的卷文件的卷号与该卷文件对应的物理磁盘的IO地址之间的对应关系。
在本发明实施例中,服务器集群100中的各监控装置会定期检测所在的服务器与网络磁盘40之间的通信链路状态,并将具体状态分别上报至管理装置50。以下将举例说明:
以服务器10为例,监控装置1024通过物理网卡驱动1023提供的接口控制物理网卡1031发送PING(Packet Internet Groper,因特网包探索器)命令至网络磁盘40,利用PING命令来检测物理网卡2031与网络磁盘40之间的通信链路状态。其中,PING命令可利用网络上的设备的网络地址的唯一性,给网络磁盘40发送一个数据包,再要求网络磁盘40返回一个同样大小的数据包来确定服务器10与网络磁盘40之间是否连接相通,且时延是多少。
当监控装置1024接收到网络磁盘40响应PING命令的返回数据包时,将携带有状态信息和自身网络地址的报文发送至管理装置50,其中状态信息包括状态(正常或异常)、时延(当状态为异常时时延取0)。
而服务器集群100中的其他监控装置也会执行如上动作,分别向管理装置50上报状态信息。
因此,管理装置50可接收到服务器集群100中的所有服务器上报的状态信息,并进行更新维护,其中当前状态的维护列表如表1所示:
服务器网络地址 状态 时延
192.168.121.1 1 50ms
192.168.121.2 1 40ms
192.168.121.3 1 100ms
…… …… ……
表1
其中,由于维护列表会不断进行更新,维护列表并不限于表1所示,而是不断进行数据刷新。
假设服务器10的网络地址是192.168.121.1,第二服务器的网络地址是192.168.121.2,第三服务器(图1中未示出)的网络地址是192.168.121.3,在表1中,状态为1表示自身与网络磁盘40的通信链路状态正常,状态为0表示自身与网络磁盘40的通信链路状态异常。
因此,在当前时间,服务器10与网络磁盘40的通信链路状态正常,网络时延为50ms。第二服务器与网络磁盘40的通信链路状态正常,网络时延为40ms,第三服务器与网络磁盘40的通信链路状态正常,且网络时延值为100ms。故当前服务器20与网络磁盘40之间的通信链路状态最优。
在本发明实施例中,当针对网络磁盘的读写指令执行失败时,将本地虚拟机迁移至与网络磁盘之间的通信链路状态正常的另一服务器,并且在迁移过程中,读写指令被迁移至所述另一服务器的虚拟机监视器,故对卷文件的读写指令可经由另一服务器的网络磁盘组件进行处理,从而实现与网络磁盘进行通信,可克服因IO命令不能得到处理而造成业务中断的技术问题。
以下请参见图2,图2是根据本发明实施例的存储系统的数据交互图,图2示出在网络磁盘组件1022正常工作,且网络磁盘组件1022所在服务器10与网络磁盘40之间的通信链路状态正常时的数据交换方法,该数据交换方法具体包括以下步骤:
步骤501:虚拟机101的应用程序1011访问虚拟磁盘1012时,文件系统1013产生对虚拟磁盘1012的IO地址进行操作的IO命令,并发送该IO命令至虚拟机监视器1021。
其中,应用程序1011访问虚拟磁盘1012时,产生对用户文件进行操作的文件命令,此时文件系统1013接收到对用户文件进行操作的文件命令。
根据先前描述,文件系统1013管理用户文件与虚拟磁盘1012的IO地址的对应关系,故文件系统1013可根据上述对应关系将对用户文件进行操作的文件命令转换为对虚拟磁盘1012的IO地址进行操作的IO命令。
为便于理解,可结合图3进行参考,图3是本发明实施例的存储系统在虚拟机迁移前的系统结构示意图,其中本步骤所述的对虚拟磁盘1012的IO地址进行操作的IO命令可例如为图3所示的IO1。
步骤502:虚拟机监视器1021从文件系统1013接收对虚拟磁盘1012的IO地址进行操作的IO命令,并根据虚拟磁盘1012的IO地址与网络磁盘40分配至虚拟机101的卷文件的卷号之间的对应关系获取与该IO命令对应的卷号,产生针对该卷号对应的卷文件的读写命令,并发送该读写命令至网络磁盘组件1022,并计时。
本步骤中所述的针对卷号对应的卷文件的读写命令可例如为图3所示的读写命令1。
步骤503:网络磁盘组件1022从虚拟机监视器1021接收该读写命令,并根据卷号与物理磁盘的IO地址之间的关系获取物理磁盘的IO地址,产生对物理磁盘的IO地址进行操作的IO命令并发送至网络磁盘40。
其中,网络磁盘组件1022将对物理磁盘的IO地址进行操作的IO命令封装到网络报文,该网络报文的目的地址为网络磁盘的网络地址,网络磁盘组件1022通过物理网卡驱动1023提供的接口控制物理网卡1031将网络报文发送至网络30,使得该网络报文经由网络30被发送至网络磁盘40。
本步骤中所述的对物理磁盘的IO地址进行操作的IO命令可例如为图3所示的IO1’,根据图3可知,IO1’在网络磁盘组件1022正常工作,且网络磁盘组件1022所在服务器10与网络磁盘40之间的通信链路状态正常时,可顺利发送至网络磁盘40。
步骤504:网络磁盘40对物理磁盘的IO地址进行IO操作,并返回响应信息至网络磁盘组件1022。
其中,网络磁盘40将响应信息封装到网络报文,该网络报文的目的地址为服务器10的网络地址,网络磁盘40通过网络30发送至服务器10,网络磁盘组件1022通过物理网卡驱动1023提供的接口从物理网卡1031接收该网络报文,并解析出响应信息。
本步骤中所述的响应信息可例如为图3所示的从网络磁盘40发送至网络磁盘组件1022的响应信息1。
步骤505:网络磁盘组件1022将响应信息发送至虚拟机监视器1021。
本步骤中所述的响应信息可例如为图3所示的从网络磁盘组件1022发送至虚拟机监视器1021的响应信息1。
步骤506:虚拟机监视器1021接收响应信息,并判断计时的时间是否超出预设时间段。
步骤507:虚拟机监视器1021判断到计时的时间没有超出预设时间段,将响应信息发送至文件系统1013。
由于文件系统1013在预定时间段内将响应信息发送至应用程序1011,因此,对于应用程序1011而言,相当于直接从虚拟磁盘1012进行读写,并获取到相应的响应信息。
本步骤中所述的响应信息可例如为图3所示的从虚拟机监视器1021发送至文件系统1013的响应信息1,根据图3可知,文件系统1013在网络磁盘组件1022正常,且在服务器10与网络磁盘40之间的通信链路状态正常时,可顺利接收到响应信息1,从而完成网络读写操作。
值得注意的是,图3还示出虚拟机201的应用程序2011读取虚拟磁盘2012的数据流向,于此假设网络磁盘组件2022的工作状态正常并且服务器20与网络磁盘40之间的通信链路状态正常,在此前提下,虚拟机201在对虚拟机磁盘2012进行读写操作时,其数据流向与上述类似,故于此不作赘述。
以下请参见图4,图4是根据本发明实施例的存储系统的另一数据交互图,图4示出在图2的步骤502中,在虚拟机监视器1021计时的时间超出预定时间段时仍没有接收到网络磁盘组件1022发送的响应信息的情况:
步骤601:虚拟机101的应用程序1011访问虚拟磁盘1012时,文件系统1013产生对虚拟磁盘1012的IO地址进行操作的IO命令,并发送该IO命令至虚拟机监视器1021。
其中,应用程序1011访问虚拟磁盘1012时,产生对用户文件进行操作的文件命令,此时文件系统1013接收到对用户文件进行操作的文件命令。
根据先前描述,文件系统1013管理用户文件与虚拟磁盘1012的IO地址的对应关系,故文件系统1013可根据上述对应关系将对用户文件进行操作的文件命令转换为对虚拟磁盘1012的IO地址进行操作的IO命令。
举例而言,可结合图3进行参考,其中本步骤所述的对虚拟磁盘1012的IO地址进行操作的IO命令为图3所示的IO1。
步骤602:虚拟机监视器1021从文件系统1013接收对虚拟磁盘1012的IO地址进行操作的IO命令,并根据虚拟磁盘1012的IO地址与网络磁盘40分配至虚拟机101的卷文件的卷号之间的对应关系获取与该IO命令对应的卷号,产生针对该卷号对应的卷文件的读写命令,并发送该读写命令至网络磁盘组件1022,并计时。
举例而言,本步骤中所述的针对卷号对应的卷文件的读写命令为图3所示的读写命令1。
步骤603:虚拟机监视器1021在计时的时间超出预定时间段仍没有从网络磁盘组件1022接收到响应信息时,确定读写指令执行失败,产生通知信息,并发送通知信息至监控装置1024。
步骤604:监控装置1024检测网络磁盘组件1022的工作状态,并检测服务器10与网络磁盘40之间的通信链路状态,任一者出现异常时,构造异常信息,发送异常信息至管理装置50。
具体地,监控装置1024通过物理网卡驱动1023提供的接口控制物理网卡1031发送网络报文至管理装置50,该网络报文携带有异常信息,该异常信息包括第一网络地址,第一网络地址为服务器10的网络地址。
步骤605:管理装置50查找服务器集群100中与网络磁盘40的通信链路状态正常的服务器20的第二网络地址,根据第一网络地址和第二网络地址将虚拟机101迁移至服务器20。
在本步骤中,管理装置50可查询维护列表,假设在当前时间维护列表刷新为表2所示:
服务器网络地址 状态 时延
192.168.121.1 0 0
192.168.121.2 1 42ms
192.168.121.3 1 90ms
…… …… ……
表2
值得注意的是,维护列表是定期更新的,因此表2与上述表1不同,管理装置50通过查询表2(当前状态的维护列表)可知服务器20与网络磁盘40之间的通信链路状态正常,且时延最短,因此选择服务器20作为虚拟机101的迁移对象。
具体而言,在迁移过程中,除将第一虚拟机101的配置信息、相关数据从服务器10的内存迁移到第二服务器的内存外,还需将针对卷号对应的卷文件的读写命令迁移至虚拟机监视器2021。
进一步地,在迁移过程中,虚拟机监视器1021中记录的虚拟磁盘1012的IO地址与网络磁盘40分配至虚拟机101的卷文件的卷号之间的对应关系也会迁移至至虚拟机监视器2021。
其中,迁移虚拟机后的存储系统的系统结构示意图可参见图5,如图5所示,迁移后的虚拟机101设置于服务器20,并运行在虚拟机监视器2021上。
以下请参见图6,图6是根据本发明实施例的存储系统的另一数据交互图,图6承接于图4,由于在图4的步骤605中,虚拟机101被迁移至服务器20,因此在图6中,虚拟机101的文件系统1013转而为设置在服务器20中。步骤606:虚拟机监视器2021在迁移过程中获取对卷文件的读写命令,并发送读写命令至网络磁盘组件2022。
具体地,监控装置1024从虚拟机监视器1021获取读写命令和虚拟磁盘1012的IO地址与网络磁盘40分配至虚拟机101的卷文件的卷号之间的对应关系,并将读写命令和该对应关系封装到网络报文发送至服务器20,并由监控装置2024发送读写命令和该对应关系至虚拟机监视器2021。
为便于理解,可结合图7进行参考,图7是本发明实施例的存储系统在虚拟机迁移后的另一系统结构示意图,其中本步骤所述的对卷文件的读写命令可例如为图7所示读写命令1,如图7所示,读写命令1被迁移至虚拟机监视器2021。
步骤607:网络磁盘组件2022将对卷文件的读写命令转换为对物理磁盘的IO地址进行读写的IO命令并发送至网络磁盘40。
在本步骤中,基于以上描述,由于网络磁盘组件2022与网络磁盘组件1022均记录有网络磁盘40分配至服务器集群中的所有虚拟机的卷文件的卷号与该卷文件对应的物理磁盘的IO地址之间的对应关系,因此网络磁盘组件2022在获取到对卷文件的读写命令后,通过查询上述关系可获知卷文件对应的物理磁盘的IO地址,从而可产生对物理磁盘的IO地址进行读写的IO命令。并且,网络磁盘组件2022通过物理网卡驱动2023提供的接口控制物理网卡2031发送网络报文至管理装置50,其中该网络报文携带有对物理磁盘的IO地址进行读写的IO命令。
本步骤所述的IO命令可例如为图7所示的IO1’。
步骤608:网络磁盘40接收网络报文,根据IO命令对物理磁盘进行IO操作,根据操作结果产生响应信息并发送至网络磁盘组件2022。
具体地,网络磁盘40将响应信息封装到网络报文并发送至网络30,其中该网络报文的目的地址为第二网络地址(第二网络地址为服务器20的网络地址),网络磁盘组件2022通过物理网卡驱动2023提供的接口控制物理网卡2031接收该网络报文,并解析以获取响应信息。
本步骤中所述的响应信息可例如为图7中由网络磁盘40发送至网络磁盘组件2022的响应信息1。
步骤609:网络磁盘组件2022将响应信息发送至虚拟机监视器2021。
本步骤中所述的响应信息可例如为图7中由网络磁盘组件1022发送至虚拟机监视器2021的响应信息1。
步骤610:虚拟机监视器2021将响应信息发送至应用程序1011的文件系统1013。
本步骤中所述的响应信息可例如为图7中由虚拟机监视器2021发送至文件系统1013的响应信息1。
在本发明实施例中,应用程序1011在访问虚拟磁盘1012时,若网络磁盘组件1022的工作状态出现异常,或服务器10与网络磁盘40之间的通信链路状态异常,通过将虚拟机101迁移至服务器20,并且在迁移过程中将对卷号对应的卷文件的读写命令一并迁移至服务器20的虚拟机监视器2021中,由虚拟机监视器2021将读写命令发送至网络磁盘组件2022,由于网络磁盘组件2022与网络磁盘组件1022均记录了网络磁盘40分配至服务器集群100中的所有虚拟机的卷文件的卷号与该卷文件对应的物理磁盘的IO地址之间的对应关系,故网络磁盘组件2022可将读写命令转换为对应的IO命令并发送网络磁盘40,从而可确保应用程序1011在所在虚拟机101迁移至服务器20后仍可正常访问网络磁盘40。可克服因IO命令不能得到处理而造成业务中断的技术问题。
本发明进一步揭示一种IO命令的处理方法,具体请参见图8,图8是根据本发明实施例的IO命令的处理方法的流程图,该方法应用于服务器10,服务器10包括虚拟机101、虚拟机监视器1021、网络磁盘组件1022以及监控装置1024,服务器10设置于服务器集群100中,服务器集群100由管理装置50进行管理,服务器集群100经由网络30与网络磁盘40连接,服务器10通过网络磁盘组件1022访问网络磁盘40,虚拟机101设置有应用程序1011、文件系统1013以及虚拟磁盘1012,该方法包括:
步骤701:应用程序1011产生对文件系统1013的用户文件进行操作的文件命令;
步骤702:文件系统1013根据文件命令产生对虚拟磁盘1012的IO地址进行操作的IO命令;
可选地,文件系统1013管理文件系统1013中的用户文件与虚拟磁盘1012的IO地址的对应关系,在步骤702中,文件系统1013根据文件系统1013中的用户文件与虚拟磁盘1012的IO地址的对应关系将文件命令转换为虚拟磁盘1012的IO地址进行操作的IO命令。
步骤703:虚拟机监视器1021根据对虚拟磁盘1012的IO地址进行操作的IO命令产生对网络磁盘40中的卷文件的读写指令,发送读写指令至网络磁盘组件1022,当确定读写指令执行失败时发送通知信息至监控装置1024;
可选地,虚拟机监视器1021记录有虚拟磁盘1012的IO地址与网络磁盘40分配至虚拟机101的卷文件的卷号之间的对应关系,在步骤703中,虚拟机监视器1021根据虚拟磁盘1012的IO地址与网络磁盘40分配至虚拟机101的卷文件的卷号之间的对应关系获取虚拟磁盘1012的IO地址对应的卷文件的卷号,虚拟机101根据卷文件的卷号产生对网络磁盘40中的卷文件的读写指令。
步骤704:监控装置1024接收通知消息根据通知消息构造异常信息,并发送异常信息至管理装置50,其中异常信息包括服务器10的网络地址,以使得管理装置50响应异常信息将虚拟机101迁移至服务器集群100中与网络磁盘40之间的通信链路状态正常的另一服务器20,并且,在迁移过程中,将对卷文件的读写指令发送至另一服务器20的虚拟机监视器1021。
可选地,在步骤704中,监控装置1024根据通知消息检测网络磁盘组件1022的工作状态以及服务器10与网络磁盘40之间的通信链路状态,在网络磁盘组件1022的工作状态异常,或服务器10与网络磁盘40之间的通信链路状态异常时,构造异常信息。
在本发明实施例中,当针对网络磁盘40的读写指令执行失败时,将本地虚拟机101迁移至与网络磁盘40之间的通信链路状态正常的另一服务器20,并且在迁移过程中,读写指令被迁移至所述另一服务器20的虚拟机监视器1021,故对卷文件的读写指令可经由另一服务器20的网络磁盘组件1022进行处理,从而实现与网络磁盘40进行通信。
可选地,网络磁盘组件1022记录有网络磁盘40分配至服务器集群100中的所有虚拟机101的卷文件的卷号与卷文件对应的物理磁盘的IO地址之间的对应关系。
本发明进一步揭示一种服务器10,具体请参见图9,图9是根据本发明实施例的服务器的装置结构示意图,如图9所示,
服务器10包括存储器802、处理器801和总线803,存储器802和处理器801分别与总线803连接,存储器802存储有程序指令,处理器801执行存储器802中的程序指令以实现虚拟机101、虚拟机监视器1021、网络磁盘组件1022以及监控装置1024的功能,虚拟机101设置有应用程序1011、文件系统1013和虚拟磁盘1012,其中:
处理器801执行存储器802中的第一程序指令以执行步骤:应用程序1011产生对文件系统1013的用户文件进行操作的文件命令;
处理器801执行存储器802中的第二程序指令以执行步骤:文件系统1013根据文件命令产生对虚拟磁盘1012的IO地址进行操作的IO命令;
可选地,文件系统1013管理文件系统1013中的用户文件与虚拟磁盘1012的IO地址的对应关系,在上述步骤中,文件系统1013根据文件系统1013中的用户文件与虚拟磁盘1012的IO地址的对应关系将文件命令转换为虚拟磁盘1012的IO地址进行操作的IO命令。
处理器801执行存储器802中的第三程序指令以执行步骤:虚拟机监视器1021根据对虚拟磁盘1012的IO地址进行操作的IO命令产生对网络磁盘40中的卷文件的读写指令,发送读写指令至网络磁盘组件1022,当确定读写指令执行失败时发送通知信息至监控装置1024;
可选地,虚拟机监视器1021记录有虚拟磁盘1012的IO地址与网络磁盘40分配至虚拟机101的卷文件的卷号之间的对应关系,处理器801执行存储器802中的第三程序指令以执行步骤:虚拟机监视器1021根据虚拟磁盘1012的IO地址与网络磁盘40分配至虚拟机101的卷文件的卷号之间的对应关系获取虚拟磁盘1012的IO地址对应的卷文件的卷号,虚拟机101根据卷文件的卷号产生对网络磁盘40中的卷文件的读写指令。
处理器801执行存储器802中的第四程序指令以执行步骤:监控装置1024接收通知消息根据通知消息构造异常信息,并发送异常信息至管理装置50,其中异常信息包括服务器10的网络地址,以使得管理装置50响应异常信息将虚拟机101迁移至服务器集群100中与网络磁盘40之间的通信链路状态正常的另一服务器20,并且,在迁移过程中,将对卷文件的读写指令发送至另一服务器20的虚拟机监视器1021。
可选地,处理器801执行存储器802中的第四程序指令以执行步骤:监控装置1024根据通知消息检测网络磁盘组件1022的工作状态以及服务器10与网络磁盘40之间的通信链路状态,在网络磁盘组件1022的工作状态异常,或服务器10与网络磁盘40之间的通信链路状态异常时,构造异常信息。
可选地,网络磁盘组件1022记录有网络磁盘40分配至服务器集群100中的所有虚拟机101的卷文件的卷号与卷文件对应的物理磁盘的IO地址之间的对应关系。
在本发明实施例中,当针对网络磁盘40的读写指令执行失败时,将本地虚拟机101迁移至与网络磁盘40之间的通信链路状态正常的另一服务器20,并且在迁移过程中,读写指令被迁移至所述另一服务器20的虚拟机监视器1021,故对卷文件的读写指令可经由另一服务器20的网络磁盘组件1022进行处理,从而实现与网络磁盘40进行通信。
需说明的是,以上描述的任意装置实施例都仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
所属领域的技术人员可以清楚地了解到,上述描述的系统、装置或单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (21)

1.一种存储系统,其特征在于,包括通过网络连接的服务器集群、网络磁盘以及管理装置,所述服务器集群包括第一服务器和第二服务器:
所述第一服务器,包括第一网络磁盘组件、第一虚拟机、第一虚拟机监视器、监控装置,其中,
所述第一服务器通过所述第一网络磁盘组件访问所述网络磁盘;
所述第一虚拟机设置有应用程序、文件系统以及虚拟磁盘,所述应用程序用于产生对所述文件系统的用户文件进行操作的文件命令,所述文件系统用于根据所述文件命令产生对所述虚拟磁盘的IO地址进行操作的IO命令;
所述第一虚拟机监视器用于根据对所述虚拟磁盘的IO地址进行操作的IO命令产生对所述网络磁盘中的卷文件的读写指令,发送所述读写指令至所述第一网络磁盘组件,当确定所述读写指令执行失败时发送通知信息至监控装置;
所述监控装置用于接收所述通知信息,根据所述通知消息构造异常信息,并发送所述异常信息至所述管理装置,其中所述异常信息包括所述第一服务器的网络地址;
所述管理装置,用于响应所述异常信息将所述虚拟机迁移至所述服务器集群中与所述网络磁盘之间的通信链路状态正常的第二服务器,并且,在迁移过程中,将所述对卷文件的读写指令发送至所述第二服务器的第二虚拟机监视器;
所述第二服务器,包括第二虚拟机监视器和第二网络磁盘组件,其中,
所述第二虚拟机监视器用于将所述读写指令发送至第二网络磁盘组件;
所述第二网络磁盘组件用于根据所述读写指令产生对所述网络磁盘中的物理磁盘的IO地址进行读写的IO命令,并发送所述对所述网络磁盘中的物理磁盘的IO地址进行读写的IO命令至所述网络磁盘。
2.根据权利要求1所述的存储系统,其特征在于,所述监控装置具体用于根据通知消息检测所述第一网络磁盘组件的工作状态以及所述第一服务器与所述网络磁盘之间的通信链路状态,在所述网络磁盘组件的工作状态异常,或所述第一服务器与所述网络磁盘之间的通信链路状态异常时,构造所述异常信息。
3.根据权利要求1所述的存储系统,其特征在于,所述文件系统管理所述文件系统中的用户文件与所述虚拟磁盘的IO地址的对应关系。
4.根据权利要求1所述的存储系统,其特征在于,所述虚拟机监视器记录有所述虚拟磁盘的IO地址与所述网络磁盘分配至所述虚拟机的卷文件的卷号之间的对应关系。
5.根据权利要求1所述的存储系统,其特征在于,所述第一网络磁盘组件和所述第二网络磁盘组件均记录有所述网络磁盘分配至所述服务器集群中的所有虚拟机的卷文件的卷号与所述卷文件对应的物理磁盘的IO地址之间的对应关系。
6.一种IO命令的处理方法,其特征在于,所述方法应用于存储系统,所述存储系统包括第一服务器、第二服务器、网络磁盘以及管理装置,所述第一服务器设置有第一虚拟机、第一网络磁盘组件、第一虚拟机监视器以及监控装置,所述第一虚拟机设置有虚拟磁盘,所述第一服务器通过所述第一网络磁盘组件访问所述网络磁盘,所述第二服务器设置有第二虚拟机监视器和第二网络磁盘组件,所述方法包括:
所述第一虚拟机产生对所述虚拟磁盘的IO地址进行操作的IO命令;
第一虚拟机监视器根据对所述虚拟磁盘的IO地址进行操作的IO命令产生对所述网络磁盘中的卷文件的读写指令,发送所述读写指令至所述第一网络磁盘组件当确定所述读写指令执行失败时发送通知信息至所述监控装置;
所述监控装置接收所述通知信息,根据所述通知消息构造异常信息,并发送所述异常信息至所述管理装置,其中所述异常信息包括所述第一服务器的网络地址;
所述管理装置响应所述异常信息将所述虚拟机迁移至所述服务器集群中与所述网络磁盘之间的通信链路状态正常的第二服务器,并且,在迁移过程中,将所述对卷文件的读写指令发送至所述第二服务器的第二虚拟机监视器;
所述第二虚拟机监视器将所述读写指令发送至第二网络磁盘组件;
所述第二网络磁盘组件根据所述读写指令产生对所述网络磁盘中的物理磁盘的IO地址进行读写的IO命令,并发送所述对所述网络磁盘中的物理磁盘的IO地址进行读写的IO命令至所述网络磁盘。
7.根据权利要求6所述的方法,其特征在于,所述监控装置接收所述通知信息,根据所述通知消息构造异常信息的步骤具体包括:
所述监控装置根据所述通知消息检测所述第一网络磁盘组件的工作状态以及所述第一服务器与所述网络磁盘之间的通信链路状态,在所述第一网络磁盘组件的工作状态异常,或所述第一服务器与所述网络磁盘之间的通信链路状态异常时,构造所述异常信息。
8.根据权利要求6所述的方法,其特征在于,所述第一虚拟机还设置有应用程序和文件系统,所述文件系统管理所述文件系统中的用户文件与所述虚拟磁盘的IO地址的对应关系,所述第一虚拟机产生对所述虚拟磁盘的IO地址进行操作的IO命令的步骤具体包括:
所述应用程序用于产生对所述文件系统的用户文件进行操作的文件命令;
所述文件系统根据所述文件系统中的用户文件与所述虚拟磁盘的IO地址的对应关系将所述文件命令转换为所述虚拟磁盘的IO地址进行操作的IO命令。
9.根据权利要求6所述的方法,其特征在于,所述虚拟机监视器记录有所述虚拟磁盘的IO地址与所述网络磁盘分配至所述虚拟机的卷文件的卷号之间的对应关系,所述第一虚拟机监视器根据对所述虚拟磁盘的IO地址进行操作的IO命令产生对所述网络磁盘中的卷文件的读写指令的步骤具体包括:
所述第一虚拟机监视器根据所述虚拟磁盘的IO地址与所述网络磁盘分配至所述虚拟机的卷文件的卷号之间的对应关系获取所述所述虚拟磁盘的IO地址对应的卷文件的卷号;
所述第一虚拟机根据所述卷文件的卷号产生对所述网络磁盘中的卷文件的读写指令。
10.根据权利要求6所述的方法,其特征在于,所述第一网络磁盘组件和所述第二网络磁盘组件均记录有所述网络磁盘分配至所述服务器集群中的所有虚拟机的卷文件的卷号与所述卷文件对应的物理磁盘的IO地址之间的对应关系。
11.一种服务器,其特征在于,包括虚拟机、虚拟机监视器、网络磁盘组件以及监控装置,所述服务器设置于服务器集群中,所述服务器集群由管理装置进行管理,所述服务器集群经由网络与网络磁盘连接,所述服务器通过所述网络磁盘组件访问网络磁盘,所述虚拟机设置有应用程序、文件系统以及虚拟磁盘,其中:
所述应用程序,用于产生对所述文件系统的用户文件进行操作的文件命令;
所述文件系统,用于根据所述文件命令产生对所述虚拟磁盘的IO地址进行操作的IO命令;
所述虚拟机监视器,用于根据对所述虚拟磁盘的IO地址进行操作的IO命令产生对所述网络磁盘中的卷文件的读写指令,发送所述读写指令至所述网络磁盘组件,当确定所述读写指令执行失败时发送通知信息至所述监控装置;
所述监控装置,用于接收所述通知消息根据所述通知消息构造异常信息,并发送所述异常信息至所述管理装置,其中所述异常信息包括所述服务器的网络地址,以使得所述管理装置响应所述异常信息将所述虚拟机迁移至所述服务器集群中与所述网络磁盘之间的通信链路状态正常的另一服务器,并且,在迁移过程中,将所述对卷文件的读写指令发送至所述另一服务器的虚拟机监视器。
12.根据权利要求11所述的服务器,其特征在于,所述监控装置具体用于根据通知消息检测所述网络磁盘组件的工作状态以及所述服务器与所述网络磁盘之间的通信链路状态,在所述网络磁盘组件的工作状态异常,或所述服务器与所述网络磁盘之间的通信链路状态异常时,构造所述异常信息。
13.根据权利要求11所述的服务器,其特征在于,所述文件系统管理所述文件系统中的用户文件与所述虚拟磁盘的IO地址的对应关系。
14.根据权利要求11所述的服务器,其特征在于,所述虚拟机监视器记录有所述虚拟磁盘的IO地址与所述网络磁盘分配至所述虚拟机的卷文件的卷号之间的对应关系。
15.根据权利要求11所述的服务器,其特征在于,所述网络磁盘组件记录有所述网络磁盘分配至所述服务器集群中的所有虚拟机的卷文件的卷号与所述卷文件对应的物理磁盘的IO地址之间的对应关系。
16.一种IO命令的处理方法,其特征在于,所述方法应用于服务器,所述服务器包括虚拟机、虚拟机监视器、网络磁盘组件以及监控装置,所述服务器设置于服务器集群中,所述服务器集群由管理装置进行管理,所述服务器集群经由网络与网络磁盘连接,所述服务器通过所述网络磁盘组件访问网络磁盘,所述虚拟机设置有应用程序、文件系统以及虚拟磁盘,所述方法包括:
所述应用程序产生对所述文件系统的用户文件进行操作的文件命令;
所述文件系统根据所述文件命令产生对所述虚拟磁盘的IO地址进行操作的IO命令;
所述虚拟机监视器根据对所述虚拟磁盘的IO地址进行操作的IO命令产生对所述网络磁盘中的卷文件的读写指令,发送所述读写指令至所述网络磁盘组件,当确定所述读写指令执行失败时发送通知信息至所述监控装置;
所述监控装置接收所述通知消息根据所述通知消息构造异常信息,并发送所述异常信息至所述管理装置,其中所述异常信息包括所述服务器的网络地址,以使得所述管理装置响应所述异常信息将所述虚拟机迁移至所述服务器集群中与所述网络磁盘之间的通信链路状态正常的另一服务器,并且,在迁移过程中,将所述对卷文件的读写指令发送至所述另一服务器的虚拟机监视器。
17.根据权利要求16所述的方法,其特征在于,所述监控装置接收所述通知信息,根据所述通知消息构造异常信息的步骤具体包括:
所述监控装置根据所述通知消息检测所述网络磁盘组件的工作状态以及所述服务器与所述网络磁盘之间的通信链路状态,在所述网络磁盘组件的工作状态异常,或所述服务器与所述网络磁盘之间的通信链路状态异常时,构造所述异常信息。
18.根据权利要求16所述的方法,其特征在于,所述文件系统管理所述文件系统中的用户文件与所述虚拟磁盘的IO地址的对应关系,所述虚拟机产生对所述虚拟磁盘的IO地址进行操作的IO命令的步骤具体包括:
所述文件系统根据所述文件系统中的用户文件与所述虚拟磁盘的IO地址的对应关系将所述文件命令转换为所述虚拟磁盘的IO地址进行操作的IO命令。
19.根据权利要求16所述的方法,其特征在于,所述虚拟机监视器记录有所述虚拟磁盘的IO地址与所述网络磁盘分配至所述虚拟机的卷文件的卷号之间的对应关系,所述虚拟机监视器根据对所述虚拟磁盘的IO地址进行操作的IO命令产生对所述网络磁盘中的卷文件的读写指令的步骤具体包括:
所述虚拟机监视器根据所述虚拟磁盘的IO地址与所述网络磁盘分配至所述虚拟机的卷文件的卷号之间的对应关系获取所述所述虚拟磁盘的IO地址对应的卷文件的卷号;
所述虚拟机根据所述卷文件的卷号产生对所述网络磁盘中的卷文件的读写指令。
20.根据权利要求16所述的方法,其特征在于,所述网络磁盘组件记录有所述网络磁盘分配至所述服务器集群中的所有虚拟机的卷文件的卷号与所述卷文件对应的物理磁盘的IO地址之间的对应关系。
21.一种服务器,包括存储器、处理器和总线,所述存储器和所述处理器分别与所述总线连接,所述存储器存储有程序指令,所述处理器执行所述存储器的所述程序指令以实现设置在所述服务器上的虚拟机、虚拟机监视器、网络磁盘组件以及监控装置的功能,所述虚拟机设置有应用程序、文件系统和虚拟磁盘,其中:
所述处理器执行所述存储器中的第一程序指令以执行步骤:所述应用程序产生对文件系统的用户文件进行操作的文件命令;
所述处理器执行存储器中的第二程序指令以执行步骤:所述文件系统根据所述文件命令产生对所述虚拟磁盘的IO地址进行操作的IO命令;
所述处理器执行所述存储器中的第三程序指令以执行步骤:所述虚拟机监视器根据对所述虚拟磁盘的IO地址进行操作的IO命令产生对网络磁盘中的卷文件的读写指令,发送读写指令至所述网络磁盘组件,当确定读写指令执行失败时发送通知信息至所述监控装置;
处理器执行所述存储器中的第四程序指令以执行步骤:所述监控装置接收所述通知消息,根据所述通知消息构造异常信息,并发送所述异常信息至管理装置,其中异常信息包括所述服务器的网络地址,以使得所述管理装置响应所述异常信息将所述虚拟机迁移至服务器集群中与所述网络磁盘之间的通信链路状态正常的另一服务器,并且,在迁移过程中,将所述对卷文件的读写指令发送至所述另一服务器的虚拟机监视器。
CN201710175695.0A 2017-03-22 2017-03-22 服务器、存储系统及相关方法 Active CN107147516B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710175695.0A CN107147516B (zh) 2017-03-22 2017-03-22 服务器、存储系统及相关方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710175695.0A CN107147516B (zh) 2017-03-22 2017-03-22 服务器、存储系统及相关方法

Publications (2)

Publication Number Publication Date
CN107147516A CN107147516A (zh) 2017-09-08
CN107147516B true CN107147516B (zh) 2020-04-28

Family

ID=59783612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710175695.0A Active CN107147516B (zh) 2017-03-22 2017-03-22 服务器、存储系统及相关方法

Country Status (1)

Country Link
CN (1) CN107147516B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145304B (zh) * 2017-03-23 2020-07-07 华为技术有限公司 服务器、存储系统及相关方法
CN109714229B (zh) * 2018-12-27 2020-09-04 山东超越数控电子股份有限公司 一种分布式存储系统的性能瓶颈定位方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185774A (zh) * 2011-05-10 2011-09-14 中兴通讯股份有限公司 虚拟机无缝迁移的方法、管理器及系统
CN103136114A (zh) * 2011-11-30 2013-06-05 华为技术有限公司 存储方法及存储装置
CN105144119A (zh) * 2013-05-08 2015-12-09 株式会社日立制作所 存储系统及数据管理方法
CN106445730A (zh) * 2016-07-22 2017-02-22 平安科技(深圳)有限公司 一种提高虚拟机性能的方法和终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10536357B2 (en) * 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185774A (zh) * 2011-05-10 2011-09-14 中兴通讯股份有限公司 虚拟机无缝迁移的方法、管理器及系统
CN103136114A (zh) * 2011-11-30 2013-06-05 华为技术有限公司 存储方法及存储装置
CN105144119A (zh) * 2013-05-08 2015-12-09 株式会社日立制作所 存储系统及数据管理方法
CN106445730A (zh) * 2016-07-22 2017-02-22 平安科技(深圳)有限公司 一种提高虚拟机性能的方法和终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
新一代电信IT系统容灾技术方案研究与策略分析;龚德志,石屹嵘;《电信科学》;20130620;第145-150页 *

Also Published As

Publication number Publication date
CN107147516A (zh) 2017-09-08

Similar Documents

Publication Publication Date Title
US9448899B2 (en) Method, apparatus and system for switching over virtual application two-node cluster in cloud environment
JP4980792B2 (ja) 仮想計算機の性能監視方法及びその方法を用いた装置
US8874954B1 (en) Compatibility of high availability clusters supporting application failover with shared storage in a virtualization environment without sacrificing on virtualization features
US9489274B2 (en) System and method for performing efficient failover and virtual machine (VM) migration in virtual desktop infrastructure (VDI)
US8171349B2 (en) Associating a monitoring manager with an executable service in a virtual machine migrated between physical machines
US10656877B2 (en) Virtual storage controller
US9912535B2 (en) System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI)
US20110196968A1 (en) Computer system, resource management server for computer system, and resource management method for computer system
CN107145304B (zh) 服务器、存储系统及相关方法
KR20140055451A (ko) 하이퍼바이저 기반 서버 이중화 시스템, 그 방법 및 서버 이중화 컴퓨터 프로그램이 기록된 기록매체
WO2013157072A1 (ja) 計算機システム、リソース管理方法及び管理計算機
CN112199240B (zh) 一种节点故障时进行节点切换的方法及相关设备
US8990608B1 (en) Failover of applications between isolated user space instances on a single instance of an operating system
KR20170055180A (ko) 멀티 운영시스템을 지닌 전자장치 및 이의 동적 메모리 관리 방법
CN107147516B (zh) 服务器、存储系统及相关方法
US20110239038A1 (en) Management apparatus, management method, and program
US7500051B2 (en) Migration of partitioned persistent disk cache from one host to another
JP5597293B2 (ja) 計算機システム及びプログラム
JP2013191090A (ja) バックアップ制御プログラム、バックアップ制御方法、および情報処理装置
US20200186423A1 (en) Intelligent node faceplate and server rack mapping
US10454773B2 (en) Virtual machine mobility
US9274905B1 (en) Configuration tests for computer system
CN104618191A (zh) 一种主机与裸存储块之间的通信故障检测方法和装置
CN108334401B (zh) 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法
CN112527192B (zh) 数据获取方法、装置及服务设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220224

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right