189 8069 5689

linux双机命令 hpux双机常用命令

Linux安装MongoDB双机热备份(主从复制)

主从复制作用:数据备份、读写分离

创新互联是一家专业提供永修企业网站建设,专注与成都网站制作、成都网站设计、H5场景定制、小程序制作等业务。10年已为永修众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

双机热备份:部署两个节点的MongoDB服务,配置一主一从,主节点添加数据,将自动备份到从节点上面,保证主机宕机后数据不丢失,同时可以继续提供数据读取服务(主服务挂掉,从服务将无法在进行写入数据,只能提供数据读取服务)

一主多从:部署多个节点的MongoDB服务,配置一主多从,数据也会自动备份到所有从节点上面,保证主机宕机后数据不丢失,同时可以根据从节点的优先级进行选取新的主节点,继续提供读写服务(主从关系跟服务设置的优先级有直接关系 优先级参数:priority 数字越大优先级越高)

使用上面的方式,在不同服务器上安装并启动MongoDB服务

将启动时使用的配置文件mongodb.conf中添加下面的副文本集名称配置,将权限控制参数改为false(auth=false),然后将服务进行重新启动即可(testrs是自定义的副本集名称)

#使用此设置来配置复制副本集。指定一个副本集名称作为参数,所有主机都必须有相同的名称作为同一个副本集

replSet=testrs

然后启动每个服务的客户端查看当前节点为主节点还是从节点;

1). 如果服务部署在不同服务器上,直接启动/bin目录下的mongo即可 命令:./ mongo

2). 如果服务部署在同一台服务器上,使用不同端口及配置文件进行启动的,启动客户端使用该命令 命令:./mongo 127.0.0.1:27018/

经过上面的一系列操作后,主从配置就完成了,接下来可以进行数据同步测试

第一步:在主库上面切换到admin,然后进行添加数据(命令:db.testdb1.insert([{"name":"zs"}]))

在从库上查询该数据(命令:db.testdb1.find({name:"zs"})),会出现下面如图的错误,因为从库没有查询数据权限,所以需要设置查询权限

设置从库查询权限,使用命令:rs.secondaryOk()

然后在使用查询命令进行查询(命令:db.testdb1.find({name:"zs"}))就会看到如下图的查询结果:

如上图所示,数据已经同步到从库上面了,这样双机热备份就已经实现了,上面的情况不包含权限控制

上面的情况已经完成了MongoDB的主从复制功能,但是我们把权限没有开放,启动时使用的配置中auth配置的值为false,说明没有添加权限,接下来就开放一下权限配置;

首先需要主从之间通信的一个keyFile文件,根据官网提供的说明,这个keyfile是可以任意内容的,只要保证所有集群中的机器都拥有同样的文件即可。

我这里将keyFile文件放到了MongoDB的bin目录下了,使用openssl rand -base64 1024 /usr/local/mongodb-master/bin/mongodb.key 命令生成;

然后将mongodb.key文件复制到每台从服务上面,在每台服务的启动文件上添加 keyFile=/usr/local/mongodb-master/keyfile/mongodb.key 配置项 ,然后将auth属性值改为true,这样就完成了权限配置

重启主从两个节点,这样主机添加的数据,就会同步到从机上面了!!!

添加或删除从节点参考文章:

linux基本操作命令

linux基本操作命令如下:

1、查看内核版本:uname -a。

2、控制台-图形界面:init 5或者startx。

3、图形界面-控制台: init3或者直接注销。

4、如何查看ip地址:ifconfig。

5、配置ip:ifconfig eth0 ip地址。

6、重启:reboot 或者 shutdown -r now。

linux常用命令举例

cd命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径,如cd/root/Docements#切换到目录/root/Docementscd./path#切换到当前目录下的path目录中。

这是一个非常有用的查看文件与目录的命令,list之意,它的参数非常多,下面就列出一些我常用的参数吧,如下,l,列出长数据串,包含文件的属性与权限数据等a,列出全部的文件连同隐藏文件一起列出来d,仅列出目录本身,而不是列出目录的文件数据h,将文件容量以较易读的方式列出来R。

Linux服务器双机热备详细过程

通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。

当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。

下面来以keepalived结合tomcat来实现一个web服务器的双机热备过程:

keepalived的工作原理是VRRP虚拟路由冗余协议。

在VRRP中有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。

VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。Vrrp中存在着一种选举机制,用以选出提供服务的路由即主控路由,其他的则成了备份路由。

当主控路由失效后,备份路由中会重新选举出一个主控路由,来继续工作,来保障不间断服务。

两台物理服务器和一个虚拟服务器(vip):master:redhat2.6.18-53.el5192.168.8.4;backup:redhat2.6.18-53.el5192.168.8.6;vip:192.168.8.100。

节点A192.168.8.4(主节点),节点B192.168.8.6(备用节点),虚拟IP(对外提供服务的IP192.168.8.100)

在这种模式下,虚拟IP在某时刻只能属于某一个节点,另一个节点作为备用节点存在。

当主节点不可用时,备用节点接管虚拟IP(即虚拟IP漂移至节点B),提供正常服务。

keepalived的原理可以这样简单理解:

keepalived安装在两台物理服务器上,并相互监控对方是否在正常运行。

当节点A正常的时候:节点A上的keepalived会将下面的信息广播出去:

192.168.8.100这个IP对应的MAC地址为节点A网卡的MAC地址

其它电脑如客户端和NodeB会更新自己的ARP表,对应192.168.8.100的MAC地址=节点A网卡的MAC地址。

当节点A发生故障的时候,节点B上的keepalived会检测到,并且将下面的信息广播出去:

192.168.8.100这个IP对应的MAC地址为节点B网卡的MAC地址

其它电脑如客户端会更新自己的ARP表,对应192.168.8.100的MAC地址=节点B网卡的MAC地址。

扩展资料:

双机热备特指基于active/standby方式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器执行写操作,或者使用一个共享的存储设备。在同一时间内只有一台服务器运行。

当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。

Keepalived的运行原理是基于VRRP(虚拟路由冗余协议)机制,在VRRP中有两个重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。

VRRP路由器是一种实体路由器设备,而虚拟路由器则是基于VRRP协议构建的虚拟路由器,是软性的虚拟概念,一组VRRP路由器协同工作,共同构造一台虚拟服务器。

VRRP协议支持一种选举机制,主要用来选出用来提供服务的路由即主控路由,其它的就是备份路由了,当主控路由失效之后,备份路由中重新选出一个主控路由(往往按照设置好的优先级别重新分配),接管主控服务,继续工作,来保证不间断的提供服务。

参考资料:百度百科-双机热备

Linux多台主机批量执行命令

指定一台主机作为信任主机,这样从这台主机登录其他机器就不需要密码了。

设置信任主机:

假设有四台机器:192.168.2.1~192.168.2.4,其中192.168.2.1为信任机,那么在192.168.2.1上运行如下命令:

$ssh-keygen -t rsa //此处一路回车,生成秘钥

$scp .ssh/id_rsa.pub 192.168.2.2:~/ //把秘钥拷贝到其他远程机器

$ssh 192.168.2.2 ‘cat id_rsa.pub .ssh/authorized_keys’ //(远程执行命令)在远程机器上生成认证文件

经过这几步,从192.168.2.1 ssh登陆192.168.2.2时,就不会再需要输入密码了。同样的步骤再执行3、4的极其。

文本文件hostlist可以如下

192.168.2.2

192.168.2.3

192.168.2.4

#!/bin/shdoCommand(){    

hosts=`sed -n'/^[^#]/p'hostlist`

for   host  in   $hosts

do

echo ""

echo  HOST$host

ssh  $host  "$@" 

done

return 0

}

if  [  $# -lt 1 ]

then

echo "$0cmd" exit 

fi

do  Command "$@"

echo "return from doCommand"

执行命令(记得先对doCommand.s

h增加执行权限 chmod u+x doCommand.sh)

./doCommand.sh “ls -al /root/”

这样该脚本就会在每台机器上执行”ls -al /root/”这个命令,并返回结果在信任主机上。

Linux Keepalived双机热备

本文使用的是 VMware Workstation 15 Player ,创建两个虚拟机,分别命名为 CentOS 7 64位 M 和 CentOS 7 64位 B ,M表示"master"主服务器,B表示"backup"备用服务器。

网络连接选择 NAT模式 ,启动后使用 ip add 发现没有自动分配ip地址,是因为CentOS 7默认是不启动网卡的,解决方法如下:

打开配置文件,把 ONBOOT=no 这一项改为 ONBOOT=yes ,然后 :wq 保存退出,然后重启网络服务:

这时候再输入 ip add 会发现ip地址有了。

本文Master ip为 192.168.56.131 ,Bcakup ip为 192.168.56.132 。

虚拟ip(vip)定义为 192.168.56.188 。

安装gcc

进入nginx-1.6.2并执行configure文件

成功后会在/usr/local/nginx目录下看到 conf、html、logs、sbin 四个目录。

启动命令:

停止命令:

重启命令:

使用如下命令查看相关端口是否已启动Nginx

浏览器输入Master的ip地址: ,出现Nginx的欢迎页面即成功启用Nginx。

同理,Backup浏览器输入: ,同样出现Nginx的欢迎页面。

注意这个地方,html中最后一行 "Thank you for using nginx." 本文针对Master和Backup分别进行了修改便于热备时更好的区分服务是否切换成功,修改的文件在

如果启动成功,但进入不了欢迎页面,则可能需要关闭firewalld防火墙:

进入keepalived-1.2.18并执行configure文件

在 /etc/ 目录下创建keepalived文件夹

将keepalived配置文件复制到/etc/keepalived下

将keepalived脚本文件复制到/etc/相关目录下

创建keepalived软链接

设置开机启动

安装完毕。

进入/etc/keepalived/目录下打开keepalived.conf文件进行修改

在/etc/keepalived/目录下创建sh脚本文件

1、安装nano

2、使用nano创建nginx_check.sh脚本

3、打开nginx_check.sh并编辑如下内容

(注意`符号,非'符号)

4、脚本授权

安装并配置完毕后,可以分别启动两台虚拟机上的Nginx和Keepalived进行热备的验证了。

启动Nginx:

启动Keepalived:

关闭Keepalived:

查看nginx进程:

查看keepalived进程:

分别启动Nginx和Keepalived后,Master输入 ip add 查看ip多了一个 192.168.56.188

打开浏览器输入ip地址: 看到Nginx的欢迎页面

此时nginx131说明为主节点。

然后我们将Keepalived关闭

或kill掉Nginx进程,因为有nginx_check.sh脚本会检测如果没有Nginx进程运行也会自动将Keepalived关闭

会发现,节点由Master切换到了Backup:

热备成功。


网页名称:linux双机命令 hpux双机常用命令
分享URL:http://cdxtjz.cn/article/hiejge.html

其他资讯