A-A+

无人值守安装-PXE服务器的搭建

2016年02月20日 站长资讯 暂无评论

PXE---无人值守安装

作用:批量安装操作系统

PXE服务器的搭建

条件:

客户端主机上的网卡必须支持网络引导;(目前网卡基本都支持网络引导)

配置DHCP服务

配置NFS服务

配置YUM

配置TFTP

配置DNS服务

实例:

用ip地址192.168.1.1/24的主机做PXE服务器,能够给192.168.1.0/24网段内的所有主机提供自动安装操作系统的功能

1,能够给客户端自动安装rhel5操作系统

2,给客户端分配tarena.com域的主机名

3,给客户端分配网关和DNS

每个服务的功能:

DHCP服务:分配IP地址必须

DNS服务:分配主机名不必须

tftp服务:共享引导文件必须

NFS服务:共享RPM软件包必须

YUM服务:生成kickstart文件必须

第一步:搭建DNS服务器,使其能够给客户机分配主机名

配置yum源

  1. yum repolist      //查看一下yum源  
  2. yum install bindbind-chroot   //安装DNS服务器所需要的软件包  
  3. [root@server1 ~]#vim /var/named/chroot/etc/named.conf  
  4. [root@server1 ~]#vim /var/named/chroot/var/named/tarena.com  
  5. [root@server1 ~]#vim /var/named/chroot/var/named/192.zone  
  6. [root@server1 ~]#service named start  
  7. [root@server1 ~]#chkconfig named on  

具体文件内容如下:

  1. [root@server1  ~]# cat /var/named/chroot/etc/named.conf  
  2. options {  
  3.        directory "/var/named/";  
  4.        #/var/named/chroot/var/named/  
  5. };  
  6. zone  "tarena.com" {  
  7.        type master;  
  8.        file "tarena.com";  
  9. };  
  10. zone  "1.168.192.in-addr.arpa" {  
  11.        type master;  
  12.        file "192.zone";  
  13. };  
  14. [root@server1  ~]# cat /var/named/chroot/var/named/tarena.com  
  15. $TTL    86400  
  16. @               IN SOA  tarena.com.      root.tarena.com. (  
  17.                                         2014031001      ; serial (d.  adams)   
  18.                                         3H              ; refresh  
  19.                                         15M             ; retry  
  20.                                         1W              ; expiry  
  21.                                        1D  )            ; minimum   
  22.        IN      NS       server1.tarena.com.  
  23. $GENERATE  2-254   pc$.tarena.com.  IN  A  192.168.1.$  
  24. [root@server1  ~]# cat /var/named/chroot/var/named/192.zone  
  25. $TTL    86400  
  26. @               IN SOA  tarena.com.      root.tarena.com. (  
  27.                                         2014031001      ; serial (d.  adams)  
  28.                                         3H              ; refresh  
  29.   
  30.   
  31.                                         15M             ; retry  
  32.                                         1W              ; expiry  
  33.                                        1D  )            ; minimum  
  34.        IN      NS       server1.tarena.com.   
  35. $GENERATE  2-254    $   IN       PTR     pc$.tarena.com.  
  36. [root@server1  ~]# cat /etc/resolv.conf  
  37. search  tarena.com  
  38. nameserver  192.168.1.1  
  39. [root@server1  ~]# service named start  
  40. 启动 named:                                               [确定]  
  41. [root@server1  ~]# chkconfig named on  
  42. [root@server1  ~]# host pc10.tarena.com  
  43. pc10.tarena.com  has address 192.168.1.10  
  44. [root@server1  ~]# host pc100  
  45. pc100.tarena.com  has address 192.168.1.100  
  46. [root@server1  ~]# host 192.168.1.200  
  47. 200.1.168.192.in-addr.arpa  domain name pointer pc200.tarena.com.  
  48. [root@server1  ~]#  

第二步:配置DHCP服务器

  1. yum install dhcp  
  2. [root@server1 ~]#vim /etc/dhcpd.conf  
  3. [root@server1  ~]# cat /etc/dhcpd.conf  
  4. ddns-update-style  interim;  
  5. ignore  client-updates;  
  6. subnet  192.168.1.0 netmask 255.255.255.0 {  
  7.        option routers                  192.168.1.254;  
  8.        option subnet-mask              255.255.255.0;  
  9.        option domain-name              "tarena.com";  
  10.        option domain-name-servers      192.168.1.1;  
  11.        option time-offset              -18000; # Eastern Standard Time  
  12.   
  13.   
  14. range  192.168.1.2 192.168.1.253;  
  15.        default-lease-time 21600;  
  16.        max-lease-time 43200;  
  17. next-server 192.168.1.1;   //提供系统引导文件的服务器的ip地址,即tftp服务器的ip地址  
  18. filename  "pxelinux.0";    //指定共享网卡引导名,必须为pxelinux.0  
  19. }  
  20. [root@server1  ~]#  

注:如果dhcpd服务起不来,基本都是由于配置文件错误,可以使用dhcpd命令进行检测

第三步:配置TFTP服务

共享引导文件:引导系统的引导文件、网卡引导文件、default文件

tftp就是专门共享小文件的,而且是匿名的

注:若已安装过tftp-server软件,则会在根路径下有tftpboot目录

基于xinetd管理

默认监听的是69端口

网卡引导文件是由syslinux软件提供的

1,安装启动tftp服务器

  1. [root@server1 ~]#yum install tftp-server  
  2. [root@server1 ~]#vim /etc/xinetd.d/tftp  
  3.        disable                 = no    //修改为no,默认是yes  
  4. [root@server1 ~]# servicexinetd restart  
  5. [root@server1 ~]#netstat -tunlp | grep :69  

2,共享文件

挂在光盘

[root@server1 ~]# cd/misc/cd/isolinux/

共享内核文件:

  1. [root@server1isolinux]# cp vmlinuz initrd.img /tftpboot/  
  2. [root@server1isolinux]# cd  
  3. [root@server1 ~]#rpm -ql syslinux | grep 'pxelinux.0'  
  4. /usr/share/syslinux/gpxelinux.0  
  5. /usr/share/syslinux/pxelinux.0  

共享网卡引导文件:

  1. [root@server1 ~]# cp/usr/share/syslinux/pxelinux.0 /tftpboot/  
  2. [root@server1 ~]# ll/tftpboot/     //其他用户必须有r权限才能保证匿名成功下载  

总计 14436

-r--r--r-- 1 rootroot 12602297 04-02 16:15 initrd.img

-rw-r--r-- 1 rootroot 26828 04-02 16:17 pxelinux.0

-r--r--r-- 1 rootroot 2127468 04-02 16:15 vmlinuz

[root@server1 ~]#

共享default文件(指定客户端默认安装的操作系统)

default文件需手动下载;

必须放到/tftpboot/pxelinux.cfg/目录下,客户端下载的时候才能正确找到;

default文件的模板为安装关盘isolinux目录下的isolinux.cfg

  1. [root@server1 ~]# cp /misc/cd/isolinux/isolinux.cfg/tftpboot/pxelinux.cfg/default  
  2. [root@server1 ~]#cat /tftpboot/pxelinux.cfg/default  
  3. [root@server1 ~]#chmod +w /tftpboot/pxelinux.cfg/default  
  4. [root@server1 ~]# vim/tftpboot/pxelinux.cfg/default  
  5. [root@server1  ~]# cat /tftpboot/pxelinux.cfg/default  
  6. default  rhel5         //指定要安装的默认操作系统,与下面的label对应  
  7. prompt 1                //交互式安装  
  8. timeout 600             //引导默认操作系统的等待时间,可以修改,默认为10分钟  
  9. display  boot.msg        //安装系统时的背景图片   
  10. F1 boot.msg  
  11. F2  options.msg  
  12. F3  general.msg  
  13. F4 param.msg  
  14. F5  rescue.msg  
  15. label  rhel5  
  16.  kernel vmlinuz  
  17.  append initrd=initrd.img ks=nfs:192.168.1.1:/ks/ks.cfg     //指定ks文件的位置,通过nfs共享  
  18. label rhel6         //操作系统的标签,就是一个名字的表示  
  19.  kernel vmlinuz www.xiaoxiongboke.com  
  20.  append initrd=initrd.img text  
  21. [root@server1  ~]#  

第四步:配置NFS服务

共享ks文件和系统安装所需要的RPM软件包

需要安装nfs共享的软件包:

该服务依赖于portmap服务

  1. [root@server1 ~]#rpm -qa | grep nfs  
  2. nfs-utils-lib-1.0.8-7.9.el5  
  3. nfs-utils-1.0.9-70.el5  
  4. [root@server1 ~]#vim /etc/exports  
  5. [root@server1 ~]#cat /etc/exports  
  6. /ks             *(ro)  
  7. /misc/cd        *(ro)  
  8. [root@server1 ~]#mkdir /ks  
  9. [root@server1 ~]#service nfs restart  
  10. [root@server1 ~]#service portmap status  
  11. [root@server1 ~]#chkconfig nfs on  
  12. [root@server1 ~]#chkconfig portmap on  
  13. [root@server1 ~]#showmount -e 192.168.1.1  
  14. Export list for192.168.1.1:  
  15. /ks      *  
  16. /misc/cd *  
  17. [root@server1 ~]#  

第五步:生成ks文件

两种方式:用工具生成和用模板文件生成

1,用工具生成(需要做yum源)

yum源的名字必须以rhel开头

这个实在CentOS5.10中

  1. [root@server1  ~]# cat /etc/yum.repos.d/server.repo    //yum源文件内容  
  2. [rhel-server]        //yum源名字必须是以rhel开头  
  3. name=server  
  4. baseurl=file:///misc/cd  
  5. enabled=1  
  6. gpgcheck=1  
  7. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5  
  8. [root@server1  ~]#  

[root@server1 ~]#yum install system-config-kickstart //必须在5运行级别操作

可以使用system-config-kickstart打开kickstart管理界面

设置密码、

安装方式:执行新安装、NFS、NFS服务器:192.168.1.1、NFS目录:/misc/cd

引导装载程序选项:安装新引导装载程序、是否使用GRUB口令(可选)、默认

分区信息:清除主引导记录、删除所有现存分区

...

为客户端制作启动时的一些选项,然后点击文件→保存→保存到/ks目录即可,文件名为ks.cfg

注:该文件对其他用户必须有r权限,否则无法下载;

若没有跳过注册码的选项,则需要手动添加:key --skip

2,通过模板生成该文件

在root用户的家目录下,有个名字为:anaconda-ks.cfg的文件

需要修改的内容为:

去掉分区设置前的#号

添加指定NFS服务器的行

  1. [root@server1  ~]# cat /ks/ks.cfg  
  2. auth  --useshadow   --enablemd5  
  3. bootloader  --location=mbr  
  4. zerombr  
  5. clearpart  --all --initlabel  
  6. graphical  
  7. firewall  --disabled  
  8. firstboot  --disable  
  9. keyboard us  
  10. lang en_US  
  11. key --skip  
  12. logging  --level=info  
  13. nfs  --server=192.168.1.1 --dir=/misc/cd  
  14. network  --bootproto=dhcp --device=eth0 --onboot=on  
  15. reboot  
  16. rootpw  --iscrypted $1$TOx7sR5P$vK9aWTdG91IxbBGvgKkUT.  
  17. selinux  --disabled  
  18. timezone  America/New_York  
  19. install  
  20. xconfig  --defaultdesktop=GNOME --depth=8  --resolution=640x480  
  21. part /boot  --bytes-per-inode=4096 --fstype="ext3" --size=100  
  22. part swap  --bytes-per-inode=4096 --fstype="swap" --size=2048  
  23.   
  24. part /  --bytes-per-inode=4096 --fstype="ext3" --grow --size=1  
  25. %packages  
  26. @system-tools  
  27. @gnome-desktop  
  28. @development-libs  
  29. @admin-tools  
  30. @base  
  31. @development-tools  
  32. @base-x  
  33. @graphics  
  34. @graphical-internet  
  35. @legacy-software-support  
  36. @legacy-software-development  
  37. @text-internet  
  38. @editors  
  39. [root@server1  ~]#  

客户端设置:

在BIOS里设置引导方式为网络安装方式。

标签:

给我留言