由于歷史原因文件數(shù)據(jù)被存到兩套FastDFS環(huán)境中,由于項目需求需要將兩套環(huán)境合為一個,需要提供統(tǒng)一的接口來訪問數(shù)據(jù),這時就要將兩套環(huán)境的數(shù)據(jù)合并到一起了。檢查發(fā)現(xiàn)兩套FastDFS上傳生成的Key不同,顧這里不用考慮文件沖突的問題。
簡單驗證了下,將環(huán)境B的storage直接拷貝到環(huán)境A,并通過環(huán)境A的域名進(jìn)行訪問,是可以做到數(shù)據(jù)合并(FastDFS通過Nginx訪問數(shù)據(jù),故只要Nginx指向的路徑上存在文件,訪問是沒問題的)。但是這帶來一個問題,后期FastDFS擴(kuò)容增加節(jié)點時,這些拷貝過來的文件由于不被環(huán)境A的tracerServer所識別,所以這部分?jǐn)?shù)據(jù)在擴(kuò)容后可能會出現(xiàn)異常。
FastDFS4.0后新增storage_id功能,可以為每個storage的節(jié)點指定id別名。當(dāng)storage遷移時,若遷移后的IP與原服務(wù)IP不一致時,只需修改ID的指向即可完成遷移。此次由于兩套環(huán)境都未開啟storage_id,故只需在兩套環(huán)境分別開啟,并為其分配不同的id(id不能不沖突)。然后在環(huán)境A上新增一個節(jié)點,新節(jié)點使用的ID是環(huán)境B已經(jīng)指定的id,再將環(huán)境B的數(shù)據(jù)放到這個新增節(jié)點上,這樣兩個節(jié)點之間會自動相互同步數(shù)據(jù),實現(xiàn)合并。
若已經(jīng)開啟storage_id,且id沖突,這里猜想只需擴(kuò)容一次,分配到一個新ID,將新ID的數(shù)據(jù)遷移過去再合并即可。
1. 修改/etc/fdfs/tracker.conf
#use_storage_id = false
use_storage_id = true
將100001的ID分配給環(huán)境A(192.168.1.49),將100002的ID分配給環(huán)境B(172.18.73.129)
2. 修改環(huán)境A /etc/fdfs/storage_ids.conf
[root@localhost fdfs]# cat /etc/fdfs/storage_ids.conf
# <id> <group_name> <ip_or_hostname>
100001 group1 192.168.1.49
# 100002 group1 192.168.0.116
3.修改環(huán)境B /etc/fdfs/storage_ids.conf
[root@localhost fdfs]# cat storage_ids.conf
# <id> <group_name> <ip_or_hostname>
# 100001 group1 192.168.0.196
100002 group1 172.18.73.129
#生成環(huán)境A的文件摘要
[root@localhost ~]# find /data/fastdfs/storage/data/ -type f -print0 | xargs -0 md5sum > /tmp/1.49.md5
#生成環(huán)境B的文件摘要
[root@localhost ~]# find /data/fastdfs/storage/data/ -type f -print0 | xargs -0 md5sum > /tmp/73.129.md5
#備份環(huán)境A數(shù)據(jù),當(dāng)合并失敗時可用于回滾
[root@localhost data]# cd /data/
[root@localhost data]# tar -czf fastdfs-1.49.bak.tar.gz fastdfs/
#備份環(huán)境B數(shù)據(jù),用于遷移合并
[root@localhost data]# cd /data/
[root@localhost data]# tar -czf fastdfs-73.129.bak.tar.gz fastdfs/
#修改192.168.1.49 /etc/fdfs/storage_ids.conf,增加10002的信息(此前10002已經(jīng)預(yù)配置為環(huán)境B)
[root@localhost data]# cat /etc/fdfs/storage_ids.conf
# <id> <group_name> <ip_or_hostname>
100001 group1 192.168.1.49
100002 group1 192.168.1.50
#在192.168.1.50安裝FastDFS,修改/etc/fdfs/storage.conf中的服務(wù)器信息(與49使用同一tracker,先不啟動)
bind_addr=192.168.1.50
tracker_server=192.168.1.49:22122
#重啟1.49的tracker服務(wù)
[root@localhost data]# ps -ef|grep trac
root 1938 1 0 10:55 ? 00:00:00 /usr/local/FastDFS/bin/fdfs_trackerd /etc/fdfs/tracker.conf
root 2079 2014 0 11:49 pts/2 00:00:00 grep trac
[root@localhost data]# kill 1938
[root@localhost data]# /usr/local/FastDFS/bin/fdfs_trackerd /etc/fdfs/tracker.conf
#將172.18.73.129的數(shù)據(jù)拷貝到1.50的storage上
#啟動1.50的storage服務(wù)
[root@localhost etc]# /usr/local/FastDFS/bin/fdfs_storaged /etc/fdfs/storage.conf
可以看到只有dat和binlog文件的MD5校驗不通過,由于合并時這兩個文件會被修改,所有這里不用擔(dān)心。另外沒有出現(xiàn)文件丟失的情況。
前面已經(jīng)完成了兩個環(huán)境的數(shù)據(jù)合并,從校驗結(jié)果上可以看出所有用戶文件都已經(jīng)正常同步,此處可以測試另加一個storage節(jié)點進(jìn)一步論證合并成功的結(jié)論。若合并后的數(shù)據(jù)能完整的同步到新增節(jié)點上,說明合并的信息完整的記錄到FastDFS中,確保合并是成功的。
新增一臺storage節(jié)點,假定IP:192.168.1.51,指定ID為100003。
#修改192.168.1.49 /etc/fdfs/storage_ids.conf,增加10002的信息(此前10002已經(jīng)預(yù)配置為環(huán)境B)
[root@localhost data]# cat /etc/fdfs/storage_ids.conf
# <id> <group_name> <ip_or_hostname>
100001 group1 192.168.1.49
100002 group1 192.168.1.50
100003 group1 192.168.1.51
#在192.168.1.51安裝FastDFS,修改/etc/fdfs/storage.conf中的服務(wù)器信息
bind_addr=192.168.1.51
tracker_server=192.168.1.49:22122
#重啟1.49的tracker服務(wù)
[root@localhost ~]# ps -ef|grep trac
root 2082 1 0 11:49 ? 00:00:00 /usr/local/FastDFS/bin/fdfs_trackerd /etc/fdfs/tracker.conf
root 2178 2014 0 12:14 pts/2 00:00:00 grep tra
[root@localhost ~]# kill 2082
[root@localhost ~]# /usr/local/FastDFS/bin/fdfs_trackerd /etc/fdfs/tracker.conf
#啟動1.51的storage服務(wù)
[root@localhost etc]# /usr/local/FastDFS/bin/fdfs_storaged /etc/fdfs/storage.conf
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)頁標(biāo)題:如何合并兩套環(huán)境的FastDFS數(shù)據(jù)?-創(chuàng)新互聯(lián)
文章地址:http://jinyejixie.com/article16/dhdogg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站營銷、搜索引擎優(yōu)化、網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容