利用kickstart实现pxe自动安装linux

anaconda概述

是Linux安装主程序,提供交互式界面安装,因此有各种选择,例如:语言、键盘、分区、key、软件包等等。

kickstart的含义

目的是把安装系统中的各种选择(语言、键盘、分区、key、软件包等)变成一种文件(ks.cfg),并且把文件提供给anaconda主程序。它是完成管理员与系统交互的这个过程而开发的一种软件。kickstart的使用是通过工具sytem-config-kickstart在图形界面的各种选择,形成文件(ks.cfg)。在liunx系统启动时告诉kc.cfg所在的地方,就完成了安装。

linux引导

1.       本地 (cdrom ,usb)
2.       pxe
pxe 的概念
 pxe工作在Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配ip地址,再用tftp或mtftp下载一个启动软件包到本地内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。Pxe可以引导多种操作系统,如:windows2000,linux等。
pxe网络安装的原理
 首先客户机先通过dhcp服务器获取地址,然后去找tftp服务器,从而找到pxe文件,又通过pxe文件找到ftp服务器的ks.cfg信息。客户机根据dhcp提供的信息把安装需要的信息服务到客户机上,开始安装。
  pxe 网络安装内容
1.需要的服务器有:ftp(放置安装源文件)、dhcp(分配地址)、tftp(放置pxe配置和驱动)、yum(方便安装服务器)。
2.客户端:支持pxe
pxe 网络安装过程
一. 安装 yum 客户端
1.创建挂载目录
mkdir /mnt/cdrom
2.挂载光盘
mount /dev/cdrom /mnt/cdrom
3. 编译yum 文件
vim /etc/yum..repos.d/rhel-debuginfo.repo
文件内容:
  
  
  
  
  1. [rhel-server]   描述光盘上仓库  
  2. name=Red Hat Enterprise Linux server 仓库说明  
  3. baseurl=file:///mnt/cdrom/Server    使用本地yum源  
  4. enabled=1                     启用该仓库  
  5. gpgcheck=1                    签名检测  
  6. gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release 检测钥匙文件  
  7. [rhel-vt]  
  8. name=Red Hat Enterprise Linux vt  
  9. baseurl=file:///mnt/cdrom/VT  
  10. enabled=1 
  11. gpgcheck=1 
  12. gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release  
  13. [rhel-cluster]  
  14. name=Red Hat Enterprise Linux cluster  
  15. baseurl=file:///mnt/cdrom/Cluster  
  16. enabled=1 
  17. gpgcheck=1 
  18. gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release  
  19. [rhel-clusterstorage]  
  20. name=Red Hat Enterprise Linux clusterstorage  
  21. baseurl=file:///mnt/cdrom/ClusterStorage  
  22. enabled=1 
  23. gpgcheck=1 
  24. gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release  
二. 安装 ftp 服务器
1.yum install –y  vsftpd
2.把光盘文件拷贝到ftp服务器上(说明:ftp服务器不需要配置,但目录里需要放置安装所需要的光盘文件)
cd /mnt/cdrom
cp –r . /var/ftp/pub/
3.检测目录的大小
du -sh  /var/ftp/pub
2.9G
4.启动服务
service vsftpd start
5.设置为每次开机前自动启动
chkconfig vsftpd on
6.安装工具
yum install –y system-config-kickstart
7.执行kickstart需要的配置
system-config-kickstart
 

 

8.安装后脚本配置,根据得到的地址自动生成主机名,并且把地址设置为静态地址

  
  
  
  
  1. ADDRESS=`ifconfig |grep -i bcast |awk '{print $2}'`  
  2. NUM=${ADDRESS##*.}  
  3. IP=`echo $ADDRESS |awk –F ":"'{print $2}'`  
  4. sed -i "s/HOSTNAME.*$/HOSTNAME=station$NUM.a.com/" /etc/sysconfig/network  
  5. sed -i "s/BOOTPROTO.*$/BOOTPROTO=none/" /etc/sysconfig/network-scripts/ifcfg-eth0  
  6. echo "IPADDR=$IP">>/etc/sysconfig/network-scripts/ifcfg-eth0  
  7. echo "NETMASK=255.255.255.0">>/etc/sysconfig/network-scripts/ifcfg-eth0  
9.保存配置文件到根目录下的kc.cfg,并编辑ks.cfg文件
加入指令:
(1)key –skip  (跳过key键安装)
(2)services --disable sendmail, cups(不安装sendmail和cups服务)
10.把ks.cfg文件拷贝到/var/ftp/pub目录下
cp ks.cfg /var/ftp/pub
 
三.安装dhcp 服务器
1.yum install –y  dhcp
2.编辑配置脚本
vim /etc/dhcpd.conf
文件内容:
  
  
  
  
  1. option routers                  192.168.2.254;  
  2.         option subnet-mask              255.255.255.0;  
  3.    
  4.         option nis-domain               "domain.org";  
  5.         option domain-name              "domain.org";  
  6.         option domain-name-servers      222.88.88.88;  
  7.         next-server                     192.168.2.100;(通过此命令访问到tftp服务器)  
  8.        filename                         "pxelinux.0";  
  9. range dynamic-bootp 192.168.2.101 192.168.2.253;  
 
3.启动服务
service dhcpd start
 
4.设置为每次开机前自动启动
chkconfig dhcpd on
 
四.安装tftp 服务器
1.yum install –y tftp
2.编辑配置文件
vim /etc/xinetd.d/tftp 
文件内容:
  
  
  
  
  1. service tftp  
  2. {  
  3.         socket_type             = dgram 
  4.         protocol                = udp 
  5.         wait                    = yes 
  6.         user                    = root 
  7.         server                  = /usr/sbin/in.tftpd  
  8.         server_args             = -s /tftpboot  
  9.         disable                 = no    ( 当用户请求服务时唤醒)  
  10.         per_source              = 11 
  11.         cps                     = 100 2  
  12.         flags                   = IPv4 
  13. }  
 
3.启动服务
service xinetd start
(注意:不用设置为每次开机前自动启动)
 
4.下载tftp的驱动和配置
  
  
  
  
  1. cd /tftpboot/  
  2. cp /usr/lib/syslinux/pxelinux.0 ./   (拷贝驱动)  
  3. cp /mnt/cdrom/images/pxeboot/vmlinuz ./   (通过网络启动需要的pxe内核)  
  4. cp /mnt/cdrom/images/pxeboot/initrd.img ./ (跟硬件有关驱动)  
5. 拷贝引导时的提示信息并编辑
  
  
  
  
  1. mkdir –pv pxelinux.cfg  
  2. cp /mnt/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default         
  3. vim /tftpboot/pxelinux.cfg/ default(修改默认配置)  

   

文件内容:
  
  
  
  
  1. timeout 6    (修改时间 使其快速执行)  
  2. display boot.msg  
  3. F1 boot.msg  
  4. F2 options.msg  
  5. F3 general.msg  
  6. F4 param.msg  
  7. F5 rescue.msg  
  8. label linux  
  9.  kernel vmlinuz  
  10.  append ks=ftp://192.168.2.100/pub/ks.cfg ksdevice=eth0 initrdinitrd=initrd.img (标明ftp 和网卡)  
 
自动安装截图展示:

 

 

 

 

 

本文出自 “1” 博客,转载请与作者联系!

你可能感兴趣的:(linux)