CN109218089B - 一种分布式存储系统透明故障切换的接口实现方法 - Google Patents

一种分布式存储系统透明故障切换的接口实现方法 Download PDF

Info

Publication number
CN109218089B
CN109218089B CN201811040129.XA CN201811040129A CN109218089B CN 109218089 B CN109218089 B CN 109218089B CN 201811040129 A CN201811040129 A CN 201811040129A CN 109218089 B CN109218089 B CN 109218089B
Authority
CN
China
Prior art keywords
domain
updating
name
task table
cluster
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
CN201811040129.XA
Other languages
English (en)
Other versions
CN109218089A (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201811040129.XA priority Critical patent/CN109218089B/zh
Publication of CN109218089A publication Critical patent/CN109218089A/zh
Application granted granted Critical
Publication of CN109218089B publication Critical patent/CN109218089B/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
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种分布式存储系统透明故障切换的接口实现方法,通过设计python脚本实现,实现过程如下:S1:提取输入的要加入AD域的信息;S2:对提取输入的要加入AD域的信息参数进行检测;S3:插入task表并对task表进程进行设置使加入AD域成功。通过python脚本实现,该脚本提取输入的要加入的AD域用户名、密码与全域名等参数后对它进行处理,最终成功加入外部AD域服务器,实现了分布式存储系统的透明故障切换,同时也提高了效率和准确率。

Description

一种分布式存储系统透明故障切换的接口实现方法
技术领域
本发明涉及计算机网络技术领域,具体涉及一种分布式存储系统透明故障切换的接口实现方法。
背景技术
分布式存储系统的透明故障切换是基于AD域控服务器认证的,AD(ActiveDirectory)是面向Windows分布式网络环境设计的一种目录服务。将系统加入AD域后,可支持AD域用户的接入与认证功能。需要设计分布式存储系统透明故障切换的接口,即加入外部AD域服务器认证的接口实现方法。
发明内容
为了克服上述现有技术中的不足,本发明提供一种分布式存储系统透明故障切换的接口实现方法,以解决上述技术问题。
本发明的技术方案是:
一种分布式存储系统透明故障切换的接口实现方法,通过设计python脚本实现,实现过程如下:
S1:提取输入的要加入AD域的信息;
S2:对提取输入的要加入AD域的信息参数进行检测;
S3:插入task表并对task表进程进行设置使加入AD域成功。
进一步的,步骤S1之前包括:
判断输入命令行格式是否正确,若否,报Error1,退出程序;其中Error1指错误输入。
进一步的,步骤S2之后还包括:
S203:判断是否连接到task数据库,若是,执行步骤S3。
进一步的,步骤S2中,信息参数包括:
user_name:域管理员用户名
pass_word:域管理员用户密码
domain:全域名
ip:域控制器ip
netbios_name:集群netbios名称;
步骤S2的具体步骤包括:
S21:检测域管理员用户名/域管理员用户密码/全域名是否为空,若否,执行步骤S22,若是,报Error 1:错误输入,退出程序;
S22:检测输入中是否同时有集群方式加入域cluster和集群netbios名称netbios_name参数,若是,执行步骤S23,若否,报Error 1:错误输入,退出程序;
S23:检测互信域名second_domain是否存在,若是,执行步骤S24,若否,执行步骤S25;
S24:判断互信域名second_domain与全域名domain是否相等,若否,执行步骤S25,若相等,报Error1:错误输入,退出程序;
S25:检测集群netbios是否为空,若否,执行步骤S26,若是,执行步骤S27;
S26:判断集群netbios名与全域名domain是否相等,若否执行步骤S27;
S27:检测集群是否设置过dns,若是,执行步骤S28;
S28:检测集群smb服务是否开启,若是,执行步骤S203,若否,报Error4:请先开启smb服务,退出程序。
进一步的,步骤S203还包括:若没有连接到task数据库,报Error5:连接数据库异常,退出程序。
进一步的,步骤S26还包括:集群netbios名与全域名domain相等,报Error2:netbios与domain冲突,退出程序。
进一步的,步骤S27还包括:若集群没有设置过dns,报Error3:请先配置dns,退出程序。
进一步的,步骤S3具体包括:
S31:插入task表,更新task表进程数为第一阈值10;
S32:清除文件夹samba相关文件;
S33:定义krb5.config信息;
S34:更新task表进程数为第二阈值20,更新krb5.conf配置文件;
S35:查找switch的密码/组/掩码信息并更新nsswitch文件,同时更新task表进程数为第三阈值30;
S36:写入并更新smb配置文件,更新task表进程数为第四阈值40;
S37:判断是否成功同步smb文件?若否,报Error6:同步失败,退出程序;若是,过滤error,正确解析输出,更新task表进程数为第五阈值50;
S38:ssh配置文件更新,更新task表进程数为第六阈值60;
S39:加入ad域并检测是否加入域成功。
进一步的,步骤S39包括:
S391:加入ad域后重启winbind,更新task表进程数为第七阈值70;
S392:检查是否加入到ad域?若是,执行步骤S393,若否,报Error7:加入ad域失败,退出程序;
S393:加入ad域后:重启winbind,更新task表进程数为第八阈值80;
S394:更新task表进程数为第九阈值100,打印:加入ad域成功。
进一步的,第一阈值为10,第二阈值为20,第三阈值为30,第四阈值为40,第五阈值为50,第六阈值为60,第七阈值为70,第八阈值为80,第九阈值为100。
从以上技术方案可以看出,本发明具有以下优点:通过python脚本实现,该脚本提取输入的要加入的AD域用户名、密码与全域名等参数后对它进行处理,最终成功加入外部AD域服务器,实现了分布式存储系统的透明故障切换,同时也提高了效率和准确率。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
图1为一种分布式存储系统透明故障切换的接口实现方法流程图;
图2为分布式存储系统认证组网连接示意图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
一种分布式存储系统透明故障切换的接口实现方法,通过python脚本实现,该脚本提取输入的要加入的AD域用户名、密码与全域名等参数后对它进行处理,最终成功加入外部AD域服务器,实现了分布式存储系统的透明故障切换,具体步骤如下:
S0:判断输入命令行格式是否正确,若否,报Error1,退出程序;其中Error1指错误输入;
S1:提取输入的要加入AD域的信息;
S2:对提取输入的要加入AD域的信息参数进行检测;
S21:检测域管理员用户名/域管理员用户密码/全域名是否为空,若否,执行步骤S22,若是,报Error 1:错误输入,退出程序;
S22:检测输入中是否同时有集群方式加入域cluster和集群netbios名称netbios_name参数,若是,执行步骤S23,若否,报Error 1:错误输入,退出程序;
S23:检测互信域名second_domain是否存在,若是,执行步骤S24,若否,执行步骤S25;
S24:判断互信域名second_domain与全域名domain是否相等,若否,执行步骤S25,若相等,报Error1:错误输入,退出程序;
S25:检测集群netbios是否为空,若否,执行步骤S26,若是,执行步骤S27;
S26:判断集群netbios名与全域名domain是否相等,若否执行步骤S27;若是,相等,报Error2:netbios与domain冲突,退出程序;
S27:检测集群是否设置过dns,若是,执行步骤S28;若否,报Error3:请先配置dns,退出程序;
S28:检测集群smb服务是否开启,若是,执行步骤S203,若否,报Error4:请先开启smb服务,退出程序;
S203:判断是否连接到task数据库,若是,执行步骤S3;若没有连接到task数据库,报Error5:连接数据库异常,退出程序;
S3:插入task表并对task表进程进行设置使加入AD域成功;
步骤S3具体包括:
S31:插入task表,更新task表进程为10;
S32:清除文件夹samba相关文件;
S33:定义krb5.config信息;
S34:更新task表进程为20,更新krb5.conf配置文件;
S35:查找switch的密码/组/掩码信息并更新nsswitch文件,同时更新task表进程为30;
S36:写入并更新smb配置文件,更新task表进程为40;
S37:判断是否成功同步smb文件?若否,报Error6:同步失败,退出程序;若是,过滤error,正确解析输出,更新task表进程为50;
S38:ssh配置文件更新,更新task表进程为60;
S39:加入ad域并检测是否加入域成功;
步骤S39包括:
S391:加入ad域后重启winbind,更新task表进程为70;
S392:检查是否加入到ad域?若是,执行步骤S393,若否,报Error7:加入ad域失败,退出程序;
S393:加入ad域后:重启winbind,更新task表进程为80;
S394:更新task表进程为100,打印:加入ad域成功。
步骤S2中,信息参数包括:
user_name:域管理员用户名
pass_word:域管理员用户密码
domain:全域名
ip:域控制器ip
netbios_name:集群netbios名称。
如图2所示,将系统加入AD域后,可支持AD域用户的接入与认证功能。外部AD域服务器认证适用于Windows客户端应用。采用外部AD域服务器认证时,客户需要提供AD域服务器和DNS服务器,并且分布式存储系统和客户端已加入到AD域。AD域服务器将对用户账号进行认证,分布式存储系统可以通过域服务器查询到账号的相关信息。
将所需执行的脚本icfs-admin-user-ad-join.py放在每个节点下的/usr/bin目录下,执行时可参考格式如下-icfs-admin-user-ad-join.py----- -u --user_name----- --passwd--pass_word---------->
>--------- --domain --- domain_name---- --ip ---dcip----+--------------+----->`-- --second_domain domain_name--`>---------+--------------+---------------------><`-- --cluster---- --netbios_namenetbios_name--`
参数说明:
--join:加入域命令
-u:域管理员用户名
--passwd:域管理员密码(密码长度为8-32字符,可以包含字母、数字、空格及键盘上的符号:`~!@#$%^&*()-_=+[]{};:‘“<>,./?)
--domain:全域名
--ip:域控制器ip
--second_domain:互信域域名
--cluster:集群方式加入域
--netbios_name:设置集群netbios名称
参数值说明:
user_name:域管理员用户名
pass_word:域管理员用户密码
domain_name:全域名
dcip:域控制器ip
netbios_name:集群netbios名称
注脚本如下:
Figure BDA0001791901940000061
Figure BDA0001791901940000071
Figure BDA0001791901940000081
Figure BDA0001791901940000091
Figure BDA0001791901940000101
Figure BDA0001791901940000111
Figure BDA0001791901940000121
Figure BDA0001791901940000131
Figure BDA0001791901940000141
Figure BDA0001791901940000151
Figure BDA0001791901940000161
Figure BDA0001791901940000171
Figure BDA0001791901940000181
Figure BDA0001791901940000191
Figure BDA0001791901940000201
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种分布式存储系统透明故障切换的接口实现方法,其特征在于,通过设计python脚本实现,实现过程如下:
S1:提取输入的要加入AD域的信息;
S2:对提取输入的要加入AD域的信息参数进行检测;
S3:插入task表并对task表进程进行设置使加入AD域成功;
信息参数包括:
user_name:域管理员用户名
pass_word: 域管理员用户密码
domain:全域名
ip:域控制器ip
netbios_name:集群netbios名称;
步骤S2的具体步骤包括:
S21:检测域管理员用户名/域管理员用户密码/全域名是否为空,若否,执行步骤S22,若是,报Error 1:错误输入,退出程序;
S22:检测输入中是否同时有集群方式加入域cluster和集群netbios名称netbios_name参数,若是,执行步骤S23,若否,报Error 1:错误输入,退出程序;
S23:检测互信域名second_domain是否存在,若是,执行步骤S24,若否,执行步骤S25;
S24:判断互信域名second_domain与全域名domain是否相等,若否,执行步骤S25,若相等,报Error1:错误输入,退出程序;
S25:检测集群netbios是否为空,若否,执行步骤S26,若是,执行步骤S27;
S26:判断集群netbios名与全域名domain是否相等,若否执行步骤S27;
S27:检测集群是否设置过dns,若是,执行步骤S28;
S28:检测集群smb服务是否开启,若是,执行步骤S203,若否,报Error4:请先开启smb服务,退出程序。
2.根据权利要求1所述的一种分布式存储系统透明故障切换的接口实现方法,其特征在于,步骤S1之前包括:
判断输入命令行格式是否正确,若否,报Error1,退出程序;其中Error1指错误输入。
3.根据权利要求1所述的一种分布式存储系统透明故障切换的接口实现方法,其特征在于,步骤S2之后还包括:
S203:判断是否连接到task数据库,若是,执行步骤S3。
4.根据权利要求3所述的一种分布式存储系统透明故障切换的接口实现方法,其特征在于,步骤S203还包括:若没有连接到task数据库,报Error5:连接数据库异常,退出程序。
5.根据权利要求3所述的一种分布式存储系统透明故障切换的接口实现方法,其特征在于,步骤S26还包括:集群netbios名与全域名domain相等,报Error2:netbios与domain冲突,退出程序。
6.根据权利要求3所述的一种分布式存储系统透明故障切换的接口实现方法,其特征在于,步骤S27还包括:若集群没有设置过dns,报Error3:请先配置dns,退出程序。
7.根据权利要求3所述的一种分布式存储系统透明故障切换的接口实现方法,其特征在于,步骤S3具体包括:
S31:插入task表,更新task表进程数为第一阈值10;
S32:清除文件夹 samba相关文件;
S33:定义krb5.config信息;
S34:更新task表进程数为第二阈值20,更新krb5.conf配置文件;
S35:查找switch的密码/组/掩码信息并更新nsswitch文件,同时更新task表进程数为第三阈值30;
S36:写入并更新smb配置文件,更新task表进程数为第四阈值40;
S37:判断是否成功同步smb文件,若否,报Error6:同步失败,退出程序;若是,过滤error,正确解析输出,更新task表进程数为第五阈值50;
S38:ssh配置文件更新,更新task表进程数为第六阈值60;
S39:加入ad域并检测是否加入域成功。
8.根据权利要求7所述的一种分布式存储系统透明故障切换的接口实现方法,其特征在于,步骤S39包括:
S391:加入ad域后重启winbind,更新task表进程数为第七阈值70;
S392:检查是否加入到ad域,若是,执行步骤S393,若否,报Error7:加入ad域失败,退出程序;
S393:加入ad域后:重启winbind,更新task表进程数为第八阈值80;
S394:更新task表进程数为第九阈值100,打印:加入ad域成功。
CN201811040129.XA 2018-09-07 2018-09-07 一种分布式存储系统透明故障切换的接口实现方法 Active CN109218089B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811040129.XA CN109218089B (zh) 2018-09-07 2018-09-07 一种分布式存储系统透明故障切换的接口实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811040129.XA CN109218089B (zh) 2018-09-07 2018-09-07 一种分布式存储系统透明故障切换的接口实现方法

Publications (2)

Publication Number Publication Date
CN109218089A CN109218089A (zh) 2019-01-15
CN109218089B true CN109218089B (zh) 2021-09-17

Family

ID=64986499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811040129.XA Active CN109218089B (zh) 2018-09-07 2018-09-07 一种分布式存储系统透明故障切换的接口实现方法

Country Status (1)

Country Link
CN (1) CN109218089B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472847B (zh) * 2021-05-28 2023-04-07 济南浪潮数据技术有限公司 一种过滤无效用户的方法、系统、设备及介质
CN115396286A (zh) * 2022-08-25 2022-11-25 税友信息技术有限公司 一种pc端的云内容分发网络切换方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656927A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 将Linux账号加入AD域的方法及装置
CN107404485A (zh) * 2017-08-02 2017-11-28 北京天翔睿翼科技有限公司 一种自验证云连接方法及其系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291478B2 (en) * 2010-05-21 2012-10-16 Dell Products L.P. System and method for information handling system multi-level authentication for backup services

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656927A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 将Linux账号加入AD域的方法及装置
CN107404485A (zh) * 2017-08-02 2017-11-28 北京天翔睿翼科技有限公司 一种自验证云连接方法及其系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
使用Python实现与AD域进行对接;Weiger_Sun;《CSDN》;20180321;正文第2段-最后一段 *

Also Published As

Publication number Publication date
CN109218089A (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
US20060206768A1 (en) Method and system for synchronizing replicas of a database
US20110067092A1 (en) Automatic provisioning of authentication credentials
JP2005285118A (ja) リモートソフトウェアサポートエージェントシステム
WO2017202224A1 (zh) 数据库访问口令管理方法
WO2022036901A1 (zh) 一种Redis副本集的实现方法及装置
CN109218089B (zh) 一种分布式存储系统透明故障切换的接口实现方法
KR100985049B1 (ko) 파밍감지 시스템 및 이를 제어하는 방법
CN104219080A (zh) 一种网站错误页日志记录方法
US11405257B2 (en) System for centralized monitoring and control of IoT devices
CN106161532A (zh) 一种基于云服务的定向清理方法及系统
US8656011B2 (en) Method and management apparatus for detecting communication apparatus coupled to communication network
CN107995059B (zh) 一种iOS网络测试策略
Cisco Release Notes for Cisco MGX 8240 Release 3.0.1.10 IMC
Cisco Release Notes for AV-Cisco TSP Release 3.0(3)
Cisco Release Notes for AV-Cisco TSP Release 3.0(4)
Cisco Release Notes for Cisco Aironet Access Points
Cisco Release Notes for Voice Services Provisioning Tool for Release 2.1
Cisco Release Notes for Cisco Aironet Access Points
Cisco Release Notes for CiscoWorks2000 CD One 3rd Edition on AIX
Cisco Release Notes for the Cisco SIP Proxy Server Version 1.3 on Linux
Cisco Release Notes for Cisco Unity Release 3.1(2c)
Cisco Release Notes for the Cisco SIP Proxy Server Version 1.3 on Solaris
Cisco Release Notes for Cisco Aironet Access Points
CN109088879B (zh) 分布式存储系统外部ldap域服务器认证接口实现方法
Cisco Release Notes for the Catalyst 2950 Switch Cisco IOS Release 12.1(6)EA2a

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