远程升级如何LINUX系统?
自从 5.2 版开始, Red Hat LINUX 便增加了一个称为 kickstart 的功能,其主要是为了减少安装过程中需要交互式 (interactive)的系统参数输入,提高安装效率。将其运用于自动安装 LINUX,特别是需要在短时间迅速安装至成百台 LINUX 工作站这种特殊场合尤为适用。
1.升级前系统检查
在开始升级系统之前,有一些容易忽视的问题容易中断 kickstart 过程,这些问题一般是系统配置达不到安装最低要求,所以最好能在自动升级之前有实验条件先进行充分的测试再实施。 Red Hat LINUX 系统发展至今,已经不是低得 386 都可以跑得很流畅的了(Red Hat 9 已经不能在 586 以下的机器上运行),所以在升级之前有必要对系统进行充分的检查,主要包括以下方面:
2.如何启动安装程序
首先从 Red Hat LINUX 的启动安装程序开始。从 Red Hat LINUX 的官方安装装手册上我们可以看到主要的几种启动方式:CDROM、软驱及从 dos 环境运行光碟上的 dosutils\\autoboot.bat 文件三种方式,对于我们来说这还是不够的,我们的 LINUX 工作站是没有软驱和光驱的,当然更加不会有 dos。通过分析各发行版第一张光盘的 /images目录下的 boot*.img 文件我们发现,这些启动镜像文件其实只有两个主要的文件:vmlinuz 内核和 initrd.img,initrd.img是一个压缩的最小文件系统[2]。将这两个文件提取到己有的 LINUX 系统 /boot 目录下,在系统的 bootloader(一般是 LILO 或者 GRUB)配置文件中加入相应的配置行即可启动安装程序。以 Red Hat 7.2 和 GRUB 为例(使用 Red Hat 8.0 的网络启动镜像文件):
|
添加如下三行:
|
注意:以上是没有 /boot 分区的配置,有 /boot 分区则不需要前面的 /boot,见 GRUB 配置文件中 NOTICE 部分。
重新启动后即可选择网络升级,和用 bootnet 软盘引导系统的效果是一样的。在这里我们将使用 Red Hat 9 的另外一个启动文件,这也是最近才在 Red Hat 发行版中出现的 boot.iso。将 Red Hat 9 发行版第一张光盘的 ISO 镜像文件装载后,我们发现其下的 images 目录中较 7 系列发行版多了一个 boot.iso 文件(8.0 第一张光碟根目录下也有类似目录),将其装载后发现其中包含一个比较大的内核和 initrd 文件,该initrd 包含了安装系统时常见硬件的驱动,我使用该文件启动时能自动识别出 PM133 主板的显卡及比较少见的adaptec ANA-6911TX 网卡(starfire.o),所以强烈推荐使用 boot.iso 自动升级,可以省却驱动的麻烦。值得一提的是 Red Hat 9 现在已经不在 boot.img 中自带网卡驱动了,而 Red Hat 8 在 bootnet.img 中带了一些常见网卡的驱动的(intel 55X系列、tulip、8139等),大家有兴趣可以参考[2]中提到的方法解压一下 bootnet.img 中的 initrd.img 文件就可以在lib目录中看到这些驱动模块文件了。
3.从哪里安装
升级系统当然需要新系统的发行版源文件,发行版形式可以多样化,即可以是光碟,也可以是光碟镜像文件(ISO格式),同时也可以是光碟文件的拷贝集。在 Red Hat 9 中,可供选择的安装模式有本地 CDROM、本地硬盘、NFS 镜像、FTP、HTTP。从光碟安装具有最好的兼容性和易操作性,适合个人安装,大批量和远程升级则不适用;本地硬盘是一种比较好的方式,速度快,而且也不需要频繁更换光碟,但是也不适合大批量安装,每台工作站均保存一份发行版镜像拷贝实在是很浪费存储空间,而且要命的是我的那台机器已经没有空间可以放下这么巨大的文件了;NFS 则是一种比较成熟的方式,通过 NFS 方式安装系统只需要将 ISO 格式的光碟镜像文件共享即可,不像 FTP 和 HTTP 方式需要考虑目录树结构[2],而且 NFS 方式可以选择图形界面安装(FTP 和 HTTP 方式仅能使用文本界面),速度相对 FTP 和 HTTP 方式更快,所以网络安装建议使用 NFS 方式。建立 NFS安装镜像服务器的办法很简单,仅需通过 NFS 将发行版光碟镜像文件共享即可。
|
4.制作 kickstart
接下来自然就是制作 kickstart 文件了,kickstart 技术从最早推出至今已经更新了许多次,配置的语法也是不尽相同,后来的版本也没有做到完全兼容旧有版本语法,不能说这也是一个遗憾,在此我强烈建议使用 Red Hat 9 官方文档[3]来进行 kickstart 的配置,这样才能做到万无一失。配置文件主要内容如下:
1)ks.cfg 文件位置。很明显安装程序需要读取到 ks 配置文件才能进行自动安装,ks 配置文件可以有以下几种方式读入:启动软盘、启动光盘、硬盘、网络。
软盘读取 ks 配置文件相对较简单,将 ks.cfg 置于软盘根目录下即可,启动后输入 linux ks=floppy 即可开始 ks 安装;
光盘读取 ks 配置文件需要在制作启动光盘时加入 ks.cfg 配置文件至根目录下,启动后输入 linux ks=cdrom:/ks.cfg 即可开始 ks 安装 ;
硬盘读取 ks 配置文件一般是从光驱引导后,再读硬盘中的 ks 配置文件(此时可能没有软驱和网络支持),启动后输入 linux ks=hd:fd0:/ks.cfg,限制条件是该硬盘分区必须是 VFAT 或者 EXT2;
网络读取 ks 配置文件则用得非常多了,通常用到的是 NFS 方式和 HTTP 方式,格式分别是 ks=nfs:server:/path 和 ks=http://< server> /< path> 。需要注意的是网络方式读取 ks.cfg 文件时,局域网能自动分配 IP,因为在内核未取得 ks.cfg 配置文件之前,系统是不知道如何配置 IP 地址的,这时就要先通过 DHCP 获得一个 IP 地址,通过网络读取 ks.cfg 配置文件。在具备网络条件的环境下,我强烈推荐使用网络方式提供 ks.cfg 配置文件,使用 DHCP 配合 ks 的参数置空功能可以为大量的工作站配置不同的 kickstart 配置文件[1][3],自动安装功能各异的系统。我是使用 NFS 方式读取 ks.cfg 文件。
|
在待升级系统 GRUB 配置文件中加入 ks 配置语句:
|
2)经过测试,升级系统所需要的 ks 配置参数相对较少,具体配置参数就不再累述了, UNIX 的风格就是 KISS。以我的配置为例:
|
3)检查一切配置无误就可以开始远程升级系统了!重启系统后,使用 ping 命令一直 ping 该升级系统的 IP,如无意外则大约半小时以后便可以看到该主机不可达,然后又恢复正常,使用 SSH 登陆该主机,再做一些系统参数调整(特别是 APACHE 和 PHP 的调整),升级就大功告成了!
4)失败总结。事情总不是一帆风顺的,出错在所难免,所以大家在实际操作之前还是要多加测试,才可一举成功。常见的错误有:
系统内存、硬盘分区、交换机分区空间不够,导致升级无法完成,解决办法是在升级前要留有充分的空间,如果硬盘空间不够,则删除部分不用的软件包,在此我向大家推荐一个小脚本[4],是从水木清华 BBS 上获得,能解决 Red Hat Linux 删除 RPM 软件包时的依赖关系。
鼠标配置。鼠标配置语句一般可以写为 mouse none,也可以不接参数自动检测;另外如果没有鼠标是不能使用图形模式安装的,所以还是使用 text 配置命令明确指定使用文本方式安装,反正安装过程我们也不会看着显示器,是吧?
配置语法错误。kickstart 一直在不断发展,如果语法错则会无法完成安装,常见错误有 network 配置语法,以前的版本配置语法是 network --static --ip 198.168.254.253......而最新的 Red Hat 9 配置语法是 network --device=eth0 --bootproto=static --ip=192.168.0.42......,所以对 ks.cfg 配置文件的检查一定要细心。
ks.cfg 配置文件尽可能写得精简,可以省却的就省掉,特别是升级时不会对 ks.cfg 中的软件包配置段进行处理,所以写了也无益,反倒有可能让安装程序读取到错误的配置行而停止自动安装。
5.总结
远程自动升级只是对 kickstart 应用的一个自我挑战,实际应用场合可能不会太多,但是在大规模网络安装中,要做到一打开工作站就能完全自动安装,一定要将 DHCP 和 kickstart 密切结合才能达到事半功倍的效果,试想装两百台工作站的时候每个 kickstart 文件出错三次,你就得在每台机器上操作三次,而一个完美的 kickstart 文件甚至可以让您连显示器都不接就完全安装好系统,这是一件多少愉快的事情!
相关视频
相关阅读 教你判断Linux系统下是否正常关机Linux系统下Resin+JSP+MySQL的安装和配置Linux系统下的源码安装工具CheckInstallLinux系统病毒介绍做好防护工程Linux系统密码攻击与防范黑客们入侵如何加强企业Linux系统安全如何才知道Linux系统是否被黑Linux系统防火墙框架的解析
热门文章 Shadow Defender怎么用pqmagic 9.0中文使用教硬盘格式化恢复或者数
最新文章
listary使用教程 list华为手机网络拒绝接入
圣诞情侣头像怎么弄 圣诞头像小红帽怎么弄U大师安装windows10教程U盘启动盘不能启动解决方案小白文件管理器怎么用 小白文件管理器TV版使
人气排行 八门神器教程,图文传授怎么使用图文教程:R-Studio万能通用数据恢复方法UEFI+GTP模式下使用GHO文件安装WIN7或WIN8图MHDD4.6使用方法图解DirectX修复工具无法打开 DirectX修复工具分区助手怎么扩大c盘?分区助手调整c盘大小教pqmagic 9.0中文使用教程图解分区助手怎么迁移系统 分区助手迁移系统教程
查看所有0条评论>>