使用RHEL6.3+PXE+DHCP+Apache+NFS+KickStart 无人值守安装RHEL6.3

简介:
原理:通过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并回车,可以正确的安装,说明其它服务也正常运行了。

自动安装过程略………

本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/1138438,如需转载请自行联系原作者
相关文章
|
1月前
|
消息中间件 Ubuntu Java
Ubuntu系统上安装Apache Kafka
Ubuntu系统上安装Apache Kafka
|
2月前
|
Ubuntu 网络安全 Apache
Ubuntu下安装Apache2.4.7遇到的问题及解决办法
Ubuntu下安装Apache2.4.7遇到的问题及解决办法
51 2
|
3月前
|
Linux
kickstart自动安装系统 --DHCP 配置及测试
PXE+Kickstart自动安装系统需配置DHCP服务器分配IP。dhcpd.conf示例:设置更新样式、忽略客户端更新、指定下一服务器及启动文件。定义子网、网关、掩码、动态地址池并预留特定MAC地址。重启xinetd、NFS、DHCP服务,确保新服务器与Kickstart服务器在同一网络,避免误装其他机器。注意隔离测试网络以防干扰生产环境。
85 18
|
2月前
|
Kubernetes 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
169 0
|
4月前
|
Ubuntu 关系型数据库 MySQL
在 Ubuntu 14.04 服务器上使用 Apache 安装 Drupal 的方法
在 Ubuntu 14.04 服务器上使用 Apache 安装 Drupal 的方法
46 0
|
4月前
|
存储 缓存 Ubuntu
如何在 Apache Web 服务器中安装、配置和使用模块
如何在 Apache Web 服务器中安装、配置和使用模块
94 0
|
4月前
|
Ubuntu Java 应用服务中间件
在Ubuntu 16.04上安装Apache Tomcat 8的方法
在Ubuntu 16.04上安装Apache Tomcat 8的方法
51 0
|
4月前
|
安全 Java 应用服务中间件
在CentOS 7上安装Apache Tomcat 8的方法
在CentOS 7上安装Apache Tomcat 8的方法
163 0
|
11天前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
290 33
The Past, Present and Future of Apache Flink
|
2月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
845 13
Apache Flink 2.0-preview released