Skip to main content

CPanel Upgrade

Comments

64 comments

  • mtindor

    Didn't you already ask this same question in another thread?

    When you use the transfer tool, it gives the option to show the progress of the transfer of account(s) and you can tail the appropriate logs if you want to

    Downtime isn't expected unless something happens during the transfer the causes the transfer to fail.   Usually, requests are proxied from the old server to the new server.

    BUT, if you have ANY domains for which the DNS is handled at the registrar or elsewhere (and not on the old/new hosting servers themselves), you are going to have to make sure and update DNS records for those domains at their registrars / external DNS providers before you terminate the old server or before you terminate those specific accounts on the old server.

    0
  • Andy83

    Hi, thanks for your response. I did ask in another thread but there was no response.

    After the transfer has begun, can I shutdown my own computer and go to sleep?

    If so, how do I go back to check the progress?

    Could you elaborate on the last part regarding DNS? How do I check if domains DNS is handled at registratr or on my server itself?

     

    0
  • Andy83

    The new server has CPanel 120.0.14 and MySQL 8.0.39 installed.

    My current server has CPanel 110.0.36 and MariaDB 10.3 installed.

    Will there be any issue for the databases after the migration to new server?

     

    0
  • cPRex Jurassic Moderator

    Yes, once the Transfer is started you do not need to leave the WHM session open - the transfer will continue in the background if you close that tab or turn off the computer.

    You can check the status of the transfer in the WHM >> Review Transfers and Restores page.

    You would need to know which nameserver a domain is using and where that nameserver is hosted.  You can find this data through an online tool like intodns.com and then you can see if that points to your cPanel server or not.

    I would not expect there to be any issues moving between those versions.

    0
  • ffeingol

    Go can go from 110 to 120.  Not really sure about MariaDB 10.x to MySQL 8.x

    The transfer will not disconnect if you close the browser.  You can log back into WHM and choose "Review Transfers and Restores".  You will see running transfer or the log files for recent ones.

    As far as DNS goes, you can use something like intodns.com to look up name servers, who hosts mail, web etc.

    0
  • Andy83

    Thanks, I am at the Transfer Tool Page. Do I perform the transfer at the new server?

    2. Remote address = old / current server ip address?

    3. Do I use port 22?

    There is an error message:

    (XID hvbvxr) The system stopped waiting to connect to “199.xx.xxx.xx” on port “22” after 15 seconds. Failed to establish session and parse security token: 599 Internal Exception (SSL connection failed for 199.xx.xxx.xx: hostname verification failed ) at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/cPanel/PublicAPI.pm line 526.
    0
  • cPRex Jurassic Moderator

    ffeingol - I hear an echooooooo

    Andy83 - yes, the tool is always run from the new machine to connect to the old.  Normally you would use port 22, but the port should be whatever the SSH port is of your Source server. 

    0
  • Andy83

    So I added to whitelist the source server and it works.

    Now I am getting the following 3 warnings. Is it safe to ignore and proceed further?

    ---

    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.

    Warning: You have no available IP addresses on your local machine.

    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.

     
    0
  • cPRex Jurassic Moderator

    It's fine to ignore the first two, but you may want to update the Roundcube database on the source machine if you are using an calendar or contact lists for email.  Details on how to do that can be found here:

    https://support.cpanel.net/hc/en-us/articles/360050870614-How-do-I-convert-Roundcube-from-MySQL-to-SQLite

    0
  • Andy83
    Warning: You have no available IP addresses on your local machine.
    With regards to the above warning, I have 2 web domains in the source server that use dedicated IP addresses.
    But the new server has no available IP address now. 
    Will it pose any problem? I thought of using back those dedicated IP addresses at the new server when transfer is done? 
    0
  • cPRex Jurassic Moderator

    Yes, you can move the sites over to a dedicated IP on the Destination machine after the migration if that's what you want to do.

    0
  • Andy83


    Error: You have selected 2 of 0 available IP addresses. Either deselect an account to transfer, or deselect its corresponding “Dedicated IP Address” field.

    Deselect “Dedicated IP Address” for conflicted accounts

    Deselect conflicted accounts

    0
  • cPRex Jurassic Moderator

    You won't be able to choose the dedicated IP address option during the transfer in your situation.

    0
  • Andy83

    It seems the transfer failed. Please advise.

     

    Transfer has begun and still ongoing.

    RESTORE: Account "xx": Warnings 
     
    The MySQL restore process exited with the error "255".
     
    Removed empty DB for failed restore of "xx_main".
     
    The system has saved the database archive data in the directory "/home/xx/cpmove_failed_mysql_dbs.1721838511". You may use this directory's contents to restore your data manually.
     
    The MySQL restore process exited with the error "255".
     
    Removed empty DB for failed restore of "xx_main".
     
    Failed to write to DBI subprocess: Bad file descriptor
     
    This system is not authoritative for the zone "xx.com".
     
    Contact "xx.com.sg"'s registrar and set that domain's nameservers to "ns1.abc.com" and "ns2.abc.com". (For registrar information, visit https://client.rdap.org/?object=xx.com.sg&type=domain.)
     
    You must also make "ns1.abc.com" and "ns2.abc.com" resolve to this server.
    0
  • cPRex Jurassic Moderator

    You'll just want to enable "Allow Remote Domains" in WHM >> Tweak Settings on the Destination machine while you perform the transfer and get the server configured.

    0
  • Andy83

    I added the following to the my.cnf and restart database server.

    net_read_timeout = 300
    net_write_timeout = 500

    But I am still getting the following error. 

    The MySQL restore process exited with the error “255”.

    Does it mean I have to reinstall CPanel and choose MariaDB? Because my current old server is based on MariaDB.

    0
  • cPRex Jurassic Moderator

    Is there a particular reason you had to make that adjustment to the database configuration on the system?  What errors do you see in the MySQL error log when that failed restore happens?

    0
  • ffeingol

    Or restore the file from CLI to see what the error is?

    1
  • Andy83

    May I have the command to restore those .create .sql files manually?

    0
  • Andy83
    • MariaDB 10.5
    • MariaDB 10.6
    • MariaDB 10.11

    We have installed MariaDB 10.11.8 with CPanel.

    May I confirm that 10.11.8 is a newer and better version for MariaDB?

    0
  • Andy83

    Sorry I have another question.

    My new server Rocky Linux 9 with CPanel version 120 has PHP 8.1 and 8.2 installed.

    Can I install PHP 7.4 too? Because my websites might not be compliant with PHP 8.1 or newer. 

    Thank you. 

    0
  • cPRex Jurassic Moderator

    You would not be able to install PHP 7.4 using RockyLinux.  We have a chart showing the supported versions of PHP here:

    https://support.cpanel.net/hc/en-us/articles/4412144152855-What-versions-of-PHP-does-cPanel-support

    If you need older versions of PHP you would need to use the CloudLinux operating system, as that includes those through their PHP Selector tool.

    MariaDB 10.11 is just fine.

    0
  • Andy83

    Hi Rex, is CloudLinux free for CPanel licensed users? 

    0
  • cPRex Jurassic Moderator

    Unfortunately no, there is an additional fee for that operating system.

    0
  • Andy83

    Hi,

    Where can I check the log files or history of the past transfer? 

    I want to know when it took place and from which server IP.

    0
  • ffeingol

    WHM > Transfers > Review Transfers and Restores.  

    0
  • Andy83

    I have a question regarding Remote Root Transfer.

    It is showing 100% transfer but the restore is only 32%.

    204.41 GB received (24 hours and 2 minutes elapsed)
     
    1. Is it referring to database restoration?
     
    2. During this restoration period, the website is still running at the old server so there might be new data such as user registrations. Will the new server capture such new data too?
     
    0
  • Andy83

    204.41 GB received (23 hours, 59 minutes, and 45 seconds elapsed)
    [2024-07-31 00:09:34 +0800] warn [Internal Warning while parsing [stdin] 263863] MySQL restore exceeded timeout!
    ...caught at /usr/local/cpanel/Whostmgr/Transfers/SystemsBase/MysqlBase.pm line 237.
    at /usr/local/cpanel/Whostmgr/Transfers/SystemsBase/MysqlBase.pm line 237.
    Whostmgr::Transfers::SystemsBase::MysqlBase::_parse_and_run_dbi_statements_as_newuser(Whostmgr::Transfers::Systems::Mysql=HASH(0x29a6cb8), HASH(0x7fc3048)) called at /usr/local/cpanel/Whostmgr/Transfers/SystemsBase/MysqlBase.pm line 123
    Whostmgr::Transfers::SystemsBase::MysqlBase::_create_db_and_import_as_newuser_from_fh(Whostmgr::Transfers::Systems::Mysql=HASH(0x29a6cb8), HASH(0x7fc3048)) called at /usr/local/cpanel/Whostmgr/Transfers/Systems/Mysql.pm line 1207
    Whostmgr::Transfers::Systems::Mysql::__ANON__(__CPANEL_HIDDEN__, GLOB(0x7fd8af0), __CPANEL_HIDDEN__, CODE(0x877ecd8), __CPANEL_HIDDEN__, CODE(0x8c2fa68)) called at /usr/local/cpanel/Whostmgr/Transfers/Systems/Mysql/Stream.pm line 273
    Whostmgr::Transfers::Systems::Mysql::Stream::restore_plain(__CPANEL_HIDDEN__, __CPANEL_HIDDEN__, __CPANEL_HIDDEN__, __CPANEL_HIDDEN__, __CPANEL_HIDDEN__, __CPANEL_HIDDEN__, __CPANEL_HIDDEN__, __CPANEL_HIDDEN__, ...) called at /usr/local/cpanel/Whostmgr/Transfers/Systems/Mysql.pm line 1214
    Whostmgr::Transfers::Systems::Mysql::_restore_db_via_stream(Whostmgr::Transfers::Systems::Mysql=HASH(0x29a6cb8), "old_db_name", "soc_s", "new_db_name", "soc_s") called at /usr/local/cpanel/Whostmgr/Transfers/Systems/Mysql.pm line 1152
    Whostmgr::Transfers::Systems::Mysql::_restore_db_from_wherever(Whostmgr::Transfers::Systems::Mysql=HASH(0x29a6cb8), "soc_s", "soc_s.sql") called at /usr/local/cpanel/Whostmgr/Transfers/Systems/Mysql.pm line 1126
    Whostmgr::Transfers::Systems::Mysql::_restore_databases_and_map_them_to_cpuser(Whostmgr::Transfers::Systems::Mysql=HASH(0x29a6cb8), HASH(0x520c6b8)) called at /usr/local/cpanel/Whostmgr/Transfers/Systems/Mysql.pm line 208
    Whostmgr::Transfers::Systems::Mysql::_restore_mysql(Whostmgr::Transfers::Systems::Mysql=HASH(0x29a6cb8)) called at /usr/local/cpanel/Whostmgr/Transfers/Systems/Mysql.pm line 84
    Whostmgr::Transfers::Systems::Mysql::unrestricted_restore(Whostmgr::Transfers::Systems::Mysql=HASH(0x29a6cb8)) called at /usr/local/cpanel/Whostmgr/Transfers/Systems.pm line 129
    Whostmgr::Transfers::Systems::restore(Whostmgr::Transfers::Systems::Mysql=HASH(0x29a6cb8)) called at /usr/local/cpanel/Whostmgr/Transfers/AccountRestoration.pm line 271
    Whostmgr::Transfers::AccountRestoration::__ANON__() called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 100
    eval {...} called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 91
    Try::Tiny::try(CODE(0x7986b40), Try::Tiny::Catch=REF(0x7c12ff0)) called at /usr/local/cpanel/Whostmgr/Transfers/AccountRestoration.pm line 275
    Whostmgr::Transfers::AccountRestoration::_call_one_restore_module_without_archive_prep_check(Whostmgr::Transfers::AccountRestoration=HASH(0x37ca4a8), "Mysql") called at /usr/local/cpanel/Whostmgr/Transfers/AccountRestoration.pm line 614
    Whostmgr::Transfers::AccountRestoration::_call_one_restore_module_with_notices(Whostmgr::Transfers::AccountRestoration=HASH(0x37ca4a8), "Mysql") called at /usr/local/cpanel/Whostmgr/Transfers/AccountRestoration.pm line 586
    Whostmgr::Transfers::AccountRestoration::_run_restore_system_module(Whostmgr::Transfers::AccountRestoration=HASH(0x37ca4a8), HASH(0x37c9fc8), HASH(0x4c1efc8)) called at /usr/local/cpanel/Whostmgr/Transfers/AccountRestoration.pm line 552
    Whostmgr::Transfers::AccountRestoration::_run_restore_modules(Whostmgr::Transfers::AccountRestoration=HASH(0x37ca4a8), HASH(0x37c9fc8)) called at /usr/local/cpanel/Whostmgr/Transfers/AccountRestoration.pm line 485
    Whostmgr::Transfers::AccountRestoration::_restore_package(Whostmgr::Transfers::AccountRestoration=HASH(0x37ca4a8)) called at /usr/local/cpanel/Whostmgr/Transfers/AccountRestoration.pm line 97
    eval {...} called at /usr/local/cpanel/Whostmgr/Transfers/AccountRestoration.pm line 97
    Whostmgr::Transfers::AccountRestoration::restore_package(Whostmgr::Transfers::AccountRestoration=HASH(0x37ca4a8)) called at /usr/local/cpanel/Whostmgr/Backup/Restore.pm line 84
    eval {...} called at /usr/local/cpanel/Whostmgr/Backup/Restore.pm line 84
    Whostmgr::Backup::Restore::load_transfers_then_restorecpmove("overwrite_all_dbusers", 0, "shared_mysql_server", 0, "skiphomedir", 0, "ip", 0, ...) called at /usr/local/cpanel/Whostmgr/Transfers/Session/Items/AccountBase.pm line 201
    Whostmgr::Transfers::Session::Items::AccountBase::_restore_package(Whostmgr::Transfers::Session::Items::AccountRemoteRoot=HASH(0x35fbb70)) called at /usr/local/cpanel/Whostmgr/Transfers/Session/Item.pm line 359
    Whostmgr::Transfers::Session::Item::__ANON__() called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 100
    eval {...} called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 91
    Try::Tiny::try(CODE(0x35fca98), Try::Tiny::Catch=REF(0x35f91b0)) called at /usr/local/cpanel/Whostmgr/Transfers/Session/Item.pm line 388
    Whostmgr::Transfers::Session::Item::exec_path(Whostmgr::Transfers::Session::Items::AccountRemoteRoot=HASH(0x35fbb70), ARRAY(0x35f8fa0), ARRAY(0x35fc9f0), 1) called at /usr/local/cpanel/Whostmgr/Transfers/Session/Items/AccountBase.pm line 39
    Whostmgr::Transfers::Session::Items::AccountBase::restore(Whostmgr::Transfers::Session::Items::AccountRemoteRoot=HASH(0x35fbb70)) called at /usr/local/cpanel/Whostmgr/Transfers/Session/Processor.pm line 658
    Whostmgr::Transfers::Session::Processor::__ANON__() called at /usr/local/cpanel/Whostmgr/Transfers/Session.pm line 1484
    Whostmgr::Transfers::Session::__ANON__() called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 100
    eval {...} called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 91
    Try::Tiny::try(CODE(0x35f3190), Try::Tiny::Catch=REF(0x35f8cb8)) called at /usr/local/cpanel/Whostmgr/Transfers/Session.pm line 1488
    Whostmgr::Transfers::Session::exec_with_output_directed_to_fh(Whostmgr::Transfers::Session=HASH(0x3561e90), GLOB(0x35f8f70), CODE(0x35fbbe8)) called at /usr/local/cpanel/Whostmgr/Transfers/Session/Processor.pm line 674
    Whostmgr::Transfers::Session::Processor::_process_dequeued_item(Whostmgr::Transfers::Session::Processor=HASH(0x361b278)) called at /usr/local/cpanel/Whostmgr/Transfers/Session/Processor.pm line 554
    Whostmgr::Transfers::Session::Processor::_process_items(Whostmgr::Transfers::Session::Processor=HASH(0x361b278)) called at /usr/local/cpanel/Whostmgr/Transfers/Session/Processor.pm line 508
    Whostmgr::Transfers::Session::Processor::__ANON__() called at /usr/local/cpanel/Cpanel/ForkAsync.pm line 72
    eval {...} called at /usr/local/cpanel/Cpanel/ForkAsync.pm line 72
    Cpanel::ForkAsync::do_in_child(CODE(0x2a09fa0)) called at /usr/local/cpanel/Whostmgr/Transfers/Session/Processor.pm line 510
    Whostmgr::Transfers::Session::Processor::_spawn_child(Whostmgr::Transfers::Session::Processor=HASH(0x361b278), "CREATE DATABASE /*!32312 IF NOT EXISTS*/ `soc_s` /*!4"..., Whostmgr::Transfers::Session=HASH(0x3561e90)) called at /usr/local/cpanel/Whostmgr/Transfers/Session/Processor.pm line 292
    Whostmgr::Transfers::Session::Processor::_process_child(Whostmgr::Transfers::Session::Processor=HASH(0x361b278), Whostmgr::Transfers::Session=HASH(0x3561e90), 0) called at /usr/local/cpanel/Whostmgr/Transfers/Session/Processor.pm line 240
    Whostmgr::Transfers::Session::Processor::_process_child_with_output_redirection(Whostmgr::Transfers::Session::Processor=HASH(0x361b278), Whostmgr::Transfers::Session=HASH(0x3561e90), 0, "1992114927copya20240729152154XLO8ET7") called at /usr/local/cpanel/Whostmgr/Transfers/Session/Processor.pm line 205
    Whostmgr::Transfers::Session::Processor::__ANON__() called at /usr/local/cpanel/Cpanel/ForkAsync.pm line 72
    eval {...} called at /usr/local/cpanel/Cpanel/ForkAsync.pm line 72
    Cpanel::ForkAsync::do_in_child(CODE(0x35f30a0)) called at /usr/local/cpanel/Whostmgr/Transfers/Session/Processor.pm line 207
    Whostmgr::Transfers::Session::Processor::start(Whostmgr::Transfers::Session::Processor=HASH(0x361b278)) called at bin/start_transfer.pl line 57
    main::__ANON__() called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 100
    eval {...} called at /usr/local/cpanel/3rdparty/perl/536/cpanel-lib/Try/Tiny.pm line 91
    Try::Tiny::try(CODE(0x3561e48), Try::Tiny::Catch=REF(0x282b098)) called at bin/start_transfer.pl line 72
    [A warning occurred while processing this directive.]

    0
  • cPRex Jurassic Moderator
     
    Q 1. Is it referring to database restoration?
    A - Maybe, but not just that.  The transfer side compresses the data and gets it ready to move to the Destination machine, and then the restore happens.  What you're seeing is perfectly normal
     
    Q: 2. During this restoration period, the website is still running at the old server so there might be new data such as user registrations. Will the new server capture such new data too?
    A: There is a final sync of the home directory data, such as email, but not of the databases.
    0
  • cPRex Jurassic Moderator

    For that timeout you're seeing, how big is the database that is attempting to transfer?

    0

Please sign in to leave a comment.