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

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

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

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

# 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

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

②salt-key -A

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

原文地址:http://blog.51cto.com/forall/2107273

时间: 2024-08-25 04:35:27

Kickstart无人值守安装Centos6系统+集成saltstack客户端程序的相关文章

烂泥:kickstart无人值守安装CentOS6.5

本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在本次实验进行之前,首先我们要把公司的网络环境进行介绍. 注意这个网络拓扑图,也是生产环境的一个实例.同时服务器192.168.1.214已关闭iptables.Selinux. 看如下拓扑图: kickstart完全配置后的网络拓扑如下: 目前路由器使用的是软路由ROS,因为centos的无人值守安装需要DHCP服务器的配合使用,并且还需要对DHCP服务进行特殊配置. 而一般路由器根本就不支持此特殊功能,所以我们需要关闭路由器ROS的DHCP功能

PXE+DHCP+Apache+Kickstart无人值守安装CentOS-6.6

以前的工作中做过一次无人值守全自动批量安装Centos,无耐当时太忙,忘了做笔记.现在刚好公司新进了一批服务器要上架,要做系统,正好利用此次机会做了如下笔记: 什么是PXE?什么是Kickstart?此处不在一 一描述,因为网络上对这些概念解释实在是太多了,我就此对PXE+Kickstart的安装条件和详细步骤做一 阐述. 执行PXE+Kickstart安装需要先决条件: DHCP服务器: TFTP服务器: Kickstart所生成的ks.cfg配置文件: 一台存放系统安装文件的服务器,如NFS

kickstart无人值守安装centos6

1.  背景介绍 现在很多企业都有这样的需求,一次安装多台服务器,常规的光盘安装即费时也费力,只能一台一台的安装,当服务器数量几十到几百台的时候,这样安装效率就大大降低了,这样就诞生了自动化部署软件,常用的有kickstart和cubbler 1.1什么是PXE PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动

【linux基础】25、kickstart 无人值守安装linux系统

1.anaconda简介 anaconda:fodora维护的linux系统安装程序 anaconda将整个linux系统安装过程分成2个阶段: 安装前配置: 选择键盘类型,安装过程中的语言,支持的语言,时区 选择要使用的磁盘设备,分区格式化,选择要安装的程序包 设置管理员密码,是否启动iptables,是否启用selinux 安装阶段: 在目标磁盘上创建出根文件系统 将选定的程序包安装至目标磁盘 anaconda程序可以交互式设置系统安装的各种配置,也可以读取anaconda的配置文件anac

centos6.3配置 kickstart   无人值守安装centos6.3系统 httpd方式

centos6.3+tftp+dhcp+httpd 系统环境:centos6.3*64 setenforce 0  关闭 selinux service iptables stop  关闭iptables 1  挂载镜像 mount /dev/cdrom /mnt cp -rf   /mnt/*   /var/www/html/ yum install -y httpd* tftp-server-* xinetd-* system-config-kickstart-* syslinux dhcp

(转)PXE+kickstart无人值守安装CentOS 7

kickstart+cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文是PXE+kickstart无人值守安装CentOS6的续篇,主要是为了突出CentOS7和CentOS6配置kickstart时的不同点,例如pxelinux.cfg/default文件的变化,kickstart使用nfs提供时的bug等.为了文章的完整性和独立性,将很多CentOS6上直接复制搬到了本文. 1.1 PXE说明 所谓的PXE是Pre

PXE+Kickstart+Nginx(http)+DHCP无人值守安装Centos6.4系统

PXE+Kickstart+Nginx(http)+DHCP无人值守安装Centos系统 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast

PXE结合Kickstart实现无人值守安装CentOS6.5

简介 PXE:Pre-boot execution Environment,预启动执行环境,是由Inte公司开发的网络引导技术,工作在 Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统 安装条件 1.客户机的网卡支持PXE协议(集成 BOOTROM芯片),且主板支持网络引导.目前绝大多数服务器和大多数PC都能够提供此支持,只需在BIOS设置中允许从Network或LAN启动即可2.网络中有一台DHCP服务器以便为客户机自动分配地址.指定引

kickstart 无人值守安装系统

起因:新服务器到货,安装系统,可是公司里的系统盘总是不给力,第一次,只带了一个光盘,结果安装完成一台之后就罢工了,只好回公司第二天再来安装,第二次,有经验了带了3张光盘,刻盘的兄弟估计刻录完成没有测试,结果只有一张盘可用,本来半个小时的工作,这个干了2个多小时,太没有效率了,哥们实在忍不住了,就做了一个kickstart无人值守安装. 一.配置过程 配置PXE安装,要进行如下步骤: 1.配置DHCP,用于给客户端提供IP地址等信息. 安装dhcp 直接yum [[email protected]