記一次阿里雲服務器遷移經驗


前因:因阿里雲服務器到期,續費價格昂貴,最終選擇在阿里雲注冊個新賬號享受新用戶福利,然而產生需要遷移服務器的情況。

准備工作:保證新服務器和舊服務器在同一地域,同一網絡,磁盤和舊服務器保持一致的配置,如果之前進行過磁盤擴容,后面也要保證一樣的配置(概括:相同配置 相同地域)。

注意:盡量同一地域!盡量同一地域!盡量同一地域! 可以方便很多!

 

第一步:使用阿里雲制作磁盤鏡像,最好在無任何用戶操作的時候進行制作,可以保證鏡像數據的准確,制作完成后分享鏡像到新的賬戶下。

第二步:新服務器重裝系統,從共享鏡像中安裝舊服務器制作出的鏡像。

第三步:如果服務(代碼)中牽扯到使用IP的地方需要重新配置並且打包。

 

上述步驟均為在夜間或者無任何操作時的方案

但是在實際遷移過程中難免出現用戶操作,首先導致的就是數據庫的數據不一致,平常的做法是通過navicat這類工具導出數據腳本,再從新的服務器導入,但是如果用戶量非常大的情況下,來回導數據就需要大量時間,可以在1小時內完成數據庫遷移的方式總結如下:

1.通過命令導出數據庫腳本 大約1分鍾   (這里會看到命令窗口一直卡在這個命令,這時候千萬記住不是卡死了,是正在備份,你可以前往你指定的路徑看文件是否創建出來,大小也在逐漸增長)

//導出整庫
mysqldump -u [username] -p [databasename] > filename.sql
//導出單獨某張表
mysqldump -u [username] -p [databasename] [tablename] > filename.sql

更多命令 本圖來自:https://blog.csdn.net/weixin_30783913/article/details/94914762

 

 

 2.按照准備工作新舊服務器雖然不在一個賬號下,但是在同一地域,同一網絡,通過阿里雲建立內網,互傳文件,內網傳輸的速度你懂得。

  建立共享的文檔 : https://help.aliyun.com/document_detail/65936.html?spm=a2c4g.11186623.4.1.56964c07B09B58  

  共享完成之后可以通過ping測試一下內網地址是否連通 (不通可以去看看安全組,直接全部放開吧,遷移完再重新設置)

 3.通過命令拉取舊服務器備份好的sql腳本

scp -P 2223 root@47.20.30.30:/root/test.tar.gz /home/test.tar.gz

 -p為端口 如果是默認的22則不填寫,47.20.30.30是IP這里如果前面建立了共享就可以直接使用內網的IP /root/test.tar.gz 被拉取的資源路徑(也就是舊服務器的) /home/test.tar.gz拉取到哪里(也就是新服務器你要把拉取的文件放在哪里)

4.導入sql腳本  (這個花費的時間要取決於你的數據大小,我8G的數據庫用時在15分鍾后以內,記住如果終端窗口沒反應不是卡死,也是在導入數據,千萬不要以為卡住了,提前結束,要不然又得重來,要有耐心。)

mysql -uroot -p database < filename.sql

5.然后如果其他文件的時效性出現不准確,就需要根據業務進行遷移,不過這時候基本上遷移的數據很少了,比如這段時間用戶上傳的圖片這類的。打包拖過來就是了。

如果是牽扯到nginx這類的有自己的配置文件,里面配置了IP這些的,則需要重啟下服務。

6.域名重新解析,這里可能是因為dns緩存的問題,導致更換解析后,我這邊還是訪問不到,和不穩定,但是30分鍾左右基本完全恢復。

 

本人在使用到注冊中心時遇到的一個問題,如果有相似的情況可以參考:

使用到的是consul,因為服務器剛遷移過來,舊服務器也沒有停機,導致新服務器中的服務也在舊服務器的注冊中心注冊了一遍(如果在遷移后立馬修改了各個服務的配置文件則不會出現),然后出現了服務器不可用等亂七八糟的情況,

這里因為我對微服務不是很懂,沒辦法給很清楚的解釋。但是解決方法可以可以停止舊服務器,新服務器重啟注冊中心,檢查各個服務的配置文件。

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM