k7k*_*7k0 4 ubuntu replication distribution glusterfs
新手问题。我需要构建这个:
/shared
文件夹 ~500GB 的文件,每个 ~1MB。 我关于 GlusterFS 的问题:
/shared
,安装在/mnt/shared
. 每台服务器需要 1GB 空间?/shared
吗?在没有安装客户端的情况下,复制是否以这种方式工作?另外,如果有人知道任何其他方式来完成此设置,我将不胜感激。提前致谢。
我终于设法在两个盒子中使用 GlusterFS 解决了这个问题。在这个过程中学到的一些东西:
option read-subvolume
。当然为了保持 RAID1 的完整性 GlusterFS 也总是检查其他卷,但实际文件是直接从磁盘检索的修改客户端配置:
# Server1 configuration (RAID 1)
volume server2-tcp
type protocol/client
option transport-type tcp
option remote-host server2
option transport.socket.nodelay on
option transport.remote-port 6996
option remote-subvolume brick1
end-volume
volume posix-local
type storage/posix
option directory /shared
end-volume
volume locks-local
type features/posix-locks
subvolumes posix-local
end-volume
volume brick-local
type performance/io-threads
option thread-count 8
subvolumes locks-local
end-volume
volume mirror-0
type cluster/replicate
option read-subvolume brick-local
subvolumes brick-local server2-tcp
end-volume
.....
Run Code Online (Sandbox Code Playgroud)
回答我的两个问题:
它会复制同一个盒子上的文件吗?
不,fs 是使用 FUSE 挂载的。当前 /etc/fstab 行:
/etc/glusterfs/client.vol /mnt/shared glusterfs 默认值 0 0
相反,我应该直接使用文件系统,在 /shared 上本地写入吗?在没有安装客户端的情况下,复制是否以这种方式工作?
不,总是使用挂载的卷进行读/写,直接使用文件系统可能会导致不一致。
小智 5
实际上 Gluster 非常适合这种情况。您可以获得双向复制和从任何一台机器挂载文件系统的能力,如果其中一个机器出现故障,您(理论上)的有效 I/O 容量是 NFS 和主动故障转移的两倍。
以这种方式进行主动 rsync 的问题是由于文件锁定而阻塞 I/O。根据您的应用程序和数据的变化,这可能是无关紧要的或灾难性的!分布式文件系统具有非常特定的锁定语义,可以防止这种情况发生。即使现在 inotify 有更好的锁定功能(当我上次尝试时它没有),那么您的文件访问可能会阻塞,这取决于您的网络是否可以应对这些变化。这些都是理论上的警告,但值得研究,具体取决于您的应用程序的功能。
归档时间: |
|
查看次数: |
5857 次 |
最近记录: |