fastdfs資料遷移以及fastdfs問題排查記錄
這段時間公司要遷移fastdfs ,折騰2天,現在做個記錄:
一、fastdfs 是淘寶架構師編寫。它的架構圖網上很多,搜尋一下就可以。網上能搜尋到的東西我就不在這裡記錄了。
二、這裡記錄下目前我在網上沒有搜尋到的內容:
-
fastdfs 遷移具體步驟我從網上複製 https://www.cnblogs.com/hanpengblog/p/fastdfs.html ,理解的一點就是:當新增加一個storage連線到tracker,它會自動的複製檔案到strorage,就是利用這個特性來進行遷移的。每個storage是對等的,當新增加一個storage的時候,fastdfs會自動的複製同步storage.比如下面例子192.167.1.17:23000這個節點新增到tracker節點時候,它會自動同步 192.167.1.13:23000節點資料同步到17節點,從而達到遷移資料的目的。保證2個fdfs之間的是可以通訊的。具體遷移步驟細節如下:
前提:
新環境的fastdfs的tracker和storage服務都已經啟動
老環境:
tracker 192.168.1.13:22122
storage 192.168.1.13:23000
新環境:
tracker 192.168.1.17:22122
storage 192.168.1.17:23000
遷移順序:
1、停止新環境(192.168.1.17)的storage服務
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop
2、修改/etc/fdfs/storage.conf 將 tracker_server 改為 老的 tracker_server
tracker_server=192.168.1.17:22122 改為 192.168.1.13:22122
3、啟動新環境的storage服務
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
檢視狀態
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
storage狀態列表:
# FDFS_STORAGE_STATUS:INIT :初始化,尚未得到同步已有資料的源伺服器
# FDFS_STORAGE_STATUS:WAIT_SYNC :等待同步,已得到同步已有資料的源伺服器
# FDFS_STORAGE_STATUS:SYNCING :同步中
# FDFS_STORAGE_STATUS:DELETED :已刪除,該伺服器從本組中摘除
# FDFS_STORAGE_STATUS:OFFLINE :離線
# FDFS_STORAGE_STATUS:ONLINE :線上,尚不能提供服務
# FDFS_STORAGE_STATUS:ACTIVE :線上,可以提供服務
4、停止新環境的storage服務
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop
5、調整storage的檔案列表(/home/fastdfs/storage)
storage server需要調整的檔案列表:
data/.data_init_flag(將sync_src_server配置項留空,其它配置項不變)
data/sync/{ip_addr}_{port}.mark:此類檔案,需要將檔名中的IP地址調整過來
cd /home/fastdfs/storage/data/sync
mv 192.168.1.13_23000.mark 192.168.1.17_23000.mark
6、修改新環境,將新環境的storage的tracker改為新的tracker /etc/fdfs/storage.conf 將
tracker_server=192.168.1.13:22122 改為 192.168.1.17:22122
7、啟動新環境的storage服務
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
三、理解storage,traceker 節點。FastDFS Tracker及Storage節點是可以新增的,也是可以刪除的。tracker節點之間是leader和follow關係,storage節點之間是對等關係。
參考網友的如下文章: https://www.cnblogs.com/sunmmi/articles/7209308.html
1.fastdfs七種狀態
1
2
3
4
5
6
7 |
# FDFS_STORAGE_STATUS:INIT :初始化,尚未得到同步已有資料的源伺服器 # FDFS_STORAGE_STATUS:WAIT_SYNC :等待同步,已得到同步已有資料的源伺服器 # FDFS_STORAGE_STATUS:SYNCING :同步中 # FDFS_STORAGE_STATUS:DELETED :已刪除,該伺服器從本組中摘除 # FDFS_STORAGE_STATUS:OFFLINE :離線 # FDFS_STORAGE_STATUS:ONLINE :線上,尚不能提供服務 # FDFS_STORAGE_STATUS:ACTIVE :線上,可以提供服務 |
2.正常狀態必須是ACTIVE
1
2
3
4
5 |
[root@tracker02 ~]
# fdfs_monitor /etc/fdfs/client.conf | grep ACTIVE
ip_addr = 10.1.8.45 ACTIVE
ip_addr = 10.1.8.46 ACTIVE
ip_addr = 10.1.8.54 ACTIVE
ip_addr = 10.1.8.55 ACTIVE |
3.增加Storage節點(透過配置,自動加入)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 |
# 安裝Storage並配置mod_fastdfs.conf及storage.conf,設定fdfs_storaged及nginx自啟動 vim
/etc/fdfs/storage
.conf tracker_server=10.1.8.43:22122 tracker_server=10.1.8.44:22122 vim
/etc/fdfs/mod_fastdfs
.conf tracker_server=10.1.8.43:22122 tracker_server=10.1.8.44:22122 ...... [group1] group_name=group1 storage_server_port=23000 store_path_count=1 store_path0=
/data/fastdfs/data # 啟動新加的storage節點(會自動同步相同group的內容) /etc/init
.d
/fdfs_storage
start # 執行fdfs_monitor /etc/fdfs/client.conf檢視叢集同步情況(會看到新增的storage節點) fdfs_monitor
/etc/fdfs/client
.conf |
4.刪除Storage節點及刪除後重新加入(透過fdfs_monitor刪除)
1
2
3
4
5
6
7 |
# 停止某個storage節點 /etc/init
.d
/fdfs_storage
stop fdfs_monitor
/etc/fdfs/client
.conf delete group1 10.1.8.x # 檢視叢集情況 fdfs_monitor /etc/fdfs/client.conf 可以到對應的storage節點狀態為DELETED fdfs_monitor
/etc/fdfs/client
.conf |
5.重新加入storage節點
1
2
3
4
5 |
# 啟動被刪除的storage節點,檢視叢集狀態,一開始會是 OFFILINE狀態 fdfs_monitor
/etc/fdfs/client
.conf # 過一會兒再檢視叢集狀態,顯示為ACTIVE狀態 fdfs_monitor
/etc/fdfs/client
.conf |
6.增加Tracker節點
1
2
3
4
5
6
7 |
# 在所有storage節點的storage.conf, mod_fastdfs.conf 中配置多條tracker_server記錄 tracker_server=10.2.x.1:22122 tracker_server=10.2.x.2:22122 # 在client.conf中也配置多條tracker_server記錄 執行 fdfs_monitor
/etc/fdfs/client
.conf 檢視叢集情況,可以看到tracker_serve_count變為2 另外可以指定tracker,進行叢集監控 fdfs_monitor
/etc/fdfs/client
.conf -h 10.2.x.1 list |
7.刪除Tracker節點
1 |
去掉配置檔案中不需要的tracker_server的記錄,停止對應伺服器上的tracker程式 |
8.storage不同步處理
1
2
3
4
5
6
7
8
9
10
11 |
# 從叢集中刪除storage fdfs_monitor
/etc/fdfs/client
.conf delete group1 10.1.8.101 # 刪除資料資料夾 rm
-rf
/home/storage1/fastdfs/data # 重啟storage fdfs_storaged
/etc/fdfs/storage
.conf # 重新查狀態 fdfs_monitor
/etc/fdfs/client
.con |
四、同步問題的排查,之間同步遷移遇到很多問題,排查主要靠檢視日誌和使用 fdfs_monitor工具
日誌存放目錄:
錯誤日誌是每個程式都有一個,啟動bin/fdfs_storaged /opt/fastdfs_lifekh-mp/conf/storage_accsett.conf
錯誤日誌在base_path下面會有一個logs資料夾
/data/fastdfs_lifekh-mp/accsett/logs/storaged.log
同步遷移的時候方便監聽狀態工具: fdfs_monitor ,這個工具非常有用。
fdfs_monitor
/etc/fdfs/client
.conf
參考文章: https://www.cnblogs.com/sunmmi/articles/7209308.html
https://www.cnblogs.com/aresxin/p/4952600.html
https://www.cnblogs.com/hanpengblog/p/fastdfs.html
https://blog.csdn.net/markfengfeng/article/details/102528782
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30393770/viewspace-2760380/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Fastdfs資料遷移方案AST
- FastDFS檔案系統遷移和資料恢復AST資料恢復
- 品味FastDFS~目錄AST
- FastDFS-nginx外掛作為FastDFS客戶端訪問ASTNginx客戶端
- FastDFS概述AST
- FastDFS與Nginx的搭建及遇到的問題ASTNginx
- FastDFS安裝fastdfs-nginx-module和nginxASTNginx
- 分散式檔案儲存FastDFS(三)FastDFS配置分散式AST
- DFS 避坑手記 (docker 搭建 fastDFS 教程 / 在 CentOS 上搭建 FastDFS+nginx)DockerASTCentOSNginx
- FastDFS NET示例AST
- Oracle遷移資料庫過程記錄Oracle資料庫
- 記錄一次XTTS遷移碰到的問題TTS
- 品味FastDFS~第三回 專案中的FastDFSAST
- 遷移資料庫資料考慮問題資料庫
- 資料遷移部分問題總結
- 記錄一次問題排查
- fastdfs管理工具Go-fastdfs-web 安裝教程ASTGoWeb
- Linux下FastDFS分散式儲存-總結及部署記錄LinuxAST分散式
- FastDFS 技術整理AST
- 三、 FastDFS功能原理AST
- 一、 Fastdfs介紹AST
- fastdfs詳細配置AST
- FastDFS簡易概括AST
- FastDFS的配置、部署與API使用解讀(1)Get Started with FastDFSASTAPI
- 使用資料泵遷移遇到的問題
- 使用bulkCollect解決資料遷移問題
- WindowsServer 2012資料庫遷移記錄WindowsServer資料庫
- 分散式檔案儲存FastDFS(七)FastDFS配置檔案詳解分散式AST
- FastDFS的配置、部署與API使用解讀(7)Nginx的FastDFS模組ASTAPINginx
- 資料問題排查思路
- FastDFS簡介,運用AST
- FastDFS入門小DemoAST
- linux安裝fastdfsLinuxAST
- 資料遷移中需要考慮的問題
- docker如何遷移資料目錄Docker
- 記一次 MySQL 資料庫問題排查MySql資料庫
- 【FastDFS】SpringBoot整合FastDFS實戰,我只看這一篇!!ASTSpring Boot
- 記錄一次遷移環境 .env 出現的問題