我正在尝试设置自己的(家用)NAS。我不想要 RAID,我想使用更灵活的形式:
- 混合搭配硬盘(现在我有 4 个 2gb,但升级时我肯定不想同时购买 4 个新硬盘)
- 某种形式的复制(不是备份,但比 JBOD 更安全)
- 复制选定的文件夹
我尝试过使用 Stablebit Drivepool 的 Windows Server 2012 R2(看起来非常好,而且操作简单)。现在我也想尝试使用 Ubuntu,但我很难找到可用于此的软件类型?
我看了 Greyhole(但评价很差):http://zornsoftware.codenature.info/blog/why-i-ditched-raid-and-greyhole-for-mhddfs.html)
还有其他方法吗?或者应用程序?
答案1
你应该使用逻辑卷管理器以及克隆 cron 脚本。
我将为您假设以下设置:
- 4 个驱动器用于 LVM 和文件存储。
- 用于备份的外部 USB 驱动器。(在
/dev/sdf1
) - 无重复——
dd
根据需要使用完全克隆。
逻辑卷管理器
您需要先设置 LVM。此图就是一个很好的例子:
使用硬盘驱动器,并将每个硬盘驱动器分配给 LVM 文件夹,例如/lvm
或其他。这篇文章很好地描述了 LVM。我建议阅读它以获得更好、更详细的 LVM 介绍。
首先,对所有存储驱动器进行分区,但是不要添加分区方案!使用未分配作为分区类型。我假设您的存储分区为/dev/sdb1
、/dev/sdc1
、/dev/sdd1
和/dev/sde1
。您的安装将位于/dev/sda1
。
接下来,您需要使驱动程序适合 LVM:
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
完成后,您需要对这些驱动器进行分组:
vgcreate homeNAS /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
这将创建一个名为“homeNAS”的组,其中包含上述所有驱动器。
接下来,创建逻辑卷:
lvcreate --name share homeNAS
创建文件系统:
mkfs.ext3 /dev/homeNAS/share
完成后,运行以下命令创建lvm
文件夹:
mkdir /lvm/
使用以下方式安装:
mount /dev/homeNAS/share /lvm
要在每次启动时安装它,请将以下内容添加到/etc/fstab
. 进行备份!!
/dev/homeNAS /lvm ext3 rw,noatime 0 0
请注意,上述 LVM 指南非常基础,并非用于花哨的东西。阅读链接的文章可获得更详细的解释。
Cron 脚本
首先,准备一个外部磁盘驱动器。它应该足够大,可以存储所有文件。它应该能够容纳整个 LVM 分区大小的 1.5 倍(即 500GB HDD = 750GB 备份)。
我假设你的驱动器有一个分区(ext4
位于/dev/sdf1
,安装在/media/backup
)
创建一个名为的 shell 脚本,如下lvm-backup.sh
所示/etc/lvm-scripts/
:
cp /lvm/folder1/ /media/backup/lvm/folder1
cp /lvm/folder2/ /media/backup/lvm/folder2
cp /lvm/folder3/ /media/backup/lvm/folder3
cp /lvm/folder4/ /media/backup/lvm/folder4
这会将指定文件夹复制到备份驱动器。您不应直接克隆,因为这会花费很长时间,并且可能损害您的系统。
快速运行:
chown root:root /etc/lvm-scripts/lvm-backup.sh
chmod +x /etc/lvm-scripts/lvm-backup.sh
要在每晚午夜运行备份,请将其添加到您的/etc/crontab
:
00 00 * * * sh /etc/lvm-scripts/lvm-backup.sh
如果您想要更具体地控制何时运行脚本,请参阅本指南在 Cron 上。