使用RHEL6.3+PXE+DHCP+Apache+NFS+KickStart

无人值守安装RHEL6.3

版权声明:

本文遵循“署名非商业性使用相同方式共享 2.5 中国大陆”协议

您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品
您可以根据本作品演义自己的作品
您必须按照作者或者许可人指定的方式对作品进行署名。
您不得将本作品用于商业目的。
如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。
对任何再使用或者发行,您都必须向他人清楚地展示本作品使用的许可协议条款。
如果得到著作权人的许可,您可以不受任何这些条件的限制。
Designed by 小诺( www.rsyslog.org dreamfire.blog.51cto.com
原理:通过kickstart生成ks.cfg文件,过滤掉安装过程中人工干预的部分,最终达到从网卡启动后能够自动安装系统直到完成从而实现了大规模部署安装操作系统.
系统环境:
    
    
    
    
  1. [root@rhel6u3-1 ~]# uname -r

  2. 2.6.32-279.el6.i686

  3. [root@rhel6u3-1 ~]# lsb_release -a

  4. LSB Version:          :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noah

  5. Distributor ID:         RedHatEnterpriseServer

  6. Description:            Red Hat Enterprise Linux Server release 6.3 (Santiago)

  7. Release:  6.3

  8. Codename:             Santiago

第一步: 配置 yum环境
挂载镜像文件
    
    
    
    
  1. [root@rhel6u3-1 ~]# mount /dev/cdrom  /media/cdrom/ //挂载光盘镜像文件

  2. mount: block device /dev/sr0 is write-protected, mounting read-only

配置YUM库,指向镜像文件挂载位置.

第二步:安装无人值守所需要的服务及软件包

包括: dhcp,xinetd,tftp,nfs,http,system-config-kickstart syslinux

   
   
   
   
  1. [root@rhel6u3-1 Packages]# yum -y install dhcp xinetd tftp-server nfs* httpd syslinux system-config-kickstart     //安装所有需要的包

  2. //查看安装的包是否安装成功

  3. [root@rhel6u3-1 Packages]# rpm -qa dhcp  //为pxe网卡提供网络参数并指向tftp服务器文件

  4. dhcp-4.1.1-31.P1.el6.i686

  5. [root@rhel6u3-1 Packages]# rpm -qa xinetd  //tftp服务依赖服务

  6. xinetd-2.3.14-34.el6.i686

  7. [root@rhel6u3-1 Packages]# rpm -qa tftp-server  //提供启动安装需要的内核文件

  8. tftp-server-0.49-7.el6.i686

  9. [root@rhel6u3-1 Packages]# rpm -qa nfs-utils  //提供安装需要的系统文件

  10. nfs-utils-1.2.3-26.el6.i686

  11. [root@rhel6u3-1 Packages]# rpm -qa httpd  //提供安装需要的无人值守kickstat脚本

  12. httpd-2.2.15-15.el6_2.1.i686

  13. [root@rhel6u3-1 Packages]# rpm -qa syslinux  //提供pexlinux.0文件

  14. syslinux-4.02-7.el6.i686

  15. [root@rhel6u3-1 Packages]# rpm -qa system-config-kickstart  //生成ks.cfg文件

  16. system-config-kickstart-2.8.6.4-1.el6.noarch

第三步: 配置 dhcp服务器
复制模版进行配置
   
   
   
   
  1. [root@rhel6u3-1 ~]# cp -p /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf  //复制dhcpd.conf配置模版

  2. 添加tftp服务器地址及pexlinux.0文件

  3. [root@rhel6u3-1 ~]# vim /etc/dhcp/dhcpd.conf   //配置DHCP服务器

  4. # dhcpd.conf

  5. option domain-name "rsyslog.org";

  6. option domain-name-servers 192.168.100.102, 192.168.100.103;

  7. default-lease-time 86400;

  8. max-lease-time 604800;

  9. ddns-update-style none;

  10. log-facility local7;

  11. next-server 192.168.100.101;    //指向tftp服务器

  12. filename="pxelinux.0";  //tftp根目录的相对路径

  13. subnet 192.168.100.0 netmask 255.255.255.0 {

  14.  range 192.168.100.30 192.168.100.80;

  15.  option routers 192.168.100.1;

  16. }

第四步:复制安装系统需要的核心文件及光盘镜像
复制初始化安装需要的系统内核等文件到tftp根目录下,并通过模版创建default文件.
注意:以下红色部分可以不用
   
   
   
   
  1. [root@rhel6u3-1 ~]# cd /var/lib/tftpboot/    //tftp的目录跟RHEL5位置不同

  2. [root@rhel6u3-1 isolinux]# pwd

  3. /media/cdrom/isolinux

  4. [root@rhel6u3-1 isolinux]# cp vmlinuz initrd.img boot.msg  splash.jpg /var/lib/tftpboot/ //复制所需要的文件到tftp服务器根目录

  5. [root@rhel6u3-1 /]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

  6. [root@rhel6u3-1 /]# mkdir /var/lib/tftpboot/pxelinux.cfg //创建pxelinux.cfg目录

  7. [root@rhel6u3-1 /]# cp -p /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default //创建default文件

第五步: 创建 default文件
编辑default文件,多余部分可以删除,也可以不删除,创建label RHEL6U3标签,内容指向内核及ks.cfg位置
   
   
   
   
  1. [root@rhel6u3-1 /]# cat /var/lib/tftpboot/pxelinux.cfg/default  

  2. default local

  3. #prompt 1

  4. timeout 600

  5. display boot.msg

  6. menu background splash.jpg

  7. menu title Welcome to Red Hat Enterprise Linux 6.3!

  8. menu color border 0 #ffffffff #00000000

  9. menu color sel 7 #ffffffff #ff000000

  10. menu color title 0 #ffffffff #00000000

  11. menu color tabmsg 0 #ffffffff #00000000

  12. menu color unsel 0 #ffffffff #00000000

  13. menu color hotsel 0 #ff000000 #ffffffff

  14. menu color hotkey 7 #ffffffff #ff000000

  15. menu color scrollbar 0 #ffffffff #0000000

  16. label local

  17. localboot

  18. label RHEL6U3

  19.  kernel vmlinuz

  20.  append initrdinitrd=initrd.img ramdisk_size=8192ks=http://192.168.100.101/ks.cfg

第六步: 配置 NFS服务器
NFS共享目录指向镜像挂载的位置,也可以创建目录,然后将光盘镜像文件copy进来.
   
   
   
   
  1. [root@rhel6u3-1 data]# vim /etc/exports  

  2. /media/cdrom  192.168.100.0/255.255.255.0(ro,sync)

第七步:启动httpd nfs xinetd tftp服务.

也可以通过 chkconfig命令设置为开机自动启动.
   
   
   
   
  1. [root@rhel6u3-1 data]# /etc/rc.d/init.d/dhcpd start

  2. Starting dhcpd:                                            [  OK  ]

  3. [root@rhel6u3-1 data]# /etc/rc.d/init.d/nfs start

  4. Starting NFS services:                                     [  OK  ]

  5. Starting NFS quotas:                                       [  OK  ]

  6. Starting NFS mountd:                                       [  OK  ]

  7. Starting NFS daemon:                                       [  OK  ]

  8. [root@rhel6u3-1 data]# /etc/rc.d/init.d/xinetd start

  9. Starting xinetd:                                           [  OK  ]

  10. [root@rhel6u3-1 data]# chkconfig tftp on

第八步: 在图形界面运行 system-config-kickstart, 创建 ks.cfg文件
图形界面操作过于简单,网上百度下很多,这里不做截图了.
如果你的系统目前没有安装图形界面,可以使用以下命令进行安装
   
   
   
   
  1. [root@rhel6u3-1 data]# yum –y groupinstall “X Windows System”  “GNOME Desktop Enviroment"

主要是第二步选择NFS安装,填写NFS服务器IP地址及路径即可.其他根据个人生产环境进行选择即可.
   
   
   
   
  1. [root@rhel6u3-1 data]# system-config-kickstart

  2. [root@rhel6u3-1 data]# cd /var/www/html/

  3. [root@rhel6u3-1 html]# ls

  4. ks.cfg

生成ks.cfg之后,可以查看里面的内容,如果你是高手,也可以手写ks.cfg文件.
   
   
   
   
  1. [root@rhel6u3-1 html]# cat ks.cfg  

  2. #platform=x86, AMD64, or Intel EM64T

  3. #version=DEVEL

  4. # Firewall configuration

  5. firewall --enabled --ssh

  6. # Install OS instead of upgrade

  7. install

  8. # Use NFS installation media

  9. nfs --server=192.168.100.101 --dir=/media/cdrom

  10. # Root password

  11. rootpw --iscrypted $1$kC9vxUwe$l.U7ZGNt9Yjcvt2YHy3J50

  12. # System authorization information

  13. auth  --useshadow  --passalgo=sha512

  14. # Use text mode install

  15. text

  16. # System keyboard

  17. keyboard us

  18. # System language

  19. lang en_US

  20. # SELinux configuration

  21. selinux --disabled

  22. # Do not configure the X Window System

  23. skipx

  24. # Installation logging level

  25. logging --level=info

  26. # Reboot after installation

  27. reboot

  28. # System timezone

  29. timezone --isUtc Asia/Shanghai

  30. # Network information

  31. network  --bootproto=dhcp--device=eth0--onboot=on

  32. # System bootloader configuration

  33. bootloader --location=mbr

  34. # Clear the Master Boot Record

  35. zerombr

  36. # Partition clearing information

  37. clearpart --all --initlabel  

  38. # Disk partitioning information

  39. part /boot --asprimary --fstype="ext4"--size=128

  40. part swap --asprimary --fstype="swap"--size=2048

  41. part / --asprimary --fstype="ext4"--size=8000

  42. part /data --asprimary --fstype="ext4"--size=1

  43. %packages

  44. @base

  45. @chinese-support

  46. %end

将 ks.cfg文件放到http根目录之后,启动httpd服务.
   
   
   
   
  1. [root@rhel6u3-1 ~]# /etc/rc.d/init.d/httpd  start

  2. Starting httpd:                                            [  OK  ]

为了试验能够顺利进行,请关闭iptables和将selinux设置为disable或者promissive
   
   
   
   
  1. [root@rhel6u3-1 ~]# /etc/rc.d/init.d/iptables stop

  2. iptables: Flushing firewall rules:                         [  OK  ]

  3. iptables: Setting chains to policy ACCEPT: filter          [  OK  ]

  4. iptables: Unloading modules:                               [  OK  ]

  5. [root@rhel6u3-1 ~]# setenforce 0

第九步:启动客户端
将服务器和安装客户端用网线和路由器相连,如果你无法保证网络中仅有一台dhcp服务器,请使用对连线将服务器和客户端相连。设置客户端从网卡启动,并且保证网卡支持pxe启动方式。重启客户端,如果看到boot:提示符出现,证明服务器端dhcp和tftp服务工作正常。如果在boot:提示符后键入lebal标签RHEL6U3并回车,可以正确的安装,说明其它服务也正常运行了。

使用RHEL6.3+PXE+DHCP+Apache+NFS+KickStart 无人值守安装RHEL6.3_第1张图片

自动安装过程略………
PDF高清版下载地址: http://down.51cto.com/data/686052