使用RHEL6.3+PXE+DHCP+Apache+NFS+KickStart 无人值守安装RHEL6.3,设置客户端从网卡启动
使用RHEL6.3+PXE+DHCP+Apache+NFS+KickStart 无人值守安装RHEL6.3,设置客户端从网卡启动
原理:通过kickstart生成ks.cfg文件,过滤掉安装过程中人工干预的部分,最终达到从网卡启动后能够自动安装系统直到完成从而实现了大规模部署安装操作系统.
系统环境:
[root@rhel6u3-1 ~]# uname -r 2.6.32-279.el6.i686 [root@rhel6u3-1 ~]# lsb_release -a LSB Version: :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noah Distributor ID: RedHatEnterpriseServer Description: Red Hat Enterprise Linux Server release 6.3 (Santiago) Release: 6.3 Codename: Santiago
第一步:配置yum环境
挂载镜像文件
[root@rhel6u3-1 ~]# mount /dev/cdrom /media/cdrom/ //挂载光盘镜像文件 mount: block device /dev/sr0 is write-protected, mounting read-only
配置YUM库,指向镜像文件挂载位置.
[root@rhel6u3-1 ~]# vim /etc/yum.repos.d/rhel-source.repo //创建并编辑yum仓库指向光盘挂载位置 [rhel-source-beta] name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source baseurl=file:///media/cdrom enabled=1 gpgcheck=0 [root@rhel6u3-1 ~]# yum clean all [root@rhel6u3-1 ~]# yum makecache
第二步:安装无人值守所需要的服务及软件包
包括: dhcp,xinetd,tftp,nfs,http,system-config-kickstart syslinux
[root@rhel6u3-1 Packages]# yum -y install dhcp xinetd tftp-server nfs* httpd syslinux system-config-kickstart //安装所有需要的包
查看安装的包是否安装成功
[root@rhel6u3-1 Packages]# rpm -qa dhcp //为pxe网卡提供网络参数并指向tftp服务器文件 dhcp-4.1.1-31.P1.el6.i686 [root@rhel6u3-1 Packages]# rpm -qa xinetd //tftp服务依赖服务 xinetd-2.3.14-34.el6.i686 [root@rhel6u3-1 Packages]# rpm -qa tftp-server //提供启动安装需要的内核文件 tftp-server-0.49-7.el6.i686 [root@rhel6u3-1 Packages]# rpm -qa nfs-utils //提供安装需要的系统文件 nfs-utils-1.2.3-26.el6.i686 [root@rhel6u3-1 Packages]# rpm -qa httpd //提供安装需要的无人值守kickstat脚本 httpd-2.2.15-15.el6_2.1.i686 [root@rhel6u3-1 Packages]# rpm -qa syslinux //提供pexlinux.0文件 syslinux-4.02-7.el6.i686 [root@rhel6u3-1 Packages]# rpm -qa system-config-kickstart //生成ks.cfg文件 system-config-kickstart-2.8.6.4-1.el6.noarch
第三步:配置dhcp服务器
复制模版进行配置
[root@rhel6u3-1 ~]# cp -p /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf //复制dhcpd.conf配置模版
添加tftp服务器地址及pexlinux.0文件
[root@rhel6u3-1 ~]# vim /etc/dhcp/dhcpd.conf //配置DHCP服务器 # dhcpd.conf option domain-name "rsyslog.org"; option domain-name-servers 192.168.100.102, 192.168.100.103; default-lease-time 86400; max-lease-time 604800; ddns-update-style none; log-facility local7; next-server 192.168.100.101; //指向tftp服务器 filename="pxelinux.0"; //tftp根目录的相对路径 subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.30 192.168.100.80; option routers 192.168.100.1; }
第四步:复制安装系统需要的核心文件及光盘镜像
复制初始化安装需要的系统内核等文件到tftp根目录下,并通过模版创建default文件.
[root@rhel6u3-1 ~]# cd /var/lib/tftpboot/ //tftp的目录跟RHEL5位置不同 [root@rhel6u3-1 isolinux]# pwd /media/cdrom/isolinux [root@rhel6u3-1 isolinux]# cp vmlinuz initrd.img boot.msg splash.jpg /var/lib/tftpboot/ //复制所需要的文件到tftp服务器根目录 [root@rhel6u3-1 /]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ [root@rhel6u3-1 /]# mkdir /var/lib/tftpboot/pxelinux.cfg //创建pxelinux.cfg目录 [root@rhel6u3-1 /]# cp -p /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default //创建default文件
第五步:创建default文件
编辑default文件,多余部分可以删除,也可以不删除,创建label RHEL6U3标签,内容指向内核及ks.cfg位置
[root@rhel6u3-1 /]# cat /var/lib/tftpboot/pxelinux.cfg/default default local #prompt 1 timeout 600 display boot.msg menu background splash.jpg menu title Welcome to Red Hat Enterprise Linux 6.3! menu color border 0 #ffffffff #00000000 menu color sel 7 #ffffffff #ff000000 menu color title 0 #ffffffff #00000000 menu color tabmsg 0 #ffffffff #00000000 menu color unsel 0 #ffffffff #00000000 menu color hotsel 0 #ff000000 #ffffffff menu color hotkey 7 #ffffffff #ff000000 menu color scrollbar 0 #ffffffff #0000000 label local localboot label RHEL6U3 kernel vmlinuz append initrd=initrd.img ramdisk_size=8192 ks=http://192.168.100.101/ks.cfg
第六步:配置NFS服务器
NFS共享目录指向镜像挂载的位置,也可以创建目录,然后将光盘镜像文件copy进来.
[root@rhel6u3-1 data]# vim /etc/exports /media/cdrom 192.168.100.0/255.255.255.0(ro,sync)
第七步:启动httpd nfs xinetd tftp服务.
也可以通过 chkconfig命令设置为开机自动启动.
[root@rhel6u3-1 data]# /etc/rc.d/init.d/dhcpd start Starting dhcpd: [ OK ] [root@rhel6u3-1 data]# /etc/rc.d/init.d/nfs start Starting NFS services: [ OK ] Starting NFS quotas: [ OK ] Starting NFS mountd: [ OK ] Starting NFS daemon: [ OK ] [root@rhel6u3-1 data]# /etc/rc.d/init.d/xinetd start Starting xinetd: [ OK ] [root@rhel6u3-1 data]# chkconfig tftp on
第八步:在图形界面运行system-config-kickstart,创建ks.cfg文件
图形界面操作过于简单,网上百度下很多,这里不做截图了.如果你的系统目前没有安装图形界面,可以使用以下命令进行安装
[root@rhel6u3-1 data]# yum -y groupinstall “X Windows System” “GNOME Desktop Enviroment”
主要是第二步选择NFS安装,填写NFS服务器ip地址及路径即可.其他根据个人生产环境进行选择即可.
[root@rhel6u3-1 data]# system-config-kickstart [root@rhel6u3-1 data]# cd /var/www/html/ [root@rhel6u3-1 html]# ls ks.cfg
生成ks.cfg之后,可以查看里面的内容,如果你是高手,也可以手写ks.cfg文件.
[root@rhel6u3-1 html]# cat ks.cfg #platform=x86, AMD64, or Intel EM64T #version=DEVEL # Firewall configuration firewall --enabled --ssh # Install OS instead of upgrade install # Use NFS installation media nfs --server=192.168.100.101 --dir=/media/cdrom # Root password rootpw --iscrypted $1$kC9vxUwe$l.U7ZGNt9Yjcvt2YHy3J50 # System authorization information auth --useshadow --passalgo=sha512 # Use text mode install text # System keyboard keyboard us # System language lang en_US # SELinux configuration selinux --disabled # Do not configure the X Window System skipx # Installation logging level logging --level=info # reboot after installation reboot # System timezone timezone --isUtc Asia/Shanghai # Network information network --bootproto=dhcp --device=eth0 --onboot=on # System bootloader configuration bootloader --location=mbr # clear the Master Boot Record zerombr # Partition clearing information clearpart --all --initlabel # Disk partitioning information part /boot --asprimary --fstype="ext4" --size=128 part swap --asprimary --fstype="swap" --size=2048 part / --asprimary --fstype="ext4" --size=8000 part /data --asprimary --fstype="ext4" --size=1 %packages @base @chinese-support %end
将 ks.cfg文件放到http根目录之后,启动httpd服务.
[root@rhel6u3-1 ~]# /etc/rc.d/init.d/httpd start Starting httpd: [ OK ]
为了试验能够顺利进行,请关闭iptables和将selinux设置为disable或者promession
[root@rhel6u3-1 ~]# /etc/rc.d/init.d/iptables stop iptables: Flushing firewall rules: [ OK ] iptables: Setting chains to policy accept: filter [ OK ] iptables: Unloading modules: [ OK ] [root@rhel6u3-1 ~]# setenforce 0
第九步:启动客户端
将服务器和安装客户端用网线和路由器相连,如果你无法保证网络中仅有一台dhcp服务器,请使用对连线将服务器和客户端相连。设置客户端从网卡启动,并且保证网卡支持pxe启动方式。重启客户端,如果看到boot:提示符出现,证明服务器端dhcp和tftp服务工作正常。如果在boot:提示符后键入lebal标签RHEL6U3并回车,可以正确的安装,说明其它服务也正常运行了。
自动安装过程略………
评论暂时关闭