CN109218089B - 一种分布式存储系统透明故障切换的接口实现方法 - Google Patents
一种分布式存储系统透明故障切换的接口实现方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000008569 process Effects 0.000 claims abstract description 36
- 241001362551 Samba Species 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 239000000284 extract Substances 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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名称
注脚本如下:
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
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域成功。
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)
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)
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)
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 |
-
2018
- 2018-09-07 CN CN201811040129.XA patent/CN109218089B/zh active Active
Patent Citations (2)
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)
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 |