利用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
文件内容:
- [rhel-server] 描述光盘上仓库
- name=Red Hat Enterprise Linux server 仓库说明
- baseurl=file:///mnt/cdrom/Server 使用本地yum源
- enabled=1 启用该仓库
- gpgcheck=1 签名检测
- gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release 检测钥匙文件
- [rhel-vt]
- name=Red Hat Enterprise Linux vt
- baseurl=file:///mnt/cdrom/VT
- enabled=1
- gpgcheck=1
- gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
- [rhel-cluster]
- name=Red Hat Enterprise Linux cluster
- baseurl=file:///mnt/cdrom/Cluster
- enabled=1
- gpgcheck=1
- gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
- [rhel-clusterstorage]
- name=Red Hat Enterprise Linux clusterstorage
- baseurl=file:///mnt/cdrom/ClusterStorage
- enabled=1
- gpgcheck=1
- 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.安装后脚本配置,根据得到的地址自动生成主机名,并且把地址设置为静态地址
- ADDRESS=`ifconfig |grep -i bcast |awk '{print $2}'`
- NUM=${ADDRESS##*.}
- IP=`echo $ADDRESS |awk –F ":"'{print $2}'`
- sed -i "s/HOSTNAME.*$/HOSTNAME=station$NUM.a.com/" /etc/sysconfig/network
- sed -i "s/BOOTPROTO.*$/BOOTPROTO=none/" /etc/sysconfig/network-scripts/ifcfg-eth0
- echo "IPADDR=$IP">>/etc/sysconfig/network-scripts/ifcfg-eth0
- 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
文件内容:
- option routers 192.168.2.254;
- option subnet-mask 255.255.255.0;
- option nis-domain "domain.org";
- option domain-name "domain.org";
- option domain-name-servers 222.88.88.88;
- next-server 192.168.2.100;(通过此命令访问到tftp服务器)
- filename "pxelinux.0";
- 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
文件内容:
- service tftp
- {
- socket_type = dgram
- protocol = udp
- wait = yes
- user = root
- server = /usr/sbin/in.tftpd
- server_args = -s /tftpboot
- disable = no ( 当用户请求服务时唤醒)
- per_source = 11
- cps = 100 2
- flags = IPv4
- }
3.启动服务
service xinetd start
(注意:不用设置为每次开机前自动启动)
4.下载tftp的驱动和配置
- cd /tftpboot/
- cp /usr/lib/syslinux/pxelinux.0 ./ (拷贝驱动)
- cp /mnt/cdrom/p_w_picpaths/pxeboot/vmlinuz ./ (通过网络启动需要的pxe内核)
- cp /mnt/cdrom/p_w_picpaths/pxeboot/initrd.img ./ (跟硬件有关驱动)
5. 拷贝引导时的提示信息并编辑
- mkdir –pv pxelinux.cfg
- cp /mnt/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
- vim /tftpboot/pxelinux.cfg/ default(修改默认配置)
文件内容:
- timeout 6 (修改时间 使其快速执行)
- display boot.msg
- F1 boot.msg
- F2 options.msg
- F3 general.msg
- F4 param.msg
- F5 rescue.msg
- label linux
- kernel vmlinuz
- append ks=ftp://192.168.2.100/pub/ks.cfg ksdevice=eth0 initrdinitrd=initrd.img (标明ftp 和网卡)
自动安装截图展示:
转载于:https://blog.51cto.com/yz406/955282