所谓的无人值守安装,就是不需要管理员繁琐的插入系统光盘或者启动U盘,而是从网络引导进行安装。这里就说到了PXE了,PXE是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。并且要实现自动安装还需要一个工具,那就是kickstart。
总结:要实现无人值守安装需要以下条件。
客户机网卡支持PXE协议,且主板支持网络引导,(这个现在的服务器都支持。
网络中有一台DHCP服务器以便为客户机自动分配地址,指定引导文件位置。
服务器需要配置TFTP服务,以便提供镜像文件的下载。
搭建PXE远程安装服务器
1、准备RHEL 6安装源
先配置yum源,然后安装ftp服务,因为我们需要使用ftp服务发布系统。
[root@localhost /]#yum -y install vsftpd
[root@localhost /]#cp -rf /media/* /var/ftp/rhel6
[root@localhost /]#service vsftpd start
2、安装并启用TFTP服务
TFTP服务由tftp-server软件包提供,默认由xinetd超级服务进行管理,因此配置文件位于/etc/xinetd.d/tftp,修改配置如下:并启动xinetd服务。
[root@localhost /]#yum -y install tftp-server
[root@localhost /]#vim /etc/xinetd.d/tftp
[root@localhost /]#service xinetd start
3、准备Linux内核、初始化镜像文件
用于PXE网络安装的Linux内核,初始化镜像文件可以从RHEL6系统光盘中获得,分别为vmlinuz和initrd.img,位于文件夹images/pxeboot中。找到这两个文件并将其复制到tftp服务的根目录下。
[root@localhost /]#cd /media/images/pxeboot/
[root@localhost pxeboot]#cp vmlinuz initrd.img /var/lib/tftpboot/
4、准备PXE引导程序,启动菜单文件
用于PXE网络安装的引导程序为pxelinux.0,由软件包syslinux提供。安装好软件包syslinux,然后将文件pxelinux.0也复制到tftp服务的根目录下。
[root@localhost /]#yum -y install syslinux
[root@localhost /]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
启动菜单用来指导客户机的引导过程,包括 调用内核,如何加载初始化镜像。默认的启动菜单文件为default,应放置在tftp根目录的pxelinux.cfg子目录中,典型的启动菜单配置可参考以下操作,进行手动创建。
[root@localhost /]#mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost /]#vim /var/lib/tftpboot/pxelinux.cfg/default
default auto //指定默认入口名称
prompt 1 //1表示等待用户控制,0表示不等待用户。
label auto
kernel vmlinuz
append initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux text
kernel vmlinuz
append text initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img devfs=nomount ramdisk_size=8192
上述配置记录中定义了三个引导入口,分别为图形安装(默认),文本安装,救援模式。其中,prompt用来设置是否等待用户选择,label用来定义并分隔启动项,kernel和append用来定义引导参数。
引导入口的个数及内容根据需要自行定义,例如:如果要实现无人值守安装时只需要一个入口就够了,但是需要指定kickstart配置文件的路径。
[root@localhost /]#vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0
label auto
kernel vmlinuz
append ks=ftp://192.168.1.1/rhel6/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192
5、安装并启用DHCP服务
由于PXE客户机通常是尚未装系统的裸机,因此为了如服务器取得联系并正确下载相关引导文件,需要预先配置好DHCP服务来自动分配地址并告知引导文件的位置。
[root@localhost /]#yum -y install dhcp
[root@localhost /]#vim /etc/dhcp/dhcp.conf
ddns-update-style none;
default-lease-time 21600;
max-lease-time 43200;
option domain-name "benet.com";
option domain-name-service 202.106.0.20 202.106.148.1;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
range 192.168.1.100 192.168.1.200;
next-server 192.168.1.1; //指定TFTP服务器的地址
filename "pxelinux.0"; //指定PXE引导程序的文件名
}
[root@localhost /]#service dhcpd start
6、安装Kickstart工具
在RHEL6系统中安装system-config-kickstart工具以后,即可通过图形化界面向导工具来配置安装应答文件。如果用户对自动应答文件的配置比较熟悉,也可以直接编辑RHEL6安装后自动创建的应答文件(/root/anaconda-ks.cfg),根据需要适当修订后使用。
[root@localhost /]#yum -y install system-config-kickstart
1)配置安装应答参数,即创建ks.cfg配置文件。
在命令行中输入system-config-kickstart即可打开kickstart的配置向导。
[root@localhost /]#system-config-kickstart
2)在打开的配置的向导中,展开基本配置选项可以设定安装语言、root口令、安装后重新引导。
3)展开安装方法选项,应正确指定RHEL6安装源。
4)在引导装载程序选项中,可以设置GRUB密码以及GRUB的安装目录。
5)在分区信息选择中,可以规划分区方案。
6)网络配置及防火墙配置
在“网络配置”对话框中,添加一个网络设备“eth0”,将网络类型设为“DHCP”。
在“防火墙配置”对话框中,可以禁用SElinux、禁用防火墙。
7)在“软件配置”对话框汇总,可以根据实际需要选择要安装的软件包分组。
8)在“预安装脚本”和“安装后脚本”对话框中,可以分别添加在安装前,安装后自动运行的可执行语句。
9)保存Kickstart配置文件,单击“文件”→“保存”菜单,指定目标文件夹,文件名,将配置好的应答参数保存为文本文件。
7、将配置好的Kickstart的配置文件拷贝到PXE安装服务器的FTP目录下,就可以实现基于网络的无人值守安装了。
[root@localhost /]#cp /root/ks.cfg /var/ftp/rhel6/
至此PXE安装服务器就算是配置完成了,现在只需要在客户端在BISO中将网卡调为网络启动即可安装系统了,注意:需要将PXE安装服务器的防火墙关闭。
转自:http://cshbk.blog.51cto.com/5685776/1286727