kickstart自动装机

1、安装epel源

[[email protected] src]# rpm -Uvh epel-release-6-8.noarch.rpm

2、安装DHCP

[[email protected] ~]# yum install dhcp -y

3、配置DHCP

[[email protected] ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
cp: overwrite `/etc/dhcp/dhcpd.conf‘? y

[[email protected] ~]# sed -i -e ‘/^$/d‘ -e ‘/^#/d‘ /etc/dhcp/dhcpd.conf

修改dhcpd.conf配置文件

ddns-update-style none;
ignore client-updates;
default-lease-time 86400;
max-lease-time 604800;

subnet 20.0.0.0 netmask 255.255.255.0 {
  range 20.0.0.30 20.0.0.100;
  option domain-name-servers 20.0.0.10;
  option domain-name "kickstart";
  option subnet-mask 255.255.255.0;
  option routers 20.0.0.1;
  next-server 20.0.0.10;
  filename "pxelinux.0";
}

4、指定网卡启动DHCP服务

[[email protected] ~]# vim /etc/sysconfig/dhcpd
# Command line options here
DHCPDARGS=eth1

5、启动DHCP

[[email protected] ~]# service dhcpd restart
[[email protected] ~]# ps -ef | grep dhcpd | grep -v grep
dhcpd      2832      1  0 23:41 ?        00:00:00 /usr/sbin/dhcpd -user dhcpd -group dhcpd eth1

6、安装TFTP


[[email protected] ~]# yum install tftp-server -y

[[email protected] ~]# vim /etc/xinetd.d/tftp
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

[[email protected] ~]# /etc/init.d/xinetd start
Starting xinetd:                                           [  OK  ]
[[email protected] ~]# netstat -lnup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
udp        0      0 0.0.0.0:67                  0.0.0.0:*                               2832/dhcpd          
udp        0      0 0.0.0.0:69                  0.0.0.0:*                               2893/xinetd

7、安装nginx


[[email protected] src]# useradd nginx -M -s /sbin/nologin

[[email protected] nginx-1.8.1]# yum install gcc gcc-c++ zlib pcre pcre-devel openssl openssl-devel -y

[[email protected] nginx-1.8.1]# ./configure \
> --user=nginx \
> --group=nginx \
> --prefix=/usr/local/nginx \
> --sbin-path=/usr/sbin/nginx \
> --conf-path=/etc/nginx/nginx.conf \
> --with-http_stub_status_module \
> --with-http_ssl_module \
> --with-http_gzip_static_module \
> --with-http_sub_module \
> --with-pcre

8、创建kickstart存放centos镜像的目录


[[email protected] ~]# mkdir /data/www/Cent6.7 -p

[[email protected] ~]# mount /dev/sr0 /data/www/Cent6.7
mount: block device /dev/sr0 is write-protected, mounting read-only

[[email protected] ~]# ls /data/www/Cent6.7
CentOS_BuildTag  GPL       Packages                  RPM-GPG-KEY-CentOS-6           RPM-GPG-KEY-CentOS-Testing-6
EFI              images    RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-Debug-6     TRANS.TBL
EULA             isolinux  repodata                  RPM-GPG-KEY-CentOS-Security-6

9、Nginx配置

user nginx nginx;
worker_processes 4;
error_log /var/log/nginx/error.log notice;
worker_rlimit_nofile 65535;

events
{
    use epoll;
    worker_connections 65535;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                      ‘$status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘;

sendfile    on;
    tcp_nopush  on;
    tcp_nodelay on;
    send_timeout        60;
    keepalive_timeout   60;
   
    gzip  on;
    gzip_min_length 1k;
    gzip_buffers 4 32k;
    gzip_comp_level 3;
    gzip_http_version 1.1;
    gzip_types text/plain application/x-javascript text/css text/htm application/xml;
    gzip_vary on;

include vhosts/*.conf;
}

[[email protected] ~]# mkdir /etc/nginx/vhosts

[[email protected] ~]# vim /etc/nginx/vhosts/mirror.conf

server {
    listen      80;
    server_name 20.0.0.10;
    index index.html index.htm index.jsp;
    server_tokens       off;
    access_log  /var/log/nginx/mirror.access.log main;

    location / {
    root        /data/www;
    autoindex on;
    autoindex_exact_size off;
    autoindex_localtime on;
    }
}

10、配置PXE引导

[[email protected] ~]# yum install syslinux -y
[[email protected] ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[[email protected] ~]# cp -a /data/www/Cent6.7/isolinux/* /var/lib/tftpboot/

[[email protected] ~]# ls /var/lib/tftpboot/
boot.cat  grub.conf   isolinux.bin  memtest     splash.jpg  vesamenu.c32
boot.msg  initrd.img  isolinux.cfg  pxelinux.0  TRANS.TBL   vmlinuz

[[email protected] ~]# cd /var/lib/tftpboot/
[[email protected] tftpboot]# mkdir pxelinux.cfg

[[email protected] tftpboot]# cp /data/www/Cent6.7/isolinux/isolinux.cfg pxelinux.cfg/default

11、创建ks.cfg配置文件


[[email protected] ~]# mkdir /data/www/config

[[email protected] ~]# vim /data/www/config/ks.cfg

# Kickstart file automatically generated by anaconda.

#version=RHEL6
install
url --url="http://20.0.0.10/CentOS6.7/"
lang en_US.UTF-8
keyboard us
network --bootproto=dhcp --device=eth0 --onboot=on
# Root passwd
rootpw redhat
firewall --disabled
auth --useshadow --enablemd5
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="nomodeset crashkernel=auto rhgb quiet"
firstboot --disable
logging --level=info
zerombr
skipx

#part /boot --fstype=ext4 --asprimary --size=200
#part swap --asprimary --size=512
#part / --fstype=ext4 --grow --asprimary --size=200

clearpart --all --initlabel
part /boot --fstype=ext4 --size=200
part swap --fstype=swap --size=2048
part / --fstype=ext4 --grow --size=1
reboot

%packages
@development
%end

12、修改/var/lib/tftpboot/pxelinux.cfg/default


[[email protected] ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

default linux

#prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to CentOS 6.7!
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 #00000000

label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=http://20.0.0.10/config/ks.cfg
label vesa
  menu label Install system with ^basic video driver
  kernel vmlinuz
  append initrd=initrd.img nomodeset
label rescue
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue
label local
  menu label Boot from ^local drive
  localboot 0xffff
label memtest86
  menu label ^Memory test
  kernel memtest
  append -

[[email protected] ~]# /etc/init.d/xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]

13、新建虚拟机

时间: 2024-10-13 10:23:57

kickstart自动装机的相关文章

pxe+kickstart自动装机详解

pxe+kickstart 这个网上文档还挺多的,但是基本都好多坑,最后自己综合了几篇做成功了,在此记录. pxe的工作示意图,不管做什么还是要弄懂原理的 整个过程图解: 一.测试环境 centos 6.8(基础服务器安装) NAT网络模式 IP:192.168.40.134 关闭防火墙 SELINUX=disabled 二.安装篇 1 apache安装 #yum install httpd -y 注:此处还可以用nfs或者ftp #service httpd start #chkconfig

批量装机环境,配置PXE引导,kickstart自动应答

本例要求为后续的PXE服务器构建提供RHEL7软件仓库,完成下列任务: 在CentOS真机部署Web目录/var/www/html/rh7dvd 挂载RHEL7光盘镜像文件到该目录 访问 http://192.168.4.254/rhel7/ 测试,确保可用 1.2 方案 PXE网络装机的整体思路 -- 装机条件准备: 准备RHEL7安装源(HTTP方式YUM库) 启用DHCP服务 PXE网络装机的整体思路 -- PXE引导配置: 启用TFTP服务,提供装机用的内核.初始化文件 提供PXE引导程

PXE自动装机

PXE基础装机环境 1.1 问题 本例要求为后续的PXE服务器构建提供RHEL7软件仓库,完成下列任务: 在CentOS真机部署Web目录/var/www/html/rh7dvd 挂载RHEL7光盘镜像文件到该目录 访问 http://192.168.4.254/rhel7/ 测试,确保可用 1.2 方案 PXE网络装机的整体思路 -- 装机条件准备: 准备RHEL7安装源(HTTP方式YUM库) 启用DHCP服务 PXE网络装机的整体思路 -- PXE引导配置: 启用TFTP服务,提供装机用的

Linux的PXE kickstart网络自动装机

简介: PXE工作在client/server模式,允许客户机通过网络从远程访问服务器下载引导镜像,并加载安装文件或者整个操作系统. 若要搭建PXE网络体系,需满足以下条件. 客户机的网卡支持PXE协议,并且主板支持网络引导. 要有一台DHCP服务器以便客户机自动分配地址,指定引导文件位置. 服务器支持通过TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载. 但是通过PXE虽然能够通过网络实现多台客户机一起装机,但是期间还需要手动配置

PXE网络装机及kickstart无人值守自动装机技术

PXE网络装机及kickstart无人值守自动装机技术 PXE简介 PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer pro

搭建PXE 实现自动装机

PXE自动装机是通过网络来实现的,需要装机的电脑从PXE服务器上获得IP,引导文件,系统安装文件,这些都是在PEX服务器上设置的,而需要装机的电脑只要设置为网络启动就可以了,可在BIOS中设置.想从服务器上获得IP就需要DHCP服务,通信需要TFTP服务,共享安装文件需要NFS.FTP.SAMBA都可以,选一种即可.这样就可以网络引导和安装了,但并不是自动的,想实现自动安装系统,还需要自动安装的配置文件,在里面写上,安装信息,分区大小,安装组件等等.这个配置文件可以通过SYSTEM-CONFIG

kickstart批量装机脚本

#!/bin/bash #安装必备的软件 yum -y install dhcp tftp-server tftp xinetd syslinux vsftpd yum -y install *kickstart* #配置kickstart服务器端的DHCP服务 >/etc/dhcpd.conf ############################################################# cat> /etc/dhcpd.conf<<EOF ddns-u

无人值守自动装机

系统Centos 6.5 x86_64 ip:192.168.1.201 测试所需设备:(注意自己的dhcp网段修改,还有ip地址) 1.DHCP 服务器 2.TFTP 服务器 3.KickStart所生成的ks.cfg配置文件 4.一台存放系统安装文件的服务器,如 NFS.HTTP 或 FTP 服务器,本文选择HTTP进行 5.带有一个 PXE 支持网卡的将安装的主机 1.安装相应的软件包 # yum install httpd tftp-server system-config-kickst

PXE和Cobble实现自动装机

t    :PXE: 预启动执行环境,是由Intel开发的最新技术,工作于Client/Server的网络模式,支持终端通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统. 一.安装DHCP服务,实现动态地址分配 ~]# yum -y install