面向空管系统的快速恢复系统的技术研究

2019-08-07 06:01王蓓蓓
网络安全技术与应用 2019年8期
关键词:网卡U盘空管

◆章 昆 王蓓蓓

(中国电子科技集团第二十八研究所 江苏 210007)

由于空管系统的专业性和特殊性,需要每天二十四小时不间断稳定可靠地运行,才能为保障空中交通安全提供实时的自动化处理。由于Linux操作系统的稳定性、安全性方面的优势,空管系统一般选其作为系统运行平台,但是同时也对现场维护人员提出了很高的技术要求。一台主机的常规安装配置过程不仅包括操作系统的安装,还需要进行空管系统相关的数据库、专业软件、各类驱动等进行安装配置。如果在现场出现系统异常,需要恢复系统时,即使是有经验的人员,短时间内也很难全部恢复正常,因此需要给现场提供一个快速恢复系统的方法。

下面介绍基于Red Hat Enterprise Linux(以下简称RHEL)运行的空管自动化系统的几个操作系统恢复方案,并进行对比分析,给出推荐使用场合。

1 Clonezilla软件

Clonezilla是目前比较通用的系统克隆工具,它支持对多种操作系统和文件系统的备份和恢复;其用法类似于Norton Ghost,可以对整个硬盘进行克隆,也可以克隆单个分区。使用者不需要有linux操作系统的基础,只要正确按照操作步骤做,就可以完成备份和恢复的过程。这种操作比较适合规模很小的机场终端和通航终端。

1.1 实现方法

(1)制作Clonezilla引导和备份恢复介质

由于空管系统涉及的专业软件比较多,文件比较大,一般的光盘无法装下。所以目前采用U盘来制作引导盘和备份恢复盘。将Clonezilla镜像文件通过工具(例如UltraISO)写入U盘,制作成可引导的安装U盘。

(2)制作备份镜像

首先保证系统已经安装调试完毕,不再有更新文件时,就可以准备制作备份盘。

根据Clonezilla软件的提示,完成从硬盘备份到U盘的过程,最终会在U盘上生成一个备份目录,里面包括各类镜像文件。

(3)恢复步骤

如果系统出现故障无法恢复时,需要把备份镜像恢复到主机上。

将U盘插入主机的USB口,加电后选择从USB设备引导。

根据Clonezilla软件的提示,可以完成从U盘备份镜像目录恢复到硬盘的过程。

恢复完成并重启后,系统即恢复成备份前的状态。

1.2 注意事项

由于目的硬盘必须大于或等于原来的硬盘大小,所以注意不能在不同机型的主机或者小于原硬盘大小的同类主机上进行恢复。

1.3 适用的空管系统

对于小型机场空管系统及通航系统来说,由于系统设备数量少,并不配备专门的技术维护人员,而其他兼职的人员对于Linux系统并不熟悉,此时利用Clonezilla软件来恢复系统是一个快速方便的做法,不需要进行其他命令操作,只要在操作过程中选择正确,恢复系统方便快捷。

2 Kickstart无人值守安装技术

中型机场的规模有了扩大,空管系统涉及的设备量也有了很大的增加。根据工作角色不同,系统一般由不同配置和性能的主机来构成,包括各种型号服务器和工作站。如果使用Clonzilla方式进行安装恢复则需要多个不同类型的安装介质,才能适应不同的硬件设备。这样给现场工作带来不少麻烦,介质管理起来也不方便。

Kickstart是 RHEL系统提供的一个安装过程自动化方法,Kickstart文件包含所有安装程序会交互的配置,比如系统中使用的时区、如何对驱动器进行分区、或者应该安装哪些软件包,甚至最后还可以根据需要执行脚本来完成一些定制内容。如果安装开始时有一个准备好的 Kickstart 文件,那么就可以进行自动安装,而不需要用户的介入。这对节约现场技术维护时长特别有用,而且同一个安装介质可以安装不同类型的主机,简化了现场管理。

2.1 生成Kickstart 文件

Kickstart 文件本身是一个纯文本文件,可以从头编写,也可以在之前已经安装完成的主机上复制一个,已经手动安装完成的主机上会生成/root/anaconda-ks.cfg文件,可以在这个基础上再根据需要进行定制修改[1]。

ks.cfg文件一般包括三个部分:

(1)Command 部分

这部分主要包括给出各种必须提供的信息项,比如时区、语言、超级用户密码、安装位置、硬盘分区等等,这样安装的过程中就不再需要交互输入。

……

harddrive --dir=/ --partition=/dev/sdb4

keyboard 'us'

rootpw iscrypted$1$x6qdKATY$qK1gPYf.UfSSByHbnCAKB.

timezone GMT --isUtc

lang zh_CN.UTF-8

cdrom

graphical

bootloader --location=mbr --driveorder=sda --boot-drive=sda

clearpart --all --initlabel

part /boot --fstype="ext4" --size=2048 --ondisk=sda

part / --fstype="ext4" --size=150000 --ondisk=sda

part swap --fstype="swap" --size=8192 --ondisk=sda

part /home --fstype="xfs" --grow --size=1 --ondisk=sda

part /datapool --fstype="xfs" --grow --size=1 --ondisk=sdb

……

(2)%packages 部分

这部分是提供需要安装的系统软件包,可以根据空管系统对软件的需求进行定制。

%packages

@base

@core

……

%end

(3)%pre 和 %post 部分

%post部分是实现空管系统定制安装的关键部分,空管系统软件安装或者配置都是在这个部分完成的。

%post

……

INSTDIR=./atc-soft

if [ -d $INSTDIR ]; then

( cd $INSTDIR ; ./install_atc)

fi

……

%end

其中install_atc脚本是实现空管软件无人值守安装的关键,通过编写install_atc脚本可以将空管软件包含的数据库、软件、驱动和必要配置等等都一次性安装到硬盘上,极大减轻了现场技术人员的负担。

2.2 生成引导介质,用于启动安装

将RHEL系统镜像文件通过工具(例如UltraISO)写入U盘,制作成可引导的安装U盘。

指定引导介质使用生成的ks.cfg。

把ks.cfg复制到已经制作好的可引导U盘上,然后修改安装条目的 append 行来指定ks.cfg的路径,使得安装过程中能够自动载入Kickstart文件。

append initrd=initrd.img inst.stage2=hd:/dev/sdb4

ks=hd:sdb4:/ks.cfg quiet

2.3 将空管相关软件复制到引导介质上

将空管软件所需的数据库、软件、驱动、配置和脚本都复制到该U盘上的固定目录(atc-soft)下,使得安装脚本install_atc能够正确识别。

上述步骤都完成后,下面对于使用者来说就非常简单了,需要做的事情就是将U盘插在主机上,开机后选择从U盘进行引导,下面的工作就不再需要人工干预。而且在操作系统安装完成的同时,空管系统相关软件也完成了安装。采用这种技术还有一个优势在于,如果操作系统需要增加新的软件包或删除某些软件包,直接修改ks.cfg文件就可以;如果空管软件后期有升级,也可以将最新的空管软件更新到 U盘指定的目录下,这样安装 U盘能够和最新的运行平台保持一致。

2.4 适用的空管系统

对于中型空管系统,现场技术维护人员有一定的Linux基础,可以进行操作系统的基本操作,也可以将最新空管软件更新到安装U盘上。利用本地自动安装技术,可以减少技术员对系统的配置,节约恢复时间。

3 Kickstart+PXE+NFS+DHCP+TFTP网络安装技术

在大型的空管系统中,主机数量大、种类多,安装配置各种主机是个更加繁重的工作,即使使用Kickstart无人值守安装,有时也不能适应同时配置多台主机的场景。这时,网络安装技术可以解决此类问题。Kickstart无人值守网络安装就是基于 PXE技术,同时配合NFS、DHCP、TFTP来实现的网络安装技术。

PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel设计的协议,它可以使计算机通过网络启动,该协议分为client和server两端。客户机通过支持PXE的网卡向网络中发送请求、DHCP信息的广播请求、IP地址等信息,DHCP服务器给客户端提供IP地址和其他信息(TFTP服务器、启动文件等),之后请求并下载安装需要的文件。

在这个实现里,最复杂的就是安装服务器的配置,其中涉及的步骤和文件比较多,但是一旦配置完成,该服务器可以对系统里所有机型提供安装服务,后期使用成本很低。

3.1 配置安装服务器

为了使用和管理方便,一般将网络安装需要的NFS、DHCP和TFTP服务都配置在同一台安装服务器上。下面是具体步骤(涉及的配置文件也需事先准备好,并放入空管软件目录atc-soft下,下面$INSTDIR即代指atc-soft目录):

(1)配置安装网卡。

在安装服务器上指定一个网卡用来提供安装服务,配置IP地址(例如199.28.4.99)。

(2)配置NFS服务器,用于存放系统安装时所需要的文件。

(3)安装nfs和rpcbind 软件包:

/bin/yum -y install nfs*

/bin/yum -y install nfs-utils*

/bin/yum -y install rpcbind

(4)设置NFS配置文件:

/bin/cp $INSTDIR/exports /etc/

(5)启动NFS 服务:

/bin/systemctl restart rpcbind.service

/bin/systemctl restart nfs-server.service

/bin/systemctl enable rpcbind.service

/bin/systemctl enable nfs-server.service

(6)配置DHCP服务器,用于给客户端提供IP地址及其他信息。

(7)安装dhcp软件包:/bin/yum -y install dhcp。

(8)修改DHCP服务的配置文件:

/bin/cp $INSTDIR/dhcpd.conf /etc/dhcp/

(9)启动DHCP服务:

/bin/systemctl restart dhcpd.service

/bin/systemctl enable dhcpd.service

3.2 配置TFTP服务器(用于提供客户端PXE引导所必须的文件)

(1)安装tftp软件:

/bin/yum -y install tftp

/bin/yum -y install tftp-server

/bin/yum -y install xinetd

/bin/cp $INSTDIR/tftp /etc/xinetd.d/

(2)启动tftp服务:

/bin/systemctl restart xinetd.service

/bin/systemctl enable xinetd.service

(3)配置TFTP系统启动文件:

/bin/yum -y install syslinux

/bin/cp $INSTDIR/pxelinux.0 /var/lib/tftpboot

/bin/cp $INSTDIR/boot.msg /var/lib/tftpboot

/bin/cp $INSTDIR/splash.png /var/lib/tftpboot

/bin/cp $INSTDIR/boot.msg /var/lib/tftpboot

/bin/cp $INSTDIR/vmlinuz /var/lib/tftpboot

/bin/cp $INSTDIR/initrd.img /var/lib/tftpboot

/bin/cp $INSTDIR/vesamenu.c32 /var/lib/tftpboot

/bin/mkdir -p /var/lib/tftpboot/pxelinux.cfg

/bin/cp $INSTDIR/default /var/lib/tftpboot/pxelinux.cfg/

(4)配置Kickstart自动应答安装文件

把ks.cfg复制一份到/var/ftp/pub目录下,内容和使用U盘进行kickstart安装的过程类似,只是其中的介质路径不再使用U盘(ks.cfg里为cdrom),而是需要修改成下面内容,IP地址是安装服务器的提供安装服务的网卡地址:

nfs --server=199.28.4.99 --dir=/home/iso

上述步骤完成后,重启主机,安装服务器配置完成。为了简化现场维护人员的工作,这些步骤也可以放在一个脚本installOS.sh里面,在配置时只需要运行这个脚本,上面的步骤可以自动顺序执行,所需花的时间一般在几十秒。

3.3 客户端(支持PXE引导的设备)的安装

在启动需要安装的主机时,根据主机型号的不同进入网卡引导的方式也略有区别,一旦进入 PXE引导过程后,主机将通过MAC地址自行寻找网络上的DHCP服务器,见图1。

图1 主机通过MAC地址自行寻找网络上的DHCP服务器

正确分配到IP地址后,就进入操作系统安装界面,如图2。

图2 操作系统安装界面

此时便开始安装系统,中间不需要人工干预。

3.4 适用的空管系统

对于大型空管系统如区域管制自动化系统,其设备量非常大,设备种类也非常多,使用网络安装方式,不但减少了人工的操作,而且还保证了系统的一致性,保证了运行的安全可靠性。

4 结束语

现将上述三种方式总结对比如表1。

表1 三种方式对比

空管系统属于实时、安全和使命重大的系统,需要根据实际情况进行快速的系统安装和恢复。本文根据管制系统规模的大小、维护人员技术水平的高低,对系统快速恢复技术进行了研究和实现,以上技术已在现有多个空管系统中得到了应用,并取得了很好的效果。

猜你喜欢
网卡U盘空管
联网全靠它 认识笔记本的无线网卡
民航空中交通安全管理问题探析
中小机场空管体制改革的思考与建议
空管无线电数据分析处理系统的设计
自动辨认插口方向的U盘
乙醇蒸气放空管设置室内引发爆炸
Server 2016网卡组合模式
让U盘起死回生
挑战Killer网卡Realtek网游专用Dragon网卡
U盘“闹肚子”