Назад | Перейти на главную страницу

Как лучше всего объяснить разработчикам и другим пользователям проблемы с хранением

Когда на сервере становится мало места, разработчики начинают стонать: «Я могу купить диск емкостью 1 ТБ в Walmart за 100 долларов, в чем проблема».

Как можно объяснить разработчикам сложности хранения, чтобы они поняли, почему диск на 1 ТБ от Walmart просто не работает?

p.s. Я разработчик и тоже хочу знать :)

Некоторые истины о хранилищах, или почему корпоративные хранилища такие чертовски дорогие?

Потребительские жесткие диски предлагают большие объемы пространства, так что даже самый взыскательный пользователь * кашляет * потоковое мультимедиа * кашляет * может купить достаточно для хранения коллекции в несколько терабайт. Фактически, емкость диска росла быстрее, чем транзисторы рассчитывают на кремний, уже пару десятилетий.

«Корпоративное» хранилище - это несколько более сложная проблема, поскольку данные имеют требования к производительности и целостности, которые диктуют несколько более тяжелый подход. Данные должны иметь некоторую гарантию доступности в случае сбоев оборудования, и, возможно, они должны быть переданы большому количеству пользователей, что сгенерирует намного больше запросов на чтение / запись, чем один пользователь.

Технические решения этой проблемы могут быть во много, во много раз дороже из расчета на гигабайт, чем решения для потребительских хранилищ. Они также требуют физического обслуживания; необходимо делать резервные копии и часто хранить их вне офиса, чтобы пожар не уничтожил данные. Этот процесс увеличивает текущие расходы.

Производительность

На потребительском или корпоративном накопителе емкостью 1 ТБ у вас всего одна головка. Диск вращается со скоростью 7200 об / мин или 120 оборотов в секунду. Это означает, что теоретически * вы можете выполнять не более 120 операций ввода-вывода с произвольным доступом в секунду, а на практике - несколько меньше. Таким образом, копирование большого файла на один том размером 1 ТБ происходит относительно медленно.

В дисковом массиве с 14 дисками по 72 ГБ у вас есть 14 головок над дисками, которые, скажем, работают со скоростью 15 000 об / мин или примерно 250 оборотов в секунду. Это дает теоретический максимум 3500 произвольных операций ввода-вывода в секунду * (опять же, на практике несколько меньше). При прочих равных условиях копирование файла будет во много-много раз быстрее.

* Вы могли бы получить более одного произвольного доступа за один оборот диска, если бы геометрия операций чтения позволяла диску перемещать головки и читать сектор, который оказался доступным в пределах одного оборота диска. Если обращения к диску были сильно рассредоточены, вы, вероятно, получите в среднем меньше единицы. Если дисковый массив отформатирован в виде чередующейся (см. Ниже) компоновки, в большинстве случаев вы получите не более одного чтения полосы на оборот диска и (в зависимости от RAID-контроллера), возможно, в среднем меньше одного.

Диск 7200 об / мин 1 ТБ, вероятно, будет достаточно быстрым при последовательном вводе-выводе. Дисковые массивы, отформатированные по схеме с чередованием (RAID-0, RAID-5, RAID-10 и т. Д.), Обычно могут читать не более одной полосы за один оборот диска. С полосой 64 КБ мы можем читать 64 КБ x 250 = 16 МБ или около того данных в секунду с диска со скоростью вращения 15 000 об / мин. Это дает последовательную пропускную способность около 220 МБ / с на массиве из 14 дисков, что не намного быстрее на бумаге, чем 150 МБ / с или около того, указанные для современного диска SATA 1 ТБ.

Для потоковой передачи видео (например) массив из 4 дисков SATA в RAID-0 с большим размером полосы (некоторые контроллеры RAID поддерживают размер полосы до 1 МБ) имеет довольно большую последовательную пропускную способность. В этом примере теоретически можно передавать поток со скоростью около 480 МБ / с, что достаточно для редактирования несжатого HD-видео в реальном времени. Таким образом, владельцы Mac Pro и аналогичного оборудования могут выполнять задачи композитинга HD-видео, для которых всего несколько лет назад потребовалась бы машина с оптоволоконным массивом с прямым подключением.

Настоящее преимущество дискового массива заключается в работе с базой данных, которая характеризуется большим количеством мелких, разрозненных запросов ввода-вывода. При этом типе рабочих нагрузок производительность ограничивается физической задержкой, когда металлические кусочки на диске движутся туда-сюда и туда-сюда. Этот показатель известен как IOPS (количество операций ввода-вывода в секунду). Чем больше у вас физических дисков - независимо от емкости - тем больше операций ввода-вывода в секунду вы можете теоретически выполнить. Больше IOPS означает больше транзакций в секунду.

Целостность данных

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

Инфраструктура для дисковых массивов (и SAN в более крайнем случае) не совсем предмет массового спроса. Кроме того, это одна из составляющих, действительно очень не может потерпеть неудачу. Такое сочетание стандартной конструкции и меньших объемов рынка обходится недешево.

Общая стоимость хранения, включая резервное копирование

На практике наибольшие затраты на обслуживание 1 ТБ данных, вероятно, связаны с резервным копированием и восстановлением. Ленточный накопитель и 34 набора SDLT или Ultrium лент для полного цикла резервного копирования и восстановления, вероятно, будут стоить больше, чем дисковый массив на 1 ТБ. Добавьте к этому расходы на внешнее хранилище и зарплату даже одной ленточной обезьяны, и вдруг ваш 1 ТБ данных окажется не таким уж дешевым.

Стоимость дисков часто значительно ниже по иерархии доминирующих затрат на хранение. В одном банке, где мне довелось работать, хранилище SAN стоило 900 фунтов стерлингов / ГБ для системы разработки и 5000 фунтов стерлингов / ГБ для диска на производственном сервере. Даже по ценам корпоративных поставщиков физическая стоимость дисков составляла лишь крошечную долю этой стоимости. Другой известный мне пример - это (относительно) скромно сконфигурированная сеть SAN IBM Shark, которая обошлась им где-то более чем в 1 миллион фунтов стерлингов. Только физическое хранилище на нем стоит около 9 фунтов стерлингов за гигабайт или около 9000 фунтов стерлингов за пространство, эквивалентное вашему потребительскому жесткому диску емкостью 1 ТБ.

Просто скажите: «Да, и я могу нанять Java-программиста за 5 долларов в час».

Может быть, задайте им несколько вопросов об их дисках Walmart:

  • какова его средняя наработка до отказа?
  • что будет, если он выйдет из строя катастрофически?
  • как часто выполняется резервное копирование?
  • сколько хранилища потребуется для резервного копирования за 12 месяцев?
  • как можно сделать резервную копию вне сайта?
  • как это можно было восстановить? (в целом? один файл? пара каталогов?)
  • сколько стоит хранить резервные копии?
  • как он будет гарантировать сохранность резервных копий? безопасный?
  • какая у него есть страховка на случай потери жизненно важных данных?

... Сравните эти ответы с диском, который работает как часть массива RAID 5 в хорошо управляемом центре обработки данных.

(Раскрытие: я тоже разработчик - я просто догадываюсь!)

Возможно, вам стоит подумать о дифференцированном хранении.

Вашему разработчику может потребоваться больше места, но, возможно, ему нужно не дисковое пространство корпоративного класса. Возможно, ему просто нужно место для хранения файлов .vhd и ISO, которые в случае сбоя диска можно снова загрузить с MSDN. Возможно, для тестовых прогонов потребуются большие временные требования к пространству, которые должны быть там только на время тестового прогона. Для всего этого приемлемым решением может быть накопитель Wallmart за 50 долларов.

Первое, что нужно понять людям о хранилище, - это то, что между емкостью и IOPS существует большая разница. Такие вещи, как долговечность и т. Д., Обычно спорны, почти всегда все сводится к соотношению IOPS и емкости.

Смотря о каких серверах там спрашивают. Для базового сервера разработки или тестирования, вероятно, достаточно одного ТБ диска от Wallmart. Если вы имеете дело с высокопроизводительным сервером, который не использует готовые компоненты, спросите их, построят ли они гоночный автомобиль и купят ли шины в магазине автозапчастей, чтобы сэкономить несколько долларов.

Я объясняю это так. Если ваш босс подпишет на покупку. Я поставлю знак на улице Wal-Mart с надписью ...

«Системному агенту было дано указание поместить это здесь против его воли и интуиции». А когда диск перестанет работать, я передам его разработчику, запишу и спрошу, как мне работать на этот раз.

Я согласен с Портманом ... доверяй команде или уходи.

Простой однострочный ответ: диски емкостью 1 ТБ обычно SATA, но ваш сервер - SCSI. (Даже если сервер не SCSI, это может остановить линию запроса ... пока.)

Диск SCSI емкостью 300 ГБ обычно в 4 раза дороже, кроме того, необходимо выполнить резервное копирование существующих данных, организовать время простоя, выполнить установку, что-то может пойти не так, сверхурочные и т. Д. И т. Д. В общем, простое обновление хранилища может привести ко всему виды боли - ни одна из которых разработчик не несет прямой ответственности. Сказать, что вы можете купить готовый накопитель, удовлетворяющий текущие потребности, безнадежно упрощенно.

Но вы знаете, что вам нужно было ставить диски большего размера в эти чертовы серверы, когда вы их покупали, а теперь вы пинаете себя! Но вы хотели, чтобы серверы были установлены, и они добавили бы к первоначальной стоимости, и, возможно, пришлось бы пройти дополнительный раунд утверждения ... добро пожаловать в мир боли системного администратора ...