我正在考虑是否将 LVM 用于媒体/文件服务器,因为我想将多个物理硬盘组合成一个卷。我不希望在 LVM 中使用任何 RAID,所以我的问题是:
如果我的卷中的多个硬盘中的一个出现故障,我会丢失所有数据还是只会丢失存储在该单个磁盘上的数据?
另外,如果我只是丢失了单个磁盘上的数据,那么是否只需更换该磁盘并从备份中恢复其上的内容即可?
答案1
如果我的卷中的多个硬盘中的一个出现故障,我会丢失所有数据还是只会丢失存储在该单个磁盘上的数据?
不,您将丢失存储在整个 LVM 上的数据
另外,如果我只是丢失了单个磁盘上的数据,那么是否只需更换该磁盘并从备份中恢复其上的内容即可?
不,没那么简单
您可以在这里阅读类似的问题LVM 和灾难恢复
答案2
简单:您正在寻找硬盘文件系统。
它假装是一个大型文件系统,按照所提及的顺序写入磁盘,如果第一个设备太满,则最终将大文件移动到其他设备。它实际上也可以使用磁盘上的子文件夹,从而实现相同的功能。
必须先安装各个磁盘并保持可访问性。它根本不会改变文件系统,也不关心哪个文件系统就位(只要文件系统正确报告了可用空间)。如果磁盘丢失,您必须再次重新安装 mhddfs(即时),并且该磁盘上的数据将消失。
用法:
mhddfs /dir1,/dir2[,/path/to/dir3] /path/to/mount [-o options]
或/etc/fstab
mhddfs#/path/to/dir1,/path/to/dir2 /mnt/point fuse defaults 0 0
复杂而强大:你想要联合文件系统。
虽然 mhddfs 很好用而且非常简单,但我在通过 SSH 授予其他人访问权限时遇到了文件权限问题。我找不到任何解决方案,但找到了 unionfs。Unionfs
还允许您将不同文件系统中的多个文件夹挂载到一个文件夹中,但它在权限方面很神奇。您可以将几个只读文件夹和一个可写文件夹合并在一起,这样它们就会显示为一个。您与之共享合并文件夹的人可以写入只读文件夹(就像他们看到的那样),但文件最终会保存在单个可写文件夹中。Linux 启动 CD 就是这样工作的,可写磁盘是一个 ramdisk。人们甚至可以删除只读文件夹中的文件,这实际上并不会删除文件,而是在他们的写入目录中创建一个隐藏的白名单文件。如果您捕获所有选项,您基本上可以像穷人的 SVN 一样使用你的文件系统。
如果您过多地使用类似 SVN 的选项,您可能会错过两次存在的数据(在您的场景中不太可能,但有可能),而您的可写文件夹会充满微小的隐藏白名单文件。除此之外,它还能让您的磁盘保持干净,并可单独使用。如果文件对于磁盘来说太大会发生什么,我还不知道。
用法:
unionfs-fuse -o cow,max_files=32768 \
-o allow_other,use_ino,suid,dev,nonempty \
/path/to/dir1=rw:/path/to/dir2=ro:/dir3
/u/union/etc
使=rw
文件夹可读写,并=ro
使它只读,即使权限另有规定。在etc/fstab
这种情况下
unionfs-fuse#/path/to/dir1=rw:/path/to/dir2=ro:dir3 /path/to/mount fuse cow,allow_other 0 0
答案3
如果您只是将多个设备连接在一起,就不会有任何冗余,因此您可能会丢失数据。但是如果您在企业中使用媒体/文件服务器,那么您不会丢失任何东西,因为您已将所有内容备份到备份服务器/磁带驱动器中。
为什么要避免使用 RAID?RAID 的重点是可用性;如果您不想因磁盘故障而浪费时间,则可以使用 RAID 1 配置,这也可以加快读取速度。它们不太贵,第一次出现磁盘故障时就可以收回成本,如果您真的想避免支付卡费用,您可以设置 Linux 以使用软件 RAID,尽管在设置和故障排除时需要多加注意,以确保您更换了正确的驱动器。
否则,您将不得不费尽周折才能从剩余的磁盘中恢复数据。这是有可能的,但您这样做会给自己带来比应有的更多的麻烦。准备好备份,然后重新考虑 RAID。
答案4
我认为更简单的方法是为您的媒体分区配置 mdadm。如果您没有用于“真正的 RAID”的硬件,那么使用 mdadm 路线会容易得多,并且似乎可以满足您对冗余和简单磁盘替换的要求。
# Format your drives first
# Create your MD
mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2
# In the event that a drive fails do the following
mdadm /dev/md1 --fail /dev/sda1
# Format the new drive
mdadm --add /dev/md1 /dev/sda1
了解更多信息: http://en.wikipedia.org/wiki/Mdadm
如果我的卷中的多个硬盘中的一个出现故障,我会丢失所有数据还是只会丢失存储在该单个磁盘上的数据?
如果您使用 mdadm 和 RAID 5,您可能会丢失一个驱动器,并且阵列可以正常运行,尽管您会遇到性能下降。