阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

批量部署,无人值守,部署salt master/minion

130次阅读
没有评论

共计 3536 个字符,预计需要花费 9 分钟才能阅读完成。

准备

rhel-server-6.4-x86_64-dvd.iso

salt.tar.gz

第一步:准备一台服务器,用以管理其他服务器

system—→      rhel-server-6.4-x86_64-dvd.iso

ip—→                20.10.10.111

hostname—-→  admin.black.com

配置好 yum 源

mkdir /iso

mount /dev/cdrom /iso

创建  /etc/yum.repo.d/yum.repo

第二步:用 admin 服务器,做 DHCP 服务器

需求

1:给其他服务器分配 ip

2:把 tftp 服务器的地址一并传给其他服务器

3:指定一个支持网络启动的 bootloader 的文件名字

步骤

1:yum install dhcp*  -y

2 :  修改配置文件

[root@admin ~]# cat /etc/dhcp/dhcpd.conf

#

# DHCP Server Configuration file.

#  see /usr/share/doc/dhcp*/dhcpd.conf.sample

#  see ‘man 5 dhcpd.conf’

#

subnet 20.10.10.0 netmask 255.255.255.0 {

range dynamic-bootp 20.10.10.10  20.10.10.50;

option routers  20.10.10.111;

next-server 20.10.10.111;

filename “pxelinux.0”;

}

3: /etc/init.d/dhcpd  restart

测试

虚拟机上准备一台服务器,网卡用与 admin 相同的网卡,打开 dhcp,remove 掉 CD/DVD

开机

能获取到 ip 就表示这一步成功!

第三步:用 admin 服务器,再搭建一个 tftp 服务

需求 :需要其为其他服务器提供 bootloader 文件,vmlinux 内核文件,init 初始化文件,以及启动用

的菜单文件

步骤

1:

yum install tftp-server -y

chkconfig tftp on

/etc/init.d/xinetd restart

2 :

mkdir /iso

mkdir /var/lib/tftpboot/pxelinux.cfg

mount /opt/rhel-server-6.4-x86_64-dvd.iso    /iso -o loop

cp /iso/isolinx/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

cp /iso/isolinux/* /var/lib/tftpboot/ -rf

3 :

yum install syslinux* -y    # 为了得到一个可以网络启动的 bootloader

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

/etc/init.d/xinetd  restart

测试

同上;出现菜单文件就表示这部成功

第四步:用 admin 服务器,再配置一个 nfs 服务,用以给安装提供安装目录树

需求

提供安装目录树

提供 kickstart 文件

步骤

修改 exports 文件,指定共享目录,修改如下:

[root@admin ~]# cat /etc/exports

/iso *(rw)

/opt *(rw)

/etc/init.d/nfs restart

第五步:准备 kickstart  用以无人值守安装

需求:避免批量部署时 需要人机交互

可以手动写一个,也可以利用一个 python 写的工具,来生成 ks 文件

步骤:

yum install system-config-kickstart -y

admin]# system-config-kickstart    #需要图形解密,也可以在其他服务器上生                成,再 cp 过来

注意  installation source 选项, 用的是 nfs

批量部署,无人值守,部署 salt master/minion

其他自行选择, 注意关闭 iptables,selinux

将生成的 ks.cfg  文件保存到 /opt 目录下,因为上面,nfs 中共享的是 /opt 目录,

修改 default 文件

vim  /var/lib/tftpboot/pxelinux.cfg/default

# 修改内容如下

timeout 50

……

label linux

menu label ^Install or upgrade an existing system

menu default

kernel vmlinuz

append initrd=initrd.img ks=nfs:20.10.10.111:/opt/ks.cfg

测试:这个时候,在启动其他服务器,就应该会自动安装了

第五步:修改文件 /opt/ks.cfg,达到自己的要求,如部署 salt,yum 源等

# 在 admin 服务器上准备好需要的包,配置一个 ftp 服务器,用以其他服务器下载

第一步:配置 ftp 服务  准备好文件

yum install vsftpd -y

cp /opt/rhel-server-6.4-x86_64-dvd.iso  /var/ftp  # 方便其他服务

下载,来配置 yum 源

mkdir /var/ftp/yum    # 配置自己的软件仓库,用以安装 salt,将需要的 rpm 包

拷贝到 /var/ftp/yum  下面,然后 createrepo

tar -xvf salt.tar.gz  -C    /

cd /var/ftp/yum

yum install createrepo -y -q

createrepo .

第二步:修该 ks.cfg 文件,配置 yum 源,配置 salt 的 master/minion  用 admin 服务器来

管理,做自动化运维

%post

cat >/etc/yum.repos.d/yum.repo<<EOF

[rhel]

name=Red Hat

baseurl=file:///iso

enabled=1

gpgcheck=0

EOF

cat >/etc/yum.repos.d/yum2.repo<<EOF

[rhel-salt]

name=red hat salt

baseurl=ftp://20.10.10.111/yum

enabled=1

gpgcheck=0

EOF

mkdir /iso

curl -o /opt/rhel6.4.iso  ftp://20.10.10.111/rhel-server-6.4-x86_64-dvd.iso

mount /opt/rhel6.4.iso /iso -o loop

echo “mount /opt/rhel6.4.iso /iso -o loop” >>/etc/rc.local

yum install wget -y -q

yum install salt-minion -y

ip=`ifconfig eth0 | awk -F”[:]” ‘NR==2 {print $13}’`

sed /^#master:/s/#master.*/master:\ 20.10.10.111/ /etc/salt/minion -i

sed /^#id:/s/#id:.*/id:\ $ip/ /etc/salt/minion -i

/etc/init.d/salt-minion restart

chkconfig salt-minion on

%end

测试:

部署完以后,在 admin 服务器上,安装 salt-master

执行 salt-key -A

salt-key  # 查看已经部署好的服务器是否已经加载进来

SUSE Linux 11 pxe+DHCP+tftp+ftp 无人值守安装 http://www.linuxidc.com/Linux/2013-06/85481.htm

自建 DHCP TFTP 服务 用 PXE 启动实现无人值守安装 CentOS6  http://www.linuxidc.com/Linux/2014-07/104881.htm

使用 PXE+DHCP+Apache+Kickstart 无人值守安装 CentOS5.8 x86_64 http://www.linuxidc.com/Linux/2012-12/76913.htm

Kickstart 全自动化安装 CentOS 6.3 http://www.linuxidc.com/Linux/2012-12/75570.htm

Kickstart 自动化安装 Linux 笔记 http://www.linuxidc.com/Linux/2012-11/73853.htm

PXE/Kickstart 实现远程自动安装 RedHat Linux http://www.linuxidc.com/Linux/2012-11/73361.htm

DHCP+TFTP+HTTP+Kickstart 网络自动化部署服务器 http://www.linuxidc.com/Linux/2012-11/73852.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计3536字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中