需要具有重复数据删除功能的独立文件服务器

需要具有重复数据删除功能的独立文件服务器

情况: 我想将 Homelab 服务器(Windows 操作系统)重新安装为基于 Linux 的服务器

服务器|用途:备份系统(大部分离线)

我目前有一台 HP Proliant Microserver N54
Turion II Neo N54l 2,2Ghz 、 4GB RAM

https://geizhals.at/a688459.html

设置
池中的 6 个物理磁盘(5 个 HDD、1 个 SSD)到 JBOD 存储空间 (15,6TiB)
1 个 LUN,格式化 NTFS
文件通过 Windows 共享 (SMB/Cifs) 共享
没有特殊的 NTFS 权限(因为只有我)
Windows Server 2012 R2(即将停产)启用重复数据删除,在数据 模式 = 通用文件服务器
上节省了近 4.5 TiB

客户 客户端主要是 Windows,也许在不久的将来会有一些 Linux。
通过 SMB/Cifs 和 RDP 访问服务器(管理)

是的,服务器很慢,但唯一的目的是存档,大多关闭,有时访问数据(单用户,不需要并行访问)。像现在一样工作正常

目标
由于我更想使用 Linux,而且 Server 2012 R2 已停产,因此我想在 GNU/Linux 上重新安装系统,使用相同的基础提供相同的功能。

如果我读到有关重复数据删除的内容,它总是 ZFS 或 BTRFS,但需要大量 RAM。或者使用 BorgBackup 的 OpenMediaVault...但客户端也需要 BorgBackup(客户端仍然需要 Windows)

最接近的等效 Linux 设置是什么?

答案1

请参阅适用于您的文件服务器的 Truenas Scalehttps://www.truenas.com/truenas-scale/ 有一个网络管理面板代替 RDP

我认为,如果您需要在 zfs 池上使用重复数据删除,则需要添加 RAM

答案2

因此,您可以正常地从 USB 驱动器安装 debian(通常),使用debian 12 amd64 网络安装镜像(这是当您在 debian.org 上单击“下载”时获得的默认设置)。进行“图形安装”。

如果您的网络中有 DHCP(或 IPv6 autoconf),那么您无需为网络设置任何内容 - 只需使用默认设置即可。

有时安装程序会要求您选择要用于设置磁盘的方案。使用

引导式 - 使用整个磁盘并设置 LVM

在下一个对话框中选择要从中启动的驱动器作为安装位置。 (如果有疑问,请使用SSD;它将是最需要唤醒的SSD,并且唤醒速度最快)。当询问是否将更改写入磁盘时,选择“是”。

之后会问你

您可以使用整个卷组或其中的一部分进行引导分区。...

在该对话框中,目前仅使用 20 GB。这是系统安装体积的大小,我们不需要太多。 Linux逻辑卷管理器我们使用的 (LVM) 还允许我们在运行时和以后的任何时间点根据需要添加更多空间。整洁的。

再次确认您希望将更改写入磁盘。

安装程序开始安装基本系统。完成安装,确保在软件选择中选择“SSH 服务器”和“标准系统实用程序”。由于这个盒子将是一个位于角落的无屏幕服务器,因此我们不会从安装任何图形桌面环境开始:)

一切都会被安装,并且系统会询问您将引导加载程序安装到哪里。和以前一样的驱动。

安装完成后,您可以重新启动,并且会出现一个相当沉闷的提示:

Debian GNU/Linux 12 debian tty1

debian login: 

使用您在安装过程中指定的普通用户凭据。

ip address

会告诉你这台机器的IP地址。

使用另一台笔记本电脑进入ssh新设置的机器 - 我们不会坐在它前面进一步配置它。

通过SSH登录(当然本地登录也可以),

sudo vgs

将显示卷组;你应该正好有一个,debian-vg.

sudo lvs

将向您展示逻辑卷;您应该有两个,root其中包含系统的文件系统,以及swap_1,这是在 RAM 不足时使用的磁盘空间。

我们还想使用所有其他磁盘,

  1. 将它们添加到卷组中
  2. 创建一个跨多个磁盘的新的大型逻辑卷,
  3. 使用 XFS 格式化新的逻辑卷,最后
  4. 将其用作 CIFS/Windows 共享

因此,我们首先要弄清楚这些驱动器在哪里。sudo pvs显示当前使用的物理卷,即卷组正在使用的实际存储设备。应该正好有一个。就像是/dev/sda5。因此,/dev/sda这将是我们在安装过程中设置的一张磁盘。

跑步sudo lsblk。您将获得所有磁盘的列表。您的其他磁盘也会在那里。记下他们的名字。我们假设它们是sbdsdcsdd等等。 (他们可能真的不是!)

sudo pvcreate /dev/sdb /dev/sdc /dev/sdd

将对这些磁盘的分区表造成不可挽回的损坏,并准备将它们添加到您的卷组中。

sudo vgextend debian-vg /dev/sdb /dev/sdc /dev/sdd

会将它们添加到debian-vg卷组中。

再次检查sudo vgs一下,看看您现在有多少 VFree Size!

让我们创建一个名为 的新逻辑卷,datavolume它使用一半的空间:

sudo lvcreate -n datavolume -l 50%FREE debian-vg

整洁,sudo lvs现在将显示这一点,并将sudo vgs显示未使用空间的减少。

让我们使用 XFS 格式化该新卷:

sudo mkfs.xfs /dev/debian-vg/datavolume

哎呀!这会失败,因为我们还没有安装该mkfs.xfs程序:

sudo apt update
sudo apt install xfsprogs

让我们再试一次:

sudo mkfs.xfs /dev/debian-vg/datavolume

那应该有效。让我们创建一个新目录该卷,以便我们可以访问存储在其中的文件:

mkdir -p /srv/data

跑步sudo nano /etc/fstab。添加一行

/dev/mapper/debian--vg-datavolume   /srv/data    xfs  noatime 0 0

保存 ( Ctrl+ o) 并退出 ( Ctrl+ x)。sudo mount --all现在将继续进行安装。它会在启动时自动发生。

正如我们之前讨论的,您希望定期删除重复数据。因此,安装duperemove程序 ( sudo apt install duperemove)。您可以像这样手动运行它:

sudo duperemove -rd --hashfile=/var/lib/data-deduplication.db /srv/data

它将遍历 的所有(当前未索引的)内容/srv/data,将所有块的哈希值写入文件/var/lib/data-deduplication.db(这样我们下次运行时就不必进行完整扫描!),比较哈希值,然后让 Linux 验证内容是实际上相同(不仅仅是哈希值),并对它们进行重复数据删除。

您可以将此命令放入 systemd 服务文件中,并在 systemd 计时器中使用它来执行诸如每周执行一次,或闲置 1 小时后执行一次之类的操作,但我会说实话:我的答案有点有点已经很久了。如果这种自动化很有趣,只需提出一个新问题(“我如何duperemove…每周运行一次?”并附上此答案的链接)。

关于如何连接 Windows 客户端:这里通常的方法是设置 Samba,这样您就可以获得 Windows 共享。这并不难,但很多地方已经涵盖了。您需要共享 的子目录/srv/data。 (另外,再次欢迎提问。)

如果这仅用于备份目的,还有其他选择,例如齐奏人们非常成功地使用它,它可以通过 SSH 直接登录服务器,并且不需要您设置 samba。主要看你的需求了,真的!

相关内容