第一篇帖子,之前从未使用过 Linux,但已经组装自己的电脑很长时间了。
我是一名新晋摄影师,开始收集大量照片,我确实想妥善保管。到目前为止,我已经将它们备份到两个驱动器上,但它们都在我的公寓里。所以我决定是时候为自己建立一个小型备份服务器了,我会把它放在我好朋友或我母亲的公寓里。除了简单的备份之外,我可能还想用它来做一些其他的小事情,但那是将来的事了。
注意事项:
- 备份软件将是 BackupPC 或 Unison Backup,文件系统 ZFS 带有 Raid-Z1。
- 该服务器将使用以下部件构建:https://pcpartpicker.com/list/jj7WpG
问题
- 在我的用例中应该使用哪个 Ubuntu 版本?
- 我想我会想要 LTS 版本,但我应该选择桌面版还是服务器版呢?为什么?
答案1
听起来您通常不会将显示器连接到此服务器。这意味着您可能需要不附带 Gnome 等桌面软件包的服务器版本。
如果您决定稍后切换,服务器版本和桌面版本基本上是相同的操作系统,但具有不同的软件包,因此这很简单。
也可以看看这。
答案2
对你当前的问题,我有一个简短的回答:使用哪个 Ubuntu 版本?那个能让你花更多时间在摄影上而不用花太多时间担心系统运行的版本。但这个答案引发了很多后续问题。你想多深入地研究 Linux?
冒着表达观点而非事实的风险,以下是根据我的亲身经历,按重要性排序的几点建议。
裸机(零件清单):
- 事实:在选择型号/制造商之前,请考虑超大规模数据中心关于硬盘可靠性的公开统计数据。研究数据集如下https://www.backblaze.com/blog/hard-drive-stats-q2-2019/
- 观点:今年秋天我将进行第 7 次硬盘更换,我选择了 https://serverpartdeals.com/hgst-ultrastar-dc-hc320-hus728t8tale6l4-0b36404-8tb-7-2k-rpm-sata-6gb-s-512e-256mb-3-5-se-hard-drive/
冗余(RAID 级别):
- 最重要的因素是什么?容量(总容量 vs. 可用容量)?性能?数据保存?恢复的难易程度?安心度?请按重要因素排序
- 事实:简单使恢复更容易。RAID 级别越高,复杂性就越高。
- 观点:在拥有 20 年使用不同级别的硬件 RAID 和软件 RAID 的经验后,我坚信只使用镜像。如果我需要更多容量,我会添加另一个镜像。如果我需要更多冗余,我会向镜像添加另一个驱动器。我更看重数据的完整性和时间的经济性,而不是容量和性能的优化。我目前使用 6 个驱动器加上云(请参阅下面的云部分)。异地备份中有 3 个驱动器(两个是 ZFS 镜像,一个是备用的)。本地服务器中有 2 个(ZFS 镜像)。一个用于离线备份(见下文)
规模
如果当前一代的硬盘容量不足以容纳您的数据,则无需考虑技术解决方案:只需设置第二个或第三个 RAID。我通过将年份分组到单个 RAID 上来实现这一点。在每次更换硬盘时重新审视。历史上每个特定时刻都有一个黄金点容量(价格/GB)。当您需要更换当前硬盘时,选择适合您的方法,当将数据从上一代迁移到当前一代时,决定如何拆分它。随着我进入另一个行业,我制作的照片/视频数量减少,磁盘容量赶上了我的存储需求。
文件系统
观点:我从 2008 年开始使用 ZFS。原因是个人情况。我的档案可以追溯到 Commodore Amiga 时代,并且一直保存在各种文件系统上。在上个世纪之交,我将其从硬件 RAID 上的 NTFS 移至 ext2。它甚至在 ReiserFS 上停留了一段时间。当 Red Hat 过度关闭时,我正在使用 Red Hat Linux,我在 FreeBSD 5 上找到了新家。FreeBSD 引入了 ZFS,从那天起,我再也没有使用过硬件 RAID。
事实:现代文件系统之间存在良性竞争。btrfs、Ceph、ZFS 都很棒,而且正在取得进一步的进展。Ubuntu 已完全采用 ZFS,因此这是一个方便的选择(我目前运行一个家庭实验室,其中包含一些 LXD 容器和 kvm 虚拟机)。
备份软件
市面上有很多强大的工具。这取决于你想深入了解 Linux 生态系统和学习新工具的程度,我的个人建议是:了解 rsync 和 cron 作业。
- https://rsync.samba.org/
- https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps
- https://github.com/backuppc/backuppc/wiki/How-to-make-Backup-using-Rsync-server-on-Windows
虽然初始学习起来比较困难,但值得付出努力。我已编写脚本 rsync 来执行以下操作:
自动将我的工作站像时光机一样备份到 1TB SSD 上,我把它和当前的工作一起放在口袋里https://www.amazon.com/dp/B0788CQYDN
rsync --link-dest=/path/to/previous-time-capsule /home/me/work /mountpoint/backup/current-time-capsule
定期使用 ssh 密钥登录(无需密码)将我的本地存储服务器备份到我的异地备份
rsync /tank1[电子邮件保护]:/坦克1
插入后将我的本地存储服务器备份到离线磁盘https://www.amazon.com/dp/B000KS8S9W。这需要一些 udev 规则(问题:你想深入研究 Linux 到什么程度?深入研究会有很大的好处)
备份到云或从云备份。我运行了两个https://nextcloud.com/——一个在云端,一个在我的家庭实验室。我们家的手机设置为自动将所有照片/视频传送到 NextCloud。
关键的建议是将时间投入到适合你、可以随着你的需求而增长、不会将你拖入你不想走的路的事情上。我发现,投资于低级知识在过去一年中得到了回报,因为 rsync、ssh、udev、python 都已经温和、良好地发展,尊重不浪费用户群的现有知识,并以一种方式适应包括我在内的许多意见和用途,这些低级工具使我能够比依赖通常基于其所有者意见的高级工具更好地实现我的目标。要么听他们的,要么走他们的路。如果你习惯于构建自己的硬件,那么你可以习惯于构建块软件而不是收缩包装的解决方案,并获得相当的收益。
离线备份
无论您选择哪种驱动器,以上所有驱动器目前都处于在线状态。连接到互联网并面临勒索软件加密的危险。连接到电力线。我总是建议至少保留一份离线副本。它不会立即更新,并且需要手动操作,这意味着更新频率取决于人为因素。但它是必不可少的组成部分。保留至少一个离线备份。理想情况下,一个放在附近,另一个放在不太远的安全箱中(我的异地备份距离这里只有一天的车程,具体取决于您的亲戚住在哪里)。
云
最后但并非最不重要的是,云既可以作为备份,也可以作为备份的地方。如果你还没有发布你的照片,那么你迟早会发布的。在我看来,投资 Backblaze、GoogleDrive、DropBox 并将它们用作额外的备份是有意义的。有些数据是无价的。在我看来,这些服务在每个全面的备份计划中都有一席之地。就我而言,我从我的大学校友计划中获得了无限的 GoogleDrive 空间,我将照片加密并上传到 GoogleDrive。如果 GoogleDrive 不是免费的,我可能会使用 Backblaze 的软件。重要的是将云存储视为任何德在 RAID 中:它可能会发生故障。请围绕它设计您的系统。