• 4

請教一下.RAID和快照snapshot.取代?.功能性?


bgk48652046 wrote:
這邊順便請益一下,我NAS重建後,以RAID6是否資料安全性會高於兩者。...(恕刪)


前面網友已經提及, RAID 和 snapshot 屬於不同的應用. 不存在誰能完全取代對方.

但如你原使用 RAID5, 改用 RAID6 會在資料保護上得以提升.
FB: Pctine
EluSiOn wrote:
cow 的檔案格式的 file system,snapshot 是不太佔 hd 的空間的,而且只有修改過部分的檔案的部分區塊,才會佔空間。如果你修改一個 1個小時長的 1080p 的 Video, 但你只修改前面30秒, 那麼 snapshot 只會針對那個修改過的 30秒的區塊進行記錄。所以快照是非常節省空間,因為它運行的機制是 block level 而不是 file level....(恕刪)


在一些文件上提到的 CoW '理論' 上是如此沒有錯.

但小弟有一些疑問.

1.有關 "修改過的部份區塊才會佔空間" 此說法, 到底系統是如何判斷那些 block 被修改過? 例如一個 file 它佔用了 100 個 block, 在 editor 編修時, 它可能一次就把 100 個 block 全讀入 system, 在回存時也一次就回寫 100 個 block? 難道系統此時會去逐一比對這 100 個 block 有那些 block 異動了嗎? 感覺這種可能性好像不高, 因為它蠻耗時的.

2.同樣道理, 在 1 個小時長的 1080p video, 它雖然只修改了前 30 秒, 但重新 encode 影片時, 整部影片 data block 都產生 offset 了, 此時可能變成所有的 block 都和原檔案不符. 豈不是還是變成整部片要重存一次?

FB: Pctine
其實就目前的演算法來說
是可以知道那些blocks有修改, 而且也不算是太耗效能
但問題點是以這樣的做法來看 會是比較像RAID的做法 而不是快照

NAS的快照因為不是DB的快照 所以在即時性上的要求並不高
以這個做法來說, file level的快照並不會照成系統多大的負擔
My Flickr: www.flickr.com/photos/wuwaiter/
wuwaiter wrote:
其實就目前的演算法來說
是可以知道那些blocks有修改, 而且也不算是太耗效能...(恕刪)


願聞其詳, 這裡指的演算法是應用程式為之? 還是作業系統為之? 這是不一樣的狀況.

舉例來說, 如果是應用程式自行去比對出那些 block 異動, 然後只去重新寫入異動的 block, 這是最理想的狀況, 因為它已經自行告訴作業系統我要去異動那些 block 的資料.

但另一種狀況是, 應用程式自己根本就不做這些事, 它一次就把所有的資料重新寫回, 這就是我的疑問, 難道在循序寫入時. OS還要逐一再讀取原本的資料去比較 block 有沒有異動嗎?我想這可能性是很低的.

在 wiki 上面所寫:

Copy-On-Write (CoW)
By default, Btrfs performs copy-on-write for all files, at all times: If you write a file that did not exist before, then the data is written to empty space, and some of the metadata blocks that make up the filesystem are copied-on-write. In a traditional filesystem, if you then go back and overwrite a piece of that file, then the piece you are writing is put directly over the data it is replacing. In a CoW filesystem, the new data is written to a piece of free space on the disk, and only then is the file's metadata changed to refer to the new data. The old data that was replaced can then be freed up if nothing points to it any more.
Copy-on-write comes with some advantages, but can negatively affect performance with large files that have small random writes because it will fragment them (even if no "copy" is ever performed!). It is recommended to disable copy-on-write for database files and virtual machine images.


看起來是由應用程式去決定僅異動部份的 block. 不過終歸 snapshot 有它自己的機置去判斷出從前一次 snapshot 至此次所拍的快照, 僅去紀錄這中間的異動部份.

FB: Pctine

pctine wrote:
願聞其詳, 這裡指...(恕刪)


底下是就我的認知:
快照(snapshot) 出來很久了,至少六七年以上,ZFS格式是主因,也有一些廠商自行研發、或修改zfs的原理來做,七年前第一次看到是netapp上做的snapshot,也是有同樣的疑問,真的看到實際廠商的展示,確實也如此,當然現在隨便用台pc,架freenas之類的,snapshot到處都是。

但就像你說的cpu、ram肯定需求不低,要到一個等級,而且這些技術,除snapshot外,合併檔案之類的,也是同樣的原理,許多相同的file,共用同一個block,不同的部份記錄另外的block,這也是非常棒的技術,當然cpu、ram也是要足夠使用。

所以就我的認知,研究一下zfs格式的運作原理,就大致上了解shapshot的原理。

供參考,如有不對,請多多指教。
pctine wrote:
在一些文件上提到的 CoW '理論' 上是如此沒有錯.


1. 為了防止 silent data corruption, 每一個 block 寫入時, 都要有 checksum 這個值, 未來執行自我檢查時, 來確認每一個 block 的 checksum 是否有變動. 所以這個比對只會針對當初那個檔案所佔的 100個 block. 像是 zfs 的 dedup 功能, 就是利用這個 checksum, 但是它比對的是整個 pool 的 data, 而不是針對那 100個 block.

2. 嘗試以 block level 去思考. 1個 4gb 的 data 寫在 HD 上, 一定是佔很多個 storage block, 看是 4k/8k/64k (根據 hd 以及 file system), 不要想 video 的時間軸, 因為 video 修改, 有時會減去 1~18秒, 或是增加/修改, 但是只要沒有變動的部分, 它寫入的 data block 的 checksum 是不會變的, 那時候 cow 就會用舊的 data block, 而不用真正寫入數據了.

Snapshot 的技術 是絕對需要 kernel 的原生支援的, 就像是在 linux 裡面我很喜歡使用一個 kernel function, 就是 inotify, 只要某一個 directory 裡面的檔案有變動, 或是某一個檔案修改, 執行下面的動作, 這個 inotify 跟一般的 watchdog 不一樣, inotify 是即時而且不佔系統資源. 但是開 watchdog 就要大量的資源, 定時讀取那些檔案的 checksum 檢查是否有變動. CoW 有一個 table 記錄每一個 datablock 的checksum 以及那些 datablock 是屬於那個檔案等等的資料, 所以這部分是 CoW filesystem 的核心, 如何使用最少的資源快速執行真的就是各家 CoW filesystem 的高手們專業領域, 特別是現在 storage admin 對於 filesystem 要求已經不是單單資料儲存而已了, 要求壓縮/加密/ACL/XATTR 等無限多功能, 又要求可以處理 HD 替換, 變大 或是擴充總容量等硬體變化的需求. 所以現在的 file system 已經慢慢變成 Software Define Storage 的模式. LVM 擁有 SDS 的雛形, 而 zfs 是完整的 SDS. 對於完整的 SDS, 硬體 RAID 反而是多餘的.

現在其實為了資料安全性, 依靠 RAID 或是 snapshot 越來越少, 大部分開始依靠的是 Distributed File System, 像是 GlusterFS 跟 Ceph Storage cluster 就是新一代的 storage 模式.
Oneplus 8 Pro• Thinkpad T480s• PVE6+OMV4+NextCloud

pctine wrote:
synology ...(恕刪)


P大您好:

關於synology的快照,只開放給較高階機種這個部分

是否代表快照這個功能,其所需的效能耗比是要比較高的

如CPU跟RAM要有一定等階,才可處理快照呢?

不然辛辛苦苦開發這個功能,低階機種卻不給用,

這沒啥道理啊!!

---------------------------------------------------------------------------------

我剛去找到華芸官網的說明.他似乎有一種功能也是快照說明如下

台灣,台北,2015 年 08 月 26 日 - 創新領導網路儲存設備 (NAS) 廠商華芸科技 (ASUSTOR Inc.) 今日為所有 ASUSTOR NAS 用戶推出 ADM 2.5 Beta,提供更強大的核心功能應用包括企業實用的虛擬儲存 iSCSI LUN 快照,更快更富彈性的本機備份,及以資料夾為基礎的網路資源回收桶。同時,在 App Central 中也新增了可提升網路維護效率的網管工具 Syslog 伺服器及雲端同步備份DataSync for Microsoft OneDrive 應用程式。ADM 2.5 Beta 全面適用於 ASUSTOR NAS 全系列,歡迎現有用戶更新體驗。

他是適用全機種..代表高低階都可用..那synology怎低階不開放

處理快照所需效能要高????
btrfs file system 沒有硬體上的要求,純粹是 synology 作出的產品區隔而已。

king1020 wrote:
P大您好:關於synology...(恕刪)


那個是 iscsi lun 的快照吧
你要用 iscsi 才有快照的功能
qnap 和 synology 很久以前就有這個功能了
基本上也是沒有機型的限制
asustor 現在算是把這個功能給補齊

king1020 wrote:
關於synology的快照,只開放給較高階機種這個部分
是否代表快照這個功能,其所需的效能耗比是要比較高的
如CPU跟RAM要有一定等階,才可處理快照呢?...(恕刪)


應該是市場區隔, 像在月底即將上市的 synology ds216+ 也有支援 btrfs snapshot, 該機 RAM 為 1GB. 現市售產品支援 snapshot 的也都是有鎖定機種. 例如 qnap ts-x51/x53/x53a..., thecus x86 機種,...
FB: Pctine
  • 4
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?