On 01/17/2017 03:45 PM, Stephen Joyce wrote:
I know the current best-practice for changing the IP addresses of AFS
database servers is don't do it.
But assuming that I want/need to change IPs and have available
hardware, is the use of clone dbservers the preferred method? I can
tolerate short service interruptions of up to a few minutes as long as
they're planned for low-utilization times.
Initial condition is 3 dbservers ("OLD") located via AFSDB & SRV,
running 1.6.x. Desired final condition is 3 dbservers ("NEW") with
different IP addresses, also running 1.6.x (for now).
I'm roughing out a procedure, but my current thinking involves..
add 3 NEW dbservers as r/o clones (restarting db procs)
modify DNS to show all 6 IPs.
'fs newcell' or restart all afsd's (including on servers)
swap clone/non-clone roles so that NEW dbservers are r/w and OLD
dbservers are r/o clones (restarting db procs). At this point, sync
must be a non-clone, r/w "NEW" server. Verify with udebug. Any client
afsd's not restarted/newcell'ed won't be able to make pt/vl changes.
modify DNS to show only 3 NEW IPs
'fs newcell' or restart of all afsd's (including on servers)
remove 3 OLD dbservers which must be r/o clones (restarting db
procs). Any client afsd's not restarted/newcell'ed won't be able to
query pt/vlservers.
Because it could take some time to restart/newcell all clients, I'm
thinking of doing the clone addition/dns steps then waiting some time
(week+) before doing the role swap and second dns change. Then waiting
another period of time (week+) before doing the last removal.
I'm assuming that I can use -auditlog (or even a packet sniffer) to
see what clients might still be using the OLD dbservers prior to the
final decommissioning.
Seems a bit too simple. What am I missing?
I think that you're overthinking it. I don't think that there is a need
to use DB clones. You should be able to simply run 6 DB servers with the
caveats that the DB servers don't see insane amounts of traffic or latency.
I suggest the following:
1. add 3 new servers as full DB servers (not clones).
2. Update CellServDB on all servers to have all 6 IPs. Restart AFS
server processes
2b. Use udebug to ensure that all sites are current after adding new IPs
3. Change DNS/CellServer DB to to only show 3 NEW IPs.
4. Restart all clients to use only new IPs
5. Wait a week or so to monitor clients.
5. Remove old IPs from CellSERVDB on servers,
6. Restart all AFS server processes.
7. Shut down old AFS DB/cell servers.
Sincerely,
Jason
_______________________________________________
OpenAFS-info mailing list
OpenAFS-info@openafs.org
https://lists.openafs.org/mailman/listinfo/openafs-info