一种操作系统的安装方法及系统与流程

文档序号:11285885阅读:272来源:国知局
一种操作系统的安装方法及系统与流程

本发明涉及计算机控制领域,尤指一种操作系统的安装方法及系统。



背景技术:

随着计算器技术和效能的快速成长,计算器在各领域的应用越来越广泛。尤其是软件与硬件的变化,也连带着影响计算机运行的效能。openstack是一个开源的云计算管理平台,是iaas(基础设施即服务)组件,让任何人都可以自行建立和提供云端运算服务。openstack覆盖了网络、虚拟化、操作系统、服务器等各个方面。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。openstack通过各种互补的服务提供了基础设施即服务(iaas)的解决方案,每个服务提供api以进行集成。

目前,openstack云平台的部署需要人工地管理多台设备,错误率高,效率较低,无法满足快速部署的需求,耗时相当长,而且运行和维护成本高。对于个人使用者而言,使用者仅需要面对单一台计算器进行操作系统的安装与硬件的调整。但是对于需要安装多台计算器的厂商而言,由于生成新的操作系统文件需要将所有的周边装置的驱动程序且设定操作系统的环境参数,因此,前置作业仍须由使用者来自行决定。如果这些工作全部由人工完成,这样工作量大而且效率极低。



技术实现要素:

本发明的目的是提供一种操作系统的安装方法及系统,实现完成操作系统的安装,加速并简化安装工作,提高生产效率。

本发明提供的技术方案如下:

本发明提供一种操作系统的安装方法,包括步骤:s100根据裸机设备的硬件信息进行注册得到硬件注册信息;s200根据所述硬件注册信息创建与所述裸机设备对应的节点;s300控制开机状态的裸机设备安装自动安装脚本,使所述裸机设备调用所述自动安装脚本中的配置脚本进行配置;所述自动安装脚本包括目标操作系统的配置脚本;s400重启安装配置完成的裸机设备。

进一步的,所述s200之后,s300之前包括步骤:s210发送控制开启指令至所述裸机设备,控制所述裸机设备开机启动。

进一步的,所述步骤s300包括步骤:s310安装所述自动安装脚本,所述自动安装脚本包括目标操作系统和openstack的配置脚本;s320调用所述配置脚本,分别在节点对应的裸机设备配置驱动信息、节点属性信息、服务端口信息、类型模板信息和服务网络信息。

进一步的,所述步骤s320包括步骤:s321配置所述驱动信息,所述驱动信息包括ipmi-username,ipmi-password,ipmi-address,deploy_kernel,deploy_ramdisk和ipmi-port;s322配置所述节点属性信息,所述节点属性信息包括memory,ram,disk和cpu;s323配置所述服务端口信息,所述服务端口信息包括node_uuid和node_mac_address;s324配置所述类型模板信息,使得所述类型模板信息与所述裸机设备的配置一致;所述类型模板信息包括ram、disk、core;s325配置所述服务网络信息,使得所述裸机设备与openstack在一个广播域内。

进一步的,所述s100之前包括步骤:s010获取所有待控制设备的硬件信息;所述硬件信息包括mac地址信息、ram信息、disk信息、core信息和cpu信息;s020根据所述硬件信息,判断所述待控制设备是否是裸机;若是,执行步骤s100。

本发明还提供一种操作系统的安装系统,包括:裸机设备,控制设备,所述裸机设备与所述控制设备通信连接;所述控制设备包括:注册模块,根据裸机设备的硬件信息进行注册得到硬件注册信息;创建模块,根据所述注册模块的所述硬件注册信息创建节点;控制模块,控制开机状态的裸机设备安装自动安装脚本,使所述裸机设备调用所述自动安装脚本中的配置脚本进行配置,重启安装配置完成的裸机设备;其中,所述自动安装脚本包括目标操作系统的配置脚本。

进一步的,还包括:发送模块,发送控制开启指令至所述裸机设备,控制所述裸机设备开机启动。

进一步的,所述控制模块包括:安装子模块,安装所述自动安装脚本,所述自动安装脚本包括所述目标操作系统和openstack的配置脚本;配置子模块,调用所述安装子模块中的所述配置脚本,分别在节点对应的裸机设备配置驱动信息、节点属性信息、服务端口信息、类型模板信息和服务网络信息。

进一步的所述配置子模块包括:第一配置单元,配置所述驱动信息,所述驱动信息包括ipmi-username,ipmi-password,ipmi-address,deploy_kernel,deploy_ramdisk和ipmi-port;第二配置单元,配置所述节点属性信息,所述节点属性信息包括memory,ram,disk和cpu;第三配置单元,配置所述服务端口信息,所述服务端口信息包括node_uuid和node_mac_address;第四配置单元,配置所述类型模板信息,使得所述类型模板信息与所述裸机设备的配置一致;所述类型模板信息包括ram、disk、core;第五配置单元,配置所述服务网络信息,使得所述裸机设备与openstack在一个广播域内。

进一步的,还包括:获取模块,获取所有待控制设备的硬件信息;所述硬件信息包括mac地址信息、ram信息、disk信息、core信息和cpu信息;判断模块,根据所述获取模块获取的所述硬件信息,判断所述待控制设备是否是裸机;若是,发送注册指令至所述注册模块进行注册。

通过本发明提供的一种操作系统的安装方法及系统,能够带来以下至少一种有益效果:

1)本发明由于目标操作系统与openstack无缝融合,能够使得安装有目标操作系统的裸机设备能够像管理虚拟机一样管理物理主机,自动化规模部署。

2)本发明由于目标操作系统与openstack无缝融合,通过目标操作系统和openstack都自动化进行安装部署,简化了安装的步骤,不需要单独在需要安装系统的裸机设备上单独启动一个系统,加速并简化安装工作,提高生产效率。

3)本发明由于目标操作系统与openstack无缝融合,利用自动安装脚本,控制相应操作系统的安装参数,能够实现批量安装,也可以实现定制安装。

4)本发明由于目标操作系统与openstack无缝融合,只需给裸机设备插上电,接上网线,其他工作都由目标操作系统和openstack自动化完成物理主机的添加、删除、电源管理、操作系统和应用系统部署,以及网络配置和灵活组网,减少手工安装操作系统及配置的工作。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种操作系统的安装方法及系统的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明一种操作系统的安装方法的一个实施例的流程图;

图2是本发明一种操作系统的安装方法的另一个实施例的流程图;

图3是本发明一种操作系统的安装方法的另一个实施例的流程图;

图4是本发明一种操作系统的安装系统的一个实施例的结构示意图;

图5是本发明一种操作系统的安装系统的另一个实施例的结构示意图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

ipmi(intelligentplatformmanagementinterface)是智能平台管理接口,其是一项应用于服务器管理系统设计的标准,利用此接口标准设计有助于在不同类服务器系统硬件上实施系统管理,使不同平台的集中管理成为可能。

广播域(broadcastdomain)是指网段上所有设备的集合。这些设备收听送往那个网段的所有广播。

uuid的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的uuid。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前广泛应用的uuid,是guids,linuxext2/ext3档案系统、luks加密分割区、gnome、kde、macosx等等。

uuid是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的api。按照开放软件基金会(osf)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片id码和许多可能的数字。uuid由以下几部分的组合:

(1)当前日期和时间,uuid的第一个部分与时间有关,如果你在生成一个uuid之后,过几秒又生成一个uuid,则第一个部分不同,其余相同。

(2)时钟序列。

(3)全局唯一的ieee机器识别号,如果有网卡,从网卡mac地址获得,没有网卡以其他方式获得。

图1是本发明一种操作系统的安装的一个实施例,包括:

s100根据裸机设备的硬件信息进行注册得到硬件注册信息;

s200根据所述硬件注册信息创建与所述裸机设备对应的节点;

s300控制开机状态的裸机设备安装自动安装脚本,使所述裸机设备调用所述自动安装脚本中的配置脚本进行配置;所述自动安装脚本包括目标操作系统的配置脚本;

s400重启安装配置完成的裸机设备。

具体的,本实施例中,用户能够在控制设备如云计算管理平台的界面进行登记各个裸机设备的硬件信息,也可以用户直接根据手机等移动终端上传各个裸机设备的硬件信息至控制设备。然后控制设备进行节点的创建,根据节点与裸机设备的映射关系,控制设备通过网络下发自动安装脚本至该节点对应的裸机设备上,裸机设备接收自动安装脚本后安装自动安装脚本,执行自动安装脚本从而自动根据自动安装脚本中的配置脚本进行节点属性的配置,在安装配置完成后,需要重启才能完成操作系统的安装。本发明中由于目标操作系统与openstack无缝融合,能够使得安装有目标操作系统的裸机设备能够像管理虚拟机一样管理物理主机,自动化规模部署。

优选的,s210发送控制开启指令至所述裸机设备,控制所述裸机设备开机启动。

本实施例中,通过发送控制开启指令至所述裸机设备,保证所有裸机设备处于开机状态,减少人为开机的繁琐操作,避免不必要的时间浪费。

图2是本发明一种操作系统的安装的另一个实施例,包括:

s100根据裸机设备的硬件信息进行注册得到硬件注册信息;

s200根据所述硬件注册信息创建与所述裸机设备对应的节点;

s310安装所述自动安装脚本,所述自动安装脚本包括目标操作系统和openstack的配置脚本;

s320调用所述配置脚本,分别在节点对应的裸机设备配置驱动信息、节点属性信息、服务端口信息、类型模板信息和服务网络信息;

s400重启安装配置完成的裸机设备。

具体的,本实施例中,具体讲述了配置的哪些内容,只有通过控制设备下发的自动安装脚本进行安装目标操作系统,安装好目标操作系统后,进行配置使得安装有目标控制系统的设备与控制设备建立一个连接,具体配置的是驱动信息、节点属性信息、服务端口信息、类型模板信息和服务网络信息,配置完成重启安装配置完成的裸机设备,然后控制设备就可以下发一系列的控制命令至完成操作系统安装的裸机设备,如当操作系统升级版本后,控制设备可以下发系统升级指令,控制完成操作系统安装的裸机设备进行系统升级,这里只例举一个例子,其他例子类似这个例子,只是控制指令不一一样。本发明能够使得安装有目标操作系统的裸机设备能够像管理虚拟机一样管理物理主机,自动化规模部署。由于目标操作系统与openstack无缝融合,只需给裸机设备插上电,接上网线,其他工作都由目标操作系统和openstack自动化完成物理主机的添加、删除、电源管理、操作系统和应用系统部署,以及网络配置和灵活组网,减少手工安装操作系统及配置的工作。

配置所述驱动信息,所述驱动信息包括ipmi-username,ipmi-password,ipmi-address,deploy_kernel,deploy_ramdisk和ipmi-port;配置所述节点属性信息,所述节点属性信息包括memory,ram,disk和cpu;配置所述服务端口信息,所述服务端口信息包括node_uuid和node_mac_address;配置所述类型模板信息,使得所述类型模板信息与所述裸机设备的配置一致;所述类型模板信息包括ram、disk、core;配置所述服务网络信息,使得所述裸机设备与openstack在一个广播域内

具体的,本实施例中由于目标操作系统与openstack无缝融合,能够使得安装有目标操作系统的裸机设备能够像管理虚拟机一样管理物理主机,自动化规模部署。通过目标操作系统和openstack都自动化进行安装部署,简化了安装的步骤,不需要单独在需要安装系统的裸机设备上单独启动一个系统,加速并简化安装工作,提高生产效率。目标操作系统可以是os操作系统,windows操作系统,linux操作系统等等一系列的操作系统。

优选的,上述实施例中,判断该物理主机是否是裸机的步骤如下图3所示:

s010获取所有待控制设备的硬件信息;所述硬件信息包括mac地址信息、ram信息、disk信息、core信息和cpu信息;

s020根据所述硬件信息,判断所述待控制设备是否是裸机;若是,执行步骤s100。

具体的,本实施中,如果控制设备检测判断待控制设备是裸机,那么就可以根据用户需要任意安装控制设备数据库中的所有操作系统,并进行安装配置,使得操作系统的裸机设备和控制设备连接,从而实现后续的批量控制的目的。另外如果是待控制设备不是的裸机,但是安装的操作系统是其他操作系统而不是目标操作系统,那么用户可以根据需要进行重装目标操作系统,或者进行调用数据库中的其他操作系统的配置信息进行配置,执行s100-s400,这样就不用再进行安装目标操作系统。

下面,以裸机的操作系统的自动化安装进行描述:裸机管理安全策略是基于phicloud自主研发的初始化服务工具协同openstack相关组件完成从“裸机”到独立“云服务器”的蜕变;从物理主机上架安装操作系统到物理主机下架维修,就像管理虚拟机一样管理物理主机(包括未装os和安装os的物理主机)。创建一个承载业务系统的物理节点不再需要人工部署,只需告诉phicloudos,然后自动化加载操作系统到物理主机安装完成即可。当前,要搭建承载业务系统的物理环境,需要人工地管理多台设备,由此,phicloudos裸机管理应运而生,解决了物理主机的添加、删除、电源管理、操作系统部署等问题。调用phicloudos裸机管理服务,登记物理服务器硬件信息,导入phicloudos,完成“裸机”注册后,通过ipmi接口给专用基板管理控制器bmc发送控制开启指令从而启动物理主机,创建“裸机”服务消息被发送到消息队列,调度服务接收到消息队列中的消息,判断是否为“裸机”节点,如果是,则将调度后的主机节点信息及创建消息放入消息队列,计算服务监听消息队列,发现创建消息后开始创建。

计算服务通过“裸机”服务api获取硬件注册信息,phicloudos初始化服务工具协同openstack相关组件设置网络相关信息,获取镜像,发布部署请求,激活bootloader,通过pxe加载bootloader,暴露iscsi,将镜像中的信息写入物理主机,重启物理主机,通过phicloudos配置网络后,一台装有操作系统,并能和内网、公网通信的“云服务器”创建成功。至此,就可以像管理虚拟机一样管理这台物理服务器,按需部署各种软件,灵活组网,完成了软件定义硬件的资源虚拟化管理。

具体步骤如下:

1、创建node节点

ironicnode-create-dpxe_ipmitool-nnode210

创建节点的时候必须指定驱动,驱动必须是在配置脚本里面指定的驱动列表,可以通过ironicdriver-list查看使能的驱动列表。

2、节点信息配置

配置驱动信息

ironicnode-update$node_uuidadddriver_info/ipmi_username=$user

driver_info/ipmi_password=$pass

driver_info/ipmi_address=$ipmi_address

driver_info/deploy_kernel=$deploy_vmlinux_uuid

driver_info/deploy_ramdisk=$deploy_initrd_uuid

默认的ipmiport是623,如果有更改,还需添加driver_info/ipmi_port=$port_number,上面列出的是必选项,驱动的配置信息可以通过ironicdriver-propertiespxe_ipmitool查看到,其他的pxe_ipmitool的属性还有:ipmi_bridging、ipmi_force_boot_device、ipmi_local_address、ipmi_priv_level、ipmi_protocol_version、ipmi_target_address、ipmi_target_channel、ipmi_transit_address、ipmi_transit_channel。

配置节点属性

ironicnode-update$node_uuidaddproperties/cpus=$cpu

properties/memory(内存)_mb=$ram_mbproperties/local_gb=$disk_gb

properties/cpu_arch=$arch

注意:上面的cpus的值是bm(baremetal,电脑裸机,指没有配置操作系统和其他软件的电子计算机)的cpu个数,最终这些值都会被nova-compute收集作为nova的hypervisor的属性。

3、创建端口

ironicport-create-n$node_uuid-a$node_mac_address

最终可以通过validate来确认一个节点是否准备好:ironicnode-validate$node_uuid

4、创建flavor

flavor是在novaschedule的时候会用flavor去filter合适的host,ironic支持配置(scheduler_use_baremetal_filters)是否使用ironic自带的filter选项,自带得filter项有:retryfilter、availabilityzonefilter、computefilter、computecapabilitiesfilter、imagepropertiesfilter、exactramfilter、exactdiskfilter、exactcorefilter,因此如果使用自带的filter项,在创建flavor得时候就要求ram、disk、core必须和node的配置一致才可以。

5、创建flat网络

对于网络的要求就是bm和openstack要在一个广播域内,因为bm上电的时候会发dhcp广播请求ip地址。创建完网络之后要把网络的uuid添加到ironic.conf的[neutron]cleaning_network_uuid=$net_uuid中去,重启ironicapi和conductor服务。

6、创建实例

novaboot--flavorbaremetal--nicnet-id=$net_id--image$imagetesting

可以通过jviewer查看安装的过程

具体的,本实施例中,以phicloudos为例子,通过openstack在裸机上安装phicloudos并配置相关的裸机节点的属性信息,安装配置完成后的phicloudos与openstack无缝融合,真正做到了像管理虚拟机一样管理物理主机,自动化规模部署。当规模部署物理主机时,只需给物理主机插上电,接上网线,其他工作都由phicloudos自动化完成物理主机的添加、删除、电源管理、操作系统和应用系统部署,以及网络配置和灵活组网,将传统上需要手工安装操作系统及其他应用系统、配置交换路由及安全设备的工作全部交给phicloudos即可。

参考图4所示,本发明提供一种操作系统的安装系统1000的一个实施例,包括:裸机设备1200,控制设备1100,所述裸机设备1200与所述控制设备1100通信连接;所述控制设备1100包括:

注册模块1110,根据裸机设备1200的硬件信息进行注册得到硬件注册信息;

创建模块1120,根据所述注册模块1110的所述硬件注册信息创建节点;

控制模块1130,控制开机状态的裸机设备1200安装自动安装脚本,使所述裸机设备1200调用所述自动安装脚本中的配置脚本进行配置,重启安装配置完成的裸机设备1200。

具体的,本实施例中,使得安装操作系统的过程中不需由使用者设定操作系统的环境参数与其周边装置。本发明,通过openstack在裸机上安装phicloudos并配置相关的裸机节点的属性信息,安装配置完成后的phicloudos与openstack无缝融合,可以使运维人员仅通过控制设备1100就可以完成裸机的操作系统的安装的过程。利用保存下来的配置数据自动化的创建其他节点,使之连接成为一个完整的控制系统。

参考图5所示,本发明提供一种操作系统的安装系统1000的另一个实施例,本实施例中其他部分与上一实施例相同,所述控制设备1100包括:注册模块1110,创建模块1120,控制模块1130模块;此外所述控制模块1130包括:

安装子模块1131,安装所述自动安装脚本,所述自动安装脚本包括所述目标操作系统和openstack的配置脚本;

配置子模块1132,调用所述安装子模块1131中的所述配置脚本,分别在节点对应的裸机设备1200配置驱动信息、节点属性信息、服务端口信息、类型模板信息和服务网络信息。

所述配置子模块1132包括:

第一配置单元11321,配置所述驱动信息,所述驱动信息包括ipmi-username,ipmi-password,ipmi-address,deploy_kernel,deploy_ramdisk和ipmi-port;

第二配置单元11322,配置所述节点属性信息,所述节点属性信息包括memory,ram,disk和cpu;

第三配置单元11323,配置所述服务端口信息,所述服务端口信息包括node_uuid和node_mac_address;

第四配置单元11324,配置所述类型模板信息,使得所述类型模板信息与所述裸机设备1200的配置一致;所述类型模板信息包括ram、disk、core;

第五配置单元11325,配置所述服务网络信息,使得所述裸机设备1200与openstack在一个广播域内。

具体的,本实施中,将目标操作系统和openstack的各种配置参数进行整合,写入配置脚本中,改进了让工作人员依次手动输入每个配置参数的繁琐步骤。能够针对不同的操作系统给予不同的配置,从而缩短安装操作系统的时间。能够解决计算系统开发企业所面临的手动批量安装中的问题,适用于大规模的计算机系统安装,利用现有的计算资源,比如现有的网络、现有的控制系统,现有的操作系统,辅以针对生产环境与产品的配置脚本,使得安装便捷、成本性低,可以应对不同的产品。ironic是openstack的帐篷项目之一,主要用来部署和管理裸机,提供统一接口,方便nova同时管理裸机,ironic安装完成后,进行配置裸机服务,需要配置将host_ip替换成实际ip(ironic-conductor服务所在节点ip)enabled_drivers后的驱动根据实际添加,这里使用pxe_ipmitool。安装完成ironic后,进行配置nova和neutron。由于一个nova-compute一次只能使用一种驱动,部署物理机是需要使用ironic驱动。创建网桥,创建网络,镜像创建,其中,ironic部署一台物理机需要两组镜像:deployimages和userimages。这两组镜像都可以通过diskimage-builder工具创建。创建flavor,flavor里的硬件信息中cpu,内存,硬盘和要部署的裸机硬件信息要保持一致。配置pxe。使用ironicnode-validate$node_uuid判断node是否可以部署确保boot、deploy、management和power相关接口是true状态。说明:一般创建完ironicnode之后需要等待大概1min才能进行novaboot操作,否则会出现novalidhost错误。这是因为nova-compute会定期去同步ironicnode的信息到nova数据库中。检查novahypervisor-list和novahypervisor-show$id,确保信息按配置修改。没有则等待一段时间。创建实例这时候可以使用kvm连接我们要部署的裸机,裸机会从网口启动,下载部署镜像。

优选的,所述操作系统的安装系统还包括:

发送模块,发送控制开启指令至所述裸机设备,控制所述裸机设备开机启动。

具体的,通过发送控制开启指令至所述裸机设备,保证所有裸机设备处于开机状态,减少人为开机的繁琐操作,避免不必要的时间浪费。

优选的,所述操作系统的安装系统还包括:

获取模块,获取所有待控制设备的硬件信息;所述硬件信息包括mac地址信息、ram信息、disk信息、core信息和cpu信息;

判断模块,根据所述获取模块获取的所述硬件信息,判断所述待控制设备是否是裸机;若是,发送注册指令至所述注册模块进行注册。

具体的,上述所有实施例中,安装配置结束后,还可以创建检测实例验证裸机是否安装配置成功,能够帮助使用者安装配置完成后,及时了解掌握裸机的运转情况,对有问题的地方及时提醒,避免安装配置后的裸机无法使用。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1