在我们的研究小组中,我们需要以某种方式备份在 MRI 扫描仪上获取的数据,以保留任何已获取的扫描(即使数据可能由于空间或其他原因从扫描仪中删除)。我们称之为我们的保险库。
要存储到vault,单独的机器 nfs-mount 扫描仪的数据分区并将数据复制到它自己的本地备份硬盘:
rsync -au /nfsmount/data /pvbackup-vault >> $LOGFILE
Run Code Online (Sandbox Code Playgroud)
我的问题是:这安全吗?我们的数据有时会在之前处理过一次后被重新处理。所以我想要 -u 标志。
对于实际的原始数据(这是神圣的),我可以预见一个问题:由于某些错误/错误/不可预见的情况,扫描仪上的文件被覆盖,然后保险库中的数据将被覆盖。我不确定如何防止这种情况发生。一方面,我希望允许重新处理数据,甚至可能重新获取数据,另一方面,我希望创建一个不受未来变化影响的保险库,至少在数据方面。我应该标记这些情况并手动处理它们吗?乏味。
注意: 我有一个不同的增量策略 (rsnapshot) 来防止用户错误,该策略允许恢复无意中删除/更改的数据,这些数据可以追溯到一定数量的小时/天/周/月。
注2: 也许我应该提一下,我们目前正在处理大约 250GB 的数据,每周大约有 10GB 的新获取的数据。因此,DVD 已成为替代品...
在一次拙劣的尝试将我的根分区从一个磁盘移动到另一个磁盘时,我执行了以下操作:
初始化物理卷
$ pvcreate /dev/sdb3
Physical volume "/dev/sdb3" successfully created
Run Code Online (Sandbox Code Playgroud)扩展卷组以包含这个新的物理磁盘
$ vgextend myvg /dev/sdb3
Volume group "myvg" successfully extended
Run Code Online (Sandbox Code Playgroud)扩展了逻辑卷(我认为这就是我总结的地方:我认为我应该将 pvmove 的东西转移到该组中的新 pv - 有人可以确认吗?)
$ lvextend /dev/mapper/myvg-root /dev/sdb3
Run Code Online (Sandbox Code Playgroud)我现在想撤消 lvextend,然后继续执行将旧物理卷的内容移至新物理卷的原始计划。我可以减少逻辑卷(我还没有使用像 resizefs 这样的东西触及位于 /dev/mapper/myvg-root 中的 ext4 分区)而不用担心损坏 ext4 文件系统吗?如果是这样,我如何告诉它减少正确的数量?
$ lvreduce --by-exactly-the-amount-occupied-by-PV /ev/sdb3 /dev/mapper/myvg-root
Run Code Online (Sandbox Code Playgroud)