使用RHEL6.3+PXE+DHCP+Apache+NFS+KickStart
无人值守安装RHEL6.3
版权声明:
本文遵循“署名非商业性使用相同方式共享 2.5 中国大陆”协议
您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品
您可以根据本作品演义自己的作品
您必须按照作者或者许可人指定的方式对作品进行署名。
您不得将本作品用于商业目的。
如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。
对任何再使用或者发行,您都必须向他人清楚地展示本作品使用的许可协议条款。
如果得到著作权人的许可,您可以不受任何这些条件的限制。
Designed by 小诺(www.rsyslog.orgdreamfire.blog.51cto.com)
原理:通过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库,指向镜像文件挂载位置.
第二步:安装无人值守所需要的服务及软件包
包括: 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 initrdinitrd=initrd.img ramdisk_size=8192ks=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或者promissive
- [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并回车,可以正确的安装,说明其它服务也正常运行了。
自动安装过程略………
PDF高清版下载地址:http://down.51cto.com/data/686052
|