1、将光盘做成yum源:
# cd /etc/yum.repos.d/ # vim media.repo[base1]name=mediabaseurl=file:///mntenabled=1gpgcheck=0cost=100# yum clean all
2、安装并配置DHCP和httpd服务
# yum -y install dhcp httpd 安装好dhcp之后、就去配置dhcp服务里的一些参数了、能让dhcp服务告诉客户端主机tftp服务器在什么位置,用net-server IP设定、还要设定文件名为pxelinux.0、这些设定可以放在全局、也可以放在某个子网中,复制/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample文件替换原配置文件/etc/dhcp/dhcpd.conf、然后编辑/etc/dhcp/dhcpd.conf # cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf # vim /etc/dhcp/dhcpd.conf 将subnet 10.152.187.0 netmask 255.255.255.0 { } 段以后不是以#开头的内容注释掉 :,.$s/^[^#]/#&/g :set nohlsearch #去掉编辑器颜色subnet 192.168.8.0 netmask 255.255.255.0 { # 定义网段、掩码 range 192.168.8.210 192.168.8.215; # 地址池 option routers 192.168.8.254; # 网关 next-server 192.168.8.42; # tftp服务器 filename "pxelinux.0";}配置完成后,启动DHCP服务,并将它设为开机自启动、也重启一下dhcp服务 # service dhcpd restart # chkconfig dhcpd on # chkconfig --list dhcpd dhcpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
3、安装tftp服务
由于tftp服务由xinetd服务管理并由xinetd来唤醒的、所以也要安装xinetd服务、tftp-server是服务器端要安装的、tftp是客户端要安装的。
# yum -y install tftp-server # yum -y install xinetd 看一下安装完后生成的文件、有几个我们需要关注一下的: 然后启动这两个服务: # chkconfig tftp on # service xinetd restart 在这里我们应该挂载我们的安装光盘、我这里的安装光盘已经挂载好了: # mount /dev/cdrom /mnt4、准备自动安装系统需要的启动内核及其他文件
现在我们从刚挂载的光盘中开始复制内核文件以及init等一些文件到/tftp/lib/tftpboot目录下:
# cp /mnt/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/# cp /mnt/isolinux/boot.msg /var/lib/tftpboot/# cp /mnt/isolinux/splash.jpg /var/lib/tftpboot/# cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/还要复制一个叫pxelinux.0这个文件、这个文件是由syslinux提供的、要安装这个程序包才会有这个文件,那我们就装吧! # yum -y install syslinux 安装好了之后就复制这个文件吧: # cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 在这里pxelinux.0取代了isolinux、他工作时要依赖的配置文件叫isolinux.cfg,虽然pxelinux.0取代了isolinux、但是依然需要一个配置文件、这样我们就复制isolinux.cfg到/var/lib/tftpboot/pxelinux.cfg/目录下、这里pxelinux.cfg目录要我们事先创建好、同时复制过来的配置文件要改名为default:
# cd /var/lib/tftpboot/# mkdir pxelinux.cfg# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
5、配置自动化安装kickstart文件
此时还需要系统能够自动化安装,我们还没有ks自动应答文件,也没有安装树、在安装时必须提供所依赖的各种rpm包,我们知道HTTP可以向外提供安装树、那就用到我们的httpd了、我这里已经安装好了httpd服务了,httpd的服务路径在/var/www/html下、这时我们可以绑定我们之前挂载好的光盘到这个目录,这样就有安装树了,当然在html下创建个目录会好点,这里我们创建成centos6.5: # mkdir /var/www/html/centos6.5 # mount --bind /mnt/ /var/www/html/centos6.5/ 启动httpd服务,并检查80端口是否正常启用: # service httpd start # ss -tnl 这样子文件共享服务就设定OK了,可以用:http://本机服务器IP地址/centos6.5 这样就可以访问得到了,安装树安装完成 接下来我们需要使用system-config-kickstart来定制我们的kickstart.cfg文件,建议也使用/root/anaconda-ks.cfg作为模板来进行 # cp anaconda-ks.cfg ks.cfg 安装kickstart工具 # yum install -y system-config-kickstart 启动配置工具进行配置 # system-config-kickstart & 验证文件是否OK # ksvalidator ks.cfg 提供ks.cfg文件供参考(这个安装模板是基本服务软件包安装) # cat ks.cfg# Kickstart file automatically generated by anaconda.#version=DEVELinstallurl --url=http://192.168.8.42/centos6.5lang en_US.UTF-8keyboard usnetwork --onboot yes --device eth0 --bootproto dhcp --noipv6rootpw --iscrypted $6$Zo9OJ.qLqnykyR3A$oMfNInpeoBafrlems1hl/yb4Qast3q4AXTloF7ZdqbszFmYlG9cLYgobocFBsc11wGGy/nleM8liSRU.kqvsy0rebootfirewall --disabledauthconfig --enableshadow --passalgo=sha512selinux --disabledtimezone --utc Asia/Shanghaibootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"# The following is the partition information you requested# Note that any partitions you deleted are not expressed# here so unless you clear all partitions first, this is# not guaranteed to workclearpart --allzerombrtextpart /boot --fstype=ext4 --size=300part pv.008002 --grow --size=61440volgroup vg_node4 --pesize=8192 pv.008002 logvol /data --fstype=ext4 --name=data --vgname=vg_node4 --size=20000logvol / --fstype=ext4 --name=root --vgname=vg_node4 --size=20000logvol swap --name=swap --vgname=vg_node4 --size=4000logvol /usr/local --fstype=ext4 --name=usr --vgname=vg_node4 --size=10000logvol /web --fstype=ext4 --name=web --vgname=vg_node4 --size=20000repo --name="CentOS" --baseurl=http://192.168.8.42/centos6.5 --cost=100%packages@base@console-internet@core@debugging@directory-client@hardware-monitoring@java-platform@large-systems@network-file-system-client@performance@perl-runtime@server-platform@server-policy@workstation-policypaxoddjobsgpiodevice-mapper-persistent-datasamba-winbindcertmongerpam_krb5krb5-workstationperl-DBD-SQLite%end而后我们就开始复制Kickstart文件了,这个文件在/root/目录下,叫anaconda-ks.cfg、我们把他复制到/var/www/html/下,改名为ks.cfg # cp /root/ks.cfg /var/www/html/ks.cfg 由于这个文件只有管理员可以访问、复制过来之后要给个可读的权限他: # chmod +r /var/www/html/ks.cfg 再编辑一个这个ks.cfg里面的配置跟我们设定好的一致、要不然找不到文件路径: # vim /var/www/html/ks.cfg 怎么让启动时加载kickstart.cfg文件呢,那就要在/var/lib/tftpboot/pxelinux.cfg/default文件的label为linux下的append后面补上 ks=http://192.168.8.42/ks.cfg 编辑/var/lib/tftpboot/pxelinux.cfg/default # vim /var/lib/tftpboot/pxelinux.cfg/default 改好后:wq!强行写入、退出即可 到这里我们已经配置好了我们的自动化安装环境接下来创建一个虚拟机来测试一下,看一下我们的自动化安装界面是否可以启动