首页 / 专利库 / 电脑编程 / 高性能计算 / 计算机集群及其无盘启动方法

计算机集群及其无盘启动方法

阅读:170发布:2020-05-14

专利汇可以提供计算机集群及其无盘启动方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种计算机集群及其无盘启动方法,该方法包括:S1,压缩根文件系统镜像;S2,客户端通过负载均衡方式从多个 服务器 中的一个服务器下载压缩后的根文件系统镜像;S3,客户端对根文件系统镜像进行解压以完成启动。本发明的上述技术方案, 加速 了启动过程,优化了根文件系统下载的过程。可以大幅降低 高性能计算 集群的无盘启动时间。,下面是计算机集群及其无盘启动方法专利的具体信息内容。

1.一种计算机集群的无盘启动方法,其特征在于,包括:
S1,压缩根文件系统镜像;
S2,客户端通过负载均衡方式从多个服务器中的一个服务器下载压缩后的根文件系统镜像;
S3,所述客户端对根文件系统镜像进行解压以完成启动。
2.根据权利要求1所述的无盘启动方法,其特征在于,S2包括:
将所述多个服务器设置为同一域名;
以轮询方式将所述域名解析到所述所述多个服务器。
3.根据权利要求2所述的无盘启动方法,其特征在于,以轮询方式将所述域名解析到所述所述多个服务器包括:
每次申请解析所述域名时,依次解析为所述多个服务器的IP地址。
4.根据权利要求1所述的无盘启动方法,其特征在于,所述多个服务器包括负载调度器和服务器池,所述负载调度器用于将所述客户端的请求发送到所述服务器池中的服务器上执行。
5.根据权利要求4所述的无盘启动方法,其特征在于,S2包括:
为所述负载调度器和所述服务器池中的服务器配置虚拟IP,其中,所述负载调度器的虚拟IP对外可见,所述服务器池中的服务器的虚拟IP对外不可见;
所述客户端通过所述虚拟IP请求系统镜像,所述负载调度器在所述服务器池中的服务器上开启服务以提供下载系统镜像。
6.根据权利要求1-5任一项所述的无盘启动方法,其特征在于,压缩根文件系统镜像包括:
将所述根文件系统镜像压缩为squashfs格式。
7.一种计算机集群,其特征在于,包括客户端和多个服务器,其中,所述客户端通过负载均衡方式从所述多个服务器中的一个服务器下载压缩后的根文件系统镜像;并且,所述客户端对根文件系统镜像进行解压以完成启动。
8.根据权利要求7所述的计算机集群,其特征在于,所述多个服务器设置为同一域名;
并且,每次申请解析所述域名时,依次解析为所述多个服务器的IP地址。
9.根据权利要求7所述的计算机集群,其特征在于,所述多个服务器包括负载调度器和服务器池,所述负载调度器用于将所述客户端的请求发送到所述服务器池中的服务器上执行;
所述负载调度器和所述服务器池中的服务器具有虚拟IP,其中,所述负载调度器的虚拟IP对外可见,所述服务器池中的服务器的虚拟IP对外不可见;
所述客户端通过所述虚拟IP请求系统镜像,所述负载调度器在所述服务器池中的服务器上开启服务以提供下载系统镜像。
10.根据权利要求7-9任一项所述的计算机集群,其特征在于,压缩根文件系统镜像包括:
将所述根文件系统镜像压缩为squashfs格式。

说明书全文

计算机集群及其无盘启动方法

技术领域

[0001] 本发明涉及服务器技术领域,具体来说,涉及一种计算机集群及其无盘启动方法。

背景技术

[0002] 现代服务器一般都支持PXE启动方式。其中,PXE是Intel推出的一种预启动执行环境,可以支持从远端服务器下载系统镜像,而无需通过本地硬盘上的系统。借助于PXE技术,高性能计算集群可实现无盘启动。相对于本地硬盘启动,无盘启动具有以下优点:无需本地硬盘,减少了硬盘方面的成本;避免了本地硬盘损坏的险;维护系统一致性,所有节点均通过一个统一的系统镜像启动,系统保持一致。
[0003] 由于无盘启动时需要从远端服务器上下载系统镜像,远端服务器的网络带宽和系统的网络带宽容易成为瓶颈。当整套集群进行启动,所有节点均需要访问系统镜像所在的服务器,所有节点共享镜像服务器的出口带宽,镜像下载速度会大大减慢。镜像服务器一般配置千兆以太网端口,网络速率为1Gb/s。无盘启动的系统镜像一般大小在4GB左右。单独一台节点启动时,其启动时间约为32s。当50个节点同时启动时,其启动时间增加50倍,达到1600s。并且,所有系统镜像数据都需要通过镜像服务器的以太网口发送,其发送的数据量达到200GB。这么大规模的数据传输容易造成以太网口异常,数据发送错误。

发明内容

[0004] 针对相关技术中的上述问题,本发明提出一种计算机集群及其无盘启动方法,能够优化了根文件系统下载的过程。
[0005] 本发明的技术方案是这样实现的:
[0006] 根据本发明的一个方面,提供了一种计算机集群的无盘启动方法,包括:
[0007] S1,压缩根文件系统镜像;
[0008] S2,客户端通过负载均衡方式从多个服务器中的一个服务器下载压缩后的根文件系统镜像;
[0009] S3,客户端对根文件系统镜像进行解压以完成启动。
[0010] 根据本申请实施例,S2包括:将多个服务器设置为同一域名;以轮询方式将域名解析到多个服务器。
[0011] 根据本申请的实施例,以轮询方式将域名解析到多个服务器包括:每次申请解析域名时,依次解析为多个服务器的IP地址。
[0012] 根据本申请的实施例,多个服务器包括负载调度器和服务器池,负载调度器用于将客户端的请求发送到服务器池中的服务器上执行。
[0013] 根据本申请的实施例,S2包括:为负载调度器和服务器池中的服务器配置虚拟IP,其中,负载调度器的虚拟IP对外可见,服务器池中的服务器的虚拟IP对外不可见;客户端通过虚拟IP请求系统镜像,负载调度器在服务器池中的服务器上开启服务以提供下载系统镜像。
[0014] 根据本申请的实施例,压缩根文件系统镜像包括:将根文件系统镜像压缩为squashfs格式。
[0015] 根据本发明的另一方面,提供了一种计算机集群,包括客户端和多个服务器,其中,客户端通过负载均衡方式从多个服务器中的一个服务器下载压缩后的根文件系统镜像;并且,客户端对根文件系统镜像进行解压以完成启动。
[0016] 根据本申请的实施例,多个服务器设置为同一域名;并且,每次申请解析域名时,依次解析为多个服务器的IP地址。
[0017] 根据本申请的实施例,多个服务器包括负载调度器和服务器池,负载调度器用于将客户端的请求发送到服务器池中的服务器上执行;负载调度器和服务器池中的服务器具有虚拟IP,其中,负载调度器的虚拟IP对外可见,服务器池中的服务器的虚拟IP对外不可见;客户端通过虚拟IP请求系统镜像,负载调度器在服务器池中的服务器上开启服务以提供下载系统镜像。
[0018] 根据本申请的实施例,压缩根文件系统镜像包括:将根文件系统镜像压缩为squashfs格式。
[0019] 通过本发明的上述技术方案,加速了启动过程,优化了根文件系统下载的过程。可以大幅降低高性能计算集群的无盘启动时间。附图说明
[0020] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021] 图1是根据本发明实施例的高性能计算机集群无盘启动的流程图
[0022] 图2是根据本发明实施例的计算机集群的无盘启动方法的流程图。

具体实施方式

[0023] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0024] 如图1所示,是高性能计算机集群无盘启动的流程图。其中,启动的流程主要包括以下步骤:
[0025] S11,BIOS将PXE客户端(client)程序加载到内存,PXE客户端通过 DHCP服务器获取到动态IP、主机名、TFTP服务器地址以及DNS服务器地址;
[0026] S12,PXE客户端通过在步骤S11处获取的TFTP服务器地址下载启动引导程序(通常为pxelinux.0)到内存中并执行。Pxelinux.0是启动引导程序,类似于grub引导程序。Pxelinux.0会下载配置文件(通常为pxelinux.cfg/default),并根据配置文件选择要加载的内核
[0027] S13,启动引导程序通过TFTP将操作系统内核和initramfs下载到内存中,并将控制权交给内核。
[0028] S14,内核完成自身解压缩、挂载initramfs,进行基本的硬件初始化工作,然后通过网络下载根文件系统镜像(通常通过http方式)。
[0029] S15,内核挂载根文件系统,执行init(systemd)初始化程序,开启各个服务,系统启动完成。
[0030] 在上述几个步骤中,客户端节点下载的主要文件有pxelinux.0启动引导程序、linux内核、initramfs和根文件系统镜像。其中启动引导程序大小一般在几百KB,linux内核和initramfs共计几十MB,而根文件系统镜像通常在几个 GB左右。根文件系统下载是整个启动流程中耗时最长的部分。本发明提供的无盘启动方法主要通过以下两个方面来加速启动过程,优化了根文件系统下载的过程:
[0031] 1、压缩根文件系统镜像,减小系统镜像体积。
[0032] 2、增加启动服务器,通过负载均衡方式加速启动速度
[0033] 如图2所示,是根据本发明实施例的计算机集群的无盘启动方法的流程图。根据本发明的实施例的无盘启动方法可以包括以下步骤:
[0034] S21,压缩根文件系统镜像;
[0035] S22,客户端通过负载均衡方式从多个服务器中的一个服务器下载压缩后的根文件系统镜像;
[0036] S23,客户端对根文件系统镜像进行解压以完成启动。
[0037] 在一个实施例中,在步骤S21处,压缩根文件系统镜像可以包括:将根文件系统镜像压缩为squashfs格式。具体的,根文件系统镜像一般保存为一个文件,通过mkfs格式化为ext4格式。然后在镜像文件中安装各种系统软件。通常在安装完各类基础软件包,镜像文件的体积一般在几个GB 左右,体积过大不便于传输。通过将根文件系统镜像压缩为squashfs格式,大大降低了镜像文件大小。可以使用如下命令可完成squashfs格式的镜像文件创建。
[0038]
[0039] 在步骤S22处,增加镜像服务器,通过负载均衡方式来加速启动速度。由于增加了镜像服务器,不同节点可以从不同镜像服务器下载,从而加快启动速度。客户端节点与镜像服务器可以配置为静态关系,即客户端节点从固定的镜像服务器下载镜像,不同节点对应的镜像服务器不同。也可以配置为负载均衡方式。
[0040] 在一个实施例中,可以采用DNS轮询负载均衡启动方式。在本实施例中,步骤S22可以包括:将多个服务器设置为同一域名;以轮询方式将域名解析到多个服务器。其中,以轮询方式将域名解析到多个服务器包括:每次申请解析域名时,依次解析为多个服务器的IP地址。
[0041] 在另一个实施例中,可以采用LVS负载均衡启动方式。在本实施例中,多个服务器包括负载调度器和服务器池,负载调度器用于将客户端的请求发送到服务器池中的服务器上执行。其中,步骤S22可以包括:为负载调度器和服务器池中的服务器配置虚拟IP,其中,负载调度器的虚拟IP对外可见,服务器池中的服务器的虚拟IP对外不可见;客户端通过虚拟IP请求系统镜像,负载调度器在服务器池中的服务器上开启服务以提供下载系统镜像。
[0042] 也就是说,可以采用DNS轮询和LVS 2种负载均衡启动方式。以下分别对这两种负载均衡启动方式进行具体说明。
[0043] 一、DNS轮询方式
[0044] DNS轮询方式通过将多个镜像服务器设置为同一域名,以轮询方式将该域名分别解析到各个主机上,如将镜像域名boot分别解析到IP地址为 11.2.25.7~11.2.25.12等6台主机上。然后,在pxelinux.0的配置文件 pxelinux.cfg/default,将http镜像服务器以域名而非固定IP方式指定。以下为具体配置步骤。
[0045] (1)安装DNS服务相关rpm(bind)
[0046]
[0047] (2)修改DNS配置文件/etc/named.conf。其中,主要修改以下内容中黑体部分:
[0048]
[0049]
[0050]
[0051] 应注意:/etc/named.conf属主为named,否则服务启动时会因无法读取该文件而启动失败。
[0052] (3)配置DNS数据库文件
[0053] /etc/named.conf指定了DNS数据库文件为named.silicon.sugon,存放在 /var/named目录下(/etc/named/named.silicon.sugon),数据库文件可以参考如下:
[0054]
[0055] 各个启动服务器主机名与IP对应见上,将boot这个主机名解析为 11.2.25.7~11.2.25.12这6台服务器(boot3~boot8),并以轮询方式解析,即每次向DNS申请解析boot主机名时,会依次解析为11.2.25.7~11.2.25.12。
[0056] (4)启动DNS服务:
[0057]
[0058] 使用dig命令查看boot主机名解析是否正确:
[0059]
[0060] 每次使用dig命令解析boot主机名时,返回的IP地址均不同,可以查看DNS轮询方式是否生效。至此,DNS服务配置已完成,下面介绍DHCP 服务和pxelinux.0配置方面的修改。
[0061] (5)修改DHCP服务,增加DNS配置(/etc/dhcp/dhcpd.conf),添加以下内容中黑体部分:
[0062]
[0063] (6)修改pxelinux.0配置文件(pxelinux.cfg/default),将http服务器 IP地址修改为主机名(以下内容中黑体部分)。
[0064]
[0065] 二、LVS负载均衡方式
[0066] LVS是Linux虚拟主机(Linux virtual server)的简称,是一个虚拟的服务器集群系统。其中包括:
[0067] 负载调度器(load balancer/Director),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个 IP地址(我们可称之为虚拟IP地址)上的;以及
[0068] 服务器池(server pool/Realserver),是一组真正执行客户请求的服务器,执行的服务一般有WEB、MAIL、FTP和DNS等。
[0069] LVS具体可以支持NAT、Tunneling和DR(Direct Routing)3种负载均衡方式。其中的DR方式中,Realserver可直接将系统镜像发送给客户端节点,而无需通过中间Director服务器,避免Director服务器成为瓶颈。
[0070] 采用LVS的DR方式,需要选择1台服务器作为Director,作为负载均衡服务器,而另外一些服务器作为RealServer,在RealServer上开启http 服务,实际响应http请求,提供下载镜像。Director和RealServer上都需要配置一个虚拟IP(VIP),客户端通过VIP来请求系统镜像。Director服务器的VIP对外可见,需要绑定到实际网卡上(如eth0),而RealServer的 VIP对外不可见,一般绑定到虚拟网卡上(如lo等)。
[0071] 要使用lvs服务,需要安装ipvsadm rpm包并加载ip_vs内核模。下面分别介绍Director和RealServer服务器上的配置。
[0072] (1)Director服务器
[0073] 下面的脚本lvs-director自动设置director服务器。
[0074]
[0075]
[0076]
[0077] 启动director服务器上的服务:
[0078]
[0079] 查看服务状态:
[0080]
[0081]
[0082] 应注意:使用systemctl start ipvsadm会影响以上脚本的使用,在使用中建议关闭ipvsadm服务。
[0083] (2)RealServer服务器
[0084]
[0085]
[0086]
[0087] 通过本发明提供的无盘启动方法,可以大幅降低高性能集群的无盘启动时间。将镜像文件压缩为squashfs格式可将镜像文件大小降低到原文件的1/3。配置N台镜像服务器并配置负载均衡可将整个集群的启动时间降低为1台时的1/N。如果一套集群有50台无盘启动节点,镜像文件压缩前大小为4GB,整套集群启动需要耗费1600s,约半个小时。使用本发明的无盘启动方法,当配置5台镜像服务器时,启动时间降低为原来的1/15,约106s启动时间。
[0088] 根据本发明的实施例,还提供了一种计算机集群,包括客户端和多个服务器,其中,客户端通过负载均衡方式从多个服务器中的一个服务器下载压缩后的根文件系统镜像;并且,客户端对根文件系统镜像进行解压以完成启动。
[0089] 在一个实施例中,多个服务器设置为同一域名;并且,每次申请解析域名时,依次解析为多个服务器的IP地址。
[0090] 在一个实施例中,多个服务器包括负载调度器和服务器池,负载调度器用于将客户端的请求发送到服务器池中的服务器上执行。负载调度器和服务器池中的服务器具有虚拟IP,其中,负载调度器的虚拟IP对外可见,服务器池中的服务器的虚拟IP对外不可见。客户端通过虚拟IP请求系统镜像,负载调度器在服务器池中的服务器上开启服务以提供下载系统镜像。
[0091] 在一个实施例中,压缩根文件系统镜像包括:将根文件系统镜像压缩为squashfs格式。
[0092] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈