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

「转载文章」

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](https://link.jianshu.com/?t=http://rsa.pub) root@db: ~/  
scp id_[rsa.pub](https://link.jianshu.com/?t=http://rsa.pub) root@test: ~/  
scp id_[rsa.pub](https://link.jianshu.com/?t=http://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

~/ivo

上一篇
下一篇