Network world發佈了一篇恢復選項:寫入時復制與寫入時重定向快照
快照是一種虛擬的複製,可以快速地恢復數據,但根據不同的實現方式,它們的性能特性也會有很大的差異。本文將介紹兩種常見的快照方法:寫時複製(copy-on-write)和寫時重定向(redirect-on-write),並分析它們的優缺點。
寫時複製是指在對原始數據進行修改之前,將原始數據的塊複製到一個單獨的快照區域,然後再在原始位置寫入新數據。這種方法需要三個I/O操作:一次讀取和兩次寫入。如果要讀取快照中的數據,就需要通過快照系統來訪問,它知道自從快照被創建以來哪些塊發生了變化。
寫時重定向是指在對原始數據進行修改時,將新數據寫入到一個預留的快照存儲區域,並將指針指向新位置,而不是覆蓋原始數據。這種方法只需要一次寫入操作,並且只寫入變化的數據,而不是原始數據的副本。
寫時複製和寫時重定向各有利弊。寫時複製的優點是可以保持原始數據的物理位置的完整性,減少碎片化;缺點是需要更多的I/O操作和存儲空間,影響性能和效率。寫時重定向的優點是可以減少I/O操作和存儲空間,提高性能和效率;缺點是會導致原始數據的物理位置分散,增加碎片化。
因此,在選擇快照方法時,需要根據不同的場景和需求來權衡利弊。例如,如果需要頻繁地創建和刪除快照,或者對性能要求高,那麼寫時重定向可能更適合;如果需要保持原始數據的完整性,或者對碎片化敏感,那麼寫時複製可能更適合。
詳情請看:
Recovery options: Copy-on write vs redirect-on-write snapshots