服务器集群搭建、管理、快速部署(小技巧)

服务器集群搭建、管理、快速部署(小技巧)

Posted by ivo on September 5, 2018

「转载文章」

1. 修改主机名

搭建集群的第一个工作,得知道每台机器的名字,也就是给每台机器起名字(后续通过名字来取得联系)

centos 下修改主机名

[root@localhost ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=simon

ubuntu 下修改主机名

[root@localhost ~]# vim /etc/hostname
simon
2.搭建dns服务器(下面是通过修改host文件来实现,真实环境中可以DNS来配置)

我们现在需要每台服务器之间可以通信,把每台机器的hosts配置一下:

[root@localhost ~]#  ifconfig  查看ip地址
[root@localhost ~]# vim /etc/hosts
192.168.1.102 ubuntu
192.168.1.102 ms     管理服务器  添加到末尾
192.168.1.119 db      数据库服务器
192.168.1.120 test    测试服务器
192.168.1.121 product   产品服务器
//添加四台服务器

需要重启服务器 shutdown -r now
此时可以通过主机名字来联系,就可以ping 同了

[root@simon ~]# ping ubuntu
PING ubuntu (192.168.1.102) 56(84) bytes of data.
64 bytes from ubuntu (192.168.1.102): icmp_seq=1 ttl=64 time=2.16 ms
64 bytes from ubuntu (192.168.1.102): icmp_seq=2 ttl=64 time=0.291 ms
64 bytes from ubuntu (192.168.1.102): icmp_seq=7 ttl=64 time=0.252 ms
--- ubuntu ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6818ms
rtt min/avg/max/mdev = 0.252/0.553/2.163/0.657 ms

3. 服务器之间相互认识(可以相互传输文件 scp拷贝文件)

//这里不需要写IP地址  myuser 是ubuntu服务器的用户名
[root@simon ~]# scp ./install.log myuser@ubuntu:/home/       

产品服务器的IP是直接暴露在外的,不安全,为了安全就要把密码登陆关闭掉(db,test,product),但是我们关闭密码登陆了,我们又是如何登陆呢?我们如何管理呢?我们自己必须可以登陆啊,openssh(我们现在使用的是XSHEEL)我们就必须使用公钥和私钥来登陆,
ms服务器: 可以登录 其他都不能登陆,只能在内网集群内登陆
防火墙来设置只有集群或局域网登录
还可以使用密钥登陆

4. 创建密钥、公钥的方法:

[root@localhost ~]# ssh-keygen -t rsa   后面直接回车即可
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):  密钥生成的位置
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
2f:27:12:19:c4:16:e6:16:6a:24:0c:5e:3a:43:26:e3 root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|+=....=.         |
|*.+o =o.         |
| E  o.+          |
|  o. . o         |
|      o S        |
|       . .       |
|      . o o      |
|       . +       |
|                 |
+-----------------+
[root@localhost ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog
[root@localhost ~]# cd  ./.ssh/
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub
[root@localhost .ssh]# cat id_rsa.pub >> authorized_keys
[root@localhost .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub
[root@localhost .ssh]# cp id_rsa /home/   把私钥复制到/home下,以便下载到本地

id_rsa 私钥 id_rsa.pub公钥 密钥登陆:拿到公钥就可以相互登陆

把公钥上传到其他三个服务器(db,test,product)
scp id_rsa.pub root@db: ~/
scp id_rsa.pub root@test: ~/
scp id_rsa.pub root@product: ~/

重启服务器
ms服务器来登陆其他服务器
ssh simon@db;这样就可以登陆db的服务器

5. 关闭密码登陆 (有必要的话,利用防火墙来设置)

[root@simon ~]# cd /etc/ssh/
[root@simon ssh]# vim sshd_config 
PasswordAuthentication on     把yes改成on

需要重启服务:shutdown -r now
此时xshell登陆失败

此时只有ms服务器才能登陆

如果MS服务器挂了的话,就没有办法登陆其他服务器了,可以把MS做一个备份(镜像),也可以在其他服务器上做防火墙,让其他服务器只能局域网访问,这样的话,我们一个基本的环境OK了。

版本库 , 测试环境,产品环境 ,文档库 自动化部署

– 此内容引用自https://www.jianshu.com/p/3af1bc33fa6b?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation#web-note-ad-fixed