我们有一个由主要,次要和仲裁者组成的复制集。我按照mongodb website上的说明升级了它们。
这就是我的所作所为:
关闭仲裁者的mongod,在仲裁者上升级mongod,在仲裁者上启动mongod。
关闭mongod on secondary,升级mongod on secondary,启动mongod on secondary。
(我忘了在推荐的主服务器上调用rs.stepDown()...)关闭主服务器上的mongod,在主服务器上升级mongod,在主服务器上启动mongod。
在辅助设备上调用rs.stepDown()以允许主设备再次升级。
虽然我在关闭主服务器之前忘记在主服务器上调用rs.stepDown(),但我认为这不是问题,因为stepDown只能加速故障转移。
现在,主要和次要都表明他们正在相互同步。我应该担心吗?其他一切似乎都有效。
这是rs.status()的结果:
"members" : [
{
"_id" : 0,
"name" : "primary:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 3274,
"optime" : {
"t" : 1367879796,
"i" : 6
},
"optimeDate" : ISODate("2013-05-06T22:36:36Z"),
"lastHeartbeat" : ISODate("2013-05-06T22:35:06Z"),
"lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
"pingMs" : 1,
"syncingTo" : "secondary:27017"
},
{
"_id" : 1,
"name" : "arbiter:27017",
"health" : 1,
"state" : 7,
"stateStr" : "ARBITER",
"uptime" : 3571,
"self" : true
},
{
"_id" : 2,
"name" : "secondary:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 3570,
"optime" : {
"t" : 1367879796,
"i" : 6
},
"optimeDate" : ISODate("2013-05-06T22:36:36Z"),
"lastHeartbeat" : ISODate("2013-05-06T22:35:06Z"),
"lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
"pingMs" : 6,
"syncingTo" : "primary:27017"
}