Мне нужно создать отказоустойчивое, высокодоступное хранилище ключей / значений (без posix, только те же функции, что и S3) с использованием дешевого существующего оборудования. Хранилище должно иметь возможность обрабатывать несколько миллиардов единиц хранения. Максимальный размер элементов составляет около 1 ГБ, большинство - всего несколько КБ. Какое программное обеспечение / файловая система лучше всего подходит для этой задачи?
Я уже вкратце ознакомился с mogilefs, mongodb (grid-fs) и glusterfs, но я не совсем уверен, какой из них достаточно стабилен и отказоустойчив. Чем проще настройка и последующее расширение, тем лучше :).
Корин
Минио как раз создан для такого случая использования. Это API с открытым исходным кодом, совместимый с AWS S3, в виде единого двоичного файла. Вы можете запустить его в Windows, Linux и Mac.
Вы можете запустить его в своей собственной файловой системе, например, Ext4, NTFS, XFS.
Установка в Linux:
$ wget https://dl.minio.io/server/minio/release/linux-amd64/minio
$ chmod 755
$ ./minio server /datadir
datadir: каталог, в котором будут храниться корзины и объекты
Вы можете получить доступ Клиент Minio так же как Браузер Minio [в комплекте с сервером]
mc implements the following commands.
ls List files and folders.
mb Make a bucket or folder.
cat Display contents of a file.
pipe Write contents of stdin to one or more targets. When no target is specified, it writes to stdout.
share Generate URL for sharing.
cp Copy one or more objects to a target.
mirror Mirror folders recursively from a single source to many destinations.
diff Compute differences between two folders.
rm Remove file or bucket [WARNING: Use with care].
access Manage bucket access permissions.
session Manage saved sessions of cp and mirror operations.
config Manage configuration file.
update Check for a new software update.
version Print version.
Надеюсь, поможет.
Отказ от ответственности: я работаю на Минио
Есть и другие, но OCFS2 сделает все это.
Я бы посмотрел на GPFS и GLusterFS. Это те два, которые мы исследуем прямо сейчас для нужд нашего предприятия.
Это действительно зависит от целей хранения, к которым вы обращаетесь, клиентов, которым вы собираетесь обслуживать, и ваших требований к производительности и надежности. Ceph приходит на ум, если ответы на эти вопросы включают «Linux со стандартным ядром 2.6.43 или более поздней версии» и «относительно не обремененный пугающей корпоративной собственностью», как это было в последнее время с Lustre (теперь полностью принадлежит Oracle).