实验目的:使用软件实现网络批量自动装机
实验环境:一台linux桌面版,一台以上新建的虚拟机,处于同一个局域网
实验步骤:
1.在桌面版系统上安装软件依赖包
[root@localhost ~]# yum -y install dhcp tftp tftp-server vsftpd syslinux system-config-kickstart
2.修改tftp配置文件,把tftp根目录修改为/tftpboot
[root@localhost ~]# vim /etc/xinetd.d/tftp
1 service tftp 2 { 3 socket_type = dgram 4 protocol = udp 5 wait = yes 6 user = root 7 server = /usr/sbin/in.tftpd 8 server_args = -s /tftpboot #改为/tftpboot 9 disable = no #yes改为no 10 per_source = 11 11 cps = 100 2 12 flags = IPv4 13 }
3.创建tftp根目录和子目录
[root@localhost ~]# mkdir -p /tftpboot/pxelinux.cfg
4.挂载安装光盘到vsftp的匿名登录目录下
[root@localhost ~]# mkdir /var/ftp/pub/cd [root@localhost ~]# mount /dev/sr0/ /var/ftp/pub/cd #注意光盘安装位置复制内核及引导文件到tftp目录下
5.复制内核及引导文件到tftp目录下
[root@localhost ~]# cp /var/ftp/pub/cd/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default [root@localhost ~]# chmod 644 /tftpboot/pxelinux.cfg/default #赋予文件写权限
复制安装引导文件到tftp的根目录:
[root@localhost ~]# cp -a /var/ftp/pub/cd/isolinux/vmlinuz /tftpboot/ [root@localhost ~]# cp -a /var/ftp/pub/cd/isolinux/initrd.img /tftpboot/ [root@localhost ~]# cp -a /usr/share/syslinux/pxelinux.0 /tftpboot/
6.生成DHCP配置文件并编辑
[root@localhost ~]# cp /usr/share/doc/dhcp-4.*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf [root@localhost ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.135.0 netmask 255.255.255.0 { #网络地址与子网掩码 range 192.168.135.100 192.168.135.200; #声明dhcp分配IP范围 option domain-name-servers ns1.internal.example.org; #dhcp分配的域名default-lease-time 600; max-lease-time 7200; filename "pxelinux.0"; #声明dhcp分配此文件 next-server 192.168.135.50; 将文件的位置告诉dhcp,即本机ip }
启动相关服务
[root@localhost ~]# service dhcpd start [root@localhost ~]# service vsftpd start [root@localhost ~]# service xinetd start
7.编辑default文件,修改引导参数
vim /tftpboot/pxelinux.cfg/default 1 #default vesamenu.c32 #注释第一行 2 #prompt 1 3 timeout 600 4 display boot.msg 5 default linux #添加此行
8.启动网络批量装机配置软件
[root@localhost ~]# system-config-kickstart #配置为图形界面,需要使用鼠标点击
基本配置:设置当前所在时区和root用户的密码
安装方法:选择FTP,服务器地址为ftp://本机IP,目录为前面创建的挂载点
分区信息:选择清除主引导记录、删除所有分区、初始化磁盘标签并手工建立新分区,点击红框内的添加可创建分区
网络配置:在网络设备信息中添加设备名为eth0,网络类型为DHCP
防火墙配置:可禁用防火墙
软件包选择:根据需要选择
安装后脚本:写入修改本地yum源的脚本
rm -rf /etc/yum.repos.d/* echo " [a] name=a baseurl=ftp://192.168.1.101/pub/cd enabled=1 gpgcheck=0" > /etc/yum.repos.d/a.repo
保存配置文件到/var/ftp/pub目录中 (左上角鼠标点击即可弹出保存)
9.修改ks.cfg,在文件末尾添加一行reboot
[root@localhost ~]# vim /var/ftp/pub/ks.cfg #末尾添加一行reboot即可
10.编辑引导文件告知客户端自动安装配置的位置
[root@localhost ~]# vim /tftpboot/pxelinux.cfg/default
label linux #找到此标签 menu label ^Install or upgrade an existing system menu default kernel vmlinuz append initrd=initrd.img ks=ftp://192.168.135.50/pub/ks.cfg #此行添加ftpks.cfg文件路径
11.开启新建的虚拟机测试即可