您的位置:首页 > 运维架构 > Linux

RedHat7搭建无人值守自动安装Linux操作系统(PXE+Kickstart)

2016-02-04 18:40 896 查看
Kickstart服务器

IP: 192.168.136.253 掩码:255.255.255.0 网关:192.168.136.2 DNS:192.168.136.2

[b]安装部署HTTP服务器[/b]

# mkdir -p /content/pub/rhel7/x86_64/{isos,dvd}/

上传RedHat安装光盘镜像至 /content/pub/rhel7/x86_64/isos/rhel-server-7.2-x86_64-dvd.iso

安装HTTP服务器(Nginx)

# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm # yum -y install nginx


修改默认网站配置文件

# vi /etc/nginx/conf.d/default.conf

server {
listen       80;
server_name  localhost;
root        /content;
index       index.html index.htm;

location ^~ /pub/ {
autoindex             on;
autoindex_exact_size  off;
autoindex_localtime   on;
}

error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   /usr/share/nginx/html;
}
}


启动Nginx服务并设置为开机启动

# systemctl start nginx
# systemctl enable nginx


修改网站目录SELinux类型

# chcon -t public_content_t -R /content/


设置开机自动挂载光盘镜像到/content/pub/rhel7/x86_64/dvd

# echo "/content/pub/rhel7/x86_64/isos/rhel-server-7.2-x86_64-dvd.iso   /content/pub/rhel7/x86_64/dvd   iso9660   loop,ro   0 0" >> /etc/fstab
# mount -a


安装部署DHCP服务器

# yum -y install dhcp


修改配置文件

# vi /etc/dhcp/dhcpd.conf

log-facility local7;

option domain-name "example.com";
option domain-name-servers 192.168.136.2;

default-lease-time 600;
max-lease-time 7200;

subnet 192.168.136.0 netmask 255.255.255.0 {
range 192.168.136.100 192.168.136.200;
option routers 192.168.136.2;            #路由器IP,可以写网关IP
next-server 192.168.136.253;             #TFTP Server 的IP地址
filename "pxelinux.0";                   #pxelinux 启动文件位置
}


启动DHCP服务并设置为开机启动

# systemctl start dhcpd
# systemctl enable dhcpd


安装部署TFTP服务器

# yum -y install tftp-server


修改配置文件

# vi /etc/xinetd.d/tftp

# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
socket_type             = dgram
protocol                = udp
wait                    = yes
user                    = root
server                  = /usr/sbin/in.tftpd
server_args             = -s /var/lib/tftpboot
disable                 = no                       #把这行改成no即可
per_source              = 11
cps                     = 100 2
flags                   = IPv4
}


启动TFTP服务并设置为开机自启动

# systemctl start tftp
# systemctl enable tftp


将客户端所需启动文件复制到TFTP服务器

# yum -y install syslinux
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/


复制启动镜像文件和启动配置文件至TFTP共享目录

# cp /content/pub/rhel7/x86_64/dvd/isolinux/{boot.msg,splash.png,vmlinuz,initrd.img} /var/lib/tftpboot/
# mkdir /var/lib/tftpboot/pxelinux.cfg/
# cp /content/pub/rhel7/x86_64/dvd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default


修改启动配置文件

# vi /var/lib/tftpboot/pxelinux.cfg/default

default linux
timeout 600

...

label linux
menu label ^Install Red Hat Enterprise Linux 7.2
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.136.253/ks-config/ks7.cfg

...


创建Kickstart自动应答文件

# mkdir /content/ks-config/

# vi /content/ks-config/ks7.cfg

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# Root password
rootpw --plaintext redhat
# System services
services --enabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc
# Use network installation
url --url="http://192.168.136.253/pub/rhel7/x86_64/dvd"
# System language
lang en_US.UTF-8
# System authorization information
auth --enableshadow --passalgo=sha512
# Use graphical install
graphical

# Network information
network  --bootproto=dhcp --device=eth0
# Reboot after installation
reboot
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part swap --fstype="swap" --size=2048
part /boot --fstype="xfs" --size=256
part / --fstype="xfs" --grow --size=1

%packages
@^minimal
@core
chrony
kexec-tools

%end

%post
cat > /etc/yum.repos.d/rhel-dvd.repo << EOF
[rhel-dvd]
name=rhel dvd
baseurl=http://192.168.136.253/pub/rhel7/x86_64/dvd
gpgcheck=0
enabled=1
EOF
%end


或者在有图形界面的RedHat上安装kickstart图形化配置软件system-config-kickstart

# yum -y install system-config-kickstart


运行system-config-kickstart

# system-config-kickstart




开通防火墙

# firewall-cmd --permanent --add-service={tftp,http}
# firewall-cmd --reload


启动客户端,安装部署系统

在所有客户端主机的BIOS中,将第一启动方式设置为PXE网络启动。设置完成后,重启所有客户端计算机即可完成大规模集中安装部署操作系统。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: