作者americ (americ)
看板Storage_Zone
标题[请益] NAS 快照 "保留目的端已备份档案"
时间Sat Oct 10 05:23:44 2020
关於快照备份 我的理解为(不知正不正确)
1.新增加的档案会实际产生
2.已存在的档案 只会建立link
在 不勾选"保留目的端已备份档案" 的状态下:
假如昨天晚上第一次备份
备份了abcde五个文件档
今天早上我操作文件时
把cde删除
今天晚上执行快照备份时(差异备份)
它是会去全备份那边 把cde实际的档案删掉吗?
因为如果是把cde实际档案删掉
那不就没办法复原回去第一天晚上abcde的状态了?
所以我在想
或者他是abcde实际档案仍保留
但在今天晚上备份时
是产生cde文件 "负的link" ?
因为这样若要复原 就可以回到第一天abcde晚上的状态
先谢谢回覆!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.231.151.245 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Storage_Zone/M.1602278626.A.648.html
1F:→ ginlom : 完全错误 10/10 08:27
2F:→ aj175 : 完全正确 10/10 11:50
谢谢!请问是说"负的link"那边吗?
3F:→ tomsawyer : 差不多是对的 但不是以档案观点 如果你的nas是ext4 10/10 12:40
谢谢!请问是说"负的link"那边吗? (我是S牌的NAS 是用btrfs的)
4F:→ KevinR : 你要先确认nas是用新世代档案系统(btrfs/zfs) 10/10 19:48
5F:→ KevinR : 还是旧世代的ext4, 两者的快照完全不同 10/10 19:49
谢谢!是btrfs的
另突然想到顺便请教... 修改档案&删除档案, 快照的处理原则是类似的吗?
修改档案, 快照时, 好像是重新产生一个新的实际档案, 然後inode也是新的位置.
那删除档案, 能不能说, 就是产生一个实际的没资料档案, inode是一个代表"空"的位置
※ 编辑: americ (220.129.233.172 台湾), 10/10/2020 20:13:13
6F:→ KevinR : btrfs/zfs是用一棵特殊的二元树来管理区块(区块 10/10 22:11
7F:→ KevinR : 间的链结关系), 快照就是备份那颗树, 所以成本很低 10/10 22:13
8F:→ KevinR : 修改一个位於btrfs的档案时, btrfs会用新的区块来放 10/10 22:18
9F:→ KevinR : 被修改的地方, 然後变更二元树的链结关系. 10/10 22:19
10F:→ KevinR : 假设有个档案占十个区块, 然後5号区块被修改了, 10/10 22:22
11F:→ KevinR : 这时btrfs会生出一个5', 并将4和6连结到5', 但是原 10/10 22:24
12F:→ KevinR : 本的5不会被删除. 以上的动作就是写时复制(COW). 10/10 22:25
13F:→ KevinR : 如果你在修改档案前建了快照, 那回朔就是将4和6 10/10 22:28
14F:→ KevinR : 重新连结到5. 10/10 22:28
15F:→ KevinR : 删除档案也是一样的道理. 跟快照有关连的区块并不会 10/10 22:30
16F:→ KevinR : 被btrfs回收, 所以只要快照还在, 就不用担心原本的 10/10 22:31
17F:→ KevinR : 区块5不见. 10/10 22:31
18F:→ KevinR : 还有就是快照是照整个subvolume(子卷), 并不是照单 10/10 22:37
19F:→ KevinR : 独档案, 所以只要你有删除cde前的快照, 你就可以将 10/10 22:38
20F:→ KevinR : 子卷回朔到删除档案前的状态. 10/10 22:39
谢谢K大, 对於修改档案的部份我明白了!
不过对於删除单个档案之後的快照行为还是不太懂,
如果以下面这个网页, 第4张图(有画快照1跟2那张)来说
https://cilenlin.blogspot.com/2017/03/storage-snapshot.html
如果我接下来就只把B这个档案删掉,
那之後产生的快照3,
https://imgur.com/eO0sq7y
是这样吗?
B的部份, 就快照1跟2就两个count
但快照3问号那边是啥呢?
您所谓的"快照还在"就是指, 但某个档案counter不等於0时, 对吗?
※ 编辑: americ (220.129.233.172 台湾), 10/10/2020 23:24:10
21F:→ KevinR : 那个图看起来不太像btrfs 10/10 23:31
22F:→ KevinR : 一个档案其实就是二元树的某一串分支, 删档就是砍 10/10 23:34
23F:→ KevinR : 分支, 只要你还保留二元树之前的样子(快照), 就可以 10/10 23:36
24F:→ KevinR : 随时把分支接回去. 10/10 23:37
25F:→ KevinR : 你不用想的太复杂, 快照就是照下某个时间点的树的 10/10 23:40
26F:→ KevinR : 形状. 你随时都可以快照, 所以可以保留一堆快照. 10/10 23:43
27F:→ KevinR : 所谓的"快照还在"就是指你还保留某个时间点的树的 10/10 23:44
28F:→ KevinR : 样子, 那你就可以把目前的树改回当时的样子, 所有你 10/10 23:47
29F:→ KevinR : 子卷的变更都会恢复成当时的样子, 不论是新增、修改 10/10 23:48
30F:→ KevinR : 或是删除档案. 10/10 23:49
31F:→ KevinR : btrfs的快照是对子卷(可以把子卷想像成分割区)不是 10/10 23:55
32F:→ KevinR : 个别的档案. 10/10 23:55
谢谢K大!
您这样解释我有更明白了!
快照就是, 例如将某磁碟分割区的所有资料的链结结构存起来.
因为之前网路上找到的快照原理说明, 都是类似上面网址那种的,
所以才都一直用上面那种图来思考.
那树这个结构, counter的观念也是有的吗?
(删快照时, 若某个档案的counter=0, 该档案就实际删掉吗? [我不确定观念对不对] )
可是感觉好像也不太对...
就算快照全删完, 好像也不该会去删到非快照的原始资料
还是说, 由快照产生的档案, 才会有 "counter=0, 该档案就实际删掉" 的问题呢?
※ 编辑: americ (220.129.233.172 台湾), 10/11/2020 00:12:50
33F:嘘 B0988698088 : 你都说快照没了尚存一份实际档案那counter怎麽会0= 10/11 12:40
34F:→ B0988698088 : = 就算你假定counter只是快照算的,那他归0与实际 10/11 12:40
35F:→ B0988698088 : 档案何干?快照软体只处理快照占用空间,本来就不干 10/11 12:40
36F:→ B0988698088 : 涉实际存档案的空间 10/11 12:40
37F:→ B0988698088 : 如果对你来说很复杂,建议你,软体算出来占用多少 10/11 12:41
38F:→ B0988698088 : 空间就多少,也不用烦恼那麽多 10/11 12:41
不太懂你在气什麽
然後空间占用多少 跟备份的完整性 应该是无关
如果你是这样算的 那你的备份资料应该很危险吧
※ 编辑: americ (220.129.233.163 台湾), 10/11/2020 15:40:47
39F:嘘 F04E : 连快照都不懂, 你的备份资料应该更危险 10/11 18:20
我相信如果你懂的话应该会说出点东西来
※ 编辑: americ (36.231.151.245 台湾), 10/11/2020 18:23:07
40F:嘘 F04E : K大已经解释那麽清楚了,你还不懂就去估狗啊 10/11 18:25
41F:嘘 F04E : 如果对你来说很复杂,建议你,乖乖照着nas说明书用 10/11 18:31
42F:→ F04E : 好,也不用烦恼那麽多 10/11 18:32
我也建议你不需要特别换帐号来嘘 可以接着嘘就好
※ 编辑: americ (36.231.151.245 台湾), 10/11/2020 18:35:49
43F:推 Ducklover : 你是用哪一个套件在备份?snapshot replication吗? 10/17 01:27
44F:→ Ducklover : 你说的差异备份,是指做replication? 这个要先弄清 10/17 01:27
45F:→ Ducklover : 楚才能解释XD 10/17 01:28
不好意思现在才看到, 应该是Snapshot Replication套件
(不过NAS现在没在身边没办法100%确认 但应该是)
※ 编辑: americ (36.230.150.28 台湾), 10/17/2020 17:14:52