The application discloses a virtual address allocation method and device and a ctdb cluster and computer readable storage medium, the method includes: node allocation of virtual address based on the target correspondence; wherein, the target correspondence is the correspondence between virtual address and node; when the target node fault is detected, the virtual address mounted by the target node is allocated to Normal node; when the target node recovers, the virtual address corresponding to the target node is determined according to the target correspondence; the virtual address is migrated to the target node. The virtual address allocation method provided in the application can ensure that the virtual address held by the node before and after the failure is the same and realize fixed allocation by migrating the virtual address according to the target correspondence after the failure node recovers.
【技术实现步骤摘要】
一种虚拟地址分配方法、装置及CTDB集群和存储介质
本申请涉及计算机
,更具体地说,涉及一种虚拟地址分配方法、装置及一种CTDB集群和一种计算机可读存储介质。
技术介绍
CTDB是一套集群高可用管理软件,在CTDB启动过程中,会根据指定算法将虚拟地址平均且随机分配到集群每个节点上,当集群中的某些节点发生故障时CTDB会执行故障切换,将原先故障节点上分配的虚拟地址释放掉然后将该虚拟地址漂移到其他正常节点,相应的读写业务也会漂移到其他正常节点。当故障节点恢复并加入集群时,CTDB会随机选取其他节点上的虚拟地址分配到该节点上。可见,上述方案中无法保证节点故障前持有的虚拟地址在该节点故障恢复后依然能够被该节点重新持有。因此,如何保证节点故障前后持有的虚拟地址是相同的是本领域技术人员需要解决的技术问题。
技术实现思路
本申请的目的在于提供一种虚拟地址分配方法、装置及一种CTDB集群和一种计算机可读存储介质,保证节点故障前后持有的虚拟地址是相同的。为实现上述目的,本申请提供了一种虚拟地址分配方法,包括:基于目标对应关系进行虚拟地址的节点分配;其中,所述目标对应关系为虚拟地址与节点的对应关系;当检测到目标节点故障时,将所述目标节点挂载的虚拟地址分配至正常节点;当所述目标节点恢复时,根据所述目标对应关系确定所述目标节点对应的虚拟地址;将所述虚拟地址迁移至所述目标节点。其中,所述基于目标对应关系进行虚拟地址的节点分配,包括:确定所述目标对 ...
【技术保护点】
1.一种虚拟地址分配方法,其特征在于,包括:/n基于目标对应关系进行虚拟地址的节点分配;其中,所述目标对应关系为虚拟地址与节点的对应关系;/n当检测到目标节点故障时,将所述目标节点挂载的虚拟地址分配至正常节点;/n当所述目标节点恢复时,根据所述目标对应关系确定所述目标节点对应的虚拟地址;/n将所述虚拟地址迁移至所述目标节点。/n
【技术特征摘要】
1.一种虚拟地址分配方法,其特征在于,包括:
基于目标对应关系进行虚拟地址的节点分配;其中,所述目标对应关系为虚拟地址与节点的对应关系;
当检测到目标节点故障时,将所述目标节点挂载的虚拟地址分配至正常节点;
当所述目标节点恢复时,根据所述目标对应关系确定所述目标节点对应的虚拟地址;
将所述虚拟地址迁移至所述目标节点。
2.根据权利要求1所述虚拟地址分配方法,其特征在于,所述基于目标对应关系进行虚拟地址的节点分配,包括:
确定所述目标对应关系;
基于所述目标对应关系判断目标虚拟地址对应的节点是否为正常节点;
若是,则根据所述目标对应关系进行所述目标虚拟地址的分配;
若否,则从正常节点中选取候选节点,并将所述目标虚拟地址分配至所述候选节点。
3.根据权利要求2所述虚拟地址分配方法,其特征在于,所述确定所述目标对应关系,包括:
按预设规则对所有所述虚拟地址进行排序,并基于排序结果确定每个所述虚拟地址的标识;
确定节点总数,并将每个所述虚拟地址的标识与所述节点总数的取余结果作为每个所述虚拟地址对应的节点的节点标识。
4.根据权利要求3所述虚拟地址分配方法,其特征在于,若所述虚拟地址包括IPV4地址和IPV6地址,则所述按预设规则对所有所述虚拟地址进行排序,包括:
将每个所述虚拟地址扩充为长度为四的整型数组;其中,所述整型数组中的每个元素对应32位数据,所述IPV4地址对应的整型数组的前三个元素为0;
调用qsort函数对所有所述整型数组进行由小至大的排序。
5.根据权利要求2所述虚拟地址分配方法,其特征在于,所述从正常节点中选取候选节点,包括:
从正常节点中随机选取所述候选节点。
6.根据权利要求2所述虚拟地址分配方法,其特征在于,所述从正常节点中选取候选节点,包括:
S1:将最后一个被分配到虚拟地址的节点确定为基础节点,并将所述基础节点的节点...
【专利技术属性】
技术研发人员:翟云磊,
申请(专利权)人:济南浪潮数据技术有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。