Kiến thức Cloud VPS

Chuyển VPS sang nhà cung cấp khác: hạn chế downtime

Quỳnh Như Đăng 19/09/2026 78 0

Muốn đổi nhà cung cấp VPS nhưng sợ website mất truy cập, đơn hàng hoặc email? Làm theo quy trình chạy song song, test trước DNS, đồng bộ lần cuối và giữ máy cũ để rollback.

Tình huống "chuyển nhà" và sự thật về việc không gián đoạn — chuyển VPS sang nhà cung cấp khác

Chào bạn, góc tâm tình cùng Quỳnh Như bắt đầu rồi đây! Hôm nay có một vị khách đến than thở với tiệm trà bánh của chúng mình thế này: hệ thống máy chủ cũ dạo này chạy ì ạch quá, lâu lâu lại lăn ra báo lỗi 502, gọi nhờ kỹ thuật hỗ trợ thì chờ hoài không thấy phản hồi. Thương ghê luôn á! Thế là anh chủ quyết định phải chuyển VPS sang nhà cung cấp khác ngay và luôn.

Nhưng ngặt một nỗi, website của anh ấy đang bán hàng rất tốt, khách truy cập liên tục để đặt đơn. Đang buôn bán ngon lành mà rớt mạng hoặc sập web vài tiếng đồng hồ là mất uy tín, rớt đơn hàng ngay. Đó là lúc chúng ta cần áp dụng bí kíp chuyển website sang VPS mới sao cho hạn chế tối đa thời gian gián đoạn.

Nói nhỏ bạn nghe nè, trong thế giới kỹ thuật, lời hứa "không downtime 100% tuyệt đối" là một lời nói dối á. Việc chuyển hosting không downtime thực chất là chúng ta áp dụng các kỹ thuật để cắt giảm thời gian gián đoạn xuống mức thấp nhất (vài giây hoặc bằng không đối với góc nhìn của khách). Khách hàng truy cập vào website sẽ không hề hay biết hệ thống đang ngầm "dọn đồ đạc" sang nhà mới. Mọi thứ vẫn mượt mà, trơn tru. Bí mật nằm ở chỗ chúng ta sẽ cho chạy song song cả hai nhà trong lúc chuyển đổi, và chỉ tắt nhà cũ khi chắc chắn nhà mới đã hoạt động hoàn hảo nhé.

Hình ảnh một tiệm trà bánh đang chuyển đồ đạc sang mặt bằng mới khang trang hơn, bảng hiệu vẫn mở cửa đón khách

1. Chuẩn bị gì trước khi dọn nhà? Đừng vội vàng nhé!

Trước khi bắt tay vào migrate website VPS, Quỳnh Như khuyên các bạn nên ngồi lại, pha một tách trà nóng, lấy giấy bút ra và kiểm kê tài sản thật cẩn thận. Việc chuẩn bị kỹ lưỡng sẽ giúp quá trình chuyển nhà êm ru mà không rơi rớt bất kỳ dữ liệu nào.

  • Lên danh sách tên miền và DNS: Hãy liệt kê tất cả các domain đang chạy trên hệ thống cũ. Xác định xem hệ thống DNS đang được quản lý ở đâu, tài khoản đăng nhập là gì nghen.
  • Kiểm kê các tính năng ngầm: Website của bạn có dùng email tên miền riêng không? Có cài đặt các tác vụ tự động (cron job) như gửi báo cáo mỗi đêm không? Có nhận thông báo từ cổng thanh toán qua webhook không? Nếu web có chỗ cho khách tải ảnh lên (upload) hay có hàng đợi xử lý ngầm (queue), hãy ghi chú lại hết nha.
  • Ghi nhận thông số môi trường hiện tại: Ghi lại chính xác phiên bản của phần mềm đang chạy (ví dụ: PHP 7.4 hay PHP 8.1, dùng MySQL hay PostgreSQL). Lát nữa sang nhà mới, mình phải xây lại môi trường y chang vậy để web không bị lỗi. Nếu bạn không chắc chắn dự án của mình cần bao nhiêu RAM hay CPU là đủ để hoạt động trơn tru ở nhà mới, hãy tham khảo mức tài nguyên đề xuất ở đây nhé: Ví dụ RAM dùng khoảng 3 GB thì nên chọn máy mới từ 4 GB trở lên, sau khi kiểm tra thêm tốc độ tăng trưởng.
  • Phương án quay xe (Rollback): Ôi trời ơi, bước này quan trọng lắm nè! Tuyệt đối phải giữ nguyên máy chủ cũ, không được vội vàng hủy dịch vụ. Nếu sang nhà mới có trục trặc, mình còn đường lui, nhưng phải đối soát hoặc chép dữ liệu phát sinh về máy cũ trước rồi mới trỏ tên miền quay lại. Khái niệm backup và snapshot rất cần thiết lúc này, nhưng nhớ giùm mình: snapshot chụp lại hệ thống thì tiện đó, nhưng nó không thể thay thế cho một bản backup đã được thử khôi phục thành công đâu á nha!

2. Hạ TTL DNS - Bước đệm mượt mà để "đổi hệ điều hướng"

Bạn đã biết DNS là gì rồi đúng không nào? DNS giống như danh bạ điện thoại, giúp dịch tên miền thành địa chỉ IP để trình duyệt biết đường tìm đến máy chủ. Trong danh bạ này có một chỉ số rất quan trọng tên là TTL (Time To Live). TTL quyết định thời gian mà các máy chủ phân giải (resolver) của nhà mạng giữ lại thông tin trong bộ nhớ tạm (cache).

Để đổi DNS không downtime, trước ngày chuyển nhà khoảng 1-2 ngày, bạn hãy vào trang quản lý tên miền và hạ TTL DNS của các bản ghi xuống mức thấp nhất (thường là 300 giây, tương đương 5 phút). Khi đó, các nhà mạng sẽ biết là hệ thống của bạn sắp có thay đổi và họ sẽ liên tục hỏi lại địa chỉ mới thay vì "nhớ dai" cái địa chỉ IP cũ.

Một lưu ý nhỏ từ Quỳnh Như nè: Việc hạ TTL sẽ giúp mạng cập nhật nhanh hơn, nhưng không làm cho mọi cache trên thế giới cập nhật ngay lập tức cùng một giây đâu á. Ngoài ra, nếu bạn chỉ đổi nhà cung cấp VPS (tức là chỉ đổi IP), bạn thường đổi A/AAAA; CNAME chỉ sửa nếu nó đang trỏ tới hostname của hệ thống cũ. Nếu máy mới chưa có IPv6, xóa AAAA cũ để người dùng IPv6 không tiếp tục đi về máy cũ.

Hãy kiểm tra nơi đang quản lý DNS. Nếu DNS nằm ở nơi độc lập với máy cũ, giữ nameserver và chỉ đổi bản ghi. Nếu DNS nằm trong tài khoản hoặc panel của máy cũ, chuyển toàn bộ vùng DNS sang nơi độc lập trước một đợt riêng: chép đủ A, AAAA, CNAME, MX và TXT, kiểm tra email ổn định rồi mới chuyển VPS.

Giao diện quản lý DNS minh họa việc điều chỉnh thông số TTL của bản ghi A từ 86400 xuống 300 giây

3. Dựng nhà mới (VPS mới) - Môi trường phải là bản sao hoàn hảo

Bây giờ thì chúng ta thuê một chiếc Cloud VPS mới toanh và khang trang. Khoan chép dữ liệu vội nghen, vì chúng ta cần chuẩn bị cơ sở hạ tầng trước.

Hãy xem VPS là gì như một căn nhà trống, bạn phải sơn sửa và trang bị nội thất (phần mềm) sao cho giống hệt với căn nhà cũ. Điều này đảm bảo mã nguồn website khi dọn qua không bị "sốc nhiệt" vì môi trường lạ lẫm.

Chưa rõ VPS là gì thì đọc bài này trước nha.

  • Đồng bộ phiên bản: Cài đặt chính xác phiên bản PHP, môi trường Runtime, và phiên bản Database (Cơ sở dữ liệu) giống như ghi chép ở bước 1 nha.
  • Phân quyền và bảo mật: Tạo các user tương ứng, thiết lập quyền đọc/ghi thư mục thật cẩn thận. Đừng vì lười mà tắt hoàn toàn Firewall (tường lửa) nha, nguy hiểm lắm! Mở cổng SSH (22 hoặc cổng bạn đã đổi) trước khi bật firewall, rồi mới mở 80 và 443; máy có email còn cần các cổng mail phù hợp. Xem thêm firewall trên VPS.
  • Cấu hình Web Server: Thiết lập Nginx hoặc Apache. Đừng quên chuẩn bị SSL: có thể chép chứng chỉ cùng khóa riêng đang dùng, dùng xác thực DNS để cấp lại, hoặc cấp sau cutover. Nếu đổi từ Apache sang Nginx, các quy tắc redirect và đường dẫn trong .htaccess phải viết lại trong cấu hình Nginx.

Trong lúc copy và test, chưa bật cron, queue hay tác vụ gửi mail tự động trên máy mới. Đơn thử nên dùng sandbox của cổng thanh toán hoặc COD, không dùng giao dịch thật; chỉ bật các tác vụ này sau giờ G.

4. Chép dữ liệu lần đầu - Chạy song song hai nhà

Giai đoạn này, mọi khách hàng vẫn đang truy cập vào IP của VPS cũ bình thường. Chúng ta sẽ bắt đầu dọn dần dữ liệu sang nhà mới.

Mã nguồn website đa số được chia làm hai phần tách biệt: File và Database. Mình cùng xem bảng so sánh nhỏ này để dễ hình dung nha:

Loại dữ liệu Bao gồm những gì? Lưu ý từ Quỳnh Như
Dữ liệu tĩnh (File) Mã nguồn code, hình ảnh khách upload, theme, plugin. Nên nén thành file .zip hoặc .tar.gz rồi chép qua VPS mới để không bị rớt file nhỏ lẻ.
Cơ sở dữ liệu (Database) Nội dung bài viết, bình luận, thông tin user và đơn hàng. Cần xuất (Export) ra file .sql ở nhà cũ, rồi nhập (Import) lại vào hệ thống của nhà mới.

Nếu bạn đang xài WordPress, sau khi chuyển File và Database sang VPS mới, nhớ là phải mở file wp-config.php ra để cập nhật lại thông tin kết nối Database mới, gồm DB_NAME, DB_USER, DB_PASSWORD và DB_HOST. Sau đó, kiểm tra lại phần thiết lập đường dẫn (Permalinks); nếu đổi từ Apache sang Nginx thì phải chuyển các quy tắc trong .htaccess sang cấu hình Nginx.

Trong trường hợp hệ thống cũ và mới đều xài cPanel, các bạn có thể dùng tính năng Transfer Tool. Tính năng này cực kỳ xịn xò vì nó tự động đóng gói và chuyển toàn bộ account, cấu hình, file, database và cả email sang luôn. Dù vậy, bạn vẫn phải kiểm tra độ tương thích phiên bản giữa 2 máy và test lại thật cẩn thận, không phó mặc hoàn toàn được đâu nghen!

Nếu có SSH, lần copy đầu có thể dùng công cụ đồng bộ như rsync -a để giữ cấu trúc thư mục; database nên xuất ra file rồi nhập ở máy mới. Lần đồng bộ cuối phải bao gồm mọi file thay đổi kể từ lần đầu, không chỉ vài giờ gần nhất. Hãy diễn tập với bản sao trước khi làm trên dữ liệu thật.

Hai máy chủ ảo đại diện cho môi trường cũ và mới, có mũi tên mô tả việc đóng gói và chuyển dữ liệu song song an toàn

5. Kiểm tra (Test) nội bộ trước khi trỏ tên miền - Cẩn tắc vô áy náy

Đồ đạc đã sang nhà mới rồi, nhưng tên miền vẫn đang hướng về nhà cũ. Vậy làm sao để ngắm thử website mới bây giờ? Đừng lo, Quỳnh Như chỉ cho bạn một mẹo dùng file "hosts".

Lúc này, chỉ có một mình bạn đang thấy nhà mới, còn khách hàng ngoài kia vẫn vào nhà cũ nha.

Bạn có thể chỉnh file hosts để chỉ máy của mình đi tới IP mới. Trên Windows, mở Notepad bằng quyền Administrator rồi mở C:\Windows\System32\drivers\etc\hosts; trên macOS/Linux dùng /etc/hosts với quyền sudo. Thêm hai dòng, thay IP và tên miền thật:

203.0.113.10 example.com
203.0.113.10 www.example.com

Ở môi trường thử nghiệm này, bạn hãy test thật kỹ các hạng mục sau:

  • Lướt qua trang chủ, bài viết xem có hiển thị hình ảnh bình thường không.
  • Đăng nhập thử vào trang quản trị xem quyền admin có ổn không.
  • Test upload thử một tấm hình để check xem quyền ghi file (permissions) đã chuẩn chưa.
  • Thử đặt một đơn hàng ảo, gửi một form liên hệ xem email có được hệ thống bắn ra không.
  • Kiểm tra hệ thống cron, SSL, các link chuyển hướng (redirect) xem mọi thứ trơn tru không. Hãy mở cả file log để tìm các lỗi 4xx, 5xx ẩn nhé.

6. Cutover (Chuyển đổi chính thức) - Giờ G đã điểm!

Mọi thứ trên VPS mới đã hoàn hảo? Giờ là lúc chúng ta thực hiện bước "Cutover" - chuyển đổi luồng truy cập thực tế của khách hàng. Thường thì các bạn nên chọn những khung giờ thật vắng khách (như lúc rạng sáng) để thao tác cho an toàn nghen.

Đối với các website động (có đơn hàng mới liên tục, có bình luận, hoặc người dùng upload file), bạn BẮT BUỘC phải tạo ra một "cửa sổ đóng băng". Tức là bạn phải bật chế độ bảo trì (Maintenance Mode) trên máy cũ, hoặc tạm dừng ghi database. Điều này giúp ngăn chặn việc có khách đặt đơn hàng ở máy cũ trong lúc bạn đang chép nốt dữ liệu cuối cùng, gây ra tình trạng mất đơn hàng hoặc lệch dữ liệu.

Quy trình Cutover diễn ra theo các bước chuẩn xác sau:

  1. Tạm dừng ghi dữ liệu ở máy chủ cũ. Tắt ngay các hệ thống cron ở máy cũ để tránh trường hợp chạy trùng lặp (ví dụ cả 2 máy cùng gửi 1 email cho khách thì kỳ lắm á).
  2. Tiến hành đồng bộ lần cuối (Final Sync). Chép nốt những file vừa được khách up lên kể từ lần copy đầu tiên và xuất database lần cuối cùng đưa sang VPS mới.
  3. Xong xuôi, bạn vào trang quản lý DNS, đổi bản ghi A (IPv4) và AAAA (IPv6) về IP của VPS mới; CNAME chỉ đổi nếu đang trỏ tới hostname cũ.
  4. Mở máy mới đón khách: đổi A/AAAA về IP mới, rồi tắt maintenance trên máy mới nếu bản đồng bộ cuối có mang theo cờ đó. Tắt chế độ bảo trì ở máy mới, đón khách trở lại bình thường! Không bật lại cron, queue và gửi mail tự động ở cả hai máy cùng lúc.

Tuyệt đối vẫn giữ nguyên hệ thống máy chủ cũ và không can thiệp xóa dữ liệu nghen!

Nếu còn resolver đi vào IP cũ, có thể để máy cũ làm reverse proxy chuyển request sang IP mới; người dùng và webhook đi nhầm vào máy cũ vẫn được phục vụ bởi máy mới, còn database cũ không tiếp tục nhận ghi. Xem reverse proxy là gì nếu cần hiểu cách này.

Rollback không chỉ là đổi DNS ngược lại. Nếu máy mới đã nhận đơn, upload hoặc bình luận, phải chép ngược dữ liệu đó về máy cũ hoặc đối soát thủ công trước khi trỏ về; nếu không, dữ liệu phát sinh sau giờ G sẽ biến mất.

Một chiếc đồng hồ đếm ngược báo hiệu giờ G cutover, đi kèm màn hình theo dõi log truy cập web

7. Sau khi trỏ DNS - Theo dõi và dọn dẹp

Đổi IP xong chưa phải là kết thúc đâu á. Vì cơ chế cache của mạng Internet, sẽ mất một lúc để toàn bộ thế giới nhận diện nhà mới của bạn. Trong khoảng thời gian này, sẽ có người dùng vào được VPS mới, và cũng có một số người dùng (do cache mạng của họ chưa hết hạn TTL) vẫn sẽ lạc vào VPS cũ.

Đó là lý do chúng ta phải giữ máy cũ chạy song song. Ở giai đoạn này, bạn cần:

  • Theo dõi sát sao hệ thống: Kiểm tra log server để xem có xuất hiện nhiều lỗi 404 (Không tìm thấy) hay 502, 500 (Lỗi server) không. Sử dụng công cụ giám sát uptime để theo dõi liên tục.
  • Kiểm tra lại tính toàn vẹn của webhook, cron job, đảm bảo email được gửi/nhận bình thường với tên miền đang hoạt động tại IP mới.
  • Tiêu chí quay xe: Nếu theo dõi thấy VPS mới sụp đổ do thiếu RAM, quá tải CPU hoặc lỗi database không cứu được ngay, hãy đối soát và chép dữ liệu phát sinh trên máy mới về máy cũ trước, rồi mới đổi IP về máy cũ. Đợi nguyên nhân được làm rõ rồi hãy dọn nhà lại.

Nếu bạn dùng VPS Windows: quy trình DNS và kiểm thử vẫn giống, nhưng file/database thường chép qua RDP hoặc công cụ đồng bộ phù hợp; cài lại ứng dụng và kiểm tra license Windows, task tự động, dịch vụ email cùng quyền thư mục. Bài này tập trung vào website; ứng dụng desktop hoặc tool chạy nền cần thêm checklist riêng.

Email cũng cần kiểm tra riêng: giữ đúng bản ghi MX, SPF và PTR; xác nhận mailbox, whitelist IP và license của ứng dụng gửi thư trên máy mới trước giờ G để thư đến và thư đi không bị gián đoạn.

Checklist tóm tắt cho các anh chị bận rộn — checklist chuyển VPS sang nhà cung cấp khác

Quỳnh Như tóm gọn lại các bước trong một danh sách dễ nhìn để bạn làm theo nha:

  1. Ghi chép toàn bộ dịch vụ, phần mềm, kiểm tra cron và cấu hình ngầm. Lên phương án giữ máy cũ để rollback.
  2. Hạ TTL của bản ghi DNS xuống 300 giây từ trước 1-2 ngày. Không đổi Nameserver nếu DNS đã nằm ở nơi độc lập; nếu DNS còn ở panel cũ, chuyển vùng DNS trước.
  3. Dựng VPS mới với môi trường y hệt (PHP, Database, cài đặt SSL, cấp quyền file).
  4. Copy dữ liệu (File và Database) lần thứ nhất để chạy song song.
  5. Trỏ file hosts trên máy tính cá nhân để test kỹ website ở IP mới trước khi public.
  6. Đến giờ G: chặn ghi nếu website có dữ liệu động, dừng cron/queue gây tác động hai lần, đồng bộ dữ liệu lần cuối cùng.
  7. Đổi IP trên bản ghi DNS. Theo dõi log và chỉ xóa máy chủ cũ khi không còn truy cập.
Chuyển website sang VPS mới có đảm bảo 100% không bị downtime tuyệt đối không?

Như Quỳnh Như đã chia sẻ, "không downtime" ở đây là kỹ thuật làm giảm thiểu tối đa thời gian gián đoạn hiển thị với người dùng, khiến họ gần như không nhận ra. Không có một hệ thống nào có thể hứa hẹn downtime bằng 0 tuyệt đối 100% vì chúng ta phụ thuộc vào thời gian cập nhật DNS của các nhà mạng (resolver). Tuy nhiên, nếu làm đúng quy trình song song, website sẽ luôn hiển thị ở một trong hai máy chủ.

Tôi đã hạ TTL xuống mức 5 phút, tại sao khách hàng vẫn truy cập vào IP cũ sau cả tiếng đồng hồ?

Mặc dù bạn đã hạ TTL xuống 300 giây, cache cũ vẫn có thể còn hiệu lực nếu bạn hạ quá sát giờ G hoặc một lớp trung gian chưa hỏi lại. Giữ máy cũ tối thiểu tới khi TTL cũ cộng vài ngày dự phòng và log không còn request hợp lệ, thay vì lấy một mốc cố định cho mọi hệ thống. Khi website đã ổn định, nâng TTL lại theo mức phù hợp.

Website bán hàng của tôi có đơn liên tục, làm sao để không bị sót dữ liệu khi chuyển?

Để tránh lệch dữ liệu, bạn cần tạo ra một "cửa sổ" an toàn. Trước khi đổi IP, bạn bật chế độ bảo trì hoặc tạm khóa tính năng thanh toán ở máy cũ. Kế tiếp, tiến hành đồng bộ xuất/nhập database lần cuối (Final Sync). Sau khi hoàn tất và đổi DNS, bạn mới mở khóa lại ở máy mới. Việc này sẽ ngăn triệt để khách hàng tạo dữ liệu mới ở máy cũ trong thời gian bạn chép data đi. Nếu không thể khóa ghi, phải có cơ chế đồng bộ và đối soát hai chiều.

Sử dụng công cụ Transfer Tool của cPanel thì có thể chuyển ngay mà không cần test không?

Mặc dù Transfer Tool cực kỳ tiện lợi vì nó gói gọn cả account, cấu hình, dữ liệu lẫn email giữa các máy chủ tương thích, nhưng công cụ này thường cần quyền cao nhất như root hoặc WHM ở máy đích. Bạn KHÔNG được bỏ qua bước test: vẫn phải kiểm tra kỹ sự tương thích của phiên bản phần mềm giữa máy cũ và mới, đồng thời bắt buộc phải test qua file hosts trước khi trỏ tên miền chính thức nghen.

Snapshot có thay được backup khi chuyển nhà không?

Snapshot là công cụ hữu ích để chụp lại toàn bộ trạng thái máy chủ, nhưng bản snapshot không thể tự thay thế cho một hệ thống backup độc lập. Một bản backup chỉ thực sự an toàn khi bạn đã từng thử khôi phục nó thành công. Luôn chuẩn bị cho mình các file sao lưu .zip và .sql cẩn thận trước khi thao tác các bước lớn nhé.

Lời kết

Chuyển đổi nhà cung cấp máy chủ là một cột mốc quan trọng, yêu cầu sự tỉ mỉ và tính kỷ luật khi thực hiện các bước kỹ thuật. Chỉ cần bạn kiên nhẫn, chạy song song hai hệ thống và test nội bộ cẩn thận, việc chuyển nhà êm ru hoàn toàn nằm trong tầm tay của bạn. Quỳnh tin là qua bài tâm tình này, bạn đã tự tin hơn để dọn sang một không gian mới tốt hơn rồi đúng không nào!

Nếu đang tìm máy mới, bạn xem các gói Cloud VPS của CloudMoon tại cloudmoon.net và chọn cấu hình theo mức RAM/CPU đỉnh đã ghi ở bước 1. So sánh rõ tài nguyên, quyền quản trị và cách hỗ trợ trước khi quyết định.

Nguồn tham khảo

Bài viết liên quan

Bình luận (0)

Bạn cần đăng nhập để bình luận.

Chưa có bình luận nào. Hãy là người đầu tiên!

Zalo