本文以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,管理服务器)

最新文章

  1. 好好了解一下Cookie
  2. Windows 8.1 安装Ruby on Rails手记
  3. 【BZOJ4034】[HAOI2015]树上操作 树链剖分+线段树
  4. XML数据源快速开发框架——XmlFramwork
  5. Unity光照图UV显示
  6. WINDOWS UPDAET
  7. 【LeetCode题意分析&解答】36. Valid Sudoku
  8. 记一次搭建SS服务器,完整的过程。
  9. ajax 实现修改功能
  10. ml-agent:Win10下环境安装
  11. upload.go
  12. Java 链接SQL Server 数据库
  13. 学习熟悉箭头函数, 类, 模板字面量, let和const声明
  14. mybatis批量更新报错
  15. 20165221 JAVA第一周学习心得及体会
  16. Nginx禁止域名恶意解析
  17. Tkinter Dimensions
  18. EXCRT
  19. functools模块方法学习(1):partial
  20. hdu5296(2015多校1)--Annoying problem(lca+一个公式)

热门文章

  1. Camera图像处理原理及实例分析
  2. consist of, made up of
  3. EffectiveJava(3)使用是由构造器或枚举类型强化singleton
  4. Swagger2 (3) 集成easymock 生成mock 测试数据
  5. PHP 在源代码中实现换行使得页面源代码更精致美观
  6. kali渗透综合靶机(一)--Lazysysadmin靶机
  7. lodash 展平数组 flatten flattenDeep
  8. 《Android源代码设计模式解析与实战》读书笔记
  9. 【Java】Java_20 Scanner获取键盘输入
  10. Gradle学习小结