FastDFS文件系統遷移和數據恢復


遷移步驟

打包舊服務器文件的所有文件

定位到舊服務器的tracker和Storage目錄,將整個文件夾打包

tar -zcf fdfs-storage-data.tar.gz /fastdfs/storage/data/
tar -zcf fdfs-tracker-data.tar.gz /fastdfs/tracker/data/

將打包后的文件拷貝到新的服務器上

替換文件和修改信息

停止新服務器的tracker服務和Storage服務

刪除新服務器的tracker數據,Storage數據,使用舊服務器替換

rm -rf /data/fdfs/stroage/*
rm -rf /data/fdfs/tracker/*
tar xf fdfs-tracker-data.tar.gz 
tar xf fdfs-storage-data.tar.gz 
mv fastdfs/tracker/* /data/fdfs/tracker/
mv fastdfs/storage/* /data/fdfs/stroage/

修改FastDFS部分文件信息

1 . 修改tracker的data文件

# 修改tracker的data文件
vim /data/fdfs/tracker/data/storage_groups_new.dat 
vim /data/fdfs/tracker/data/storage_servers_new.dat 
vim /data/fdfs/tracker/data/storage_sync_timestamp.dat 
# 將三個文件舊IP設置為新IP

2 . 修改Storage的data文件

fastdfs_storage/data/sync/${ip_addr}_${port}.mark  沒有此類文件可不用修改
mv 192.168.0.107_23000.mark  192.168.0.113_23000.mark

修改上述文件將舊IP提換為新fastDFS文件服務器IP

重啟文件服務

重啟tracker服務和Storage服務即可

service fdfs_trackerd restart
service fdfs_storaged restart

如果使用了自定義server ID特性,那么比較容易,直接將tracker上的IP和ID映射文件storage_ids.conf修改好,然后將storage的data文件一一對應拷貝過去即可。(血淚史!,后續安裝的時候最好開啟此項特性!)

開啟方法:tracker.conf文件中多修改以下三個參數
use_storage_id = true
storage_ids_filename = stirafe_ids.conf
id_type_in_filename = id

小結

同IP數據遷移

  1. 首先關閉fdfs_storage和fdfs_tracker服務。
  2. 拷貝fdfs_storage目錄中的所有數據到新目錄。
  3. 修改storage配置文件中的store_path和base_path到新位置。
  4. 修改mod_fastdfs.conf配置文件中的store_path和base_path到新位置。
  5. 根據情況,選擇是否修改client配置文件。
  6. 修改nginx配置文件中的root目錄。
  7. 重啟fdfs_tracker和fdfs_storage服務

不同IP數據遷移

不同IP之間遷移采用FastDFS的擴容機制。

  1. 在新服務器安裝FastDFS。
  2. 將新FastDFS的storage服務實例關聯到以前的tracker服務。
  3. 拷貝以前的storage服務配置為新服務實例的配置文件。
  4. 啟動storage服務。
  5. FastDFS會自動同步以前服務器上的數據。
  6. 停止storage服務,將storage配置文件中的tracker地址修改為新的tracer 地址。
  7. 啟動新的tracker服務和storage服務。

數據恢復

數據恢復是指舊的FastDFS服務已經不能運行,需要將已有的FastDFS數據恢復到新的FastDFS服務中。

如果FastDFS服務使用了V4的ServerID特性,修改storage_ids.conf文件,調整對應關系即可。

如果采用IP地址進行標識,則需要修改tracker 和storage下data目錄中的數據文件中的ip地址。

tracker server 需要修改 :

tracker/data/storage_groups_new.dat
tracker/data/storage_servers_new.dat
tracker/data/storage_sync_timestamp.dat

storage server 需要修改:

storage/data/.data_init_flagstorage/data/sync/${ip_addr}_${port}.mark


免責聲明!

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



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