Linux系统的快照是什么,linux – 文件系统快照与简单复制文件有何不同?
通過做這個,
# btrfs subvolume snapshot /mnt/1 /mnt/1/snapshot
# tree /mnt/1
/mnt/1
├── a
├── snapshot
│ ├── a
│ └── subv
└── subv
└── b
3 directories, 3 files
我們可以在btrfs上從/ mnt / 1創(chuàng)建快照.
我的問題是:
使用快照比使用rsync簡化備份文件系統(tǒng)有什么好處?
解決方法:
快照可以被視為復制的一個特例,但不同于復制.
我不是很熟悉Btrfs的細節(jié),但以下內容適用于ZFS,Btrfs從中吸取了很多靈感.顯然是Btrfs snapshots are actually read/write,使它們與ZFS file system clones更相似,但這并沒有改變它們與文件副本的關系.
快照是文件系統(tǒng)狀態(tài)的只讀時間點副本.
這是有效的,因為Btrfs和ZFS都是所謂的Copy On Write文件系統(tǒng).每當更改數(shù)據塊時,更改的數(shù)據將寫入與原始副本不同的磁盤上的位置.這樣做的主要好處是它大大提高了可靠性:因為需要覆蓋的數(shù)據非常少,所以導致數(shù)據丟失的問題可能性大大降低.但是,還有其他優(yōu)點.一個這樣的優(yōu)點是您可以有效地進行文件系統(tǒng)級快照.一個主要的缺點是,隨著存儲空間的填滿,它會大大增加存儲碎片,因為塊分配器很難在任何地方找到物理存儲副本的地方.事實上,建議到keep ZFS pool usage below 80%,大概不是因為這個原因.
快照基本上告訴文件系統(tǒng)代碼“仍然需要這些塊”.因此,它們不會被回收并可能被新數(shù)據覆蓋.但是,它們仍然引用相同的舊數(shù)據塊.
現(xiàn)在,與使用rsync,cp,cat或其他任何東西簡單地制作副本有何不同?它是不同的,因為在數(shù)據實際更改之前,不會生成額外的數(shù)據物理副本.
這就像立體聲的硬連接;在以不同名稱訪問文件時,使用相同的數(shù)據物理磁盤副本.不同之處在于,對于硬鏈接,對一個名稱下的文件的更改會傳播到每個其他副本,因為它們實際上引用了相同的數(shù)據塊.通過寫時復制和快照,更改的塊僅顯示在更改的位置. (對于只讀快照,這意味著在文件的“當前”版本中.)您還只需要重寫實際已更改的塊;其余的塊正好留在原處.例如,對于快照files containing VM disk images這樣的事情,這可能會使存儲在磁盤上所需的數(shù)據量產生巨大差異.
所以,回顧一下:
>快照只需要更改塊所需的磁盤空間.復制需要的份數(shù)乘以文件大小.
>快照是只讀或讀/寫,具體取決于文件系統(tǒng)設計.副本是按設計讀/寫的.
>副本是獨立的.快照引用與文件當前版本相同的數(shù)據塊,直到文件的當前版本發(fā)生變化(全部或部分).
標簽:linux,backup,filesystems,snapshot,btrfs
來源: https://codeday.me/bug/20190812/1643981.html
總結
以上是生活随笔為你收集整理的Linux系统的快照是什么,linux – 文件系统快照与简单复制文件有何不同?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 秀才遇到兵歇后语下一句是什么啊?
- 下一篇: debian linux忘记密码,deb