Kickstart+HTTP+DHCP+TFTP全自动批量安装部署Linux系统

 

第一部分:在Kickstart服务器系统操作

1.关闭SELINUX

[root@Kickstart ~]# sed -i 's@SELINUX=enforcing@SELINUX=disabled@' /etc/selinux/config 
[root@Kickstart ~]# setenforce 0

2.开启TCP:80端口,UDP:69端口

[root@Kickstart ~]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  

[root@Kickstart ~]# iptables -A INPUT -m state --state NEW -m udp -p udp --dport 69 -j ACCEPT         

[root@Kickstart ~]# /etc/init.d/iptables save

3.安装http服务

[root@Kickstart ~]# yum install -y httpd

4.挂在系统镜像文件

[root@Kickstart ~]# mount -o loop /soft/CentOS-6.5-x86_64-minimal.iso  /mnt/

5.将镜像文件拷贝到站点目录

[root@Kickstart ~]# mkdir /var/www/html/CentOS-6.5
[root@Kickstart ~]# cp -r /mnt/* /var/www/html/CentOS-6.5

6.安装配置tftp服务

[root@Kickstart ~]# yum install tftp tftp-server
[root@Kickstart ~]# sed -i 's@yes@no@g' /etc/xinetd.d/tftp
[root@Kickstart ~]# mkdir -p /var/lib/tftpboot
[root@Kickstart ~]# cp /var/www/html/CentOS-6.5/images/pxeboot/vmlinuz /var/lib/tftpboot  
[root@Kickstart ~]# cp /var/www/html/CentOS-6.5/images/pxeboot/initrd.img /var/lib/tftpboot  
[root@Kickstart ~]# mkdir -p /var/lib/tftpboot/pxelinux.cfg
[root@Kickstart ~]# cp /var/www/html/CentOS-6.5/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@Kickstart ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default CentOS-6.5
prompt 0
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label CentOS-6.5
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.64.129/CentOS-6.5.cfg ksdevice=eth0 ip=dhcp
label CentOS-7.0
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.64.129/CentOS-7.0.cfg ksdevice=eth0 ip=dhcp
label local
localboot 1
label memtest86
kernel memtest
append -
[root@Kickstart ~]# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default

7.安装配置引导程序

[root@Kickstart ~]# yum install syslinux -y
[root@Kickstart ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

8.安装配置DHCP服务

[root@Kickstart ~]# yum install dhcp -y 
[root@Kickstart ~]# cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
[root@Kickstart ~]# vim /etc/dhcp/dhcpd.conf
ddns-update-style interim; #设置DHCP服务器模式
ignore client-updates; #禁止客户端更新
subnet 192.168.64.0 netmask 255.255.255.0 { #设置网段
    option routers 192.168.64.2; #设置网关
    option subnet-mask 255.255.255.0; #设置子网掩码
    option domain-name-servers 8.8.8.8,8.8.4.4; #设置dns服务器地址
    range dynamic-bootp 192.168.64.110 192.168.64.249; #设置dhcp服务器IP地址租用的范围
    default-lease-time 64600; #默认租约时间
    max-lease-time 43200; #最大租约时间
    next-server 192.168.64.128; #tftp服务器地址
    filename "pxelinux.0"; #tftp服务器根目录下面的文件名
}
[root@Kickstart ~]# sed -i 's@DHCPDARGS=@DHCPDARGS=eth0@' /etc/sysconfig/dhcpd

9.安装配置kickstart服务 [最小化安装,可以根据时间情况,进行安装优化]

[root@Kickstart ~]# yum install system-config-kickstart -y
[root@Kickstart ~]# vim /var/www/html/CentOS-6.5.cfg
#Kickstart file automatically generated by anaconda.
install
url --url=http://192.168.64.129/CentOS-6.5/
lang en_US.UTF-8
zerombr yes
key --skip
keyboard us
network --device eth0 --bootproto dhcp --onboot on
#default password RooT2015
rootpw --iscrypted $1$QqobZZ1g$rYnrawi9kYlEeUuq1vcRS/
firewall --enabled --port=9527:tcp
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda
clearpart --all --initlabel
#Custom disk partitioning
part /boot --bytes-per-inode=4096 --fstype="ext4" --size=300
part swap --bytes-per-inode=4096 --fstype="swap" --size=1024
part / --bytes-per-inode=4096 --fstype="ext4" --grow --size=1
reboot
#minimize installation
%packages --nobase
%post

10.启动http、tftp、dhcpd服务

[root@Kickstart ~]# /etc/init.d/httpd start
[root@Kickstart ~]# /etc/init.d/xinetd start
[root@Kickstart ~]# /etc/init.d/dhcpd start

11.检查是否正常启动

[root@Kickstart ~]# lsof -i:80
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   1872   root    4u  IPv6  10649      0t0  TCP *:http (LISTEN)
httpd   1874 apache    4u  IPv6  10649      0t0  TCP *:http (LISTEN)
httpd   1875 apache    4u  IPv6  10649      0t0  TCP *:http (LISTEN)
httpd   1876 apache    4u  IPv6  10649      0t0  TCP *:http (LISTEN)
httpd   1877 apache    4u  IPv6  10649      0t0  TCP *:http (LISTEN)
httpd   1878 apache    4u  IPv6  10649      0t0  TCP *:http (LISTEN)
httpd   1879 apache    4u  IPv6  10649      0t0  TCP *:http (LISTEN)
httpd   1880 apache    4u  IPv6  10649      0t0  TCP *:http (LISTEN)
httpd   1881 apache    4u  IPv6  10649      0t0  TCP *:http (LISTEN)
[root@Kickstart ~]# lsof -i:67
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dhcpd   1850 dhcpd    7u  IPv4  10523      0t0  UDP *:bootps 
[root@Kickstart ~]# lsof -i:69 
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
xinetd  1904 root    5u  IPv4  10711      0t0  UDP *:tftp

 

 第二部分:测试安装全新的服务器

 

wKiom1X3xc6wzcNcAAKQx1xHbpo821.jpg

wKioL1X3yAPwu0KSAAEY6N4YOEU605.jpg

wKiom1X3xdCzt7rDAAJP62KE1nw875.jpg

 

wKioL1X3yTTRfsLRAACvxX0ar6k198.jpg

wKiom1X3xwGD5TYRAAJiNoiKHK0110.jpg

至此Linux系统批量安装已经实现,不足之处,请指出;相互学习,共同进步!

小提示:如果VMware环境下使用Kickstart安装的安装的话,需要关闭VMware的dhcp服务,不然安装新系统的时候会提示错误。

你可能感兴趣的:(linux,kickstart,批量安装)