Chuyển toàn bộ server hosting cPanel sang server mới: quy trình
Quy trình chuyển toàn bộ server hosting cPanel hoặc DirectAdmin sang server mới: kiểm kê, hạ TTL, chuyển theo đợt, đổi DNS, xử lý email và dữ liệu phát sinh.

Ý chính
- Chuyển toàn bộ server hosting là chuyển từng tài khoản rồi đổi DNS từng tên miền, không phải sao chép cả ổ đĩa.
- Hạ TTL bản ghi DNS xuống khoảng 300 giây từ một ngày trước để lúc đổi chỉ mất vài phút.
- Website có đơn hàng hoặc email mới trong lúc chuyển cần kế hoạch riêng cho dữ liệu phát sinh.
- Giữ server cũ chạy thêm một đến hai tuần trước khi huỷ.
Chuyển toàn bộ server hosting nghĩa là đưa mọi tài khoản trên server cũ (website, database, email, DNS, SSL, cron) sang server mới, rồi đổi DNS từng tên miền về IP mới. Cách làm an toàn là chuyển từng tài khoản bằng bản backup đầy đủ của panel, theo từng đợt, trong khi server cũ vẫn chạy. Không nên sao chép nguyên ổ đĩa sang máy mới: cấu hình hệ điều hành, phiên bản PHP và đường dẫn hầu như luôn khác nhau.
Bài viết đưa ra quy trình chúng tôi khuyên dùng cho công ty hosting và agency đang chạy một server cPanel hoặc DirectAdmin có hàng chục tới hàng trăm tài khoản: kiểm kê, chuẩn bị DNS, chọn công cụ, chuyển theo đợt, xử lý email và dữ liệu phát sinh, và những việc cần làm sau khi chuyển.
Vì sao phải chuyển toàn bộ server hosting?
Lý do thường gặp nhất:
- Chi phí license. cPanel tính giá theo số tài khoản, nên hoá đơn tăng theo từng khách mới. Xem phân tích chi tiết ở bài giá license cPanel 2026.
- Hệ điều hành hết hạn hỗ trợ. Nhiều server cũ vẫn chạy CentOS 7, đã hết vòng đời từ 30/6/2024 và không còn bản vá bảo mật miễn phí.
- Phần cứng hoặc nhà cung cấp. Chuyển sang VPS mạnh hơn, rẻ hơn, hoặc gần khách hàng hơn.
- Đổi control panel. Gộp nhiều server nhỏ, hoặc chuyển sang panel có kiến trúc và mô hình giá phù hợp hơn.
Dù lý do là gì, mục tiêu đều giống nhau: khách không mất dữ liệu, thời gian gián đoạn tính bằng phút, và bạn không phải trả lời hàng loạt ticket "website tôi bị sao vậy".
Bước 1: kiểm kê server cũ
Trước khi chọn công cụ, hãy biết chính xác mình đang chuyển cái gì. Trên server cPanel, đăng nhập root:
# Danh sách tài khoản
ls /var/cpanel/users
# Dung lượng từng tài khoản, lớn nhất trước
du -sh /home/* 2>/dev/null | sort -rh | head -20
# Dung lượng database
mysql -e "SELECT table_schema, ROUND(SUM(data_length+index_length)/1024/1024) AS MB
FROM information_schema.tables GROUP BY table_schema ORDER BY MB DESC LIMIT 20;"
Ghi vào một bảng tính cho mỗi tài khoản:
| Mục | Vì sao cần biết |
|---|---|
| Dung lượng file, database, email | Ước lượng thời gian chuyển và dung lượng server mới |
| Phiên bản PHP | Website cũ chạy PHP 5.x hoặc 7.x có thể lỗi trên PHP mới |
| Email có dùng không | Quyết định cách xử lý thư đến trong lúc đổi DNS |
| DNS do ai quản lý | Nameserver của bạn, Cloudflare hay nhà đăng ký tên miền |
| Chứng chỉ SSL trả phí | Cần cài lại hoặc chuyển sang Let's Encrypt |
| Website bán hàng, có đơn liên tục | Cần khung giờ vắng và kế hoạch dữ liệu phát sinh |
PostgreSQL, cron đặc biệt, .htaccess phức tạp |
Những thứ dễ bị sót |
Bảng này cũng là danh sách kiểm tra khi chuyển xong.
Bước 2: chuẩn bị server mới đủ sức
Đừng mua server mới bằng đúng cấu hình server cũ rồi hy vọng mọi thứ vừa. Cộng dung lượng từ bước 1, thêm chỗ cho backup cục bộ và tăng trưởng một năm. Về CPU và RAM, bài VPS 4 GB chạy được bao nhiêu website WordPress có số liệu đo thực tế làm mốc tham khảo. Hãy cấu hình gói hosting và giới hạn tài nguyên trước khi chuyển, để mỗi tài khoản được gán đúng gói ngay khi tới nơi.
Bước 3: chuẩn bị DNS từ một ngày trước
Thời gian chuyển thực tế phụ thuộc vào TTL của bản ghi DNS. Nếu bản ghi A có TTL 14.400 giây (4 giờ), một số người dùng sẽ còn vào server cũ tới 4 giờ sau khi bạn đổi.
- Hạ TTL của bản ghi A, AAAA và MX xuống khoảng 300 giây, ít nhất bằng TTL cũ trước ngày chuyển (thường là một ngày).
- Xác định ai giữ DNS. Nếu khách dùng nameserver riêng của bạn (ví dụ
ns1.tencongty.vn) chạy ngay trên server cũ, bạn phải chuyển cả vùng DNS và cập nhật glue record tại nhà đăng ký. - Chuẩn bị bản ghi PTR (reverse DNS) cho IP mới tại nhà cung cấp VPS nếu server gửi email.
Bước 4: chọn công cụ chuyển
| Cách | Dùng khi | Ưu điểm | Hạn chế |
|---|---|---|---|
| WHM Transfer Tool | cPanel sang cPanel | Chuyển nhiều tài khoản qua giao diện | Server mới cũng cần license cPanel |
pkgacct + restorepkg |
cPanel sang cPanel, làm bằng script | Kiểm soát từng bước | Tự chép file, tự theo dõi lỗi |
| rsync + dump database thủ công | Mọi panel sang mọi panel | Linh hoạt nhất | Rất nhiều việc tay: tài khoản, mail, DNS, mật khẩu |
| Trình chuyển của panel đích | cPanel hoặc DirectAdmin sang panel mới | Tự động tạo lại tài khoản, mail, DNS | Phụ thuộc những gì trình chuyển hỗ trợ |
Với cPanel, backup đầy đủ của một tài khoản được tạo bằng script pkgacct, ra file cpmove-USER.tar.gz:
/usr/local/cpanel/scripts/pkgacct alice /home/transfer
File này chứa website, database, email, DNS và cấu hình tài khoản. Hầu hết công cụ chuyển, kể cả công cụ của panel khác, đều đọc định dạng này.
Bước 5: thử một tài khoản, rồi chuyển theo đợt
Đừng bao giờ chuyển cả server trong một lần bấm mà chưa thử. Chọn một tài khoản thật nhưng ít rủi ro (website của chính bạn chẳng hạn), chuyển nó, rồi kiểm tra trên server mới trước khi đổi DNS. Bạn có thể xem website trên server mới bằng cách sửa file hosts trên máy tính:
203.0.113.20 example.com www.example.com
Kiểm tra: trang chủ, trang quản trị, form liên hệ, upload ảnh, đăng nhập email bằng webmail, và log lỗi PHP.
Sau đó chuyển theo đợt, ví dụ 20 đến 50 tài khoản mỗi đợt:
- Website tĩnh và website ít cập nhật trước.
- Website doanh nghiệp có email sau.
- Cửa hàng và website có đơn hàng liên tục cuối cùng, vào khung giờ vắng nhất.
Bước 6: đổi DNS và xử lý dữ liệu phát sinh
Backup là ảnh chụp tại một thời điểm. Từ lúc tạo backup đến lúc DNS đổi xong, server cũ vẫn có thể nhận đơn hàng, bình luận và email mới. Đây là phần nhiều người quên.
Website có đơn hàng hoặc nội dung mới liên tục:
- Bật chế độ bảo trì hoặc tạm dừng đặt hàng trên server cũ, tạo backup, chuyển, đổi DNS, rồi mới mở lại trên server mới.
- Hoặc chuyển một lần để thử, sau đó tạo backup mới ngay trước giờ đổi DNS và chuyển lại tài khoản đó.
Email:
- Với TTL thấp, phần lớn thư mới sẽ tới server mới chỉ sau vài phút.
- Thư rơi vào server cũ trong khoảng giao thời có thể chép sang bằng công cụ đồng bộ IMAP như imapsync, hoặc bảo khách kiểm tra webmail cũ một lần.
- Cập nhật bản ghi SPF có IP mới, và bản ghi DKIM nếu server mới dùng khoá DKIM mới.
Bước 7: sau khi chuyển
- Kiểm tra SSL đã cấp cho từng tên miền trên server mới.
- Theo dõi log lỗi vài ngày đầu: phiên bản PHP khác, extension thiếu, đường dẫn tuyệt đối cũ (
/home/user/public_html) trong file cấu hình. - Kiểm tra backup trên server mới chạy được và khôi phục được.
- Giữ server cũ chạy thêm một đến hai tuần, ở chế độ chỉ đọc nếu có thể, phòng khi cần lấy lại thứ gì đó bị sót. Sau đó mới huỷ.
- Thông báo cho khách địa chỉ panel mới và những gì thay đổi.
Chuyển toàn bộ server sang ZoPanel
ZoPanel có sẵn chức năng chuyển cả server cPanel hoặc DirectAdmin, mô tả trong tài liệu Chuyển sang ZoPanel:
- Vào Chuyển đến → Chuyển cả server, nhập địa chỉ server cũ và mật khẩu SSH root hoặc private key. Thông tin này chỉ dùng cho lần chuyển đó và không được lưu.
- Chọn nguồn: Panel của server (ZoPanel tự nhận ra cPanel hay DirectAdmin, liệt kê mọi tài khoản và tự tạo backup trên server cũ bằng
pkgaccthoặc tác vụ backup của DirectAdmin), hoặc Một thư mục chứa file backup. - Kết nối và liệt kê tài khoản. Host key của server cũ được hiển thị để bạn đối chiếu. Tài khoản trùng tên với tài khoản đã có được đánh dấu và bỏ qua.
- Tích chọn tài khoản, chọn gói hosting, bấm Chuyển.
Các tài khoản được chuyển lần lượt và chạy nền, bạn có thể đóng trình duyệt. Mỗi tài khoản được backup, tải về, import, rồi xoá file tạm ở cả hai server, nên ổ đĩa chỉ cần đủ chỗ cho một tài khoản mỗi lần. Tài khoản lỗi được báo riêng, các tài khoản sau vẫn tiếp tục, và log có sẵn các bản ghi DNS cần đổi. Server cũ không bị thay đổi gì.
Những gì được chuyển từ cPanel: tài khoản và mật khẩu panel (giữ nguyên khi kiểu hash kiểm tra được), website chính, addon, subdomain, phiên bản PHP, database MySQL và user, hộp thư và thư Maildir, forwarder, autoresponder, cron, vùng DNS, tài khoản FTP và chứng chỉ SSL. Những gì cần làm tay: database PostgreSQL, hộp thư định dạng mdbox, domain pointer của DirectAdmin. Website dựa vào .htaccess có thể bật chế độ Apache trong tab Công cụ (xem Website và PHP). Mọi mục không chuyển được đều có ghi chú lý do trong log.
Về license: gói Free cho phép 3 tài khoản hosting, 10 website và 10 database trên toàn server, đủ để thử chuyển một hai tài khoản. Chuyển cả server có nhiều khách cần gói Pro (49 USD/năm, không giới hạn website trên một server) hoặc gói Lifetime 199 USD trả một lần đang là ưu đãi ra mắt. Giá có thể thay đổi, xem bảng giá.
Kết luận
Chuyển toàn bộ server hosting không khó nếu bạn coi nó là một dự án nhỏ thay vì một lần bấm nút: kiểm kê, hạ TTL, thử một tài khoản, chuyển theo đợt, có kế hoạch cho đơn hàng và email phát sinh, rồi giữ server cũ thêm một thời gian. Phần lớn sự cố khi chuyển server đến từ những thứ không nằm trong danh sách kiểm kê.
Nếu bạn đang cân nhắc rời cPanel, hãy cài ZoPanel trên một VPS mới bằng curl -fsSL https://get.zopanel.net | sudo bash và thử chuyển một tài khoản trên gói Free trước khi quyết định.
Câu hỏi thường gặp
Chuyển toàn bộ server hosting mất bao lâu?
Thời gian phụ thuộc tổng dung lượng và băng thông giữa hai server, từ vài giờ đến vài ngày với server lớn. Thời gian gián đoạn mà khách thấy thì khác: nếu TTL đã hạ xuống khoảng 300 giây và bạn đổi DNS sau khi đã kiểm tra, mỗi website thường chỉ gián đoạn vài phút.
Khách có phải đổi mật khẩu sau khi chuyển không?
Tuỳ công cụ. Với ZoPanel, mật khẩu panel và SFTP được giữ khi kiểu hash từ server cũ kiểm tra được, mật khẩu database và hộp thư cũng được giữ khi định dạng cho phép; trường hợp không giữ được, log báo rõ để bạn đặt mật khẩu mới.
Email có bị mất khi chuyển server không?
Thư đã có trong hộp thư được chuyển cùng tài khoản. Rủi ro là thư đến server cũ trong khoảng DNS chưa đổi xong; hạ TTL trước, và chép số thư đó sang bằng công cụ đồng bộ IMAP hoặc nhắc khách kiểm tra hộp thư cũ.
Có nên chuyển tất cả tài khoản trong một đêm?
Không nên với server lớn. Chuyển theo đợt giúp bạn phát hiện vấn đề chung (phiên bản PHP, extension thiếu) trên vài tài khoản đầu thay vì trên tất cả, và giữ số ticket hỗ trợ ở mức xử lý được.
Server cũ nên giữ lại bao lâu?
Một đến hai tuần sau khi tài khoản cuối cùng đã đổi DNS. Trong thời gian đó bạn vẫn lấy lại được file, email hay database bị sót mà không phải nhờ tới backup.
Đọc tiếp

1 VPS chứa bao nhiêu website, bao nhiêu tài khoản hosting? Số đo thực tế
1 VPS chứa bao nhiêu website và tài khoản hosting, theo số đo trên VPS 4 GB, 3 GB, cùng cách ổ đĩa, mail, ứng dụng và overselling thay đổi con số.

Control panel tốt nhất cho đại lý hosting năm 2026
So sánh control panel cho đại lý hosting: cPanel/WHM, DirectAdmin, Plesk, ISPConfig, HestiaCP, ZoPanel theo tính năng và chi phí ở 50, 200 tài khoản.

Bán VPS quản trị cho agency: gói dịch vụ, định giá và công cụ
Cách bán VPS quản trị cho agency: gói gồm những gì, ai chịu trách nhiệm phần nào, ví dụ định giá theo chi phí, và công cụ vận hành nhiều server.