Jag är förvånad över bristen på respons på detta, men jag förstår att ämnet på något sätt sträcker sig över något som stackoverflow och något som stack exchange. Jag är också förvånad över bristen på dokumentation jag kunde hitta i ämnet.
Jag gjorde några omfattande tester i en iscensättningsmiljö och fortsatte sedan till vår produktion och proceduren jag följde verkade fungera för det mesta:
-
Uppgradering från 3.0.6 till 5.0.5 i vårt fall verkar fungera utan problem. Som jag sa i det ursprungliga inlägget använder vi grunderna i redis och det har inte förändrats mycket ur klientperspektivet.
-
Jag fortsatte med att uppgradera i denna ordning:
- De första två vaktposterna och sedan vaktposten som för närvarande är
leader
status. - Var och en av redis-noderna listade som
slaves
(nu känd somreplicas
).- Efter att varje nod har uppgraderats vill den kopiera sin
dump.rdb
från mästaren - En synkronisering kan göras till en 5-nod från en 3-nod, men när en 5-nod är mastern kan en 3-nod inte synkronisera, så när du väl har misslyckats till en uppgraderad nod kan du inte gå tillbaka till den tidigare versionen.
- Efter att varje nod har uppgraderats vill den kopiera sin
- Använd slutligen vaktposterna för att failover till en uppgraderad nod som master och uppgradera den tidigare mastern
- De första två vaktposterna och sedan vaktposten som för närvarande är
Förhoppningsvis kan någon ha nytta av detta framöver.