相关栏目
院系热点

通过无人职守地安装Linux来部署高校Linux实验室

发布时间:2013年04月23日 来源: 信息与传媒学院 字体大小:
作者:王煜林 王金恒 [网络教研室]



【摘要】Linux操作系统在服务器市场占据半壁江山,随着Linux操作系统普及,各高校也纷纷设置了Linux操作系统这门课程,相应地要建立Linux操作系统实验室,而Linux操作系统又没有Windows操作系统那么容易安装与管理。本文结合我校Linux实验室实际情况,阐述了如何高效、自动化、大批量地部署与安装Linux操作系统。
【关键词】Linux操作系统;Linux实验室;无人值守

近年来,随着Linux的不断推广,Linux系统应用也日臻成熟,但是与广阔的Linux市场相比,Linux系统人才严重匮乏,2004年12月6日教育部、科技部关于组建国家Linux 技术培训与推广中心的通知说:随着软件产业的快速发展,操作系统作为软件产业的核心,不仅影响软件产业发展的核心竞争力,而且对于加强国家信息安全和增强国家的综合实力至关重要。因此,我国要积极推广使用Linux 操作系统。在Linux 的推广过程中,高校责无旁贷地成为先行军。因此,各高校开始设置Linux操作系统这门课程,建立了Linux操作系统实验室,对于在实验室里如何大批量来安装、部署Linux操作系统成为了各高校实验室老师的心头病,因为Linux系统不像Windows那样容易管理,本文通过不断地在实验室里实践证明,描述了如何无人值守地安装Linux操作系统。
为什么在高校实验室里通过网络无人值守安装Linux操作系统呢。首先,为了节省实验室的经费,对于很多实验室是没有光盘与软盘的,甚至有的把USB也禁用掉了,这样就无法通过本地来安装Linux;其次,实验室是大批量的安装Linux,如果通过本地安装,不仅效率低,也不便于维护;再次,当某台系统出现问题时,重装也变得高效与简单。经过实践证明,通过网络无人值守安装比手工一步一步安装效率明显高效。
既然通过网络无人值守地安装Linux操作系统有这么多优点,那么它的原理是什么呢?在实验室里,需要购置一台服务器,比如:IBM x3400,充当网络安装服务器,那么教师机与学生机都作为客户机统一来执行网络安装。无人值守安装是基于PXE(Preboot Execution Environment,远程引导技术)的,同时依赖于Linux的几个网络服务,包括DHCP,TFTP,FTP,Kickstart。PXE是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的Linux操作系统内核通过网络下载到本地运行;DHCP服务器负责PXE启动,分配给客户机地址以及指定TFTP服务器位置;TFTP服务器负责下载Linux内核与根文件来引导Linux系统安装;Kickstart用于通过预设安装脚本来实现无人值守安装系统。
配置网络安装Linux的服务器,总体分为六步:
(1)安装DHCP、FTP、TFTP
可以通过rpm命令来查询这些服务器包有没有安装,如果没有安装,得到安装盘里面查找到相关rpm包,再使用RPM或YUM方式进行安装,查询方式如下:
[root@RHCE Server]# rpm -q tftp-server
tftp-server-0.42-3.1
[root@RHCE Server]# rpm -q dhcp
dhcp-3.0.5-13
[root@RHCE Server]# rpm -q vsftpd
vsftpd-2.0.5-12
(2)配置DHCP
[root@RHCE Server]# cat /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
allow booting; //这两行是允许PXE启动
allow bootp;
subnet 192.168.1.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option time-offset -18000;
range 192.168.1.100 192.168.1.200;
default-lease-time 21600;
max-lease-time 43200;
filename "/linux-install/pxelinux.0"; //指定启动文件位置
next-server 192.168.1.200; //指定TFTP服务器所在位置
}
(3)配置PXE
把RHEL5.2安装的DVD光盘挂载到/var/ftp/pub/rhel5下
[root@RHCE ~]#cd /var/ftp/pub/rhel5
[root@RHCE ~]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/linux-install/
[root@RHCE ~]#cp isolinux/isolinux.cfg /tftpboot/linux-install/pxelinux.cfg/default
[root@RHCE ~]# cp isolinux/vmlinuz /tftpboot/linux-install/
[root@RHCE ~]# cp isolinux/initrd.img /tftpboot/linux-install/
[root@RHCE ~]# cp isolinux/*.msg /tftpboot/linux-install/
并修改两个文档:
[root@RHCE ~]#cat /tftpboot/linux-intall/boot.msg
- To install or upgrade in graphical mode, press linux.
- To install or upgrade in text mode, press test.
- To install or upgrade in rescue mode, press rescue.
- To install or upgrade in auto_ks install mode, press ks. //加入此行
- Use the function keys listed below for more information.
[F1-Main] [F2-Options] [F3-General] [F4-Kernel] [F5-Rescue]
[root@RHCE ~]# cat /tftpboot/linux-install/pxelinux.cfg/default

label ks
kernel vmlinuz
append ks=ftp://192.168.1.99/pub/ks.cfg initrd=initrd.img ramdisk_size=8192 //加入此行
(4)配置kickstart
通过系统自带的kickstart工具,生成一个kickstart脚本,指定通过FTP安装Linux,并把一些安装时的预设值设置好,把它放入到/var/ftp/pub目录下。让客户端在安装时,自行读取,并安要求来安装系统。
下面为一个典型的kickstart模板
auth --useshadow --enablemd5
bootloader --location=mbr
clearpart --all --initlabel
graphical
firewall --disabled
firstboot --disable
key 49af89414d147589
keyboard us
lang zh_CN
logging --level=info
url --url=ftp://192.168.1.99/pub/rhel5
network --bootproto=dhcp --device=eth0 --onboot=on
reboot
rootpw --iscrypted $1$Q/g1TUKe$tLJUBp6PV1MY2j0CkXYTB1
selinux --disabled
timezone Asia/Shanghai
install
xconfig --defaultdesktop=GNOME --depth=24 --resolution=800x600 --startxonboot
part swap --bytes-per-inode=4096 --fstype="swap" --size=1024
part /home --bytes-per-inode=4096 --fstype="ext3" --size=1024
part /var --bytes-per-inode=4096 --fstype="ext3" --size=1024
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=100
part / --bytes-per-inode=4096 --fstype="ext3" --size=3000
#Package install information

%packages --resolvedeps
%packages
@admin-tools
@editors
@text-internet
@gnome-desktop
@core
@base
@base-x
@chinese-support
-sysreport
%post
(5)启动相应服务
[root@RHCE ~]#service dhcpd start
[root@RHCE ~]#service vsftpd start
[root@RHCE ~]#chkconfig tftp on
[root@RHCE ~]#service xinetd restart
客户端设置:
在启动客户机的时候,选择从网卡启动,网卡中的PXE代码会联系DHCP服务器来获取IP地址以及通过TFTP下载启动镜像,然后启动镜像被载入并运行,你可以看到安装界面,并输入ks回车后,就开始了无人值守安装Linux操作系统。
参考文献:
[1] 陈涛.张强.韩羽.[LINUX服务攻畋].北京:清华大学出版社, 2008/6/1
[2] 金洁珩 王娟 [Red Hat Linux 9 系统管理] 北京:机械工业出版社 2006/6/1