访问文件的方法和装置的制造方法

文档序号:9929636阅读:213来源:国知局
访问文件的方法和装置的制造方法
【技术领域】
[0001]本发明涉及信息技术领域,并且更具体地,涉及一种访问文件的方法和装置。
【背景技术】
[0002]集群文件系统或者分布式文件系统中的多个主机通过交换机连接在一起形成一个可以互通的网络,多个主机之间对共享资源进行访问采用的是互斥访问的模式,例如多个主机同时写一个文件,这时候要用分布式锁保证互斥。只有当一个主机写完后,释放锁,其他主机才能继续写。但是如果出现主机网卡故障或者交换机端口故障网络故障或者软件故障时,有可能那个造成集群文件系统被分割成两个或多个子网络,在子网络内的网络是互通的,但是在各个分割的网络间是不互通的。
[0003]现有技术中,当集群文件系统发生网络分割时,为了保证集群文件系统不挂住,必须把一部分的服务器剔除集群文件系统,那么被剔除出集群文件系统的主机上的应用就不能访问集群文件系统,从而导致业务中断,业务为了保证连续性,只能关闭虚拟机,然后再在其他主机上启动虚拟机,因此,在网络发生分割时访问集群文件系统的可靠性降低。

【发明内容】

[0004]本发明实施例提供一种访问文件的方法和装置,能够提高网络发生分割时,访问文件系统的可靠性。
[0005]第一方面,提供了一种访问文件的方法,该方法包括:确定文件系统处于网络分割状态,所述文件系统运行在多个主机上,所述网络分割状态指示所述文件系统被划分为至少两个分区,所述至少两个分区之间的网络不通;接收第一文件的访问请求;获取所述访问请求对应的第一主机标识;确定所述第一主机标识与所述文件系统中为所述第一文件预配置的第二主机标识一致;访问所述第一文件。
[0006]结合第一方面,在第一方面的第一种实现方式中,在所述确定文件系统处于网络分割状态之前,所述方法还包括:在所述文件系统的整个磁盘空间中,分别为所述多个主机中的每个主机预先分配所述每个主机对应的磁盘空间。
[0007]结合第一方面及其上述实现方式,在第一方面的第二种实现方式中,所述第一文件的访问请求为写入请求,在所述访问所述第一文件之前,所述方法还包括:确定所述文件系统的整个磁盘空间中所述第一主机对应的磁盘空间的剩余空间不小于写入所述第一文件所需的磁盘空间;所述访问所述第一文件,包括:在所述第一主机的所述剩余空间为写入所述第一文件分配第一磁盘空间;在所述第一磁盘空间写入所述第一文件。
[0008]结合第一方面及其上述实现方式,在第一方面的第三种实现方式中,所述在所述文件系统的整个磁盘空间中,分别为所述多个主机中的每个主机预先分配所述每个主机对应的磁盘空间,包括:将所述整个磁盘空间平均分配给所述每个主机;或根据所述每个主机上的虚拟机的磁盘空间的大小,分别为所述每个主机分配相应的磁盘空间。
[0009]结合第一方面及其上述实现方式,在第一方面的第四种实现方式中,所述将所述整个磁盘空间平均分配给所述每个主机,包括:若所述N能被M整除,为所述M个主机中的每个主机分配N/M个磁盘块;或若所述N不能被M整除,为所述M个主机中的a个主机分配b+Ι个磁盘块,为剩余的M-a个主机中的每个主机分配b个磁盘块;其中,所述M为所述多个主机包括的主机的数量,所述N为所述整个磁盘空间包括的磁盘块的数量,a为N对M取余得到的整数,b*N对M取整得到的整数。
[0010]结合第一方面及其上述实现方式,在第一方面的第五种实现方式中,所述根据所述每个主机上的虚拟机的磁盘空间的大小,分别为所述每个主机分配相应的磁盘空间,包括:若所述每个主机的虚拟机的磁盘空间的大小的总和大于所述整个磁盘空间的大小,按照所述每个主机的虚拟机的磁盘空间的大小的比例,分别为所述每个主机分配相应的磁盘空间;或若所述每个主机的虚拟机的磁盘空间的大小不大于所述整个磁盘空间的大小,为所述每个主机分配的磁盘空间的大小为所述每个主机上的虚拟机的磁盘空间的大小。
[0011]结合第一方面及其上述实现方式,在第一方面的第六种实现方式中,所述确定所述文件系统处于网络分割状态,包括:若第三主机接收不到第四主机发送的网络心跳的时间大于第一时间阈值,确定所述文件系统处于网络分割状态,所述第三主机和所述第四主机为所述多个主机中的两个不同的主机。
[0012]结合第一方面及其上述实现方式,在第一方面的第七种实现方式中,在所述确定文件系统处于网络分割状态之后,所述方法还包括:
[0013]将所述多个主机中的每个主机的状态配置为本地文件系统状态;
[0014]在确定第一主机已加锁第二文件,且所述文件系统中为所述第二文件预配置的主机标识指示的第二主机与所述第一主机位于网络不通的两个分区时,解锁所述第二文件的文件锁。
[0015]结合第一方面及其上述实现方式,在第一方面的第八种实现方式中,所述第二主机在确定所述第一主机对所述第二文件解锁成功后,对所述第二文件进行加锁。
[0016]结合第一方面及其上述实现方式,在第一方面的第九种实现方式中,所述方法还包括:为所述文件系统中的文件预配置相应的主机标识,所述主机标识指示在所述文件系统处于网络分割状态时,所述主机标识指示的主机能够访问所述文件。
[0017]第二方面,提供了一种访问文件的装置,用于执行第一方面或第一方面的任一种实现方式中的方法。
[0018]具体地,该装置可以包括用于执行第一方面或第一方面的任一种实现方式中的各模块。
[0019]第三方面,提供了一种访问文件的装置,包括收发器、处理器、存储器和总线系统,该收发器、该处理器和该存储器通过该总线系统相连,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行第一方面或第一方面的任一种实现方式中的方法。
[0020]本发明实施例的访问文件的方法和装置,在网络发生分割时,不是将主机踢除出文件系统,从而导致主机不能访问文件系统,而是可以允许与文件系统中为该文件预配置的主机标识一致的主机访问该文件,该预配置的主机标识指示的主机为经常访问该文件的主机,因此,即使在网络发生分割时,该主机也是可以访问该文件的,因此,提高了网络发生分割时,访问文件系统的可靠性。
【附图说明】
[0021]为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022]图1是本发明实施例所适用的系统的示意性框图;
[0023]图2是本发明实施例的访问文件的方法的示意性流程图;
[0024]图3是本发明另一实施例的访问文件的方法的示意性流程图;
[0025]图4是本发明再一实施例的访问文件的方法的示意性流程图;
[0026]图5是本发明实施例的访问文件的装置的示意性框图;
[0027]图6是本发明另一实施例的访问文件的装置的示意性框图。
【具体实施方式】
[0028]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029]应理解,本发明实施例的技术方案可以应用于各种文件系统,例如,基于存储区域网络(英文全称:Storage Area Network,简称:SAN)的集群文件系统,或基于本地磁盘的分布式文件系统等,本发明实施例对此不作限制。
[0030]为了简洁,本发明实施例以基于SAN的集群文件系统为例进行描述,但不应对本发明实施例构成任何限制。
[0031]首先介绍一下本发明实施例的访问文件的方法所适用的系统架构的示意图。需要理解的是,图1仅为方便理解的示意性说明图,并不限定该系统架构的组成模式。如图1所示,该系统架构可以包括:
[0032]主机110和/或主机120,主机110和/或主机120可以是物理主机、终端计算机等,本发明不做限定。
[0033]FC(Fiber Channel,光纤通道)交换机 130和/或IP( Internet Protocol,因特网协议)交换机140,FC交换机130和IP交换机140,用于将主机110和120输出的数据转发至对应的SAN侧。
[0034]FCSAN(Fiber Channel Storage Area Network,光纤通道存储区域网络)150,和/或IPSAN(Internet Protocol Storage Area Network,因特网协议存储区域网络)160。FCSAN150,通过光纤网络连接HBA卡/网卡、交换机和/或存储阵列。
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1