Kickstart无人值守安装Centos6系统+集成saltstack客户端程序

 如果要同时上线2,3台服务器,可以使用手动安装操作系统,10台20台基本没法忍受,上百台呢,根本不可能手动安装管理,只考虑到这里并不能解决所有问题,只装个系统并不能满足批量管理的需求,这就需要在安装好系统后自动启动salt客户端程序,实现在装完系统后就在运维人员的管理范围之类,这篇文章就是基于这样的需求而完成的。

    环境介绍:Centos6.5+PXE+TFTP+FTP+DHCP+Kickstart


    1.配置DHCP服务程序

①安装DHCP服务 

yum -y install dhcp

②配置DHCP服务

vim /etc/dhcp/dhcp.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
allow booting;
allow bootp;
ddns-update-style interim;
ignore client-updates;
subnet 192.168.6.0 netmask 255.255.255.0 {
range 192.168.6.200 192.168.6.210;
option subnet-mask 255.255.255.0;
option routers 192.168.6.1;
option domain-name-servers 202.106.0.20;
default-lease- time  21600;
max-lease- time  43200;
next-server 192.168.6.107;     #服务器端IP
filename  "pxelinux.0" ;     #引导文件
}

③启动服务

service dhcpd start


    2.配置TFTP服务程序(提供引导以及驱动文件)

①安装TFTP服务

yum -y install tftp-server

②配置TFTP服务

vim /etc/xinetd.d/tftp

1
2
3
4
5
6
7
8
9
10
11
12
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服务,开启相应端口

service xinetd restart    #在Centos7中没有这个服务,启动tftp.socket即可

iptables -I INPUT -p udp --dport 69 -j ACCEPT


    3.配置SYSlinux服务程序(提供引导文件)

①安装SYSlinux服务

yum -y install syslinux

②复制引导文件到TFTP中

cd /var/lib/tftpboot/

cp /usr/share/syslinux/pxelinux.0 .

mount /dev/cdrom /media/        #挂载光盘镜像

cp /media/images/pxeboot/{vmlinuz,initrd.img} .

cp /media/isolinux/{vesamenu.c32,boot.msg} .

③修改默认开机菜单

cd /var/lib/tftpboot/

mkdir pxelinux.cfg

cp /media/isolinux/isolinux.cfg pxelinux.cfg/default

chmod a+w pxelinux.cfg/default        #默认是只读文件

vim pxelinux.cfg/default

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
default linux         #修改成linux,这样在启动时就会自动选择此选项
#prompt 1
timeout 600
 
display boot.msg
 
menu background splash.jpg
menu title Welcome to CentOS 6.5!
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 inst.stage2= ftp : //192 .168.66.23 ks= ftp : //192 .168.66.23 /pub/ks .cfg quiet     #修改默认安装方式为FTP文件传输方式,指定Kickstart应答文件的获取路径
 
label vesa
   menu label Install system with ^basic video driver
   kernel vmlinuz
   append initrd=initrd.img xdriver=vesa 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 -


    4.配置vsftpd服务程序

①安装vsftpd服务

yum -y instlal vsftpd

②启动vsftpd服务,开启相应端口

service vsftpd start

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -I INPUT -p tcp --dport 20 -j ACCEPT

iptables -I INPUT -p tcp --dport 21 -j ACCEPT

③拷贝光盘镜像文件到vsftpd中

cp -r /media/* /var/ftp/

    5.创建Kickstart应答文件

①复制应答文件到VSFTPD中,并添加可读权限

cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg

chmod +r /var/ftp/pub/ks.cfg 

②编辑应答文件

vim /var/ftp/pub/ks.cfg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Kickstart file automatically generated by anaconda.
 
#version=DEVEL
install
url --url= ftp : //192 .168.6.107     #修改为url安装方式
lang en_US.UTF-8
keyboard us
network --onboot  yes  --device eth0 --bootproto dhcp --noipv6     #修改为自动获取ip 
rootpw  --iscrypted $6$LCJ6k6MZq5bR6VFp$i.UkCmr7KbhB5Wx0IhQ9L834eW3eO1GZRKa0RxFiCGmXvbZd6wN7n7BkP961FU5DaX53ydFlj5lVSmHfGUWrY/
firewall --service= ssh     #防火墙配置
authconfig --enableshadow --passalgo=sha512
selinux --disable     #selinux关闭
reboot         #安装后自动重启
timezone Asia /Shanghai     #时区
bootloader --append= "rhgb quiet"  --location=mbr --driveorder=sda 
 
clearpart --all --initlabel      #清理所有分区
#LVM方式分区
part  /boot  --fstype= "ext4"  --size=200         #boot分区200M
part pv.01 --grow --size=1
volgroup VolGroup --pesize=4096 pv.01
logvol / --fstype= "ext4"  --name=lv_root --vgname=VolGroup --size=10240     #根分区10G
logvol swap --name=lv_swap --vgname=VolGroup --size=2048     #交换分区2G
 
%packages         #安装基础包
@base
@console-internet
@core
@debugging
@directory-client
@hardware-monitoring
@java-platform
@large-systems
@network- file -system-client
@performance
@perl-runtime
@server-platform
@server-policy
@workstation-policy
pax
oddjob
sgpio
device-mapper-persistent-data
samba-winbind
certmonger
pam_krb5
krb5-workstation
perl-DBD-SQLite
%end
 
%post         #安装后执行脚本
/usr/sbin/ntpdate  182.92.12.11     #和阿里云服务器对时
/sbin/hwclock  -w         #让硬件时间和系统时间同步
/sbin/ifconfig  | grep  Bcast| awk  '{print $2}' | awk  -F  '.'  '{print $4}'  /etc/hostname     #截取Ip地址最后一段做为主机名
/usr/bin/yum  -y  install  epel-release         #安装epel仓库
/usr/bin/yum  -y  install  salt-minion         #安装salt客户端
/bin/sed  -i  "s/#master: salt/master: 192.168.6.107/"  /etc/salt/minion         #修改客户端配置文件的master连接地址
/sbin/service  salt-minion start         #启动salt-minion服务
/sbin/chkconfig  salt-minion on         #因为装完系统会自动重启,所以先设置开机启动项
 
%end

    6.自动部署客户端主机

流程如下:

自动获取IP--自动开始安装--自动选择所有可选项--自动分区--安装基础包(621个)--运行脚本--自动重启--进入操作系统

需要检查的东西:

主机名(hostname),ip地址(ifconfig),时间(date),salt-minion服务是否已经开启(service salt-minion status)

    7.和已经安装好salt客户端的主机建立连接

①salt-key list

blob.png

看到以ip地址最后一位命名的主机的验证请求

②salt-key -A

blob.png

至此已经进入运维人员管理范围。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值