我有 2 个 1TB 磁盘,未采用任何 RAID 配置。我希望根据磁盘的容量将需要存储的文件放在其中一个磁盘上,当访问文件时,我想我需要通过包含文件映射的数据库或使用哈希来查找文件。是否有任何 Linux 实用程序可以提供此功能,或者我应该只创建一个 PHP 脚本?
谢谢
答案1
考虑到 1TB 磁盘有多便宜,再买一个并创建 RAID5.. 冗余和存储。
答案2
晚了三年,但仍然有意义。我遇到了同样的问题,FakeRaid 根本行不通。使用 AUFS。它将把驱动器合并到单个驱动器下。mfs 设置会将新文件放在可用空间最多的驱动器上。还有 rr,它是循环的,pmfs 会将文件放在已经有文件夹且可用空间最多的驱动器上。我个人使用 pmfs。我的设置就是这样的。
fstab:
# The Archive
LABEL=Archive_000 /mnt/Archive_000 ext4 defaults 0 0
LABEL=Archive_001 /mnt/Archive_001 ext4 defaults 0 0
LABEL=Archive_002 /mnt/Archive_002 ext4 defaults 0 0
LABEL=Archive_003 /mnt/Archive_003 ext4 defaults 0 0
LABEL=Archive_004 /mnt/Archive_004 ext4 defaults 0 0
LABEL=Archive_005 /mnt/Archive_005 ext4 defaults 0 0
LABEL=Archive_006 /mnt/Archive_006 ext4 defaults 0 0
LABEL=Archive_007 /mnt/Archive_007 ext4 defaults 0 0
LABEL=Parity /mnt/Parity ext4 defaults 0 0
LABEL=Q-Parity /mnt/Q-Parity ext4 defaults 0 0
我添加了 init.d 脚本(由于驱动器挂载时间太慢,无法跟上 aufs 挂载):
d0="Archive_000"
d1="Archive_001"
d2="Archive_002"
d3="Archive_003"
d4="Archive_004"
d5="Archive_005"
d6="Archive_006"
d7="Archive_007"
mount -t aufs -o noxino -o br=$d0=rw:$d1=rw:$d2=rw:$d3=rw:$d4=rw:$d5=rw:$d6=rw:$d7=rw -o create=mfs -o sum none Archive
这样我就可以在 /mnt 下安装 10 个文件。我喜欢这种方式,因为我使用 SnapRAID,您必须下载并编译它(有相关指南)。我在 Samba 服务器上使用它,因此其他人唯一能看到的就是 Archive 文件夹。确保创建目录,否则您将收到安装错误。
答案3
灰洞会将您的文件分布在多个驱动器上。它还允许您指定冗余,以便某些文件在多个驱动器上存储冗余副本。它针对的是家庭服务器或工作站,而不是生产企业解决方案。
答案4
正确的方法是使用 LVM。
就我个人而言,我只是将大部分媒体收藏放在一个磁盘上,其他内容放在另一个磁盘上。