3

I have three redis nodes being watched by 3 sentinels. I've searched around and the documentation seems to be unclear as to how best to upgrade a configuration of this type. I'm currently on version 3.0.6 and I want to upgrade to the latest 5.0.5. I have a few questions on the procedure around this.

  1. Is it ok to upgrade two major versions? I did this in our staging environment and it seemed to be fine. We use pretty basic redis functionality and there are no breaking changes between the versions.

  2. Does order matter? Should I upgrade say all the sentinels first and then the redis nodes, or should the sentinel plane be last after verifying the redis plane? Should I do one sentinel/redis node at a time?

Any advice or experience on this would be appreciated.

numb3rs1x
  • 4,673
  • 5
  • 31
  • 44

1 Answers1

10

I am surprised by the lack of response to this, but I understand that the subject kind of straddles something like stackoverflow and something like stack exchange. I'm also surprised at the lack of documentation I was able to find on the subject.

I did some extensive testing in a staging environment and then proceeded to our production and the procedure I followed seemed to work for the most part:

  • Upgrading from 3.0.6 to 5.0.5 in our case seems to be working without a hitch. As I said in the original post, we use the basics in redis and there hasn't been much changed from the client perspective.

  • I went forward upgrading in this order:

    1. The first two sentinel peers and then the sentinel currently in the leader status.
    2. Each of the redis nodes listed as slaves (now known as replicas).
      • After each node is upgraded, it will want to copy its dump.rdb from the master
      • A sync can be done to a 5 node from a 3 node, but once a 5 node is the master, a 3 node cannot sync, so once you've failed over to an upgraded node, you can't go back to the earlier version.
    3. Finally use the sentinels to failover to an upgraded node as master and upgrade the former master

Hopefully someone might find this useful going forward.

numb3rs1x
  • 4,673
  • 5
  • 31
  • 44