Я буду предоставлять услугу «Файловый хостинг», и мне нужно что-то, что будет работать со мной по линии и позволит проекту расширяться. {{ 1}} Сначала я думал об одном большом сервере с RAID 5 в качестве стартапа, но потом я подумал , что было бы лучше использовать несколько серверов, так как в будущем их будет легче расширять и он должен быть дешевле, но Я понятия не имею, как эти серверы должны / могут быть связаны и будут ли несколько серверов работать как единая система.
Можете ли вы помочь мне с идеями и ссылками на информацию о соединении нескольких серверов вместе, чтобы они работали как одна система, чтобы я мог использовать все процессоры и дисковое пространство, как если бы это был один сервер + если один сервер выйдет из строя, какие варианты можно восстановить свои данные? и будут ли другие серверы работать нормально?
У меня все еще есть вопросы о географически другом расположении серверов и о том, как передавать файлы из одного места в другое, но это пока не является приоритетом.
Я читал об этой функции в Google, но они используют свою собственную файловую систему и другие вещи, недоступные для публики.
Начните с изучения общедоступных распределенных файловых систем, таких как GlusterFS . Подобные системы могут предоставить вам избыточность и масштабирование.
Что касается распределения мощности процессора, вы можете балансировать нагрузку запросов между несколькими машинами в зависимости от того, как вы обслуживаете файлы. В этом могут помочь такие инструменты, как HAProxy .
В этой настройке вы связываете свою файловую систему с избыточными копиями файлов, чтобы при отключении узла вы не теряли доступность файлов. Точно так же HAProxy может отображать несколько разных серверов как одну машину для обслуживания запросов.
Вы можете изучить DRDB , который создает кластерное блочное устройство. (поверх которой можно было бы поставить любую файловую систему.)
В этой статье IBM, разработанной разработчиками, дается довольно хороший обзор системы. Ваш вопрос достаточно широк, чтобы вы могли написать книгу по этой теме, поэтому я думаю, что все, что мы можем сделать, это начать с вас.
Что-то вроде этого Any Использование для вас выглядит так, как будто вы можете создать собственное облако хранилища из нескольких серверов, чтобы упростить обновление и т. д. Вы можете отключить узел, пока работает другой, и поддерживать хранилище в рабочем состоянии.
Билл