碎碎念
NAS最初的设定就是网络区域存储,在企业的Windows应用场景中很少会在Nas的Web UI上直接操作文件,而是通过Windows 的previous version(打开\vault后右键空白区域,点击属性,点击历史版本)来控制和回退历史文件版本,这样可以简化操作,减少误操作风险(例如对快照的误删除)。
这一点,常见的企业级NAS基本都有实现,例如我公司里在用NETAPP,开源的文件系统(eg. zfs,btrfs)也做了这方面的适配,fnOS目前使用的btrfs也支持让windows通过smb协议读取btrfs的快照,这样的话,快照时间点存在的文件被误删除了可以直接在windows层面恢复,不用再登录到Web UI
以下正文部分:
创建btrfs子卷和.snapshot子卷
忘了在哪篇document里看到了,shadow copy2特性依赖于subvolume,可以让后端验证一下。
btrfs subvolume create @share
btrfs subvolume create @share/.snapshots
快照案例
创建快照可以crontab实现
btrfs subvolume snapshot -r /data/@share /data/@share/,snapshots/@GMT-`date +%Y.%m.%d-%H.%M.%S`
fnOS我只是初步使用,不知道有没有用UTC时间,如有,则 date -u
然后调整/etc/samba/smb.conf
[share]
path = /data/@share
browseable = yes
writable = yes
valid users = @smbusers
shadow:format = @GMT_%Y.%m.%d-%H.%M.%S`
shadow:sort = desc
shadow:snapdir =.snapshots
重启服务,windows上就能看到previous version了
在公司没法截图,以上在rhel7做的测试,只要fnOS没有做文件系统层面的开发,是肯定可以复现的