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.
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é.
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.
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.
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.
.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.
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.
Đồ đạ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:
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:
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.
Đổ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:
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.
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:
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ủ.
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.
Để 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.
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 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é.
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.
Chưa có bình luận nào. Hãy là người đầu tiên!