Поділитися / дім між центрами обробки даних


15

У мене є два сервери, розміщені в центрах обробки даних у Голландії та Франції. Обидва мають Debian Wheezy. Мені потрібно ділитися / дім між ними, з хорошою продуктивністю. На серверах є 300 користувачів користувачів, близько 30 з них повинні мати можливість мати активні процеси на даному сервері в даний момент, кожен має 50 кбіт і 20 кбіт записує / секунду, з короткими піками близько 2000 кбіт / s читання. міри з йотопом на локальному зберіганні. У мене дуже багато невеликих файлів, загалом близько 500000, і мені потрібно якомога менше затримок. Пінг між серверами становить 17 мс, і при використанні scp та wget з'єднання може досягти приблизно 20-30 Мб / с. Здається, має бути достатньо пропускної здатності, для цього теж працює, але ...

Те, на що я досі вірив: sshfs: Здавалося, він мав кращу продуктивність, ніж nfs, але він змінив дозволи на завантаження файлів у root, зробивши програму збоєм.

nfs: Шлях до уповільнення, намагався ніколи купувати інші параметри, але він продовжує діяти мляво, навіть коли активні лише декілька процесів.

drbd: 5 годин тупикової роботи, коли я зрозумів, що не можу насправді змонтувати файлову систему на обох системах :-(

glusterfs: локальна копія всіх даних справді звучала багатообіцяюче, але випадковий доступ до файлів дійсно повільний і через деякий час він стає неймовірно повільним і майже зависає. noatime не допомагає.

nfs знову: все ще мляво.

Крик на клавіатуру: поліпшення зовсім не відбувається.

Що спробувати далі? Кожен із невдалих випробувань за останній тиждень займав вечір, а може й більше, і мені дуже хотілося, щоб наступний метод спрацював. І так, важливо, щоб файлові системи були спільними між обома серверами.

Дякуємо за будь-які нові ідеї щодо цієї проблеми.


6
"Крик на клавіатуру: поліпшення зовсім не відбувається." Гаразд, це отримує +1 від мене.
ceejayoz

Ймовірно, ви хочете або glusterfs, або ceph. Розподілена файлова система. Крім того, ви можете монтувати drbd кілька разів, але лише одне читання-запис, і це все одно страшно погана ідея.
Сірекс

Я спробував glusterfs, і хоча він чудово працює з великими файлами, він стає дуже повільним при читанні чи записі невеликих файлів. Здається, це поширена проблема з глюстерфами, і я не зміг знайти виправлення. Я загляну в Сефі. Ви пробували, ви спробували самі?
user3850506

3
Монтаж одного і того ж блокового пристрою та файлової системи, навіть RO на іншій системі, погано, але якщо драйвер файлової системи не розуміє, що пристрій блокування резервного копіювання може довільно змінюватися в будь-який час. Блоковий пристрій міг би змінити і повністю визнати недійсним кеш inode, і VFS з радістю прочитає дані, які вже не там, де ви думали. Файлові системи, що знають загальний диск, такі як GFS2 та veritas, можуть це робити на DRBD або будь-якому диску, подібному до SAN. Я не можу сказати точно, але ваша невелика продуктивність файлів буде прийнятною.
Андрій Домашек

Відповіді:


2

Для цього є кілька можливих рішень:

  1. Ви можете скористатися тиражним сховищем блоків, як DRBD (або MARS, як згадувалося вище), але вам потрібно встановити файлову систему кластерів поверх блоку сховища. Такими файловими системами можуть бути GFS2 або OCFS2, які обидва доступні в афаіку ядра Debian. DRBD може працювати з первинним / первинним, і ви можете одночасно встановлювати його на обох серверах. Але якщо ви це зробите зі стандартною файловою системою, один сервер не знає про інший, і ви знищили б вашу файлову систему за кілька секунд. Файлова система кластера зверху оброблятиме зв'язок та блокування, щоб обидва вузли могли записувати в один і той же блок.

  2. Використовуйте розподілену файлову систему для / home. Список таких файлових систем ви знайдете на веб-сайті http://en.wikipedia.org/wiki/Comppare_of_distributed_file_systems . Але будьте обережні та обирайте розумно. Всі вони не можуть робити магію, і всі мають свої недоліки. Gluster - така файлова система. Для деяких систем вам може знадобитися більше ніж два вузли.

  3. Якщо його не потрібно реплікувати в режимі реального часу, і синхронізація файлів майже в реальному часі буде достатньою, погляньте на BitTorrent Sync ( http://www.getsync.com/ ), Dropbox або альтернативи. У кожного сервера є свій / домашній, але зміни повторюються на основі файлів на іншому сервері.


1
rsync ftw 123456
dmourati
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.