>本课重点:互联网架构师之路---服务器集群搭建、管理、与快速部署。
负载均衡: 一台服务承受的业务压力过大时,需要使用多台服务器来一起协作工作。
1.如何做好服务器的安全管理
2.项目团队成员应该具有的服务器权限
3.分别部署测试环境与产品环境
4.自动化部署
架设小规模集群,以4台Ubuntu虚拟机为例:
搭设这种小规模集群可以随时扩展服务器数量,比如说现在服务器负载很大可以随时把4台扩成8台,可以很快的完成操作。
做大规模集群通常的情况下会专门开一台服务器来做DNS解析,这样的服务器叫做DNS服务器。因搭建小规模服务器集群单独拿出一台服务器来做DNS解析有些浪费资源,所以可以选择另外一种方式。不用DNS解析可以设置服务器中的
hosts
文件。第一步先给每一台服务器起名字:
比如用一台专门来做管理服务器起名叫MS,一台是数据库服务器起名叫DB1,有一台做测试服务器起名叫T1,最后一台就是产品服务器起名叫P1。
修改服务器主机名Ubuntu系统中的文件是:
/etc/hostname
修改完成之后重启一下服务器,每台都改完之后进行第二步。
第二步配置每台服务器的hosts文件中的ip:
先用ifconfig
命令分别查出每台服务器的ip地址,然后记录下来。
用编辑器打开:/etc/hosts
先将自己的主机名更改成刚才新起的名字,再将其它几台服务的ip地址和起好的主机名对应录入到这里。
每配置好一台要用ping 主机名
命令来测试一遍其它服务器,来判断是否识别了其它服务器。
都配置好了之后可以使用scp
命令直接进行服务器之间的文件传输。
例如:
scp aaa zhangsan@T1:/tmp/
这样就能将当前服务的这个aaa文件推送到T1服务器上的/tmp/目录中去。
第三步配置服务器成员安全
因为产品服务器的ip是暴露在外的,所以我们将产品服务器、测试服务器、数据库服务器这些与产品运营相关的服务的使用密码登录选项全部关掉。但是关掉之后我们就无法再登录服务器了,我们要怎样管理服务器呢?因为我们知道Linux使用ssh服务登录有两种模式,一种是传统的密码登录,另一种就是秘钥登录。就是如果设置成公私钥登录方式的,就是只有拿到秘钥才能登录服务器,即使别人拿到账号密码也无法进行暴力破解。
那么首先要给每台服务要安装ssh服务,这样我们用远程客户端工具就能连接服务器进行操作了。让这4台服务器中只有MS服务器可以通过远程登录,其它服务器只能在内网集群内登录。那要配置一个什么环境呢?
让我们的管理员、运维工程师、技术总监、架构师只有一个服务器可以通过公私登录,也就是在服务器集群以外的地方只有MS这台服务器可以被登录,P1、T1、DB1这些服务器只能通过内网集群内登录。
先创建秘钥命令为:
ssh-keygen -t rsa
创建完之后家目录下会有一个
.ssh
的隐藏目录生成,这个文目录下有两个文件:id_rsa
是私钥、id_rsa.pub
是公钥。
生成之后我们将公钥分别上传到P1、T1、DB1服务器上,并创建一个.ssh的目录进去。然后将用以下命令:
cat ../id_rsa.pub >> authorized_keys
将公钥重定向到这里。然后重启服务器,这样就能用MS这台服务器登录其它服务器了。命令如下:
ssh zhangsan@DB1
就能登录到DB1这台服务器上,使用
exit
命令可以退出。这样就实现了只能用SM这台服务器来管理其它服务器了。
下面最后一步,就是将其它所有服务的密码都关闭,如果有必要的话还可以设置一下防火墙规则为只有局域网ip可以登录。这样做的话就只有SM这台服务可以登录其它服务器了。
关闭密码登录选项:
/etc/ssh/sshd_config文件中PasswordAuthentication选项
改成NO之后打开前面注释开启选项。这样就将服务的密码登录选项关闭了。
配置完成之后给MS服务器做个镜像备份,因为MS服务器要是坏了就无法登录管理其它服务器了。
这样小规模服务器集群的基本安全配置就配置完成了。