本篇紀錄我將 G. T. Wang 部落格的 VPS 伺服器從 Linode 的新加坡機房轉移至日本機房的過程,以及保持網站持續服務不斷線的技巧。

最近測試了一下 Linode 新加坡機房與日本第二機房的網路連線速度(ping),發現在台灣不同地方的測試數據會不太一樣,以下是我在台南用中華電信光世代的網路環境測的結果,首先是新加坡機房的數據。

Linode 新加坡機房 Ping 測試

在中華電信網路下,日本第二機房的連線速度比新加坡機房快一些,而且台灣對日本的網路頻寬又比新加坡高,所以如果是針對台灣使用者的伺服器,放在日本會是不錯的選擇。

Linode 日本第二機房 Ping 測試

Linode 的日本機房在前幾年銷售一空,我當時要將 G. T. Wang 部落格搬過來 Linode,亞洲區只剩下新加坡機房可以使用,後來 Linode 又增加了日本第二機房,經過了半年應該是夠穩定了,所以現在決定把 G. T. Wang 部落格轉移過去。


整個操作過程跟之前升級 Linode VPS 的過程類似,一樣都是使用一個 VPS 副本維持網站服務,等待正式網站轉移完成後,再切換回來。

Step 1
首先在 Linode 中新增兩個 VPS,一個放在原本位置的機房(新加坡),另外一個放在新位置的機房(日本),方案就跟原本的伺服器方案即可。

新增 Linode VPS

Step 2
機房位置可在「Location」的地方選擇,一個選新加坡,另外一個選日本,不可以選錯。

新增 Linode VPS

Step 3
新增完兩個 Linode VPS 之後,檢查一下狀態以及所在地,現在總共應該會有三個 VPS,一個是原本位於新加坡的 VPS,另外兩個是新增的 VPS。

Linode VPS

Step 4
從原本新加坡的 VPS 中,在「Backups」籤頁中製作一份最新的備份快照,再利用「Restore to…」的功能複製一份副本。(這個需要啟用 Backups 備份功能才有,如果沒有啟用的人,可以直接啟用後使用,用完再關掉,短期使用費用不高)。

製作備份快照

Step 5
選擇回復副本的目的地,請選擇新增的那一個 Linode VPS。

回復備份快照

Backups 的 Restore 功能只能回復至本地端的 Linode VPS 中,所以這裡只能選擇新加坡的 Linode VPS。

Step 6
回復完成後,將這台 VPS 開機,然後複製它的 IP 位址。

複製 IP 位址

Step 7
使用本機 hosts 檔案的方式測試副本 VPS 是否正常,接著修改 DNS 紀錄,將所有服務網站的 IP 位址替換為這台副本 VPS 的 IP 位址。(這個步驟跟之前升級 Linode VPS 的時候相同,詳細說明請參考之前的說明)

修改 DNS 紀錄

Step 8
DNS 轉移之後,等待舊的 VPS 網路流量歸零。

VPS 網路流量

Step 9
確認完全沒有網路流量之後,將舊的 VPS 關機。

Linode 關機

Step 10
使用 VPS 的「Clone」功能,將舊的 VPS 複製到日本機房,首先選擇舊 VPS 的 Profile,這種設定會將所有設定連同硬碟資料一起搬過去。

Clone Linode VPS

Step 11
目的地要選擇日本機房的 Linode VPS(剛剛新增的那一個)。

Clone Linode VPS

Step 12
跨資料中心的搬移過程會需要等比較久,我的 VPS 硬碟大小使是 30GB,從新加坡搬到日本大概要等一小時左右。

Clone Linode VPS

Step 13
等 VPS 搬移完成後,直接開機。

Linode VPS 開機

Step 14
修改 DNS 紀錄,將之前所有舊 VPS 的 IP 位址都改為日本 VPS 的 IP 位址,IPv4 與 IPv6 都要改。

修改 DNS 紀錄

Step 15
修改完 DNS 之後,現在的 VPS 應該是有兩台在跑,一台是位於新加坡的副本 VPS,另外一台則是轉移至日本的 VPS,另外那一台關機狀態的新加坡 VPS 則是最原始的 VPS。

Linode VPS

Step 16
等待所有的流量都轉移至日本第二機房的 VPS 之後,其餘的 VPS 就可以刪除了,當然刪除之前請先確認所有的設定都有轉移過來,例如 Backups 的備份時機設定等。

Linode VPS

這樣就完成 VPS 的搬遷了,整個遷移過程大約花了三個小時左右。

這是 Pingdom 的 uptime 數據,整個轉移過程網站還是可以維持 100% 的 uptime,而轉移過後伺服器的 response time 明顯變低一些(不確定是為什麼)。

Pingdom 的 Uptime 數據

這是幾天之後的 uptime 與 response time 數據,看起來 response time 很明顯有下降。

Pingdom 的 Uptime 數據