場景介紹:
系統從一個地方遷移到另一個地方,數據保持不變,但是ip地址和網絡情況不一樣了,最困難的是要遷移的那個地方還么有互聯網,這TM就坑了,所以想到將FastDFS存儲的目錄整體拷貝過去,這個方法簡單粗暴,這樣文件在文件系統中的位置也不會發生變化,訪問文件時文件地址只需要修改為遷移后的ip即可,那就這么干。
解決方案:
1.在需要遷移的那邊用同同樣的docker鏡像構建FastDFS文件系統,容器映射目錄、http訪問端口盡量保持不變。
2.將tracker目錄下的data文件夾直接拷貝過去,覆蓋新的文件系統中的tracker中的data目錄,進行如下的修改:
data|storage_groups_new.dat data|storage_servers_new.dat data|storage_sync_timestamp.dat
將上述文件中的舊ip改為新地址的ip即可。
3.將storage目錄下的data文件夾之際拷貝過去,覆蓋新的文件系統中的storage中的data目錄,進行如下的修改(使用ll -a查看隱藏文件):
data|.data_init_flag data|sync|${IP_addr}_${port}.mark
將上述文件中的舊ip改為新地址的ip即可。
4.將上面都修改完成之后,啟動集群,關閉防火牆,在新的服務器環境下通過url訪問文件系統中的文件,即可獲取到文件。
5 若遷移前后ip地址和端口不發生變化,一一對應,可直接將data目錄拷貝過去,不需要修改任何信息。