群晖硬件使用笔记
Table of Contents
1 存储空间 - 记录文件访问时间
这个功能由文件系统中时间标记 ( time flag ) 中的 atime 实现。
Unix 文件系统中有三种时间标记:
- atime ( access time ): 文件上次被读取的时间
- ctime ( status change time ): 文件的属性或内容上次被修改的时间 (inode 变动的时间)
- mtime ( modified time ): 文件的内容上次被修改的时间
下面的命令可以方便地查看这三个时间标记:
#!/bin/bash
echo "ctime: $(ls -lc file | awk '{print $6, $7, $8}')"
echo "atime: $(ls -lu file | awk '{print $6, $7, $8}')"
echo "mtime: $(ls -l file | awk '{print $6, $7, $8}')"
exit 0;
这个功能有三个选项可选,这三个选项分别代表三种 atime 的更新频率:
- 每天:
- 满足 创建文件后,首次访问时 或 访问文件时的系统时间 - 当前 atime 记录的时间 > 24 小时 更新文件的 atime
- atime 更新后,计时器被重置 ( 即 24 小时之内不会更新 atime )
- 每月:
- 满足 创建文件后,首次访问时 或 访问文件时的系统时间 - 当前 atime 记录的时间 > 30 日 更新文件的 atime
- atime 更新后,计时器被重置 ( 即 30 日之内不会更新 atime )
- 永不:
- 永远不更新文件的 atime ( 即,在挂载时指定 noatime 选项 )
Linux 文件系统没有这三个频率可选,只有开启 ( 默认 ) 和关闭 ( 挂载文件系统时指定 noatime 选项 ) 两种情况。群晖应该是对文件系统实现做了一些修改才实现了这个根据频率更新 atime 的功能。
经测试,在文件被访问 ( 即 atime 被更新 ) 后,重启系统接着立即再次访问该文件,atime 在本轮更新周期结束之前不会再被更改。可见与 atime 更新有关的数据会被持久化到硬盘上。
2 共享文件夹 - 文件压缩功能
这个功能开关旁边的注解是: 新的压缩规则将仅应用于新添加的文件,已有文件不会受到影响 。
它意味着,只有在文件压缩功能开启期间被写入的数据 ( 文件 ) 才会被压缩。在功能开启之前和关闭之后,被写入的文件不会被压缩。
同时,群晖不会主动对已经存在于存储空间中的数据进行压缩和解压缩。
即,如果功能开启前,存储空间已经有数据了,那么功能开启之后,群晖不会主动对已在存储空间中的、未被压缩的数据 ( 统称 A ) 进行压缩;如果功能被关闭,群晖也不会主动对在功能开启期间被写入并被压缩的数据 ( 统称 B ) 进行解压缩操作。
这意味着,一个共享文件夹内,已被压缩和未被压缩的数据可以同时存在。
但是,如果功能开启期间,用户对 A 有了写操作,那么 A 会被压缩并保存在存储空间中;如果功能关闭之后,用户对 B 有了写操作,那么 B 会被解压缩并保存在存储空间中。
注: 以上列举的操作都发生在同一个共享文件夹中。