如果我们需要对云主机进行修改,具体操作要怎么进行?今天万变云通过一个具体案例,来为大家讲述如何进行云主机初始化设定。
现在很多企业都自建私有云,或者租用公有云厂商提供的公有云环境,EPC,业务方在申请拿到资源的时候,默认都是已经安装了操作系统的虚拟机,并不是所有的环境下,安装的操作系统都是可以自定义的,一般都是标准默认的版本,很多软件包和批量化管理、监控工具是没有安装的,只能是业务方拿到资源后,自己进行安装。
而在这个时候,批量在很多主机上安装管理、监控工具的工作,又回到业务方的手上,这个场景,和没有云环境,业务上线从购买服务器开始的情况一样了,唯一不同的是,如果是自己批量安装操作系统,可以预先安装这些软件包,而云环境,只能自己去安装了。
案例背景:这段时间,刚处理了一波这样的环境,企业内部的私有云,申请了140台虚拟机,在开发正式进场之前,需要对这些虚拟机进行一下处理,安装监控和管理的软件。为了能减轻一点工作量,最次的办法就是每一台登录上去进行处理,这里选择的是批量去进行处理,能减少一点工作量就减少一点,只要能完成就可以了。
资源情况:
140台CentOS 7的定制版,实际上也是和最小化安装的社区版没有太大的区别。
地址都是连续的,从192.168.1.3-192.168.1.142
所有主机的密码都是同一个,123456。
方案规划:
基于上面所述的环境,构想的实现步骤主要如下:
找一台管理的主机,最好是头一个,或者是尾一个,建议是头一个,因为保不齐后面也需要扩充主机和地址范围
用管理的主机,对其他所有的主机,做ssh的免密码登录,ssh-key
批量化执行ssh远程登录,执行命令,主要是包含DNS解析的添加、yum仓库的修改、zabbix和salt-minion的安装
具体执行过程:
SSH-KEY 免密码登录
由于所有主机的IP地址是连续的,而且密码都是相同的,这里可以选择使用expect自动应答,将生成的ssh-key,直接传输到需要管理的那些主机上。当然也是需要写两个脚本的,一个是expect的脚本,一个是循环的shell脚本。具体如下:
SSH-KEY生成
默认使用ssh-keygen -t dsa生成密钥对,一路默认
expect自动应答文件
编写自动应答脚本,主要是在进行SSH-COPY-ID的时候,进行自动应答
set IP [lindex $argv 0]
spawn ssh-copy-id -i /root/.ssh/id_dsa.pub root@$IP
expect {
"*yes/no" {send "yes\r";exp_continue}
"password:" {send "123456\r"}
}
interact
exit
在这个自动化应答的脚本中,需要一个变量IP,因为所有主机的用户名和密码都是一样的,所以密码不用设置为变量,不然的话,密码也是要设置成一个变量,然后进行自动应答。
循环shell脚本
写一个shell脚本,循环执行,特别简单
#/bin/bash
for ip in {3..142}
do
IP="192.168.1.$ip"
echo "$IP"
expect expect.exp $IP
done
这就是要循环执行
执行脚本,就可以完成所有主机的公钥拷贝,然后在管理及上,就会有一个known_hosts文件,里面就是所有接收了该公钥的主机列表。
DNS和YUM仓库配置
这里的DNS配置,主要是写一下zabbix_server和salt的解析,直接写入到/etc/hosts文件中即可,还是利用上面的那个脚本,只不过把expect脚本换一下就可以了。具体如下:
#/bin/bash
for ip in {4..134}
do
IP="10.253.11.$ip"
echo "$IP"
ssh root@$IP " echo '192.168.1.3 salt'>>/etc/hosts && mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak"
done
添加一个hosts文件,然后将系统中原生自带的repo文件,全部删除,或者移动到一个其他目录中。
yum仓库的配置,由于都是内网环境,只能自己搭建一个yum仓库,使用系统镜像,挂载到系统中,将系统镜像拷贝到一个目录下,然后安装一个httpd服务,使用本地的http服务,作为yum仓库源,所有的其他主机,都是用该yum仓库进行基础软件安装。
[base]
name=base
#baseurl=file:///mnt
baseurl=http://192.168.1.3:8123/iso
enable=1
gpgcheck=0
然后将该base.repo文件,分发到所有主机上,这里还是通过循环执行命令的形式。
#/bin/bash
for ip in {4..134}
do
IP="10.253.11.$ip"
echo "$IP"
scp /etc/yum.repos.d/base.repo root@$IP:/etc/yum.repos.d/
done
拷贝过去之后,其他的所有主机,就可以使用该yum源了
zabbix-agent和salt-minion的安装
利用循环脚本,批量安装zabbix-agent和salt-minion,首先是要先下载这两个软件的安装包,找一个可以访问外网的机器,使用download的方式,将安装的rpm包下载下来,然后拷贝到yum仓库源中。然后通过createrepo的方式,更新本地yum仓库。在这里有一个问题,更新完之后,该站点的目录权限会变更,其他主机无法访问到资源,所以要粗暴使用chmod 777 -Rf。更新完权限后,重启httpd服务。利用脚本,直接安装两个agent就好了。
#/bin/bash
for ip in {4..134}
do
IP="10.253.11.$ip"
echo "$IP"
ssh root@$IP 'yum install zabbix-agent salt-minion -y && echo $IP >/etc/salt/minion_id && systemctl start salt-minion'
done
启动后,就可以使用salt-master来控制所有的机器了。
万变云,你先进的网站管理系统选择,覆盖200+城市IP,无论是虚拟主机、VPS云服务器、云主机都能为你提供良好的租用体验。
相关资讯
相关文章内容简介
1 看云主机配置哪些才是关键?
无论选择什么产品,特别是电子类的,我们需要更加关注它的配置,因为配置往往决定了性能。云主机的配置要怎么看,哪些才是云服务器的关键点,下面由万变云来为大家好好讲解。 CPU 代表了云服务器的运算能力,如果网站流量较大,动态页面比较多,建议选择多核CPU。对于一般的企业网站或者个人网站,可能访客不会很多,因而选择2核的CPU... [阅读全文]
2 解析云主机存储系统的结构模型
我们使用云主机的一大用途就是用于储存数据,那么,与传统的存储设备来对比,云主机这里较为新颖的云存储是如何帮助我们进行数据存放的呢?今天,万变云为大家带来云服务器等云存储系统结构模型的解析。 云存储系统的结构模型由4层组成。 1、存储层 存储层是云存储最基础的部分。存储设备可以是FC光纤通道存储设备,可以是NAS和iSCSI... [阅读全文]
推荐阅读
02
2019-06
美国VPS主机的私密性怎样
美国VPS主机的私密性怎样?如果你正准备购买一款美国主机产品,你可能会在百度、Google等搜索引擎相关产品,但是看到那么多的搜索结果,你一定会感到有点糊涂,到底选哪家好呢?请先认真
11
2019-10
游戏企业要选择高质量的云主机
游戏成为了大家生活中休闲娱乐的一个重要组成部分,它开始在每个年龄层中打下基础。随着用户的扩大,游戏企业需要有强大的主机来运行游戏,这也催生了游戏行业大量选择云主机的原因
07
2019-11
选择服务器托管的好处
很多企业会选择将服务器进行托管,这么做有什么好处?下面,万变云从3个方面来跟大家进行介绍。
09
2019-08
云服务器不稳定对企业影响比较大
云服务器不稳定对企业影响比较大!随着云技术的不断成熟与采用成本的降低,目前无论是互联网企业还是传统企业、机构都开始逐步转向云服务器。云服务器的操作简单、成本低廉,同时资源
17
2019-12
云主机与虚拟主机有什么不同?
云主机跟云虚拟主机有什么区别?很多用户在购买云服务器的时候,都会被云主机跟云虚拟主机给弄混淆了,不知道它们之间有哪些使用差异。今天,万变云就来让大家分清楚这两个云服务器的
17
2019-05
动态vps是干什么的
有很多新手不知道动态vps是干什么的,有不懂的人在百度上听信别人买个软件挂机自动赚钱。总是被认为是挂机就可以赚钱的软件,在这里给大家解释一下什么是动态vps呢?动态vps其实也是VPS服
热门文章