本发明属于服务器raid配置领域,具体涉及一种基于bmc自动创建raid并部署系统的方法及装置。
背景技术:
大型机房的通用服务器机柜里通常有20至100个相同类型的服务器,这些通用服务器或者机柜里面的节点在部署的时候,通常需要手动配置raid卡的级别和缓存策略,并灌装系统,升级系统文件和安装驱动,费时费力,在大量手动操作重复操作的情况下,会出现一些难以避免的错误。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于bmc自动创建raid并部署系统的方法及装置,是非常有必要的。
技术实现要素:
本发明的目的在于,针对上述通用服务器及节点配置raid卡以及灌装系统,缺陷,提供一种基于bmc自动创建raid并部署系统的方法及装置,以解决上述技术问题。
为实现上述目的,本发明给出以下技术方案:
一种基于bmc自动创建raid并部署系统的方法,包括如下步骤:
步骤s1.设置主控制节点,为每个待部署节点配置一个bmc,获取每个待部署节点对应bmc的ip地址,获取每个待部署节点的ip地址;
步骤s2.主控节点控制每个bmc通过raid卡管理工具为对应待部署节点创建raid,并配置raid;
步骤s3.主控节点为每个待部署节点灌装系统。
进一步地,步骤s1的具体步骤如下:
步骤s11.设置任一服务器作为主控节点,并在主控节点安装linux系统;
步骤s12.为每个待部署节点配置一个bmc,获取并记录每个待部署节点对应bmc的ip地址;
步骤s13.获取并记录每个待部署节点的ip地址。主控节点为每个待部署节点分配一个对应的bmc,bmc用于待部署节点的管控,主控节点同时记录每个待部署节点的ip地址以及管控待部署节点的bmc的ip地址,以便在raid部署及灌装系统时使用。
进一步地,步骤s2的具体步骤如下:
步骤s21.在主控节点部署raid自动创建脚本和需要自动配置的raid级别和参数;
步骤s22.启动raid自动创建脚本;
步骤s23.raid自动创建脚本获取每个bmc的ip地址,控制每个bmc通过storlib库与raid卡进行通信;
步骤s24.raid自动创建脚本获取每个待部署节点的ip地址,通过raid卡管理工具自动为每个待部署节点创建raid,并配置raid级别和参数;
步骤s25.主控节点判断是否每个待部署节点均完成raid自动配置;
若否,返回步骤s23;
若是,进入步骤s3。以根权限进入主控节点后,执行raid自动创建脚本,脚本会读取bmc的ip地址,通过storlib库与raid卡进行沟通,并调用raid卡管理工具完成自动配置raid工作。
进一步地,步骤s3的具体步骤如下:
步骤s31.在主控节点部署自动灌装系统脚本、虚拟机客户端工具vmcli以及操作系统安装镜像文件;
步骤s32.启动自动灌装系统脚本;
步骤s33.自动灌装系统脚本获取每个待部署节点的ip地址,批量对每个待部署节点挂载操作系统安装镜像文件;
步骤s34.自动灌装系统脚本通过虚拟机客户端工具vmcli查看是否每个待部署节点均挂载操作系统安装镜像文件成功;
若否,返回步骤s33;
若是,进入步骤s35;
步骤s35.自动灌装系统脚本通过智能平台管理接口impi命令批量设置每个待部署节点下次从光驱启动;
步骤s36.自动灌装系统脚本通过智能平台管理接口impi命令批量重启每个待部署节点并开始灌装系统;
步骤s37.自动灌装系统脚本判断是否每个待部署节点均灌装系统完成;
若否,返回步骤s36;
若是,进入步骤s38;
步骤s38.自动灌装系统脚本停止挂载操作系统安装镜像文件,并向主控节点返回所有待部署节点系统灌装完成信息;
步骤s39.当主控节点接收到自动灌装系统脚本发送的所有待部署节点系统灌装完成信息时,批量为每个待部署节点安装系统升级和驱动。自动灌装系统脚本会检查主控节点上虚拟机客户端工具vmcli是否已安装相应的库文件,创建软链接并将软链接拷贝到其他库目录下,安装虚拟机客户端工具vmcli。
本发明还给出如下技术方案:
一种基于bmc自动创建raid并部署系统的装置,包括:
主控节点及网络配置模块,用于设置主控制节点,为每个待部署节点配置一个bmc,获取每个待部署节点对应bmc的ip地址,获取每个待部署节点的ip地址;
待部署节点raid配置模块,用于控制每个bmc通过raid卡管理工具为对应待部署节点创建raid,并配置raid;
待部署节点系统灌装模块,用于为每个待部署节点灌装系统。
进一步地,主控节点及网络配置模块包括:
主控节点配置单元,用于设置任一服务器作为主控节点,并在主控节点安装linux系统;
待部署节点bmc配置单元,用于为每个待部署节点配置一个bmc,获取并记录每个待部署节点对应bmc的ip地址;
待部署节点ip地址部署单元,用于获取并记录每个待部署节点的ip地址。
进一步地,待部署节点raid配置模块包括:
raid自动创建脚本部署单元,用于在主控节点部署raid自动创建脚本和需要自动配置的raid级别和参数;
raid自动创建脚本启动单元,用于启动raid自动创建脚本;
bmc与raid卡通信单元,用于通过raid自动创建脚本获取每个bmc的ip地址,控制每个bmc通过storlib库与raid卡进行通信;
待部署节点raid配置单元,用于通过raid自动创建脚本获取每个待部署节点的ip地址,通过raid卡管理工具自动为每个待部署节点创建raid,并配置raid级别和参数;
待部署节点raid配置判断单元,用于通过主控节点判断是否每个待部署节点均完成raid自动配置。
进一步地,待部署节点系统灌装模块包括:
自动灌装系统脚本部署单元,用于在主控节点部署自动灌装系统脚本、虚拟机客户端工具vmcli以及操作系统安装镜像文件;
自动灌装系统脚本启动单元,用于启动自动灌装系统脚本;
操作系统安装镜像文件挂载单元,用于通过自动灌装系统脚本获取每个待部署节点的ip地址,批量对每个待部署节点挂载操作系统安装镜像文件;
待部署节点挂载操作系统安装镜像文件判断单元,用于通过虚拟机客户端工具vmcli查看是否每个待部署节点均挂载操作系统安装镜像文件成功;
待部署节点光驱启动设置单元,用于通过智能平台管理接口impi命令批量设置每个待部署节点下次从光驱启动;
系统灌装单元,用于通过智能平台管理接口impi命令批量重启每个待部署节点并开始灌装系统;
灌装系统完成判断单元,用于通过自动灌装系统脚本判断是否每个待部署节点均灌装系统完成;
停止挂载操作系统安装镜像文件单元,用于通过自动灌装系统脚本停止挂载操作系统安装镜像文件,并向主控节点返回所有待部署节点系统灌装完成信息;
待部署节点系统升级及驱动安装单元,用于当主控节点接收到自动灌装系统脚本发送的所有待部署节点系统灌装完成信息时,批量为每个待部署节点安装系统升级和驱动。
本发明的有益效果在于:
本发明实现快速、高效、准确以及自动化的对服务器机柜上的大量通用服务器进行同步的raid创建和系统灌装,大大节省了操作工时,并且由于所有的命令、地址信息和raid参数都已预先写入脚本,还避免了在手动创建和安装系统时,由于大量重复操作造成的错误,实现了全自动化、无人工干预的配置,不需要大量的前置工作,缩短了研发、生产和客户部署的工作时间,真正实现了快速自动化部署。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
图1为本发明的方法流程图一;
图2为本发明的方法流程图二;
图3为本发明的方法流程图三;
图4为本发明的装置示意图;
其中,1-主控节点及网络配置模块;1.1-主控节点配置单元;1.2-待部署节点bmc配置单元;1.3-待部署节点ip地址部署单元;2-待部署节点raid配置模块;2.1-raid自动创建脚本部署单元;2.2-raid自动创建脚本启动单元;2.3-bmc与raid卡通信单元;2.4-待部署节点raid配置单元;2.5-待部署节点raid配置判断单元;3-待部署节点系统灌装模块;3.1-自动灌装系统脚本部署单元;3.2-自动灌装系统脚本启动单元;3.3-操作系统安装镜像文件挂载单元;3.4-待部署节点挂载操作系统安装镜像文件判断单元;3.5-待部署节点光驱启动设置单元;3.6-系统灌装单元;3.7-灌装系统完成判断单元;3.8-停止挂载操作系统安装镜像文件单元;3.9-待部署节点系统升级及驱动安装单元。
具体实施方式:
为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明具体实施例中的附图,对本发明中的技术方案进行清楚、完整地描述。
实施例1:
如图1所示,本发明提供一种基于bmc自动创建raid并部署系统的方法,包括如下步骤:
步骤s1.设置主控制节点,为每个待部署节点配置一个bmc,获取每个待部署节点对应bmc的ip地址,获取每个待部署节点的ip地址;
步骤s2.主控节点控制每个bmc通过raid卡管理工具为对应待部署节点创建raid,并配置raid;
步骤s3.主控节点为每个待部署节点灌装系统。
实施例2:
如图2所示,一种基于bmc自动创建raid并部署系统的方法,包括如下步骤:
步骤s1.设置主控制节点,为每个待部署节点配置一个bmc,获取每个待部署节点对应bmc的ip地址,获取每个待部署节点的ip地址;具体步骤如下:
步骤s11.设置任一服务器作为主控节点,并在主控节点安装linux系统;
步骤s12.为每个待部署节点配置一个bmc,获取并记录每个待部署节点对应bmc的ip地址;
步骤s13.获取并记录每个待部署节点的ip地址;
步骤s2.主控节点控制每个bmc通过raid卡管理工具为对应待部署节点创建raid,并配置raid;具体步骤如下:
步骤s21.在主控节点部署raid自动创建脚本和需要自动配置的raid级别和参数;
步骤s22.启动raid自动创建脚本;
步骤s23.raid自动创建脚本获取每个bmc的ip地址,控制每个bmc通过storlib库与raid卡进行通信;
步骤s24.raid自动创建脚本获取每个待部署节点的ip地址,通过raid卡管理工具自动为每个待部署节点创建raid,并配置raid级别和参数;
步骤s25.主控节点判断是否每个待部署节点均完成raid自动配置;
若否,返回步骤s23;
若是,进入步骤s3;
步骤s3.主控节点为每个待部署节点灌装系统。
实施例3:
如图3所示,本发明提供一种基于bmc自动创建raid并部署系统的方法,包括如下步骤:
步骤s1.设置主控制节点,为每个待部署节点配置一个bmc,获取每个待部署节点对应bmc的ip地址,获取每个待部署节点的ip地址;
步骤s2.主控节点控制每个bmc通过raid卡管理工具为对应待部署节点创建raid,并配置raid;
步骤s3.主控节点为每个待部署节点灌装系统;具体步骤如下:
步骤s31.在主控节点部署自动灌装系统脚本、虚拟机客户端工具vmcli以及操作系统安装镜像文件;
步骤s32.启动自动灌装系统脚本;
步骤s33.自动灌装系统脚本获取每个待部署节点的ip地址,批量对每个待部署节点挂载操作系统安装镜像文件;
步骤s34.自动灌装系统脚本通过虚拟机客户端工具vmcli查看是否每个待部署节点均挂载操作系统安装镜像文件成功;
若否,返回步骤s33;
若是,进入步骤s35;
步骤s35.自动灌装系统脚本通过智能平台管理接口impi命令批量设置每个待部署节点下次从光驱启动;
步骤s36.自动灌装系统脚本通过智能平台管理接口impi命令批量重启每个待部署节点并开始灌装系统;
步骤s37.自动灌装系统脚本判断是否每个待部署节点均灌装系统完成;
若否,返回步骤s36;
若是,进入步骤s38;
步骤s38.自动灌装系统脚本停止挂载操作系统安装镜像文件,并向主控节点返回所有待部署节点系统灌装完成信息;
步骤s39.当主控节点接收到自动灌装系统脚本发送的所有待部署节点系统灌装完成信息时,批量为每个待部署节点安装系统升级和驱动。
上述实施例2中,步骤s2中raid自动创建脚本通过如下方式创建raid并配置raid;
#!/bin/bash
#获取当前raid卡信息
storclishowall
#根据需要配置raid级别和相关参数
storcli/cxaddvdraid[0|1|5|6|00|10|50|60][size=<vd1_sz>,<vd2_sz>,..|all]
[name=<vdname1>,..]drives=e:s|e:s-x,y;e:s-x,y,z[pdperarray=x][sed]
[pdcache=on|off|default][pi][dimmerswitch(ds)=default|automatic(auto)|
none|maximum(max)|maximumwithoutcaching(maxnocache)]
[wt|wb|awb][nora|ra][direct|cached][cachevd][strip=<8|16|32|64|128|256|1024>]
[aftervd=x][emulationtype=0|1|2][spares=[e:]s|[e:]s-x|[e:]s-x,y]
[force][exclusiveaccess]
上述实施例3中,步骤s33中自动灌装系统脚本通过命令:/etc/init.d/vmclistatus挂载操作系统安装镜像文件;
步骤s38中自动灌装系统脚本通过命令:/etc/init.d/vmclistop停止挂载操作系统安装镜像文件;
实施例4:
如图4所示,一种基于bmc自动创建raid并部署系统的装置,包括:
主控节点及网络配置模块1,用于设置主控制节点,为每个待部署节点配置一个bmc,获取每个待部署节点对应bmc的ip地址,获取每个待部署节点的ip地址;主控节点及网络配置模块1包括:
主控节点配置单元1.1,用于设置任一服务器作为主控节点,并在主控节点安装linux系统;
待部署节点bmc配置单元1.2,用于为每个待部署节点配置一个bmc,获取并记录每个待部署节点对应bmc的ip地址;
待部署节点ip地址部署单元1.3,用于获取并记录每个待部署节点的ip地址;
待部署节点raid配置模块2,用于控制每个bmc通过raid卡管理工具为对应待部署节点创建raid,并配置raid;待部署节点raid配置模块2包括:
raid自动创建脚本部署单元2.1,用于在主控节点部署raid自动创建脚本和需要自动配置的raid级别和参数;
raid自动创建脚本启动单元2.2,用于启动raid自动创建脚本;
bmc与raid卡通信单元2.3,用于通过raid自动创建脚本获取每个bmc的ip地址,控制每个bmc通过storlib库与raid卡进行通信;
待部署节点raid配置单元2.4,用于通过raid自动创建脚本获取每个待部署节点的ip地址,通过raid卡管理工具自动为每个待部署节点创建raid,并配置raid级别和参数;
待部署节点raid配置判断单元2.5,用于通过主控节点判断是否每个待部署节点均完成raid自动配置;
待部署节点系统灌装模块3,用于为每个待部署节点灌装系统;待部署节点系统灌装模块3包括:
自动灌装系统脚本部署单元3.1,用于在主控节点部署自动灌装系统脚本、虚拟机客户端工具vmcli以及操作系统安装镜像文件;
自动灌装系统脚本启动单元3.2,用于启动自动灌装系统脚本;
操作系统安装镜像文件挂载单元3.3,用于通过自动灌装系统脚本获取每个待部署节点的ip地址,批量对每个待部署节点挂载操作系统安装镜像文件;
待部署节点挂载操作系统安装镜像文件判断单元3.4,用于通过虚拟机客户端工具vmcli查看是否每个待部署节点均挂载操作系统安装镜像文件成功;
待部署节点光驱启动设置单元3.5,用于通过智能平台管理接口impi命令批量设置每个待部署节点下次从光驱启动;
系统灌装单元3.6,用于通过智能平台管理接口impi命令批量重启每个待部署节点并开始灌装系统;
灌装系统完成判断单元3.7,用于通过自动灌装系统脚本判断是否每个待部署节点均灌装系统完成;
停止挂载操作系统安装镜像文件单元3.8,用于通过自动灌装系统脚本停止挂载操作系统安装镜像文件,并向主控节点返回所有待部署节点系统灌装完成信息;
待部署节点系统升级及驱动安装单元3.9,用于当主控节点接收到自动灌装系统脚本发送的所有待部署节点系统灌装完成信息时,批量为每个待部署节点安装系统升级和驱动。
本发明的实施例是说明性的,而非限定性的,上述实施例只是帮助理解本发明,因此本发明不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他的具体实施方式,同样属于本发明保护的范围。