Transfer of all accounts CENTOS 6.10 WHM v86.0.32 to CENTOS 7.9 v92.0.3

amitkalra

Active Member
Mar 9, 2006
26
4
153
Dear all

My WHM Server with about 45 Domains and 300GB of usage excluding backups has been running for over 5 years on traditional spinning hard disks without any downtime.
As hardware is getting old, it is still on CentOS 6.1 and updates for WHM have been discontinued for sometime, I am planning to do an upgrade to a new server with NVME Drives and more RAM.
Transfer will be from CENTOS 6.10 WHM v86.0.32 to CENTOS 7.9 v92.0.3

Both servers are with the same Data Center. Here are the details
1. I had 3 IP Addresses on the running server, I have taken 3 new IP Addresses on the new Server. Two IP Addresses are used for DNS Servers, one out of these for hostname.
2. The first server's host name is exl.domainname , I have given the hostname exl1.domainname to the new server. I have made an A record on the old server pointing this hostname to the Main IP of the new server.
3. On the new Server I want to keep the DNS Hostnames i.e ns1.domainname and ns2.domainname same as the old server so that I do not have to tell all clients to change their DNS Servers. Right now since the DNS names are the same and active on the old server, in Basic Settings - Name Server it shows me the IP Addresses of the old server and won't even let me save the IP addresses of the new Server that I want eventually.
4. I have checked MySQL, Apache etc are the same version on both servers.
5. When I start Transfer Tool it is giving me just two warnings
1) The source server is not running the same major version as the target server. cPanel highly recommends that the source server runs the same major version for at least 24 hours to ensure any data conversions have completed.
2) Source: Roundcube database type is “mysql” …
Target: Roundcube database type is “sqlite” …
The source server is not running the same Roundcube database type as the target server. cPanel highly recommends that the source server run the same
Roundcube database type at least 24 hours to ensure that email accounts using Roundcube will transfer properly.


I cannot do anything about the first warning as the old server will not upgrade to WHM because of CentOS 6.1.
I plan to do the following steps over the weekend to complete the transfer:
1. Migrate the Roundcube database to sqlite before the transfer.
2. Transfer all Service Configurations, packages, accounts in that order to the new server. Assign New shared IP Addresses to the accounts.
3. Go the Domain Registrar and change the IP Addresses of my two name servers. I guess at this time I can check if the new IP Addresses are reflecting in Basic Settings- DNS Servers in the new Server.
4. Hope and Pray it is a smooth transfer.
In the worst case scenario that something major breaks in the transfer I can always switch back the IP Addresses of the DNS Servers to the old server's IP Addresses and revert back to the old server.

I just want advice from the experts here, if I am planning the right way. Am I missing out one something ? Will the new Server DNS IPs reflect once the switch is made at the domain registrar. Any other advice to make it as smooth as possible.

Thanks
Amit Kalra
 

andrew.n

Well-Known Member
Jun 9, 2020
607
171
43
EU
cPanel Access Level
Root Administrator
Amit, I'm actually right now at the moment doing a migration from CentOS 6 to 7 for a client called Amit so is it you by any chance?:) cos then you don't even have to ask a single question :)

To address your concerns:

- The warning about mysql and sqlite can be ignored as in 99% it won't cause any issues

If all the domains use your nameservers then I would do the followings:

2. Using Transfer Tool migrate the service configurations and hosting packages
2. Migrate the accounts with the Express transfer and reseller privileges options selected for all the accounts
3. Updating the nameservers' IPs from the old ones to the new ones
4. Waiting 24 hours for the propagation then shutting down the old server and cancelling after a week or so

The Express Transfer option automatically changes the A record of the domains to the new server IP and suspend the accounts after the migration with low TTL so it usually takes affect immediately so you will have time to update the nameservers' IPs after that.

Good luck!
 
  • Like
Reactions: amitkalra

amitkalra

Active Member
Mar 9, 2006
26
4
153
Amit, I'm actually right now at the moment doing a migration from CentOS 6 to 7 for a client called Amit so is it you by any chance?:) cos then you don't even have to ask a single question :)

To address your concerns:

- The warning about mysql and sqlite can be ignored as in 99% it won't cause any issues

If all the domains use your nameservers then I would do the followings:

2. Using Transfer Tool migrate the service configurations and hosting packages
2. Migrate the accounts with the Express transfer and reseller privileges options selected for all the accounts
3. Updating the nameservers' IPs from the old ones to the new ones
4. Waiting 24 hours for the propagation then shutting down the old server and cancelling after a week or so

The Express Transfer option automatically changes the A record of the domains to the new server IP and suspend the accounts after the migration with low TTL so it usually takes affect immediately so you will have time to update the nameservers' IPs after that.

Good luck!
Hi Andrew

Amit is actually one of the most common names in India, so I guess you are working with some other Amit. I've been trying to do things on my own for some years now with help and guidance from the seniors here.
I think your reply confirms that I am on the right path for the server upgrade.
Thanks a lot for your reply. It gives me confidence to dive into it over the weekend.
I will actually transfer the hosting packages and service configurations before that.
I guess it will be better to transfer the sites not using email first because they won't have anything to loose with a little time lag.
In the end perhaps on Friday night I will transfer the domains using email.
By Sat Morning I will switch the DNS IP Addresses once all accounts are transferred.
I will shout out for help and trouble you all if I run into any problems.

Thanks
Amit
 

andrew.n

Well-Known Member
Jun 9, 2020
607
171
43
EU
cPanel Access Level
Root Administrator
Very well! Keep us updated how it goes! and noted on the name, good to know :)
 
  • Like
Reactions: amitkalra

ffeingol

Well-Known Member
PartnerNOC
Nov 9, 2001
619
202
343
cPanel Access Level
DataCenter Provider
To add into what @andrew.n said, planning is the most important thing in migrating accounts. When we do migrations (and we do a lot) we create a spreadsheet. For each domain we are migrating we list the name servers, who hosts mail, who hosts web etc. We also include all the aliases and add-on domains. We use intodns.com as a simple lookup.

Knowing who's name servers a domain uses is key. If they are 'your' name servers, then it's an easy migration. If they are using their own name servers, it a bit trickier, as you have to coordinate with the client to have them update DNS.

TTL's are also critical. I believe that cPanel defaults it to 14400 (4 hours in seconds). That's a long time to wait for DNS to propagate. A few days before migration we drop all the TTL's to 1200 (20 minutes in seconds). Then we know that at most it will take 20 minutes for DNS to propagate post migration.

I also totally concur on using the express transfer. That will allow you to not have to change your name server IP's until the migration is done.
 
  • Like
Reactions: amitkalra

amitkalra

Active Member
Mar 9, 2006
26
4
153
Thanks for the tips.

My server hosts DNS for all my domain accounts so it should not be a major problem. The only issue i see is a few domains over 50GB (Includes their backup archive for 30 days). Normally we sync the Archive of emails of the domain for these accounts in an IMAP Account in thunderbird monthly and move them to local folders for archiving in the local computer. I'm thinking if I should make the archive period smaller to make the size smaller.

I just read about express mode. I see that it will change the A records on the old server after the transfer. My only concern about using express mode is that if something goes wrong, it may not be easy to simply switch the IP Addresses of the Name servers back to the old server and make it the active server. With express mode it's going to be a one way ticket to the new server..... :)
 

ffeingol

Well-Known Member
PartnerNOC
Nov 9, 2001
619
202
343
cPanel Access Level
DataCenter Provider
I think you are reading what express does incorrectly. Here is what it does:

It updates the various DNS records on the old server (for the domain you are transferring) to the IP address of the new server.
It suspends the account on the old server
It sets mail to be remote (the new server)

For the one domain that has your name servers registered, you'll prob. want to tweak the DNS for your two name servers back to the IP's that they had (on the old server) if express updates them (so ns1/ns2 (or whatever you call your name servers)) still points to the old server IP(s).

If you do have an issue with a migration you would just:

Unsuspend the account on the old server
Update DNS (on the old server) for that domain to have the IP it's assigned on the old server
Verify that the mail setting is automatic/local depending on how you want it set

That would then point the site back to the old server and you'd be back up and running after DNS propagates.

A 50 GB site is not really a problem to migrate if the connection between the two servers is fast enough. Mail can be a bit of a pain to transfer depending on how you are storing mail. If it's mdir, then you will have 1000' (potentially 100's of 1000's) of little files and that just migrates slowly over rsync. If it's mbox then it goes quicker as you have less files to transfer.
 
  • Like
Reactions: amitkalra

cPRex

Jurassic Moderator
Staff member
Oct 19, 2014
6,148
784
313
cPanel Access Level
Root Administrator
That all sounds like a good plan to me. I agree that usually the MySQL situation doesn't matter, but I would recommend trying the conversion on the Source machine first. That way, if something does go wrong, you can fix it before the migration happens, instead of scrambling trying to fix an issue after data has been moved.
 
  • Like
Reactions: amitkalra

amitkalra

Active Member
Mar 9, 2006
26
4
153
I think you are reading what express does incorrectly. Here is what it does:

It updates the various DNS records on the old server (for the domain you are transferring) to the IP address of the new server.
It suspends the account on the old server
It sets mail to be remote (the new server)

For the one domain that has your name servers registered, you'll prob. want to tweak the DNS for your two name servers back to the IP's that they had (on the old server) if express updates them (so ns1/ns2 (or whatever you call your name servers)) still points to the old server IP(s).

If you do have an issue with a migration you would just:

Unsuspend the account on the old server
Update DNS (on the old server) for that domain to have the IP it's assigned on the old server
Verify that the mail setting is automatic/local depending on how you want it set

That would then point the site back to the old server and you'd be back up and running after DNS propagates.

A 50 GB site is not really a problem to migrate if the connection between the two servers is fast enough. Mail can be a bit of a pain to transfer depending on how you are storing mail. If it's mdir, then you will have 1000' (potentially 100's of 1000's) of little files and that just migrates slowly over rsync. If it's mbox then it goes quicker as you have less files to transfer.
Thanks for the detailed explanation. I kind of understood, but since I will be using the same DNS Host names on the new server, I can't have accounts running on both for long. Either everything runs on the new server or we revert everything back to the old server. Ideally the old server should remain untouched, or if there is a problem there should be an option to roll back everything on the old server. I guess the benefit of the express mode will be that there will be no down time, and mails will not be lost in the transition time. If a few hours of down time is not an issue, then I guess one can transfer without the express mode. The old server will remain untouched.
 
Last edited:

ffeingol

Well-Known Member
PartnerNOC
Nov 9, 2001
619
202
343
cPanel Access Level
DataCenter Provider
If I understand your concern correctly, it really does not matter. Name servers work by how their IP's are registered at your domain registrar. So as long as they are registered to the IP's on the old server, that server will be the DNS provider. When you are ready to move your DNS servers from the old to new server you have to go to your domain registrar and use their function to update the registered IP address from the IP on the old server to the IP on the new server. I'd highly suggest researching how you do that at your domain registrar before you start this process. It's fairly easy at most registrars, but may require a support ticket etc.

Having said all of the above, we rarely run into issues migrating accounts. If we do, it's usually because of a php.ini setting that is not in sync or something like that.

To be honest, the biggest issue we typically run into is mail. We have some clients that set the hostname in the email client to the FQDN of the server and not mail.theirdomain.tld. That obviously causes issues, as they are 'hard coded' to the old server. This has become much less of an issue with auto-ssl and mail.theirdomain.tld being secure, but we still have clients that have not changed their settings in a long, long time.

For the most part the WHM transfer system is simply rock solid and just works.
 
  • Like
Reactions: amitkalra and cPRex

amitkalra

Active Member
Mar 9, 2006
26
4
153
Update about my progress.
A few more things done in preparation of the Migration of my WHM Server.
1. Migrated the Roundcube database to sqlite - Took one hour but completed successfully.
2. Transferred service configurations and hosting packages
3. Turned of Backup for now in both the old and new server. My server was doing 4 monthly backups and 2 weekly backups onto the local hardisk in /newbackups and to a remote storage box. I assume the backups will not move to the new server. The new server has got the backup configuration through transfer, I guess it will build it's own new backups as scheduled once I turn on backup.
4. Notified all Client domains about the migration through email.
5. Now just waiting to Transfer the Accounts starting Friday Night. I have 2 reseller accounts. I will transfer those first. One is actually the domain with the name servers too. I guess I should not use express mode for that, and let the old server be the Name server till I change the IP Addresses. It has no email anyways and my own domain.
Since everything has gone smoothly till now I have gained confidence and I will enable Express Mode for all domains except the primary domain with the Name Servers.
Thanks a lot for the help and the tips.
Amit
 
Last edited:
  • Like
Reactions: cPRex

ffeingol

Well-Known Member
PartnerNOC
Nov 9, 2001
619
202
343
cPanel Access Level
DataCenter Provider
It's really up to you if you want to use express on your domain that is your name servers. You'll have to log into the old server and update DNS either way. One way to point the site to the new server and the other to verify the name server IP's did not change. "Typically" if the IP is not the IP that the web site is hosted on, express will not change it (i.e. if mail or web was hosted elsewhere).
 
  • Like
Reactions: amitkalra and cPRex

amitkalra

Active Member
Mar 9, 2006
26
4
153
I started moving a few sites this evening which do not host email.
One problem I faced for 2 of the sites was this :
After a transfer without an error, the site would not open. After wasting a good hour I found out somehow the default file in the new server opening was index.html whereas the default file opening in the old server was index.htm.
In another instance I think it was opening the index.php as the default file whereas the correct default file should have been index.html
Is there a global setting in WHM to set the priority of the default file ? I could make the settings same in both servers to avoid a repeat of this kind of problem with more sites.
Ideally the transfer tool should make the default file priority in the new server same as the old server.
 

amitkalra

Active Member
Mar 9, 2006
26
4
153
It's:

- Apache Configuration
- DirectoryIndex Priority

Within the list you can then move things around to get them in the same order.
Thanks for this. I could make the setting same in both servers now. The new server had fewer names but the order is in sync now.
Shouldn't this have been done automatically when Apache settings were transferred ?
 

cPRex

Jurassic Moderator
Staff member
Oct 19, 2014
6,148
784
313
cPanel Access Level
Root Administrator
Shouldn't this have been done automatically when Apache settings were transferred ?
Unfortunately, no. The EasyApache 4 settings do get moved over if you choose that option within the tool, but the actual Apache configuration settings do not. I do have an improvement case open to get this behavior added to the system.
 
  • Like
Reactions: amitkalra

amitkalra

Active Member
Mar 9, 2006
26
4
153
So the news is that all went well. The IP Addresses of the Name Servers were updated to the new server 2 hours ago, and things seem to be working well.

It took two hours to copy all accounts, and I chickened out of Express Transfer. I did normal transfer, and when it completed I changed the IP Addresses of the name servers at my domain registrar.

Here are some tips from this experience.
If " WordPress Toolkit Deluxe" is selected in Feature Manager, and that Feature profile is used in a package, the Transfer Fails. For such a small issue the transfer of an account totally fails. The Account is not even created in the new server after transfer. WHM Developers should look into this.

The only small niggle left now is the Yellow Banner on top saying " The last attempt to update cPanel & WHM was blocked. " Details
And when you click on Details you see this :
cPanel & WHM Upgrade Blockers

Blockers are conditions that do not allow cPanel & WHM to upgrade to a particular version. For more information, read our documentation.

FATALA major version downgrade from 11.92.0.3 to 11.86.0.32 is not allowed.

But who tried the Downgrade, I never did. Perhaps the Transfer of "Service Configuration" Did. I don't know why it is supposed to even try to downgrade.
Anyways

I don't know for how long it will remain there. I even did a Graceful Server Reboot, and that too did not get rid of it.

Thanks you all specially ffeingol , andrew.n , and cPRex for the great advice and tips.

Regards
Amit Kalra
 
Last edited:

andrew.n

Well-Known Member
Jun 9, 2020
607
171
43
EU
cPanel Access Level
Root Administrator
I'm happy to hear! The WHM Upgrade Blockers occurs as you moved over the settings from the old cPanel server. In WHM go to Update Preferences and there change the release tier to RELEASE or STABLE then you should be good to go.

Happy weekend Amit!
 
  • Like
Reactions: amitkalra

amitkalra

Active Member
Mar 9, 2006
26
4
153
I'm happy to hear! The WHM Upgrade Blockers occurs as you moved over the settings from the old cPanel server. In WHM go to Update Preferences and there change the release tier to RELEASE or STABLE then you should be good to go.

Happy weekend Amit!
Dear Andrew
Thanks for all the help. I changed Update preferences to "Release" and finally the Yellow banner nagging me about the failed update is gone.
You too have a happy weekend.
Regards
Amit
 

amitkalra

Active Member
Mar 9, 2006
26
4
153
I'm happy to hear! The WHM Upgrade Blockers occurs as you moved over the settings from the old cPanel server. In WHM go to Update Preferences and there change the release tier to RELEASE or STABLE then you should be good to go.

Happy weekend Amit!
Dear Andrew
Thanks for all the help. I changed Update preferences to "Release" and finally the Yellow banner nagging me about the failed update is gone.
You too have a happy weekend.
Regards
Amit
 
  • Like
Reactions: andrew.n