在實際的專案應用中,由於伺服器替換或專案變更難免會存在fastdfs檔案伺服器遷移的工作。本文重點介紹fastdfs檔案系統在不同情況下的檔案遷移處理方案。
通過檔案伺服器儲存規則定義,發現當ip位址沒有發生變化時,這種檔案伺服器遷移是最簡單的,只需要在新的伺服器上安裝fastdfs,把原來伺服器上的tracker和storage下面的所有目錄檔案拷貝到新伺服器,把所有的配置檔案拷貝到新伺服器,啟動tracker和storage服務即可。
在這種模式下,檔案遷移本質就是替換ip位址,找到檔案伺服器中配置檔案與ip位址相關的檔案替換後就可以了。但不建議採用這種模式安裝,且一旦使用這樣的模式安裝後,需要切換為自定義 server id時,會報ip已經重複的異常,導致切換自定義安裝失敗(除非刪除以前的儲存檔案)。為了遷移以前的檔案資料,需進行如下操作:
data/storage_groups_new.dat
data/storage_servers_new.dat
data/storage_sync_timestamp.dat
data/.data_init_flag
data/sync/$_$.mark:此類檔案,需要將檔名中的ip位址調整過來。若sync目錄下面沒有檔案,可不修改。
$|__data:存放資料檔案
|__logs:存放日誌檔案
其中,$由配置檔案中的引數「base_path」設定。
4.1 .tracker server
tracker server目錄及檔案結構:
$|__data
| |__storage_groups.dat:儲存分組資訊
| |__storage_servers.dat:儲存伺服器列表
|__logs
|__trackerd.log:tracker server日誌檔案
資料檔案storage_groups.dat和storage_servers.dat中的記錄之間以換行符(\n)分隔,字段之間以西文逗號(,)分隔。
storage_groups.dat中的字段依次為:
#. group_name:組名
#. storage_port:storage server埠號
storage_servers.dat中記錄storage server相關資訊,字段依次為:
4.2 .storage serverstorage server目錄及檔案結構:
$|__data
| |__.data_init_flag:當前storage server初始化資訊
| |__storage_stat.dat:當前storage server統計資訊
| |__sync:存放資料同步相關檔案
| | |__binlog.index:當前的binlog(更新操作日誌)檔案索引號
| | |__binlog.###:存放更新操作記錄(日誌)
| | |__$_$.mark:存放向目標伺服器同步的完成情況
| |
| |__一級目錄:256個存放資料檔案的目錄,目錄名為十六進製制字元,如:00, 1f
| |__二級目錄:256個存放資料檔案的目錄,目錄名為十六進製制字元,如:0a, cf
|__logs
|__storaged.log:storage server日誌檔案
.data_init_flag檔案格式為ini配置檔案方式,各個引數如下:
# storage_join_time:本storage server建立時間
# sync_old_done:本storage server是否已完成同步的標誌(源伺服器向本伺服器同步已有資料)
# sync_src_server:向本伺服器同步已有資料的源伺服器ip位址,沒有則為空
# sync_until_timestamp:同步已有資料檔案截至時間(unix時間戳)
storage_stat.dat檔案格式為ini配置檔案方式,各個引數如下:
fastdfs檔案伺服器實現檔案上傳
引入依賴 commons fileupload groupid commons fileupload artifactid 1.3.1 version dependency org.csource.fastdfs groupid fastdfs artifactid 1.27 version dep...
分布式檔案伺服器FastDFS
客戶端上傳檔案後儲存伺服器將檔案 id 返回給客戶端,此檔案 id 用於以後訪問該檔案的索引資訊。檔案索引資訊包括 組名,虛擬磁碟路徑,資料兩級目錄,檔名。上傳的時候只是問tracker咋樣了。組名 檔案上傳後所在的 storage 組名稱,在檔案上傳成功後有 storage 伺服器返回,需要客戶端...
分布式檔案伺服器FastDFS
1.1什麼是fastdfs tracker server 作用是負載均衡和排程,通過 tracker server 在檔案上傳時可以根據一些策略找到 storage server 提供檔案上傳服務。可以將 tracker 稱為追蹤伺服器或排程伺服器。storage server 作用是檔案儲存,客戶...