![“zfs take” 是一个原子操作吗?](https://linux22.com/image/625899/%E2%80%9Czfs%20take%E2%80%9D%20%E6%98%AF%E4%B8%80%E4%B8%AA%E5%8E%9F%E5%AD%90%E6%93%8D%E4%BD%9C%E5%90%97%EF%BC%9F.png)
是zfs receive
原子操作?操作期间,进程是否可以读取或写入接收文件系统zfs receive
?操作完成之前,进程是否可以读取传入快照流中的任何文件zfs receive
?
答案1
zfs receive
确实是原子的。接收成功完成之前,传入的快照不可用。
在接收增量快照期间,接收文件系统不可用(未挂载)。
对于完整文件系统快照的情况,首先就没有接收文件系统。
请注意,原子并不意味着瞬时,只是意味着它是一个全有或全无的操作。
具体来说,如果您不幸在传输过程中损坏了数据,则操作将失败并以数据集回滚/销毁操作结束。如果已发送的数据量很大,这可能会触发大量活动和负载。感谢 Nex7 指出这一点。