UNИX, весна 2008, 04 семинар (от 30 мая)

Материал из eSyr's wiki.

(Различия между версиями)
Перейти к: навигация, поиск
(RAID)
(RAID)
Строка 85: Строка 85:
** ''ivlad'': Ты как-то подменяешь понятие, как мне кажется. JBOD это полка с дисками, которая не несёт в себе никакого интеллекта. Если есть 14 дисков, они как 14 дисков видны хосту. В отличие от более полноценной системы RAID, когда эти 14 дисков видны как-то по-другому, и над ними появляется какая-то логика
** ''ivlad'': Ты как-то подменяешь понятие, как мне кажется. JBOD это полка с дисками, которая не несёт в себе никакого интеллекта. Если есть 14 дисков, они как 14 дисков видны хосту. В отличие от более полноценной системы RAID, когда эти 14 дисков видны как-то по-другому, и над ними появляется какая-то логика
** ''GQ'': Значит, мы в терминологии немного расходимся, то, что я читал, там всё-таки JBOD это…
** ''GQ'': Значит, мы в терминологии немного расходимся, то, что я читал, там всё-таки JBOD это…
-
** ''ivlad'': Если объединяем все диски в один поток, то это конкатенация, concat. Solaris Disk Suite мы презденно отметаем сейчас.
+
** ''ivlad'': Если объединяем все диски в один поток, то это конкатенация, concat. Solaris Disk Suite мы презренно отметаем сейчас.
: Понятно, что объединять много дисков последовательно неинтересно, потому что когда данные читаются, они читаются последовательно, и всё читается с одного диска
: Понятно, что объединять много дисков последовательно неинтересно, потому что когда данные читаются, они читаются последовательно, и всё читается с одного диска
* Но дисков много, их можно читать параллельно. Тогда и придумали '''RAID 0''', когда диски делятся на страйпы, и подряд идущие данные лежат часть на одном, часть на другом, на третьем, и так далее. Это к обеспечению отказоустойчивости никак не относится, поскольку избыточности там нет никакой. Избыточность появляется дальше.
* Но дисков много, их можно читать параллельно. Тогда и придумали '''RAID 0''', когда диски делятся на страйпы, и подряд идущие данные лежат часть на одном, часть на другом, на третьем, и так далее. Это к обеспечению отказоустойчивости никак не относится, поскольку избыточности там нет никакой. Избыточность появляется дальше.
Строка 94: Строка 94:
** ''Из зала'': Я не знаю, что такое RAID 5 и RAID 6. Всю свою несознательную жизнь я использовал 0+1. [[Image:Uneex 08 05 30 raid 0+1 man.jpg|thumb|Человек из зала, использующий RAID 0+1]]
** ''Из зала'': Я не знаю, что такое RAID 5 и RAID 6. Всю свою несознательную жизнь я использовал 0+1. [[Image:Uneex 08 05 30 raid 0+1 man.jpg|thumb|Человек из зала, использующий RAID 0+1]]
** ''ivlad'': Замечательно. На самом деле не факт, что она несознательная…
** ''ivlad'': Замечательно. На самом деле не факт, что она несознательная…
-
** ''ГК'': А то есть мнение, что RAID это набег
+
** ''ГК'': А то есть мнение, что "рейд" это набег
** ''ivlad'': Понятно, что самый тупой способ хранить данные на нескольких дисках так, чтобы была устойчивость: первый байт записываем на первый диск, второй на второй, третий на третий, а на четвёртый XOR этих байт. Так работает '''RAID 3''', если не ошибаюсь. <!-- 31:00 -->
** ''ivlad'': Понятно, что самый тупой способ хранить данные на нескольких дисках так, чтобы была устойчивость: первый байт записываем на первый диск, второй на второй, третий на третий, а на четвёртый XOR этих байт. Так работает '''RAID 3''', если не ошибаюсь. <!-- 31:00 -->
-
** ''ivlad'': в 4 рейде есть большой бонус --- при добавлении допдиска можно сказать, что он забит нулями, контр. сумма не изм и доп. телодвижений делать не надо
+
** ''ivlad'': в 4 рейде есть большой бонус --- при добавлении нового диска можно сказать, что он забит нулями, контрольная сумма не изменяется и дополнительных телодвижений телодвижений делать не надо.
-
Космбинирование уровней рейда:
+
Комбинирование уровней рейда:
* Можно сделать зеркало над страйпами или страйп над зеркалами. Понятно, что отказоустойчивость у них разная. В случае, если вылетает два диска...
* Можно сделать зеркало над страйпами или страйп над зеркалами. Понятно, что отказоустойчивость у них разная. В случае, если вылетает два диска...
** ivlad: Начнём с одного
** ivlad: Начнём с одного
Строка 110: Строка 110:
Ещё один, совсем коротко, про RAID-контроллеры
Ещё один, совсем коротко, про RAID-контроллеры
-
* Сначала контр. были аппаратные, они делали вид, что к ним подкл. одни диск, на самом деле неск., платы стоят дорого, поск. дклаютмя для дорогих серверов
+
* Сначала контроллеры были аппаратные, они делали вид, что к ним подключён одни диск, на самом деле несксколько, платы стоят дорого, поскольку делаются для дорогих серверов
-
* В какой-то момент решили делать прогрю. Рейд, понятно что он будет отнимать ресурсы системы, работать медленнее, зато это замечательно работает.
+
* В какой-то момент решили делать программный RAID, понятно что он будет отнимать ресурсы системы, работать медленнее, зато это замечательно работает.
-
* Лет 5---10 назад стало популярно в очень недорогие мат. платы нечто, что произв. называл аппаратным рейдом, но оно было только на уровне биоса, дальше на уровне ос это драйвера. Но оно отличается в худшую сторону. Если вышла из строя аппаратный raid, то нужно купить точно такой же адаптер, но он стоит дорогих денег, давно не выпускается и так далее. Но в случае рейда 0 и 1 помогает dd и скрипт на шелле, достаточно знать, какого размера блоки и какой диск первый-второй. Понятно, что аппаратные работают быстрее
+
* Лет 5---10 назад стало популярно в очень недорогие материнские платы встраивать нечто, что производители называют аппаратным рейдом Но по сути оно было только на уровне биоса, дальше на уровне ос оно оперируется драйвером. Оно отличается в худшую сторону. Если вышла из строя аппаратный raid, то нужно купить точно такой же адаптер, но он стоит дорогих денег, давно не выпускается и так далее. Но в случае рейда 0 и 1 помогает dd и скрипт на шелле, достаточно знать, какого размера блоки и какой диск первый-второй. Понятно, что аппаратные работают быстрее
* В СХД есть обычно свои средства
* В СХД есть обычно свои средства

Версия 10:48, 31 мая 2008

Содержание

Введение

С чего вдруг лектор рассказывает про такие вещи…

ГК: Давай мы сделаем маленькое объявление, я тут вижу много разного народу, некоторые знакомые лица, некоторые — нет. Что такое UNИX: эта аббревиатура имеет отношение к некоторому плавающему собранию людей, непрерывно обновляемому. Я так думаю, что некоторые из здесь присутствующих просто не знают о существовании этого мероприятия по причине того, что последние года два оно не проводилось вообще: последний семинар был ровно два года назад из тех, что проводились давно. Задача очень простая — делиться информацией в режиме реального времени. Я сказал, что сообщество плавающее, одно время я был активным инициатором этого безобразия, потом работа меня съела и появились студенты ответственные, которые взяли на себя всю организационную часть. Это уже третье публичное сборище. Я не знаю, сколько мы выдержим стиль две недели летом, следите за объявлениями. Поскольку, вопрос о том, что означает эта аббревиатура, обсуждался на ЛОРе, повторяться я не буду.

Дело в том, что мы, то есть ЛВК — бюджетная организация, и как это бывает, внезапно под новый год сказали, что есть полтора миллиона рублей, и их надо срочно потратить. Поскольку списка, чего надо, не было, решили, что места мало и пользователи любят хранить всякую мультимедию, в итоге возникла потребность во внешнем хранилище. Поэтому пришлось окунуться в то, что такое СХД, конкретно SAN, и очень много было вопросов, потому что господа, которые при ..., у них немножко другая терминология, а нас интересовали больше всякие разные технические вещи, как оно работает и как его использовать в той инфрастурктуре, которую мы себе видели. Поэтому пришлось покопаться. Неоторое время назад лектор делал доклад на ЛВКшном студенческом семинаре о том, что я узнал, а это такая изменённая версия, без совсем простых вещей, но тем, не менее, версия того доклада.

  • ГК: Будет упомянут какой-то конкретный сервер хранения данных, который был за полтора миллиона куплен?
  • GQ: Да.
  • ГК: Это факультетский?
  • GQ: Нет, на факультете гораздо более навороченный, у нас всё попроще.
  • ivlad: Какой именно?
  • GQ: А вот я не помню, по-моему 20 + гейт(?)
  • ГК: Короче, Володь, у нас есть администратор этого безобразия, боюсь, он скажет ещё меньше

Содержание

Попытаемся разобраться, для чего это надо, зачем хранить данные, откуда всё это взялось. Для начала несколько простых вещей, которые, тем не менее необходимы:

  • Что такое RAID
  • Что такое управление логическими томами (LVM)
  • Про СХД, какие они бывают, какие там интерфейсы, протоколы используются, как всё это выглядит. В частности, расскажу, как мы это используем

Данные

Понятно, что данных много, они всё время растут, их надо где-то хранить, при чём хранить надо так, чтобы они были доступну было из разны мест. При этом, мы не можем сразу решить, какой необходим объём дискового хранилища: сейчас нужен терабайт, через год надо будет два терабайта, сразу покупать 2 терабайта бессмысленно и дорого, поэтому возникает задача масштабирования, в итоге всё упирается в вопрос денег — мы не сразу можем приобрести большое хранилище. Помимо этого, требуется, чтобы данные хранились надёжно, безопасно, и чтобы всем этим можно было как-то управлять так, чтобы это не было чёрной магией. Для решения этих задач используют специализированные системы, которые занимаются как раз тем, что хранят данные, и дальше есть всевозможные потребители этих данных, которые их по-разному используют.

  • ГК: Децентрализация чего: пользования или хранения?
  • GQ: В принципе, возникает децентрализация и потребителей, и хранилищ

Отдельно отметим пункт с надёжностью, поскольку данные имеют очень высокую стоимость: это могут быть финансовые данные, данные по проектам, которые выполняются для того дяди, и если всё накроется, будет очень грустно.

  • ГК: Вопрос по третьему слайду: вот это всё требования? Особенно последнее (сложность управления)?
  • GQ: Нет, это различные аспекты, на которые нам приходится обращать внимание, почсему, собственно, у нас возникают такие специализированные системы, системы хранения данных
  • ГК: Тогда вопрос — сложность управления чем?
  • GQ: Сложность управления всей этой инфраструктурой, где есть потребители жанных, есть хранилища данных…
  • ГК: Про данные я понимаю, про задачи децентрализации хранения и потребеления я понимаю. А вот… чем управления? Нечем управлять: просто свалка и всё, зачем ей управлять?
  • GQ: Как только возникает децентрализация, есть сервер к которому подключен жёсткий диск, есть другие сервера, которые хотят использовать эти данные, которые хранятся централизованно на этом сервере. Сразу возникает вопрос, как этим управлять: как управлять правами доступа, как настраивать этот доступ… Поэтому, одна из задач создания специализированных СХД — решение этого вопроса, то есть снижение сложности управления такими…
  • ivlad: Можно считать, что это проблемы до того, как специализированную СХД купили: объём данных рос, сложность управления росла...
  • ГК: Да, в таой постановке я понимаю

Отказоустойчивость

По поводу отказоустойчивости надо отдельно остановиться. Собственно, она делится на две основные задачи:

  • Сохранность данных, то есть, чтобы наши данные, которые где-то хранятся, вдруг никуда не исчезли, не получилось так, что мы их потеряли
  • Обеспечение доступности. Если есть какая-то система, которая эти данные как-то хранит, то возникает желание, чтобы эта система была доступна всегда. Если у нас, например, 10 серверов, которые используют эти данные, чтобы не было какого-то слабого звена
    • ГК: Проблема в другом — проблема не в том, чтобы случайно выключится какой-то сервер, который потом не отдаст данные, хотя это тоже. Проблема в том, чтобы данные были доступны в режимное время, при том, что 180 потоков уже идут. То есть, есть неки график потребления…
    • ivlad, GQ — Нет.
    • ГК: А в чём?
    • ivlad — Проблема в том, что данные, как таковые, целостные, а доступа к ним по какой-то причине нет
    • GQ — Например, сгорел порт на сервере, к которому подключена СХД. Сервер есть, данные есть, доступа к ним нет
    • Юрий — Вопрос по поводу отказоустойчивости, возможно, необходимо разделить постановку. Есть вопросы, связанные с отказом оборудования, это нештатные ситуации. И здесь вопрос отказоустойчивости — обеспечить максимально возможный доступ к данным за какое-то разумное время. В частности, система бэкапов может быть тоже системой обеспечения отказоустойчивости.
    • ivlad — Нет. Бэкапы обеспечивают сохранность данных.
    • Юрий — Ну, скажем, так, не средства бэкапа, а средства восстановления данных из бэкапа
    • GQ — Система восстановления данных из бэкапов позволяет…
    • Юрий — Я хотел бы разделить два вида отказов: отказ, связанный с нештатной ситуации работы оборудования и ПО, и есть отказы вида штатной работы: когда всё есть, все программы работают, а вот доступа к данным нет
    • GQ — Можно, всё-таки конкретизирую. У нас есть в лаборатории люди, которые занимаются отказоустойчивостью. На самом деле, с точки зрения теории, есть понятие неисправности — это когда что-то где-то не работает. Неисправность может приводить к ошибке. Ошибка — обнаруженная неисправность, которую система обнаружила. А отказ — такая ошибка, которую мы никак не можем предотвратить или исправить, которая приводит к тому, что система перестаёт выполнять те требования, которые на неё наложены. Собственно, отказ, это когда система перестаёт работать.
    • Юрий — Так вот, дублирование узлов, избыточность и так далее — к какому виду избыточности это относится? Дублирование узлов используется, когда целиком узлы дублируются, это обеспечение доступности. А избыточность обычно для задач сохранности данных.

При этом избыточность может применяться на разных уровнях.

RAID

В базовом случае, когда речь идёт именно о самих накопителях, на которых хранятся данные — использование технологии RAID. Что такое RAID, все знают, подробно про это объяснять не надо.

  • JBOD (Just Bunch Of Disks). Есть просто много дисков, разных размеров, а надо одно большое пространство, мы все вместе объединяем и получается один виртуальный диск большого размера
    • ivlad: Ты как-то подменяешь понятие, как мне кажется. JBOD это полка с дисками, которая не несёт в себе никакого интеллекта. Если есть 14 дисков, они как 14 дисков видны хосту. В отличие от более полноценной системы RAID, когда эти 14 дисков видны как-то по-другому, и над ними появляется какая-то логика
    • GQ: Значит, мы в терминологии немного расходимся, то, что я читал, там всё-таки JBOD это…
    • ivlad: Если объединяем все диски в один поток, то это конкатенация, concat. Solaris Disk Suite мы презренно отметаем сейчас.
Понятно, что объединять много дисков последовательно неинтересно, потому что когда данные читаются, они читаются последовательно, и всё читается с одного диска
  • Но дисков много, их можно читать параллельно. Тогда и придумали RAID 0, когда диски делятся на страйпы, и подряд идущие данные лежат часть на одном, часть на другом, на третьем, и так далее. Это к обеспечению отказоустойчивости никак не относится, поскольку избыточности там нет никакой. Избыточность появляется дальше.
  • Полное зеркалирование всех данных. Это RAID 1.
  • Дальше начали применять коды Хэмминга (RAID 2). Когда есть несколько дисков, можно данные так распределить, чтобы избыточность образовалась.
  • Сейчас наиболее используемые RAID 5—6, где данные блоками распределены между несколькими дисками
    • ivlad: Все знают, что такое RAID? Кто не знает?
    • Из зала: Я не знаю, что такое RAID 5 и RAID 6. Всю свою несознательную жизнь я использовал 0+1.
      Человек из зала, использующий RAID 0+1
      Человек из зала, использующий RAID 0+1
    • ivlad: Замечательно. На самом деле не факт, что она несознательная…
    • ГК: А то есть мнение, что "рейд" это набег
    • ivlad: Понятно, что самый тупой способ хранить данные на нескольких дисках так, чтобы была устойчивость: первый байт записываем на первый диск, второй на второй, третий на третий, а на четвёртый XOR этих байт. Так работает RAID 3, если не ошибаюсь.
    • ivlad: в 4 рейде есть большой бонус --- при добавлении нового диска можно сказать, что он забит нулями, контрольная сумма не изменяется и дополнительных телодвижений телодвижений делать не надо.

Комбинирование уровней рейда:

  • Можно сделать зеркало над страйпами или страйп над зеркалами. Понятно, что отказоустойчивость у них разная. В случае, если вылетает два диска...
    • ivlad: Начнём с одного
    • А в случае одного всё одинаково
    • ivlad: Нееет, по-разному ...
    • ...

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

Это один аспект отк., который отн. к сохр. данных, есть ещё аспект, отн. к доступности. Для этого есть техн., наз. MP. Есть ящик с дисками, он подключен к серверу. Есть порты ввода-вывода, которые подк. к серверу. Понятно, что они могут выйти из строя. Можно подключить два провода, тогда, если вылетает один, то всё равно они ост. соединены. И для того, чтобы это не требовало ручных изменений и настройки, сущ. подсистема MP, которая для нашего сервера делает вид, что у нас одни канал данных, но на самом деле два, и можно по ним ещё нагрузку раскидывать, например.

Ещё один, совсем коротко, про RAID-контроллеры

  • Сначала контроллеры были аппаратные, они делали вид, что к ним подключён одни диск, на самом деле несксколько, платы стоят дорого, поскольку делаются для дорогих серверов
  • В какой-то момент решили делать программный RAID, понятно что он будет отнимать ресурсы системы, работать медленнее, зато это замечательно работает.
  • Лет 5---10 назад стало популярно в очень недорогие материнские платы встраивать нечто, что производители называют аппаратным рейдом Но по сути оно было только на уровне биоса, дальше на уровне ос оно оперируется драйвером. Оно отличается в худшую сторону. Если вышла из строя аппаратный raid, то нужно купить точно такой же адаптер, но он стоит дорогих денег, давно не выпускается и так далее. Но в случае рейда 0 и 1 помогает dd и скрипт на шелле, достаточно знать, какого размера блоки и какой диск первый-второй. Понятно, что аппаратные работают быстрее
  • В СХД есть обычно свои средства

У рейд 5 есть большой недостаток --- для записи 1 байта приходится прочитать два блока, чтобы вычислить блок чётности.

  • ivlad: Для записи требуется:
R(D), R(P)
P - D
D_n + P
W(P), W(D_n)

Если надо прочитать D_1 + D_2

D_1 + D_2
W(D_1) W(D_2) W(P)

Важно понимать патторны работы с дисками при проектировании RAID 5. Общий рецепт такой: потокавая запись очень быстрая, если full-/// stripe, который может делаться или очень большим кэшем, или операционная система видит, что длинная операция записи, отключает кэш и все операции сразу идут на бэкенд-петлю. В случае же RAID 10 нужно синхронизировать ... . ...

Ещё на умных, хороших аппаратный рейдах есть собственный кэш, собственная память для того, чтобы подобрать правильную посл. записи на диск. Во-вторых, там есть замечательное свойство, что после того, как данные сохранили в кэш, можно сказать ОС, что данные сохранены. В этом случае может быть проблема, что делать, если питание отрубится. Обычно, для этого есть батарейка, которая позволяет сохранить кэш..

LVM

  • Не можем спланировать, сколько потребуется места через 3 года
  • Хотим home 300ГБ, а у нас два диска по 200
  • Или сначала был один диск, а потом появился второй

Для этого всего исп такую вещь, как LVM. У нас есть физ. устройства, например, два диска по 200, разбили их на 100+100 и 200, над ними указываем группы томов: sda1 и sda2+sdb1, над группами можно создать виртуальные тома.

  • Юрий: а зачем выделять группы?

Дальше уже выделяем root/usr/var

  • ГК: я ничего не понял про то, где тут масштабируемость. Из проблемы понятно, как решается
  • GQ: изначально выделяется по 5 гигабайт, потом увеличить тома можно, и оно изменит размер online
  • ivlad: И это фрагментируется?
  • GQ: да, возникает проблема фрагментации
  • ...

Далее, если купили терабайт и хотим выкинуть два по 200, то подключаем терабайт, говорим мигрировать, и отключаем старые

Логические тома

  • Физ. том
  • Группа лог. томов
  • Лог. том

Свойства

  • Snapshot. Хотим получим копию логического тома, чтобы он был консистентен по времени. Для этого создаётся снэпшот (на самом деле, никакого копирования не происходит, заводится метаинформация). Если что-то пишем, то сохраняем и то, и то.
  • Юрий: ...
  • ivlad: ...
  • ivlad: ещё более интересная ситуация, когда надо сделать снэпшот сырого диска. Производители ... публикуют интерфейсы, которые позволяют делать снэпшот тейблспейса, и оракл дальше пишет в лог(?) ... но это решение на уровне приложения

СХД

  • DAS --- dirrect attached storage --- ящик с дисками. Хранилище, которое подкл. непосредственно. DAS работает по принципу одного потребителя данных, и в случае децентрализации потребителя этого недостаточно для решения этого придумали
  • NAS --- ящик, к которому подключаются по сети и работает с ним
  • SAN --- ...

DAS

  • Работают по стандартным интерфейсам
  • Предст. либо RAW диски, либо иногда RAID, но это всё просто

NAS

  • Стандартные помойки, которые подключаются по HTTP, FTP, NFS...
    • ГК: а это только файл-ориентированные доступ?
    • Да.

SAN

  • Даёт доступ до блочного пространства (блочная семантика) и ничто не запрещает нам иметь доступ одновременно к одному блочному устройству с нескольких потребителей
  • В качестве физического интерфейса используется либо Ethernet либо IP, самое быстрое и вкусное это Fibre Channel
    • iSCSI --- инкапсуляции SCSI команд в IP сети
    • FC --- high-end --- специальная технология для построения сетей с высокой пропускной способностью и низк. латент. В первую очередь FC исп в СХД. Обычно используется оптоволокно, но можно и медь. В качестве протокола используется FCP --- инкапсуляция низк. протокола SCSI. При этом в принципе можно использовать различные топологии: точка-точка, каждый с каждым, switched fabric --- топология, когда есть несколько устройств, которые называются Fibre Channel Switch, они как-то соединены, мы подключаем потребителя и поставщика данных к этой сети, и как-то по этой сети до этих данных можно достучаться, там достаточно интересные способы маршрутизации, и с избыточностью там всё хорошо; ещё одна топология --- кольцо с арбитром.
    • ivlad: фабрика устроена достаточно сложно, там свои алгоритмы маршрутизации, всё это очень интересно..

Подключение СХД

Следующий вопрос, как система подкл. к потреб. Если у нас инкапс. SCSI over IP, то можно прогр. решение организовать, в принципе, для SCSI исп. карточки, которые наз. host bus adapteer. В системе они видны как контроллеры, а диски, которые доступны с SAN, видны как разные SCSI-диски.

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

Типы дисков, исп. в СХД

  • В NAS/DAS --- IDE-SCSI-SATA-SAS
  • В SAN исп. в дешёвых SATA, в подороже либо SAS, либо FC, они работают по FCP
    • Из зала: есть ещё FATA --- ATA, к которому присобачен FC

Пример СХД

Та хрень, которая у нас в итоге применяется, это EMC Clarion AX150 (но под брендом Aquarius) с двумя процессорами и И/П

В итоге выглядит это вот так вот:

  • ivlad: в случае отказа может выйти из строя вся фабрика, поэтому делают две фабрики, но здесь вырожденный случай.

Крутится это на виндах ...

Процессорам в итоге видны 8 томов, которые объединены линуксовым MP, у EMC есть свои драйвера, но вот ...

  • ivlad: для чего на самом деле покупаются подобные системы

PowerPath: умеет гонять служебные данные (пинг) по неактивному пути, для проверки, можно на него переключиться или нет.

В любом случае, использоывать ядерный модуль мы не могли, потому что Debian, а не RHEL/SLES/CentOS, и кроме того, использовался Xen.

Эти самые FC-свичи это не совсем тупая вещь, в случае, когда 1 сервер, 1 хранилище, нет необходимости кому-то что-то запрещать, но когда есть несколько серверов и хранилищ, то нужно делать нечто аналогичное VLAN, в FC это называется зонинг. И несмотря на то, что инженеры говорили, что втыкаешь --- всё работает, то через свичи не работало. Оказалось, что зонинг включён по умолчанию, и он блокировал всё.

Enterprise-решения

Понятно, что можно поставить писюк, поставить харды, и всё настроить. Но в этом случае нужно всё настраивать руками, тут необзодимо добиваться произв, и так далее.

Вопросы:

  • Балансировка --- осущ. dev. mapper ---
    • ivlad: ... В системах нач. уровня только так и делается, в более крутых системах может осущ дин. нагрузка, ...

ivlad:

Речь в итоге идёт о деньгах. Домашние решения против вендорских. Понятно, что вендорские будут дороже. Но люди, которые их покупают, полагаются, вот на что:

  • Всё завязывается на людей. Если человек собрал решение, то на него всё завязывается, в случае с вендором это перекладывается на вендора.
  • GQ: Говорят, что диски, которые в кларионах, тестируются неск. дней в гермокамерах
  • ivlad: так и есть, потому они таких денег и стоят
  • GQ: и они несовместимы с другими...
  • ivlad: да, и это понятно,почему. Как минимум, нои отформатированы под 520, а не 512 байт. ... В итоге, тут нет ни одной критичной точки, во вторых, ошибки обнаруживаются до того, как они станут критичными.

Symmetrix: там всего по много и всё симметрично.

Есть фронтэнд процессоыр (до 16), етсь кэши (по 256G), есть бэкенды (до 16),

Каждый диск обслуживается как минимум двусмя процессорами. В таком случае балансировка сделается более эффективной. Тут можно играться с QoS.

Потоковая запись происходит совсем по-разному. Кларион, когда видит, что поток, он ничего не пишет в кэш, он сразу пишет на диск. Если дисков много, то такую операцию выгодно делать. А в случае симметрикса, топология такова, что кэш пробить нельзя, и работать он всё равно будет работать черз кэш. И вопросы произв. не то, чтобы оченнь сложные, но очень много тонких моментов. Нужно подобрать такой паттерн, чтобы забить 256Г кэша, то будет скорость работы с дисками. Если писать только на опр. диски

Префетч: бывет выгодно прочитать вместе с 3 блоком 4,5,6,7 и 8. Прочитав в кэш, мы натыкаемся на баланс, мы с одной стороны забиваем кэш и замедл. запись, но с другой стороны ускоряем чтение, если угодали.

Поэтому от адм. стораджа требуется внимание к тому, какие паттерны в его системе.

В симметриксе есть специальная тулза для performance monitoring. В Симметриксе он даже может автоматически решить задачу по некоторым метрикам так, чтобы произв. повысилась. В кларионе эта задача ложится на администратора.

  • Вопрос: вы сказали про рейд 5 из 15 дисков, там что, действительно 14+1?
  • ivlad: да
  • Но это понижает надёжность
  • Да, здесь вопрос в балансе

...

Вообще гворя, все конструкции по поводу постр. дисков, постр. рейдов...

Если вернутьтся от 5 рейда до 6, то в 6 считаются две чексуммы --- одна поперёк, вторая диагонально. Пример на 5 дисках:

Что здесь хорошо: чёткость размазана и всё работает при выходе из строя двух дисков.

Как работает parity в RAID5: P = d1 xor d2.

Когда К6 стал актуален --- когда диски стали настолько большие, что вероятность вылета второго диска во время ребилда стала актуальной.

Распространённая ситуация на тот момент: интерфейс хоста --- для FC на тот момент 1Гбит, будем считать что это 100МБайт. Если надо ребилднуть 100-гиговый диск, то 1000 секунд, если учеть реальную эффективность, то это порядка 1/8 суток. Плюс реальная нагрузка бегает...

В кларионах диск ребилдится сутки. Кларион может поставить приоритет на процесс ребилда.

Вообще говоря, избыточность может быть любой, m+n, что позволяет пережить m отказов. Но по скорости он сосёт, псокольку уже дя R6 нужно собирать квадрат, и при случайной записи надо собрать квадрат, и скорость проседает, что можно решать кэшом. Но большие кэши это техн. сложно.

Компания ... предложила следующее: давайте делтаь случайную запись, но писать на диск последовательно. Что мы получили: мы получили запись быструю (потому что пишем только full-... stripe) и это очень хорошо. Но возникает проблема фрагментации. Мало того, что надо делать мэппинг, но понятно, что ни о какм префетче можно не говорить, всё врея надо перепозиц. головку. Решение тут только одно --- делать периодич. дефрагментацию. Решение делать дефр. online эта такая инж. задача, вполне себе решаемая. Теоретически эта задача разрешимая, практически её пока не решили. Есть офлайновая дефрагментация.

Поэтому среди unix-гиков он очень популярен. У него хорошаяреализация nfs, он быстрее писюка. С другой стороны, у него гламурная командная строчка, и он выгядит довольно прикольно. Из success-story --- Я.Деньги работают на них. У EMC работает на них биллинг у МТС.

У R6 есть разные подсчёты второй parity.

  • Вопрос: про SSD
    • Уже сейчас можно купить Symmetrix с SSD
    • Плюсы и минусы SSD: операции записи ползут.
    • Надо прапильно понимать, где они нужны: если позиционирование игрвет роль, то оно актуально, там будет большой прирост. Там, где делаешь потоковую запись, то тут смысла нет.
    • В чём отличия при исп.: не сбрасывают кэш, поск. отсут. статистика по отказам

Паттерн работы с БД: записи накапливаются в лог потом оно

Тюнить работу с дисками можно вечно, как PS1 в баше.


UNИX, весна 2008


Лекции

01 02 03 04 05 06 07 08 09 10 11 12 13 14


Календарь

Февраль
13 20 27
Март
05 12 19 26
Апрель
02 09 16 23 30
Май
07 14
Семинары

01 02 03 04 05 06 07


Календарь

Март
21
Апрель
04
Май
16 30
Июль
11 18
Август
15


Эта статья является конспектом лекции.

Эта статья ещё не вычитана. Пожалуйста, вычитайте её и исправьте ошибки, если они есть.
Личные инструменты
Разделы