通过image文件远程安装已经配置的Linux(1)
时间:2006-02-27 来源:tingyu
[目标]
有一批配置相同的服务器,现在需要安装同样的操作系统 ,进行同样的配置,通过网络方式(tftp)实现.
[思路]
1. 安装一台标准的server,并做好相应的配置,然后打包.
2. 通过PXE启动目标机器,并对目标机器分区
3. 把做好的image文件解到目标机器上.
4. 安装引导系统.
一. 安装PXE server
1. 软件需求:
Dhcp --- 目标机器通过pxe网卡从该server上获取IP
TFTP --- 目标机器获取IP后从pxe server上获取引导文件initrd
RedHat AS3.1 --- PXE server OS, 其他的也可以啦.
2. DHCP的安装.
直接使用系统自带的dhcp server, 配置文件如下:
[root@backup etc]# cat dhcpd.conf
ddns-update-style ad-hoc;
filename "/pxelinux.0";
max-lease-time 86400;
default-lease-time 43200;
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.10 192.168.100.254;
option broadcast-address 192.168.100.255;
}
3. 安装TFTP
直接使用系统自带的tftp和syslinux两个包
#cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
把kernel和initrd文件复制到/tftpboot(其中initrd需要定制,方法在后面有)
修改/tftpboo/pxelinux.cfg/default文件,内容如下:
[root@backup pxelinux.cfg]# more default
PROMPT 1
TIMEOUT 500000
DISPLAY msg
default NULL
label 1
kernel vmlinuz-new
append initrd=initrd-new ramdisk_size=4250 load_ramdisk=1 prompt_ramdisk=0 root=/dev/ram0 rw
增加一个文件/tftpboot/msg,这个文件是在pxe引导时候的提示信息
修改/etc/xinet.d/tftp,把disable=yes改成no,注意:
这个文件中有一行: server_args = -s /tftpboot, 有人建议写成server_args = -s /tftpboot –l,后面-l这个参数能让tftp写log,可是如果有这个,往往目标机器无法从tftp上获取文件,在/var/log/message中有大量提示地址已经在使用的信息,所以不需用这个参数.
修改/etc/services,加上如下几条:
tftp 69/tcp
tftp 69/udp
pxe 67/udp
pxe 4011/udp
重新启动xinetd service,启动dhcp,启动目标机器,让其从网络启动,看看是否能获取到IP并能看到msg文件的提示内容,如果没有问题就可以往下了.