Fork me on GitHub

linux集群管理

本文以ubuntu-16.04.3-server-amd64为例,搭建服务器集群。同样是依托于虚拟机。

创建第一个节点

创建新的虚拟机参见:创建新的虚拟机,创建之后,编辑虚拟机,选择Ubuntu镜像,开启虚拟机开始安装。

具体安装参见:安装配置Ubuntu,安装的过程值得强调的两点就是:

  • 这个版本有个bug,刚开始的时候选择语言,千万不要选择Chinese,直接默认英语就行了,不然安装到后续过程会报错。

  • 由于选择的镜像是server版的,所以一定要把openssh-server安装上,不然后续更新源会让人比较蛋疼。(客户端无法连接到服务器,虚拟机中的ubuntu无法复制粘贴)

配置源

安装完成系统后默认带的源都是官方提供的,如果不FQ的话是无法使用的。可以自己从网上下载国内的源,比如:阿里源,使用客户端(xshell、putty都可以)更新。

  • sudo vim /etc/apt/sources.list
  • :%d 清空官方提供源,替换成自己的

  • 更新下apt-get

  • sudo apt-get update
  • sudo apt-get upgrade

克隆节点

基于节点1直接做克隆,实现3台服务器集群。这个操作比较简单,直接指定好存储目录,在被克隆的虚拟机上右键克隆,填写虚拟机名称,指定存储路径,完全克隆就行了。

更改hostname

由于都是克隆的节点,所以它们的hostname都是一样的,为了便于辨识,修改hostname:

  • sudo hostname 新主机名
  • sudo reboot
  • sudo shutdown 命令可以安全地关闭或重启Linux系统;sudo reboot, 使用reboot命令可以快速地关闭系统,但如果还有其它用户在该系统上工作时,就会引起数据的丢失。用reboot命令的场合主要是在单用户模式

修改host映射

选择一台机器作为跳板机,通过这台机器管理其它所有服务器。 修改host:

  • sudo vim /etc/hosts
  • 添加其它两台服务器ip和名称的映射
  • sudo /etc/init.d/networking restart 保存并重启网络

实现免密码登陆

采用ssh 用户名@ip 即可以实现服务器连接登陆,但是这需要我们输入用户名、密码,为了便于管理如下实现密钥连接。(如果A需要登陆B,则把A的公钥发给B)

  • 生存密钥:ssh-keygen -t rsa
  • cd ~/.ssh/ cd到该目录可以生成了私钥和公钥文件
  • 把公钥发送到需要连接的服务器,如果源服务器已经有了authorized_keys文件,需要先发送到其他目录,再把密钥考到这个文件中(scp id_rsa.pub root@192.168.0.143:~/.ssh/id_rsa.pub.1)。通过cat id_rsa追加(cat ~/.ssh/id_rsa.pub.1 >>authorized_keys)。
  • scp id_rsa.pub root@192.168.0.143:~/.ssh/authorized_keys
  • 此时再连接,第一次需要输入yes/no
  • 把.ssh/known_hosts直接删掉,该文件就是记录ssh登录的服务器信息
  • 如上既可以实现免密码登陆,以后管理其它服务器直接通过这台服务器作为跳板,其他服务器完全可以禁用密码登陆:
  • 禁用方式:sudo vim /etc/ssh/sshd_config 修改PasswordAuthentication no

总结

  • 大多公司服务器管理采用ssh+密钥的方式,也有基于vpn的方式;不管怎么样尽可能少的把服务器地址暴露出去。只需要暴露一台地址80端口,其他服务器依托局域网即可。这样也会更安全。
  • ssh管理还是很方便的,基于同样方式也可以移动端管理,把密钥导入到ipad(cola ,密钥导入到ipad,管理服务器)
posted @ 2017-08-17 16:24  迁梦余光  阅读(373)  评论(0编辑  收藏  举报