CN102833344A - 基于本地启动映像文件的无盘计算机启动方法 - Google Patents
基于本地启动映像文件的无盘计算机启动方法 Download PDFInfo
- Publication number
- CN102833344A CN102833344A CN2012103234543A CN201210323454A CN102833344A CN 102833344 A CN102833344 A CN 102833344A CN 2012103234543 A CN2012103234543 A CN 2012103234543A CN 201210323454 A CN201210323454 A CN 201210323454A CN 102833344 A CN102833344 A CN 102833344A
- Authority
- CN
- China
- Prior art keywords
- client computer
- file
- server
- startup
- client
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于本地启动映像文件的无盘计算机启动方法,实施步骤如下:1)建立DHCP服务端和启动服务器;2)客户机通过本地存储启动映像文件启动内核以及临时根文件***,向DHCP服务端获取本机的网络配置信息以及启动服务器地址,配置本机网络、向启动服务器发送MAC地址请求启动文件;3)启动服务器保存客户机的登记MAC地址并向客户机发送启动文件路径,定时将客户机的当前MAC地址控制客户机对启动文件路径的访问权限;4)客户机接收启动服务器发送的启动文件路径并挂载启动文件路径,切换至正式根文件***并启动操作***。本发明具有启动效率高、启动速度快、通用性好、安全可靠性高的优点。
Description
技术领域
本发明涉及无盘计算机***领域,具体涉及一种基于本地启动映像文件的无盘计算机启动方法。
背景技术
当前,计算机交换技术不断提升,局域网的使用越来越广泛,但是随之而来的问题也越来越多。以下两点就是主要问题之一:
1. 计算机存储技术不断提高,存储介质容量不断提升,磁盘空闲空间越来越大,空间使用率越来越低。特别是大中型局域网用户(如公司工作用机或网吧等),他们数据重复率高,硬盘上存在着大量相同的操作***、应用软件、影音及游戏。这些重复的数据与空闲的磁盘导致硬盘资源的严重浪费。
2. 局域网中维护各个终端是一件相当繁琐的事情。例如将某软件升级,这需要在每台终端机上都升级一次,会消耗大量的人力与时间。
为了解决以上两个问题,人们提出了无盘工作站的概念,即将冗余的数据存放于服务器上,客户机自开机起就通过网络访问数据,实现客户机无硬盘地运行,以减少磁盘空间的浪费。这样节约了投资,减少每台客户机都必须安装硬盘驱动器和硬盘保护卡的金钱支出。客户机使用的文件资源(包括操作***)全部位于服务器上,并且这些资源无需为每一个客户机创建一个副本,即不同客户机所访问的是同一个文件(包括操作***)。这样不仅提高了磁盘利用率,降低了文件数据的冗余。而且维护服务器上的数据一次就相当于为每个客户机维护一次数据,减少了人力,节省了时间。在无盘工作站中最重要的一点就是无盘启动。现有技术的无盘启动方法有RPL、PXE和Bootp三种。
RPL(Remote Initial Program Load)是一种较早出现的无盘网络组建技术,其启动流程如下:
1. 客户机开机后,初始化网卡,网卡BootROM上固化的软件向网络广播一个FIND帧,即引导请求帧,该帧中包含有客户机的网卡ID号。
2. 服务器端的远程启动服务接收到客户机广播的FIND 帧后,根据帧中所带的网卡ID号在远程启动数据库中查找相应的工作站记录,如果不存在这样一个记录,引导过程不能继续;如果此工作站记录已经存在,远程启动服务则发送一个FOUND 帧给客户机的RPLROM,FOUND帧中已包含了服务器的网卡ID。
3. 网络上服务器将根据第一个FOUND帧中所带的服务器网卡ID号,返回一个SEND.FILE.REQUEST帧给对应的服务器。SEND.FILE.REQUEST帧是一个要求服务器发送文件的请求。
4. 服务器端的远程启动服务在收到SEND.FILE.REQUEST帧后,将根据远程启动数据库中的工作站记录查找对应的启动块(BootBlock),用FILE.DAT.RESPONSE帧将启动块送回客户机端的RPLROM。
5. RPLROM在收齐所有的FILE.DAT.RESPONSE帧后,将执行点转向启动块的入口,启动工作站。工作站以实模式启动后,将创建一个RAM盘,并将实模式文件从远程启动服务器拷贝到RAM盘,加载实模式网络设备启动并建立一个到SBS服务器的连接。最后,连接到该客户机的计算机目录(Machine Directory)所在的服务器上,并根据计算机目录中的有关设置及数据完成启动过程。
PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作***的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作***。PXE可以引导多种操作***,如:Windows95/98/2000,linux等。PXE无盘工作站的启动过程分析如下:
1. 客户机个人电脑开机后,在 TCP/IP Bootrom 获得控制权之前先做自我测试。
2. Bootprom 送出 BOOTP/DHCP 要求以取得 IP。
3. 如果服务器收到个人电脑所送出的要求,就会送回 BOOTP/DHCP 回应,内容包括:客户机的 IP 地址,预设网关,及开机映像文件。否则,服务器会忽略这个要求。
4. Bootprom 由 TFTP 通讯协议从服务器下载开机映像文件。TFTP协议为Trivial File Transfer Protocol缩写,意为:简单文件传输协议,TFTP可以看成一个简化了的FTP,主要的区别是没有用户权限管理的功能,也就是说TFTP不需要认证客户机的权限,这样远程启动的客户机在启动一个完整的操作***之前就可以通过TFTP下载开机映像文件,而不需要证明自己是合法的用户。
5. 客户机通过这个开机映像文件开机,这个开机文件可以只是单纯的开机程序也可以是操作***。
6. 开机映像文件将包含 kernel loader 及压缩过的 kernel,此 kernel 将支持NTFS root***。
7. 开机映像文件在工作站内存模拟成磁盘,从这个模拟磁盘启动。
BOOTP(BOOTSTRAP PROTOCOL)是一种比较早出现的远程启动的协议,Bootp最早出在UNIX***中,负责Unixt终端的远程启动,直到目前仍是UNIX及之后的Linux***中最常用的方式。我们经常用到的DHCP服务就是从BOOTP服务扩展而来的。BOOTP协议使用TCP/IP网络协议中的UDP 67/68两个通讯端口。BOOTP主要是用于无磁盘的客户机从服务器得到自己的IP地址、服务器的IP地址、启动映像文件名、网关IP等等。它的简单启动过程为:
1. 由BOOTROM芯片中的BOOTP启动代码启动客户机,此时客户机还没有IP地址,它就用广播形式以IP地址0.0.0.0向网络中发出IP地址查询的请求,这个请求帧中包含了客户机的网卡MAC地址。
2. 网络中的运行BOOTP服务的服务器接收到的这个请求帧,根据这帧中的MAC地址在BOOTPTAB启动数据库中查找这个MAC的记录,如果没有此MAC的记录则不响应这个请求,如果有就将FOUND帧发送回客户机。FOUND帧中包含的主要信息有客户机的IP地址、服务器的IP地址、硬件类型、网关IP地址、客户机MAC地址和启动映像文件名。
3. 客户机就根据ROUND帧中的信息通过TFTP服务器下载启动映像文件,并将此文件在工作站内存模拟成磁盘,从这个模拟磁盘启动。
以上三种无盘启动方法都存在以下两个问题:
1. 通用性不高,需要网卡支持。以上三种启动过程的第一步就是BIOS运行网卡的BootROM芯片中的程序向外发送数据包,这就限定了网卡的类型。此外,目前市场主流商用网卡内置BootROM芯片中存储的代码均为X86指令编译生成,无法在非X86体系结构的计算机上使用,从限制了客户终端计算机的类型。
2. 多客户机同时启动会导致网络拥堵。在以上三步启动过程中都有将启动镜像从服务器上下载到客户机的过程,这个文件大小根据不同的***从十几兆到三十多兆不等。当多个客户机同时启动的时候,网络流量相当的大,此时网络拥堵。然而这个时候***除了等待启动镜像下载完成外什么都不能做,导致启动效率低,等待时间长。
发明内容
本发明要解决的技术问题是提供一种启动效率高、启动速度快、通用性好、安全可靠性高的基于本地启动映像文件的无盘计算机启动方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于本地启动映像文件的无盘计算机启动方法,实施步骤如下:
1)建立DHCP服务端和用于为客户机提供网络文件服务的启动服务器;
2)客户机通过本地存储启动映像文件,通过所述启动映像文件启动内核以及临时根文件***,向DHCP服务端获取本机的网络配置信息以及启动服务器地址,根据所述网络配置信息配置本机网络,根据所述启动服务器地址向启动服务器发送MAC地址请求启动文件;
3)启动服务器首先保存客户机的登记MAC地址并向客户机发送启动文件路径,然后定时获取客户机的当前MAC地址,将客户机的当前MAC地址和登记MAC地址进行比较并根据比较结果控制客户机对启动文件路径的访问权限;
4)客户机首先接收启动服务器发送的启动文件路径并挂载所述启动文件路径,然后根据挂载的启动文件路径切换至正式根文件***并启动操作***。
作为本发明上述技术方案的进一步改进:
所述步骤2)中客户机通过本地存储启动映像文件具体是指客户通过用于存储基本输入输出***的闪存芯片存储启动映像文件。
所述步骤3)的详细步骤如下:
3.1)启动服务器预先通过数据库存储已注册客户机的启动文件路径和客户机状态,启动服务器默认禁止客户机对启动文件路径的访问;启动服务器接收到客户机发送的MAC地址后查询数据库判断客户机是否存在于数据库中,如果不存在则向该客户机发送未注册信息并退出,否则执行下一步;
3.2)判断客户机对应的客户机状态是否为被禁用,如果为被禁用则向客户发送被禁用信息并退出,如果未被禁用则执行下一步;
3.3)修改配置文件允许客户机通过网络访问对应的启动文件路径,然后将客户机对应的启动文件路径通过网络发送给客户机;
3.4)启动服务器定时获取客户机的当前MAC地址,将客户机的当前MAC地址和登记MAC地址进行比较并根据比较结果控制客户机对启动文件路径的访问权限。
所述步骤3.4)的详细步骤如下:
3.4.1)启动服务器在每一个客户机登记MAC地址后为客户机建立一个对应的监控线程;
3.4.2)所述监控线程分别定时向对应的客户机发送询问MAC地址的ARP广播,客户机在收到所述ARP广播后将自己的MAC地址发送给对应的监控线程,所述监控线程比较客户机的当前MAC地址和登记MAC地址,如果当前MAC地址和登记MAC地址相同则判断客户机合法并执行步骤3.4.3),否则跳转执行步骤3.4.4);
3.4.3)所述监控线程首先休眠预设时间,然后返回执行步骤3.4.2);
3.4.4)所述启动服务器上设置的客户机状态包括alive、sleep和death,其中alive代表客户机合法运行、sleep代表客户机第一次判定为非法或者第一次与启动服务器失去联系,death代表客户机非法或者失去联系超过两次被禁用;所述监控线程从数据库中检索客户机的历史状态,如果客户机的历史状态为alive则监控线程在数据库中将客户机的状态修改为sleep,然后返回执行步骤3.4.2);如果客户机的历史状态为sleep则监控线程在数据库中将客户机的状态修改为death,禁止客户机通过网络访问对应的启动文件路径并结束线程。
所述步骤4)的详细步骤如下:
4.1)客户机首先接收启动服务器发送的启动文件路径,所述启动文件路径包括只读的启动***文件夹和可写的私有数据文件夹;
4.2)客户机通过aufs文件***将所述启动***文件夹和私有数据文件夹同时挂载到***根目录下;
4.3)客户机通过根文件***切换命令从临时根文件***切换至由所述启动***文件夹和私有数据文件夹构成的正式的根文件***并启动操作***。
本发明具有下述优点:
1、本发明通过本地存储启动映像文件来初始化内核和临时根文件***,省略了开机时从启动服务器上下载启动映像文件到客户机的交互过程,而且不需要网卡上有专门存放网络启动程序的芯片,能够适用于各种类型的网卡以及各种非X86架构的计算机***,具有通用性好的优点。
2、本发明通过本地存储启动映像文件,省略了开机时从启动服务器上下载启动映像文件到客户机的交互过程,减去下载启动镜像步骤,当多个客户机同时启动的时候能够有效节约网络流量、防止网络拥堵,能够提高启动效率、节约下载启动映像文件的等待时间,减少开机时间,具有启动效率高、启动速度快的优点。
3、本发明的启动服务器保存客户机的登记MAC地址并向客户机提供启动文件服务,客户机则根据启动服务器提供的启动文件路径挂载根文件***并启动操作***,同时启动服务器定时获取各个客户机的当前MAC地址并根据各个客户机的当前MAC地址和登记MAC地址控制对客户机的NFS文件***服务状态,不会产生由于篡改IP导致数据泄漏的问题,具有安全可靠性高的优点。
附图说明
图1为本发明实施例的基本实施流程示意图。
图2为本发明实施例的拓扑结构示意图。
图3为本发明实施例中启动服务器的处理流程结构示意图。
具体实施方式
如图1所示,本实施例基于本地启动映像文件的无盘计算机启动方法的实施步骤如下:
1)建立DHCP服务端和用于为客户机提供网络文件服务的启动服务器;
2)客户机通过本地存储启动映像文件,通过启动映像文件启动内核以及临时根文件***,向DHCP服务端获取本机的网络配置信息以及启动服务器地址,根据网络配置信息配置本机网络,根据启动服务器地址向启动服务器发送MAC地址请求启动文件;
3)启动服务器首先保存客户机的登记MAC地址并向客户机发送启动文件路径,然后定时获取客户机的当前MAC地址,将客户机的当前MAC地址和登记MAC地址进行比较并根据比较结果控制客户机对启动文件路径的访问权限;
4)客户机首先接收启动服务器发送的启动文件路径并挂载启动文件路径,然后根据挂载的启动文件路径切换至正式根文件***并启动操作***。
如图2所示,本实施例中DHCP服务端是通过一个独立的DHCP服务器来实现,启动服务器还同时作为DNS服务器,DHCP服务端为客户机分配的DNS地址即为分配给客户机的启动服务器地址。DHCP服务器、启动服务器和多个客户机(客户机1、客户机2、……、客户机N)均接入局域网并通过局域网相连。DHCP服务器用于为客户机动态分配IP地址、网关和DNS服务器地址;启动服务器用于为客户机提供DNS服务以及为客户机提供启动路径的NFS文件***服务,支持客户机远程挂载启动路径存储的操作***。此外,DHCP服务器和启动服务器除了本实施例通过两台计算机实现的方式以外,也可以通过一台计算机实现。本实施例中,客户机通过本地存储启动映像文件具体是指客户通过用于存储基本输入输出***(BIOS)的闪存芯片(Flash芯片)存储启动映像文件(内核与initrd文件),利用存储BIOS的Flash芯片容量大的特点,将启动映像文件烧录在其中并定制自己的启动流程达到无盘启动并运行的目的。
本实施例中,步骤2)中客户机通过本地存储启动映像文件具体是指客户通过用于存储基本输入输出***的闪存芯片存储启动映像文件。
如图1和图3所示,步骤3)的详细步骤如下:
3.1)启动服务器预先通过数据库存储已注册客户机的启动文件路径和客户机状态,启动服务器默认禁止客户机对启动文件路径的访问;启动服务器接收到客户机发送的MAC地址后查询数据库判断客户机是否存在于数据库中,如果不存在则向该客户机发送未注册信息并退出,否则执行下一步;
3.2)判断客户机对应的客户机状态是否为被禁用,如果为被禁用则向客户发送被禁用信息并退出,如果未被禁用则执行下一步;
3.3)修改配置文件允许客户机通过网络访问对应的启动文件路径,然后将客户机对应的启动文件路径通过网络发送给客户机;
3.4)启动服务器定时获取客户机的当前MAC地址,将客户机的当前MAC地址和登记MAC地址进行比较并根据比较结果控制客户机对启动文件路径的访问权限。
本实施例中,向启动服务器注册客户机及配置客户机硬件的步骤如下:
(1)、为新客户机的用户建立私有数据文件夹;
(2)、获取新客户机的MAC地址;
(3)、将新客户机的MAC地址、用户名、启动***文件夹、私有数据文件夹、状态控制字(禁用/启用客户机)写入数据库中;
(4)、为客户机替换存储于基本输入输出***的闪存芯片内的新固件,此固件集成启动映像文件(内核与initrd文件)。
如图1和图3所示,本实施例中,启动服务器在数据库中将每一个客户机的状态分类为alive、sleep和death,其中alive代表客户机合法运行、sleep代表客户机第一次判定为非法或者第一次与启动服务器失去联系,death代表客户机非法或者与启动服务器失去联系被禁用,步骤3.2)还包括在数据库中将客户机的状态修改为alive。
本实施例中,步骤3.4)的详细步骤如下:
3.4.1)启动服务器在每一个客户机登记MAC地址后为客户机建立一个对应的监控线程;
3.4.2)监控线程分别定时向对应的客户机发送询问MAC地址的ARP广播,客户机在收到ARP广播后将自己的MAC地址发送给对应的监控线程,监控线程比较客户机的当前MAC地址和登记MAC地址,如果当前MAC地址和登记MAC地址相同则判断客户机合法并执行步骤3.4.3),否则跳转执行步骤3.4.4);
3.4.3)监控线程首先休眠预设时间,然后返回执行步骤3.4.2);
3.4.4)启动服务器上设置的客户机状态包括alive、sleep和death,其中alive代表客户机合法运行、sleep代表客户机第一次判定为非法或者第一次与启动服务器失去联系,death代表客户机非法或者失去联系超过两次被禁用;监控线程从数据库中检索客户机的历史状态,如果客户机的历史状态为alive则监控线程在数据库中将客户机的状态修改为sleep,然后返回执行步骤3.4.2);如果客户机的历史状态为sleep则监控线程在数据库中将客户机的状态修改为death,禁止客户机通过网络访问对应的启动文件路径并结束线程。
本实施例中,启动服务器提供的启动路径包括只读的启动***文件夹和可写的私有数据文件夹,步骤4)的详细步骤如下:
4.1)客户机首先接收启动服务器发送的启动文件路径,启动文件路径包括只读的启动***文件夹和可写的私有数据文件夹;
4.2)客户机通过aufs文件***将启动***文件夹和私有数据文件夹同时挂载到***根目录下;
4.3)客户机通过根文件***切换命令从临时根文件***切换至由启动***文件夹和私有数据文件夹构成的正式的根文件***并启动操作***。
本实施例的详细工作流程如下:
【1】、客户机开机并启动内核。
客户机上电后运行BIOS(或者OBP),BIOS从flash解压启动镜像并导入引导装入程序Bootloader(或者SILO),之后Bootloader会将解压缩后的内核映像和initrd文件加载到内存的特定位置并将控制权传递给内核,内核取得控制权后会将自身与initrd解压并投入运转。
【2】、客户机配置网络启动环境。
客户机的内核将initrd文件解压成临时根文件***并完成初始化工作后会执行/init脚本(启动初始化脚本)。/init脚本中启动udev维护设备节点,运行dhcp客户机获取IP地址,运行ftnc-nbc获取启动路径,使用nfs与aufs文件***挂载正式的根文件***,最后切换到正式的根文件***。
/init脚本(启动初始化脚本)的工作具体步骤如下:
2.1、将procfs与sysfs分别挂载到proc与sys目录,然后启动udev的守护进程udevd。udevd会根据/etc/udev/rules.d/目录中的规则加载驱动,建立设备节点。
2.2、运行DHCP客户端,DHCP客户端通过UDP协议从DHCP服务器获取IP地址、网关及DNS服务器地址,并将此IP配置到***中(如图1第[1]、[2]步),本实施例中启动服务器还兼备DNS服务功能,故DNS服务器地址也就是启动服务器地址。
2.3、运行网络启动客户机程序(ftnc-nbc),客户机程序(ftnc-nbc)向服务器发送本机的MAC地址请求启动服务器分配启动路径(如图1第[3]、[6]步)。
启动服务器检索数据库后会返回以下三种值:
(1)“unknow client : <MAC>[<IP>]”, 未知的MAC,代表着此客户机未注册;
(2)“boot reject!”,该客户机被禁用;
(3) <SysRootPath>?<UserDataPath>,启动路径,包括启动***文件夹路径和私有数据文件夹路径,例如:”202.197.66.202:/netos/netroot?202.197.66.202:/netos/nettemp”
【3】、启动服务器提供客户机启动的文件环境。
客户机要正常运行需要一个文件环境(根文件***),这个环境是由启动服务器提供。出于安全考虑,启动服务器默认将启动路径(启动***文件夹、私有数据文件夹)不向任何远程机器开放。当客户机通过网络启动客户机程序(ftnc-nbc)将MAC地址传到服务端程序(ftnc-nbs)后请求启动路径,启动服务器的服务端程序才通过监控线程检索数据库(如图1第[4]、[5]步)。然后监控线程会根据数据库返回结果向客户机返回步骤2.3中的3种值。若是返回前两种值,代表客户机不合法,服务端接下来什么都不做;若是返回第三种值,代表客户机合法,服务端就需要对该客户机开放启动路径(启动***文件夹、私有数据文件夹),并设置客户机的权限,对启动***文件夹(<SysRootPath>)的权限为只“读(ro)”,对私有数据文件夹(<UserDataPath>)的权限为“读写(rw)”。
【4】、启动服务端的监控线程开始跟踪客户机状态,保证数据安全。
由于网络传输都是基于TCP/IP协议,文件共享也不例外。这就导致数据的访问权限识别对象是IP地址,因此“对该客户机开放启动路径”的实质是“对客户机的IP开放启动路径”;步骤3.1)“判断当前客户机是否存在数据库中”具体是指“判断客户机对应的IP地址是否存在于数据库中”。这时,文件共享会存在以下的数据安全问题:假定A是一台合法的客户机,B是一台有盘非法的机器。如果A通过网络成功的启动,分配给它的IP地址为X,服务器对合法的A客户机开放目录M和N(实质是对IP地址为X的机器开放目录M和N)。这时非法用户使用某些手段使A机器失去网络(拔网线、使A关机等),B使用A的IP地址X连上网络。因为服务器是将目录M、N开放给IP地址X,故非法的B机器可以将目录M、N的数据拷贝到自己的磁盘中,达到数据窃取的目的。
因此为了解决以上的安全问题,本实施例采用了状态检测(状态跟踪)的方法。为客户机创建一个监控线程作为状态跟踪模块,通过状态跟踪模块用来跟踪客户机的状态,然后更新数据库历史信息(如当前IP,上次启动时间等)(如图1第[9]、[10]、[11]步)。状态跟踪模块中客户机对应的线程定时发送一个询问MAC地址的ARP广播给各客户机,客户机将自己的MAC地址应答给服务器。状态检测模块接收到客户机应答的MAC地址后检测客户机MAC地址与其启动时的MAC地址是否一样。若MAC地址一样,代表着当前的这个客户机是合法的;若MAC地址不一样,则代表着客户机不合法,此时状态跟踪模块会取消启动路径对该客户机IP的开放。在实际应用过程中可能会有些意外情况,比如网线蹭掉了、网络暂时拥堵导致客户机无法及时应答ARP广播等。由于这些意外大部分可以在短时间内解决掉,故在出问题时可以给客户机一段解决问题的时间。若在这段时间之内客户机未能将问题解决,则取消启动***文件夹、私有数据文件夹对客户机IP的开放。
状态检测模块使用3种状态标记客户机,这3种状态如下:
(1) alive,客户机合法并且正在运行;
(2) sleep,客户机非法或与服务器失去联系(如客户机关机、网络拥堵导致通信不正常等),给客户机一段时间解决问题,在这期间内启动文件夹依旧开放给客户机;
(3) death,客户机非法或与服务器失去联系,启动文件夹不向该客户机开放。
状态检测模块会在每次检测客户机后将此次结果更新到数据库中。若检测出客户机合法,则将“alive”更新到数据库;若检测客户机不合法或无应答,则检索数据库上次检测时的状态。若上次的状态为“alive”,则给予客户机一段时间解决问题,将“sleep”更新到数据库;若上次状态为“sleep”,则代表上次检测也不合法,已经给予客户机两次检测间隔的时间来解决问题,但客户机未能在这规定的时间内解决问题,故将“death”更新到数据库,并且取消启动文件夹对该客户机的开放,然后更新数据库历史信息并结束客户机对应的线程。
【5】、客户机利用配置好的环境完成启动。
客户机正式的根文件***在启动服务器上,需要将其用网络文件***(nfs)挂载到本地。为了节省磁盘空间,方便维护,本实施例中所有的客户机使用同一个根文件***。这样势必要保证根文件***的独立性,不会因为客户机的任何操作而改变,所以此根文件***要设置成只读的。但是由于***运行时需要读写根文件***,这与之前设置只读矛盾。为了解决这一矛盾,本实施例通过使用aufs文件***来实现。
客户机在收到启动路径以后(如图1第[6]步),客户机使用aufs文件***将启动***文件夹、私有数据文件夹同时挂载到同一目录,读文件时从启动***文件夹、写文件时写入私有数据文件夹(如图1第[7]步),这样将根文件***文件夹与数据文件夹用aufs文件***同时挂载到sysroot下。之后用switch_root正式切换根文件***并执行新的根文件***中的/sbin/init进程完成启动余下来的部分完成操作***的启动(如图1第[8]步),在启动服务器的监测控制下执行与启动***文件夹、私有数据文件夹的数据交互(如图1第[12]步)。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种基于本地启动映像文件的无盘计算机启动方法,其特征在于实施步骤如下:
1)建立DHCP服务端和用于为客户机提供网络文件服务的启动服务器;
2)客户机通过本地存储启动映像文件,通过所述启动映像文件启动内核以及临时根文件***,向DHCP服务端获取本机的网络配置信息以及启动服务器地址,根据所述网络配置信息配置本机网络,根据所述启动服务器地址向启动服务器发送MAC地址请求启动文件;
3)启动服务器首先保存客户机的登记MAC地址并向客户机发送启动文件路径,然后定时获取客户机的当前MAC地址,将客户机的当前MAC地址和登记MAC地址进行比较并根据比较结果控制客户机对启动文件路径的访问权限;
4)客户机首先接收启动服务器发送的启动文件路径并挂载所述启动文件路径,然后根据挂载的启动文件路径切换至正式根文件***并启动操作***。
2.根据权利要求1所述的基于本地启动映像文件的无盘计算机启动方法,其特征在于:所述步骤2)中客户机通过本地存储启动映像文件具体是指客户通过用于存储基本输入输出***的闪存芯片存储启动映像文件。
3.根据权利要求2所述的基于本地启动映像文件的无盘计算机启动方法,其特征在于,所述步骤3)的详细步骤如下:
3.1)启动服务器预先通过数据库存储已注册客户机的启动文件路径和客户机状态,启动服务器默认禁止客户机对启动文件路径的访问;启动服务器接收到客户机发送的MAC地址后查询数据库判断客户机是否存在于数据库中,如果不存在则向该客户机发送未注册信息并退出,否则执行下一步;
3.2)判断客户机对应的客户机状态是否为被禁用,如果为被禁用则向客户发送被禁用信息并退出,如果未被禁用则执行下一步;
3.3)修改配置文件允许客户机通过网络访问对应的启动文件路径,然后将客户机对应的启动文件路径通过网络发送给客户机;
3.4)启动服务器定时获取客户机的当前MAC地址,将客户机的当前MAC地址和登记MAC地址进行比较并根据比较结果控制客户机对启动文件路径的访问权限。
4.根据权利要求3所述的基于本地启动映像文件的无盘计算机启动方法,其特征在于,所述步骤3.4)的详细步骤如下:
3.4.1)启动服务器在每一个客户机登记MAC地址后为客户机建立一个对应的监控线程;
3.4.2)所述监控线程分别定时向对应的客户机发送询问MAC地址的ARP广播,客户机在收到所述ARP广播后将自己的MAC地址发送给对应的监控线程,所述监控线程比较客户机的当前MAC地址和登记MAC地址,如果当前MAC地址和登记MAC地址相同则判断客户机合法并执行步骤3.4.3),否则跳转执行步骤3.4.4);
3.4.3)所述监控线程首先休眠预设时间,然后返回执行步骤3.4.2);
3.4.4)所述启动服务器上设置的客户机状态包括alive、sleep和death,其中alive代表客户机合法运行、sleep代表客户机第一次判定为非法或者第一次与启动服务器失去联系、death代表客户机非法或者失去联系超过两次被禁用;所述监控线程从数据库中检索客户机的历史状态,如果客户机的历史状态为alive则监控线程在数据库中将客户机的状态修改为sleep,然后返回执行步骤3.4.2);如果客户机的历史状态为sleep则监控线程在数据库中将客户机的状态修改为death,禁止客户机通过网络访问对应的启动文件路径并结束线程。
5.根据权利要求1或2或3或4所述的基于本地启动映像文件的无盘计算机启动方法,其特征在于,所述步骤4)的详细步骤如下:
4.1)客户机首先接收启动服务器发送的启动文件路径,所述启动文件路径包括只读的启动***文件夹和可写的私有数据文件夹;
4.2)客户机通过aufs文件***将所述启动***文件夹和私有数据文件夹同时挂载到***根目录下;
4.3)客户机通过根文件***切换命令从临时根文件***切换至由所述启动***文件夹和私有数据文件夹构成的正式的根文件***并启动操作***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210323454.3A CN102833344B (zh) | 2012-09-04 | 2012-09-04 | 基于本地启动映像文件的无盘计算机启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210323454.3A CN102833344B (zh) | 2012-09-04 | 2012-09-04 | 基于本地启动映像文件的无盘计算机启动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102833344A true CN102833344A (zh) | 2012-12-19 |
CN102833344B CN102833344B (zh) | 2015-02-25 |
Family
ID=47336311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210323454.3A Active CN102833344B (zh) | 2012-09-04 | 2012-09-04 | 基于本地启动映像文件的无盘计算机启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102833344B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679537A (zh) * | 2013-11-28 | 2015-06-03 | 英业达科技有限公司 | 使用镜像建立可开机储存装置的***及其方法 |
CN105069350A (zh) * | 2015-08-24 | 2015-11-18 | 上海繁易电子科技有限公司 | 嵌入式操作***的加密方法和装置 |
CN105117268A (zh) * | 2015-09-24 | 2015-12-02 | 上海爱数软件有限公司 | 一种实现linux***自动安装的安装方法及*** |
CN105630848A (zh) * | 2014-11-25 | 2016-06-01 | 中兴通讯股份有限公司 | 文件***的处理方法及装置 |
CN107209671A (zh) * | 2015-01-21 | 2017-09-26 | 思科技术公司 | 计算机中启动操作的动态自动监测和控制 |
CN107526618A (zh) * | 2017-09-04 | 2017-12-29 | 深圳互联先锋科技有限公司 | ***安装方法及装置 |
CN107809348A (zh) * | 2017-09-19 | 2018-03-16 | 广西电网有限责任公司电力科学研究院 | 面向电网大数据分布式***的终端状态监控方法 |
CN108319470A (zh) * | 2018-03-07 | 2018-07-24 | 郑州云海信息技术有限公司 | 创建os启动项的方法、装置、设备及可读存储介质 |
CN108829410A (zh) * | 2018-06-20 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种配置定制化pxe无盘***的方法及装置 |
WO2019242272A1 (zh) * | 2018-06-21 | 2019-12-26 | 郑州云海信息技术有限公司 | 一种bios启动操作***的方法、装置、设备及介质 |
CN111068335A (zh) * | 2019-12-25 | 2020-04-28 | 成都吉胜科技有限责任公司 | 一种用于电竞赛事的反外挂方法及*** |
CN111935116A (zh) * | 2020-07-30 | 2020-11-13 | 安徽华速达电子科技有限公司 | 一种智能光网络单元文件加载的方法 |
CN112671930A (zh) * | 2021-01-13 | 2021-04-16 | 杭州雾联科技有限公司 | 无盘服务端自动更新无盘工作站应用资源的方法 |
CN113810220A (zh) * | 2021-08-02 | 2021-12-17 | 华翔翔能科技股份有限公司 | 一种通过网络远程维护客户机的方法及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852328A (zh) * | 2005-08-02 | 2006-10-25 | 华为技术有限公司 | 一种无盘工作站启动***和方法 |
CN101159611A (zh) * | 2007-11-12 | 2008-04-09 | 中国科学院计算技术研究所 | 一种批量***部署方法和部署装置 |
CN101794235A (zh) * | 2010-03-05 | 2010-08-04 | 中国人民解放军国防科学技术大学 | 基于操作***网络驱动的无盘计算机启动方法 |
CN102207876A (zh) * | 2010-03-30 | 2011-10-05 | 联想(新加坡)私人有限公司 | 流式传输客户端***基本镜像 |
CN102340550A (zh) * | 2010-07-27 | 2012-02-01 | 上海啤尔科技实业有限公司 | 一种网络***数据处理方法和*** |
CN102457541A (zh) * | 2010-10-25 | 2012-05-16 | 鸿富锦精密工业(深圳)有限公司 | 无盘工作站启动过程中避免发生资源竞争的***及方法 |
-
2012
- 2012-09-04 CN CN201210323454.3A patent/CN102833344B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852328A (zh) * | 2005-08-02 | 2006-10-25 | 华为技术有限公司 | 一种无盘工作站启动***和方法 |
CN101159611A (zh) * | 2007-11-12 | 2008-04-09 | 中国科学院计算技术研究所 | 一种批量***部署方法和部署装置 |
CN101794235A (zh) * | 2010-03-05 | 2010-08-04 | 中国人民解放军国防科学技术大学 | 基于操作***网络驱动的无盘计算机启动方法 |
CN102207876A (zh) * | 2010-03-30 | 2011-10-05 | 联想(新加坡)私人有限公司 | 流式传输客户端***基本镜像 |
CN102340550A (zh) * | 2010-07-27 | 2012-02-01 | 上海啤尔科技实业有限公司 | 一种网络***数据处理方法和*** |
CN102457541A (zh) * | 2010-10-25 | 2012-05-16 | 鸿富锦精密工业(深圳)有限公司 | 无盘工作站启动过程中避免发生资源竞争的***及方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679537A (zh) * | 2013-11-28 | 2015-06-03 | 英业达科技有限公司 | 使用镜像建立可开机储存装置的***及其方法 |
CN105630848A (zh) * | 2014-11-25 | 2016-06-01 | 中兴通讯股份有限公司 | 文件***的处理方法及装置 |
CN105630848B (zh) * | 2014-11-25 | 2020-05-22 | 中兴通讯股份有限公司 | 文件***的处理方法及装置 |
CN107209671A (zh) * | 2015-01-21 | 2017-09-26 | 思科技术公司 | 计算机中启动操作的动态自动监测和控制 |
CN105069350A (zh) * | 2015-08-24 | 2015-11-18 | 上海繁易电子科技有限公司 | 嵌入式操作***的加密方法和装置 |
CN105117268B (zh) * | 2015-09-24 | 2019-01-11 | 上海爱数信息技术股份有限公司 | 一种实现linux***自动安装的安装方法及*** |
CN105117268A (zh) * | 2015-09-24 | 2015-12-02 | 上海爱数软件有限公司 | 一种实现linux***自动安装的安装方法及*** |
CN107526618A (zh) * | 2017-09-04 | 2017-12-29 | 深圳互联先锋科技有限公司 | ***安装方法及装置 |
CN107809348B (zh) * | 2017-09-19 | 2021-04-20 | 广西电网有限责任公司电力科学研究院 | 面向电网大数据分布式***的终端状态监控方法 |
CN107809348A (zh) * | 2017-09-19 | 2018-03-16 | 广西电网有限责任公司电力科学研究院 | 面向电网大数据分布式***的终端状态监控方法 |
CN108319470A (zh) * | 2018-03-07 | 2018-07-24 | 郑州云海信息技术有限公司 | 创建os启动项的方法、装置、设备及可读存储介质 |
CN108829410A (zh) * | 2018-06-20 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种配置定制化pxe无盘***的方法及装置 |
WO2019242272A1 (zh) * | 2018-06-21 | 2019-12-26 | 郑州云海信息技术有限公司 | 一种bios启动操作***的方法、装置、设备及介质 |
CN111068335A (zh) * | 2019-12-25 | 2020-04-28 | 成都吉胜科技有限责任公司 | 一种用于电竞赛事的反外挂方法及*** |
CN111068335B (zh) * | 2019-12-25 | 2023-12-15 | 成都吉胜科技有限责任公司 | 一种用于电竞赛事的反外挂方法及*** |
CN111935116A (zh) * | 2020-07-30 | 2020-11-13 | 安徽华速达电子科技有限公司 | 一种智能光网络单元文件加载的方法 |
CN111935116B (zh) * | 2020-07-30 | 2023-04-14 | 安徽华速达电子科技有限公司 | 一种智能光网络单元文件加载的方法 |
CN112671930A (zh) * | 2021-01-13 | 2021-04-16 | 杭州雾联科技有限公司 | 无盘服务端自动更新无盘工作站应用资源的方法 |
CN113810220A (zh) * | 2021-08-02 | 2021-12-17 | 华翔翔能科技股份有限公司 | 一种通过网络远程维护客户机的方法及*** |
CN113810220B (zh) * | 2021-08-02 | 2024-06-07 | 华翔翔能科技股份有限公司 | 一种通过网络远程维护客户机的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN102833344B (zh) | 2015-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102833344B (zh) | 基于本地启动映像文件的无盘计算机启动方法 | |
CN107911421B (zh) | 用于配置区块链中跨网络通信的方法、设备和计算机存储介质 | |
CN104079596B (zh) | 一种远程唤醒方法及装置 | |
CN103580908B (zh) | 服务器的配置方法及*** | |
US8352624B2 (en) | System for and method of streaming data to a computer in a network | |
US20030088650A1 (en) | Using a diskless client network topology for disk duplication and configuration | |
US20060155838A1 (en) | Program installation system and method using the same | |
US7496739B1 (en) | System and related methods for automatically configuring a computing system | |
CN106790467B (zh) | 一种云主机自动发现和自动部署的方法 | |
US7613807B2 (en) | System, method, and apparatus for discovering a new server connected within an automated data center | |
CN103677935A (zh) | 一种应用程序的安装控制方法、***及装置 | |
CN104850437A (zh) | 操作***的安装方法和装置 | |
CN104202440A (zh) | 一种标识终端的方法、服务器及*** | |
CN106911729A (zh) | 一种适用于国产处理器的操作***远程安装方法 | |
CN102726025B (zh) | 一种业务包的安装方法和相关装置 | |
CN110213391B (zh) | 一种网络协议地址的配置方法及装置 | |
US20140047553A1 (en) | Method and apparatus for data security reading | |
CN103281203A (zh) | 一种基于ecos***的DHCP地址分配管理方法 | |
CN101431523A (zh) | 用于更新计算机中的目标***的配置的方法及微*** | |
JP2012504364A (ja) | コンピュータユニットにアクセスする方法及び装置 | |
CN105204902A (zh) | 一种虚拟机的安全补丁升级方法,及装置 | |
US9330266B2 (en) | Safe data storage method and device | |
CN102968321A (zh) | 应用程序安装装置和应用程序安装方法 | |
CN104516744A (zh) | 软件更新方法及*** | |
US10819627B2 (en) | Network device stacking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |