Недавно возникла необходимость построить отказоустойчивое хранилище с полезным объемом в 1 Пб. Так как обычная репликация требует x2 по объему, хотелось использовать erasure coding который позволяет получить как минимум 2/3 от сырого пространства. Конечно, EC не такой быстрый как обычная репликация, но в данном конкретном случае он полностью удовлетворял требования к производительности.
Все это хорошо думал я, но у меня не было ранее опыта построения хранилищ такого объема. Более того, я не видел статистики подобного характера по GlusterFS. Закрались сомнения, можно ли используя EC построить хранилище на 1Пб в принципе.
Я решил написать на рассылку GlusterFS и узнать о размерах хранилищ с EC.
Вот что я получил в ответ от одного из участников сообщества:
I am using 60 servers each has 26x8TB disks total 1560 disk 16+4 EC
volume with 9PB of usable space.> Do you use libgfapi or FUSE or NFS on client side?
I use FUSE and I have nearly 1000 clients.> How many files are you have in your volume?
> Files are more big or small?
I have over 1M files and %13 of cluster is used which makes average
file size 1GB.
Minimum/Maximum file size is 100MB/2GB.
Every day 10-20TB new data enters the volume.> How faster does «ls» work)?
Metadata operations are slow as you expect. I try not to put more than
2-3K files in a directory.
My use case is for backup/archive so I rarely do metadata operations.
«>» — отмечены мои дополнительные вопросы.
Так же RedHat заявляет следующие ограничения:
Trusted Server Pool Size: 128
38.4 Petabytes with no replication.19.2 Petabytes with 2-way replication in a single cluster of 128 nodes. Assuming a fully populated storage server with 60 drives per controller and 6 TB SATA drives
https://access.redhat.com/articles/66206#Cluster_Guidelines
В общем, я получил ответ на свой вопрос и переживания исчезли)
Помогла ли вам статья?