• XSS.stack #1 – первый литературный журнал от юзеров форума

Распределение I/O нагрузки между дисками

Encommerce

(L3) cache
Пользователь
Регистрация
25.11.2022
Сообщения
235
Реакции
97
Есть вещь, которая ломает мне голову. Это дисковые пространства в AD сетях.

Вообще, должен признаться, не являюсь специалистом в администрировании сетей, однако, приблизительно могу представить структуру хранения данных в них.

Ок, у нас есть несколько ведер, нарисую табличку:

ПКПраваСеть
Юзер ВоваЮзерЛокальная
Юзер ПетяЮзерЛокальная
Админ ВалераАдмин ДоменаЛокальная
Файло-помойка #1-Локальная
Файло-помойка #2-Внешняя

Если мы посмотрим на мир глазами Вовы, а вернее его компа, то, вероятно, увидим такую картину:

У нас есть права на изменение файлов на дисках:
C => Ситсемный диск
D => Несистемный раздел диска C
E => Файло помойка #1 (пиздец медленная)

Итак, теперь мы хотим начать читать и записывать данные.

На данный момент я использую такую нехитрую схему:

base_channel.png


Есть канал, туда поступают таргеты.
Он работет в режиме "первый вошел, первый вышел".

Очевидные проблемы в данном кейсе:
- бесполезно собирать директории из разных разделов одного диска в нескольких потоках (ок, это можно пофиксить, если привязать точки монтирования к физическим дискам)
- соотношение скорости получения директорий/метаданных и чтения/записи может варьироваться от диска к диску, что неизбежно приведет к уничтожению баланса
pool.png


В данном кейсе оба этих ограничения сыграют роль.


Теперь представим, что мы за компом админа Валеры:

У нас есть права на изменение файлов на дисках:
C => Ситсемный диск
D => Несистемный раздел диска C
E => Файло помойка #1 (пиздец медленная)
E => Файло помойка #2 (еще более медленная)
И на всех остальных дисках в домене, включая те, что смонтированны у Вовчика и Пети

Тут как бы возникает еще одна вилка: можно делегировать часть I/O операций на вышеупомянутую парочку или лопатить с одного компа. Но это другой вопрос.
Мы же разбираемся со всеми вопросами от лица одного админа.

Дисков теперь туева куча, суммарная скорость чтения/записи иногда будет упираться в ограничения ЦП, не забываем про пейлоад.
Ключевое слово иногда. Представим что на файло помойке #2, которая находится далеко за пределами локалки, скорость чтения составляет 1мб/сек, а также именно на ней хостятся толстенные csv логи пердежа за 10 лет.
И вот наш пул потоков закономерно забивается и мы тратим кучу драгоценного времени на мусор, а не снимаем сливки.


Короче, надеюсь кто-то имеет представление о том, как можно получше запилить)
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх