用CD/DVD安装操作系统不仅无聊而且消耗很长的时间,又需要在嘈杂的机房待很长时间,所以无人值守的自动化安装就很方便的解决了这个问题,目前linux环境中主要的无人值守方式有两种:PXE和cobbler,本文主要描述了PXE+KS在RHEL及ESX安装过程中的使用,有时间再补充cobbler的应用。
PXE的安装方式需要以下几个组件:
1.DHCP 用于给客户机pxe网络启动时分配IP地址,本文使用RHEL5.5中dhcp的rpm包,yum install dhcpd*
2.TFTP 一个轻量级的FTP服务器,用于存放操作系统的kernel(vmlinuz)和ramdisk(initrd.img)。本文使用RHEL5.5中tftp的rpm包,yum install tftp*
3.HTTPD(FTP或NFS),用于存放操作系统镜像文件以及ks.cfg脚本。本文使用apache。
PXE的安装过程如下:
1.目标主机通过PXE启动
2.目标主机发送一个DHCP请求
3.DHCP服务器给目标主机分配一个IP地址(可以是静态的IP也可以是动态的IP),同时告知目标主机TFTP服务器的地址
4.目标主机收到返回的信息后会联系TFTP服务器,请求DHCP服务器告知他的文件(pxelinux.0)
5.TFTP服务器会把启动目录发送给目标主机,目标主机按照需求执行不同的启动程序
6.PXELINUX会在TFTP服务器上查找配置文件(默认的配置文件名为default),然后根据配置文件启动相应的kernel,在本例中将会加载kernel(vmlinuz)和ramdisk(initrd.img)
7.目标主机会下载这两个文件,并加载
8.目标主机开始安装
9.安装程序读取PXE配置文件(ks.cfg),按照配置文件中的脚本执行安装过程
10.安装程序从HTTPD(或FTP或NFS或其他介质)上读取操作系统安装文件
11.安装完成
一. 配置DHCP服务器:
1.vim /etc/dhcpd.conf
ddns-update-style interim; option routers 192.168.225.254; option domain-name-servers 192.168.80.1; option time-offset -18000; # Eastern Standard Time range dynamic-bootp 192.168.225.131 192.168.225.150; //DHCP分配的IP段 |
二.配置TFTP服务器
1.本文中,TFTP服务器安装在RHEL5.5中,使用xinetd管理
2.打开tftpd的开机启动:
[root@tianjing-ops ~]# chkconfig tftp on |
查看tftp启动情况:
[root@tianjing-ops ~]# chkconfig –list | grep tftp tftp: on |
3.修改xinetd配置文件
vim /etc/xinetd.d/tftp
service tftp { disable = no //默认为YES,改为no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot //tftp的根目录 per_source = 11 cps = 100 2 flags = IPv4 } |
4. 重启xinetd服务
三. 配置PXE需要的文件
1.PXELINUX是由syslinux、isolinux派生出来的,支持PXE的bootloader,它可以实现远程通过PEX启动一台机器。把/usr/lib/syslinux/pxelinux.0拷到/tftpboot/目录下
下面分别配置RHEL5.5和ESX4.1 u1需要的文件
2.配置RHEL5.5需要的文件
a.从RHEL的iso中拷贝initrd.img和vmlinuz到/tftpboot
b.配置TFTP的配置文件
vim /tftpboot/pxelinux.cfg/default
display msgs/boot.msg //定义启动页面显示的内容 // ks配置文件,ksdevice可以指定使用哪个网卡 |
vim msgs/boot.msg
Welcome to Network Installer! Enter the shortname of the Operation System you wish to install: Local. Local Machine |
3. 配置RHEL的ks.cfg文件
vim ks.cfg
# Install OS instead of upgrade key –skip //跳过RHEL的key输入 lang en_US.UTF-8 keyboard us network –bootproto=dhcp –device=eth0 –onboot=on rootpw –iscrypted $1$P7vha6R8$plsp2BHaMUxZWsGmOL2hC0 //默认root密码 authconfig –enableshadow –enablemd5 firewall –enabled –port=22:tcp //默认防火墙规则 # Do not configure the X Window System timezone –utc Asia/Hong_Kong # X Window System configuration information #The services listed in the disabled list will be disabled //关闭不需要的服务开机启动 user –name=tianjing –groups=tianjing –password=$1$P7vha6R8$plsp2BHaMUxZWsGmOL2hC0 –iscrypted //创建新用户 reboot //重新启动 # System bootloader configuration # Partition clearing information //默认的磁盘分区,需要根据需要修改 %post –interpreter=/bin/bash //安装本地的yum源 %packages //默认安装的包 |
4.测试
开机,一般按F12会从PXE启动,然后输入RHEL5.5_x64选择安装RHEL5.5
5.配置ESX需要的文件
a. 建立ESX的目录
[root@tianjing-ops tftpboot]# mkdir -p /tftpboot/esx |
b. 从ESX4.1的iso中拷贝initrd.img和vmlinuz到/tftpboot/esx 目录
c. cp /usr/lib/syslinux/menu.c32 /tftpboot/esx/
d. 配置TFTP的default配置文件,同2(b)中的Label ESX4.1
6.配置ESX4.1的ks.cfg文件
#Accept the VMware End User License Agreement keyboard us #root password auth #BootLoader timezone ‘Asia/Shanghai’ #Install network –addvmportgroup=true –device=vmnic0 –bootproto=dhcp # clear partitions # Partitioning virtualdisk ‘esxconsole’ –size=8004 –onvmfs=’datastore1′ part ‘swap’ –fstype=swap –size=1000 –onvirtualdisk=’esxconsole’ reboot %post –interpreter=bash |
7.测试
F12从PXE启动后,输入ESX4.1开始安装ESX。
输入Local可以跳过PXE安装从本地启动服务器。
8. ESX4.1安装完成以后需要用vSphere client 登录以后创建一个普通用户,然后在用普通用户ssh登录ESX主机更改为固定IP,ESX4.1不建议使用动态IP地址。
待解决的问题:
1.sun的X6240刀片使用pxe安装ESX时如何在安装的过程中加载光纤卡的驱动程序?
2.ESX4.1安装完成以后如何自动新建一个普通帐号或者打开root的ssh登录权限?简化修改IP地址的过程。