自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于文件存儲(chǔ)NAS數(shù)據(jù)遷移初探

存儲(chǔ) 存儲(chǔ)設(shè)備
具體的場(chǎng)景是用戶的數(shù)據(jù)在某種存儲(chǔ)設(shè)備上,我們要將數(shù)據(jù)搬遷至NAS文件系統(tǒng)。這里還分為靜態(tài)遷移和動(dòng)態(tài)遷移,靜態(tài)遷移是指原始數(shù)據(jù)在遷移期間不會(huì)改變,而動(dòng)態(tài)遷移是原始數(shù)據(jù)一直在更新。相對(duì)來說,靜態(tài)遷移要比動(dòng)態(tài)遷移容易很多。

 阿里云文件存儲(chǔ)(Network Attached Storage,簡(jiǎn)稱NAS)是面向阿里云ECS實(shí)例、HPC和Docker的文件存儲(chǔ)服務(wù),提供標(biāo)準(zhǔn)的文件訪問協(xié)議,用戶無需對(duì)現(xiàn)有應(yīng)用做任何修改,即可使用具備***容量及性能擴(kuò)展、單一命名空間、多共享、高可靠和高可用等特性的分布式文件系統(tǒng)。相比于傳統(tǒng)的存儲(chǔ)設(shè)備,NAS所具有的高容量、高可靠、多共享等特性是現(xiàn)在諸多企業(yè)迫切需要的,能夠解決他們對(duì)現(xiàn)有系統(tǒng)在性能、擴(kuò)展性方面的需求。傳統(tǒng)解決方案如何上云,***步就是原始數(shù)據(jù)的搬遷問題,如何做到不停服無縫搬遷,在很多場(chǎng)景下是非常棘手的問題,下面做簡(jiǎn)單介紹。

[[207236]]

具體的場(chǎng)景是用戶的數(shù)據(jù)在某種存儲(chǔ)設(shè)備上,我們要將數(shù)據(jù)搬遷至NAS文件系統(tǒng)。這里還分為靜態(tài)遷移和動(dòng)態(tài)遷移,靜態(tài)遷移是指原始數(shù)據(jù)在遷移期間不會(huì)改變,而動(dòng)態(tài)遷移是原始數(shù)據(jù)一直在更新。相對(duì)來說,靜態(tài)遷移要比動(dòng)態(tài)遷移容易很多。

靜態(tài)遷移的主要步驟如下:

1. 將原始數(shù)據(jù)拷貝到NAS。

2. 分別計(jì)算原始數(shù)據(jù)和NAS上數(shù)據(jù)每個(gè)文件的MD5值,全部匹配就結(jié)束,如果哪些文件不匹配,重新拷貝之后再進(jìn)行第2步。

動(dòng)態(tài)遷移的主要步驟如下:

1. 設(shè)定一個(gè)時(shí)間點(diǎn)T1,一般為當(dāng)前之間。把***修改時(shí)間在T1之前的數(shù)據(jù)全部拷貝到NAS。

2. 像靜態(tài)遷移一樣,計(jì)算MD5值,確保T1之前的文件全部遷移完畢。第二步完工的時(shí)間點(diǎn)為T2。根據(jù)搬遷的復(fù)雜性,T1和T2間隔可能幾小時(shí),長(zhǎng)的可能數(shù)天。

3. 獲取***修改時(shí)間在T1和T2之間的所有文件,將這部分文件拷貝到NAS,并做MD5校驗(yàn)。這步完工的時(shí)間點(diǎn)為T3。

理想的狀態(tài),如果上述動(dòng)態(tài)遷移T2和T3之間的時(shí)間非常短的話(比如10分鐘),可以考慮在凌晨業(yè)務(wù)量比較小的時(shí)候把業(yè)務(wù)遷移上云。但在一些特殊場(chǎng)景下,比如原始數(shù)據(jù)文件特別多(幾千萬,上億的小文件),這個(gè)時(shí)候遍歷掃描所有文件的meta信息,獲取T1之后修改過的文件就很慢了,比較差的情形T2和T3的差距會(huì)有兩三天。

如何解決這個(gè)問題呢?linux內(nèi)核從2.6.13版本開始提供一個(gè)叫inotify的功能,可以監(jiān)控文件系統(tǒng)目錄級(jí)別的改動(dòng)。在centos下面直接安裝inotify-tool這個(gè)工具就好了,yum install inotify-tools。要想監(jiān)控/aaa/bbb目錄下面所有的文件改動(dòng)只需要執(zhí)行inotifywait -rm /aaa/bbb/ 就可以了,所有的改動(dòng)都會(huì)打印出來。 不過這個(gè)又引入了另外一個(gè)問題,inotify的內(nèi)核支持是非常消耗資源的,在64bit系統(tǒng)下面,監(jiān)控一個(gè)目錄需要消耗1kB的內(nèi)存資源,也就是監(jiān)聽1000萬的目錄就需要10GB的內(nèi)存。因此在目錄特別多的情況下,要合理的控制inotify的監(jiān)控目錄數(shù),必要情況下需要綜合運(yùn)用inotify+目錄文件掃描的方法來縮短T2和T3的時(shí)間間隔。

下面針對(duì)NAS的特性講講具體應(yīng)該怎么拷貝數(shù)據(jù)。NAS目前支持NFSv3、NFSv4.0和SMB協(xié)議(***一個(gè)目前正在公測(cè)中),這些協(xié)議都是標(biāo)準(zhǔn)的文件訪問協(xié)議,即只要用上述協(xié)議掛載上了NAS之后,就和讀寫本地盤沒有差別了。NAS和本地盤***的區(qū)別在于支持高并發(fā)、多共享,所以如果條件允許,數(shù)據(jù)上傳需要做到多線程、多機(jī)并發(fā)拷貝。

下面通過幾個(gè)例子,簡(jiǎn)單介紹在目前的條件限制下如何快速遷移數(shù)據(jù)到NAS:

Case 1: 原始數(shù)據(jù)在ECS的云盤上

這種情況是所有數(shù)據(jù)搬遷中最簡(jiǎn)單的,由于數(shù)據(jù)已經(jīng)在云上,只不過是把他們從云盤搬到NAS。***步掛載NAS文件系統(tǒng),第二步多線程并發(fā)拷貝。SSD云盤的讀取速度能夠到300MB/s,NAS根據(jù)所購(gòu)買的存儲(chǔ)包和實(shí)際使用容量,帶寬從100MB/s到560MB/s不等。

Case 2: 原始數(shù)據(jù)在阿里云OSS上

這種情況需要借助OSS提供的SDK,移步這里。主要思路也是并發(fā)拷貝,一個(gè)線程把oss一個(gè)bucket下面的object的key列出來,然后同時(shí)起多個(gè)線程讀取oss的object寫入nas。

Case 3: 數(shù)據(jù)在客戶IDC,NAS在阿里云VPC

這種情況下IDC的服務(wù)器跟阿里云vpc內(nèi)的ecs是網(wǎng)絡(luò)不通的,而且目前NAS還不支持http協(xié)議的訪問。因此解決方案一種方式是拉專線,直接連通IDC服務(wù)器和阿里云ECS服務(wù)器,先把數(shù)據(jù)上傳ECS,再上傳到NAS。第二種方案,不用專線直接走公網(wǎng),中間轉(zhuǎn)接用OSS,用戶先把數(shù)據(jù)通過http推到阿里云OSS上,再把OSS上的數(shù)據(jù)拷貝到NAS。參考case2.

以上是數(shù)據(jù)遷移中幾個(gè)簡(jiǎn)單的例子,實(shí)際的情況要更復(fù)雜一些,比如如何實(shí)現(xiàn)斷點(diǎn)續(xù)傳,流量控制,文件名編碼問題,權(quán)限問題等。如果對(duì)這些問題有興趣或者對(duì)文章有疑問,歡迎探討。

責(zé)任編輯:武曉燕 來源: 阿里云
相關(guān)推薦

2017-07-13 08:26:47

NAS存儲(chǔ)數(shù)據(jù)

2018-10-29 13:07:15

HBase存儲(chǔ)遷移

2021-06-29 07:03:49

網(wǎng)絡(luò)攻擊惡意軟件漏洞

2014-05-21 13:26:28

公有云存儲(chǔ)云計(jì)算

2010-08-03 11:36:00

NAS NFS

2015-07-01 15:39:52

Ceph云存儲(chǔ)NAS

2021-05-30 19:01:59

工具IAST網(wǎng)絡(luò)

2016-12-22 18:03:18

存儲(chǔ)

2017-07-10 09:02:24

NAS存儲(chǔ)云存儲(chǔ)

2018-01-03 08:47:12

集群NAS存儲(chǔ)

2018-10-15 16:25:17

Riverbed華為

2018-07-25 08:57:42

存儲(chǔ)數(shù)據(jù)遷移

2018-10-31 11:09:55

python數(shù)據(jù)存儲(chǔ)

2018-04-28 09:20:19

DASNASSAN

2018-05-16 09:39:06

2017-11-08 08:31:57

NAS存儲(chǔ)移動(dòng)硬盤

2017-12-04 08:37:31

存儲(chǔ)空間NAS

2011-10-19 07:58:50

2013-06-24 09:34:05

云存儲(chǔ)谷歌云存儲(chǔ)數(shù)據(jù)遷移
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)