Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите определиться с дисковыми массивами для SQL-Server
|
|||
|---|---|---|---|
|
#18+
Покупается новый сервер. Проблема в том как организовать оптимально дисковые массивы. Рекомендуют логи транзакций писать на отдельный диск с отключенным write-cache на контроллере. Все диски хочу зеркалировать. Такой вариант пойдет ? : 2х18ГБ - зеркало - система и логи на разных логических дисках - write-cache выкл. 2х18ГБ - зеркало - данные. - вкл. Пожалуйста, поделитесь своим опытом - у кого как работает !!! Хочется получить быструю, отказоустойчивую систему. Были ли у кого-нибудь проблемы с серверами НР ? Хочу взять 2-канальный контроллер NetRAID 2M. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2001, 09:31 |
|
||
|
Помогите определиться с дисковыми массивами для SQL-Server
|
|||
|---|---|---|---|
|
#18+
Я бы из этого набора дисков сделал бы raid5. Производительность от этого стала бы намного выше, чем с зеркалом. Журнал транзакций имеет смысл выносить на отдельный диск, но когда стоит выбор: raid5 или разнесение лога и базы по разным дискам, (годами выработанное IMHO) raid5 гораздо привлекательнее. У нас сервера HP. Проблем нет. Т.е. были, но после просекания ньюансов они перестали быть. NetRAID 2M - выбор неплохой. Главное, убедитесь что там кэш вам поставили в размере ни в коем случае не менее 16Mb. Лучше 32, а еще лучше 64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2001, 10:45 |
|
||
|
Помогите определиться с дисковыми массивами для SQL-Server
|
|||
|---|---|---|---|
|
#18+
Дело вот в чем: если не выносить журнал на отдельный массив, то придется всему массиву запретить кеш на запись. От этого производительность упадет, так как не буду кешироваться данные. Если не запрещать кеш на запись, то возможна проблема с самим журналом, и тогда при сбое системы база не будет восстановлена корректно. Насчет 5-го рэйда читал, что он хорошо работает, но восстанавливать его очень сложно. Был случай, когда в Микрософте не смогли восстановить 5-й рэйд. Сам Микрософт рекомендует RAID 0+1 для SQL Server. Но в этом случае мне приходится мои 4 винта объединять снова в 1 массив =) Поэтому я пока думаю о двух массивах RAID-1. Это не плохо в плане производительности, но вполне надежно, что для меня более важно. Какие будут соображения ? Может я и неправ ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2001, 12:58 |
|
||
|
Помогите определиться с дисковыми массивами для SQL-Server
|
|||
|---|---|---|---|
|
#18+
Дело вот в чем: если не выносить журнал на отдельный массив, то придется всему массиву запретить кеш на запись. От этого производительность упадет, так как не буду кешироваться данные. Если не запрещать кеш на запись, то возможна проблема с самим журналом, и тогда при сбое системы база не будет восстановлена корректно. Насчет 5-го рэйда читал, что он хорошо работает, но восстанавливать его очень сложно. Был случай, когда в Микрософте не смогли восстановить 5-й рэйд. Сам Микрософт рекомендует RAID 0+1 для SQL Server. Но в этом случае мне приходится мои 4 винта объединять снова в 1 массив =) Поэтому я пока думаю о двух массивах RAID-1. Это наверное плохо в плане производительности, но вполне надежно, что для меня более важно. Какие будут соображения ? Может я и неправ ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2001, 12:58 |
|
||
|
Помогите определиться с дисковыми массивами для SQL-Server
|
|||
|---|---|---|---|
|
#18+
>Насчет 5-го рэйда читал, что он хорошо работает, но восстанавливать его очень сложно. Да, наверное восстанавливать его непросто, но и падает он долго. У меня RAID-5 из 3-х дисков при отказе одного более трех недель(пока не пришла замена) работал на 2-х дисках - и ничего(правда я не сильно беспокоился, т.к. у меня OLAP система + полный бэкап на каждый день). Да и в процессе замены пришлось пару раз снова выдергивать новый диск. Контроллер Adaptec 3200S переварил все это. Насчет включения/выключения аппаратного кэша и возможной потери кэшируемых данных при сбоях питания - IMHO на этот случай контроллер должен быть снабжен батарейкой. Кроме того при RAID-5 вы получите не 18ГБ, а больше. PS http://www.sql.ru/articles/mssql/01072303SQLServerAndCachingDiskControllers.shtml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2001, 13:45 |
|
||
|
Помогите определиться с дисковыми массивами для SQL-Server
|
|||
|---|---|---|---|
|
#18+
Лично бы я остановился на предложенном автором вопроса варианте, только для NetRAID не требуется, что бы кэш отключался. У него должна быть батарейка на кеше. Причина? Очень просто. Если бы я делал 5-RAID, я бы оставил один диск для горячей подмены (не путать с заменой). Тогда выигрыша в суммарном дисковом пространстве не остаётся. Что касается производительности операций чтения, разница не будет значительной. Но вот что самое интересное, если Вы потреяете один диск в RAID 5, то он на подменный будет восстанавливаться очень долго, что может даже сделать работу с сервером невозможной, а в варианте с зеркалом, Вы можете запланировать отражение на удобное для этого время. Так что, если время простоя критично, делайте два зеркала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2001, 14:05 |
|
||
|
Помогите определиться с дисковыми массивами для SQL-Server
|
|||
|---|---|---|---|
|
#18+
Какие проблемы с восстановлением RAID5 ?! Сломавшийся диск вынимаешь, новый вставляешь, говоришь ему rebuild и все! Работа с базой даже не прерывается. То, что в Микрософте не восстановился raid5, предполагаю, что это у них совсем другая реализация (ихняя софтовая). А у тебя будет аппаратная. Не зря же контролер под штуку баксов стоит. Кэш на запись действительно надо отключить, точнее установить WRITE BACK. Но это же рекомендуется сделать и для отдельного устройства под базу, если на контролере нет батарейки. Конечно, на производительность это несколько скажется, но падение производительности будет несравнимо меньше выиграша от использования raid5. Дело в том, что запись все равно кэшируется средствами СУБД (процесс LAZY WRITER). Сама Микрософт и SYBASE рекомендует такую конфигурацию: журнал на отдельном зеркале, база на RAID5, система на отдельном зеркале. В твоем случае если удасться пробить 5-ый диск, можно сделать очень удачную конфигурацию: система и журнал на зеркале, база на RAID5 из 3-х дисков. И быстро, и защищено. Но если нет, то лучше все же из 4-х дисков сделать один RAID5. RAID10 - это безусловно, самое лучшее. Но чрезвычайно и неоправданно дорого. К тому же вышеуказанный райд-конролер не поддерживает RAID10 В любом случае рекомендую настроить WRITE BACK везде. Когда-нибудь наступит момент, что ты не пожалеешь об этом. RAID5, сделанный на HP контролере протестировать просто: при работе с базой выдергиваешь диск из массива, проверяешь, что все работает, затем вставляешь этот диск и говоришь ему rebuild. Когда ребилд закончится, опять все проверяешь. Ни в какой момент не должно быть сбоев. Особенно проверь, как идет бэкап большой базы в тот момент, когда в массиве не достает одного диска. Это критический момент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2001, 14:23 |
|
||
|
Помогите определиться с дисковыми массивами для SQL-Server
|
|||
|---|---|---|---|
|
#18+
Ой, оговорился. Конец рабочего дня, однако. Извиняйте. Везде, где в моих словах написано 'WRITE BACK', конечно же, надо понимать наоборот 'WRITE THRU'. Уж простите великодушно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2001, 17:21 |
|
||
|
Помогите определиться с дисковыми массивами для SQL-Server
|
|||
|---|---|---|---|
|
#18+
Глеб Уфимцев < Я и не пытался оспаривать преимущества RAID5. Просто довелось наступать на грабли, когда под утро вылетел один диск, а процедура его автоматического восстановления на Hot Spare длилась очень долго, и это очень сильно мешало работать с базой данных. Этот механизм очень удобен, но нужно в настройках контроллера снизить приоритет операции восстановления данных на Hot Spare. Кроме того, при потере одного диска, находящиеся на нём данные будут вычисляться, а это очень подгружает процессор контроллера. Особенно, если контроллер приобретался в базовой конфигурации, с маленьким кэшем. С другой стороны, я также всегда старался использовать конфигурацию: зеркало + RAID5. А если к ней ещё удавалось добавить диск Hot Spare и повесить зеркало и RAID5 не просто на разные каналы контроллера, а ещё и на разные контроллеры, а контроллеры воткнуть в разные PCI шины... Мне один раз удалось такое собрать на довольно стареньком HP NetServer LX P200pro, с двумя камнями, дублежом шин, двумя Майлоксами, на которых висело два RAID5 - после этого производительность машинки было просто не узнать. База данных на нём просто урчала от удовольствия. Кстати, при разметке массива средствами контроллера, стоит задуматься над размером блока. По крайней мере, та модель, которую использует автор вопроса, может использовать довольно большой диапазон значений (на память не помню). В сочетании с большим кэшем на контроллере, выбор оптимального для конкретной реализации размера блока может дать существенный выигрыш в производительности. Т.е. если ваши данные часто читаются из базы в больших объёмах, можно выиграть за счёт увеличения размера блока. Когда-то я экспериментировал с разными конфигурациями кэша и размера блока, и результаты были просто поразительные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 08:07 |
|
||
|
Помогите определиться с дисковыми массивами для SQL-Server
|
|||
|---|---|---|---|
|
#18+
Спасибо большое за подробное и интересное обсуждение. 2Глеб Уфимцев: Да, наверное стоит потратиться еще на 1 диск для такой конфигурации (зеркало+рэйд5) 2Александр Гладченко: На контроллере будет 64М кеша, не подскажите ли хотя бы примерно размер блока для него ? Вообще-то такие эксперименты надо тщательно документировать и оформлять в статью 2All: Пожалуйста, не стесняйтесь - похвалитесь и своими высокопроизводительными и надежными конфигурациями дисковых массивов =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 09:29 |
|
||
|
Помогите определиться с дисковыми массивами для SQL-Server
|
|||
|---|---|---|---|
|
#18+
На выбор оптимального размера блока влияет очень много факторов, которые зависят не только от используемого железа, размера памяти, дисков, пропускной способности шин и т.п., но и от особенностей работы ваших приложений сервера баз данных. Это предмет отдельного исследования и общие рекомендации могут оказаться не оптимальными. Поскольку я не занимаюсь этим систематически, не считаю возможным для себя давать конкретные рекомендации, но могу посоветовать обратиться на специализированные в этой теме форумы и покопаться в документации на сайтах производителей Вашего железа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 09:55 |
|
||
|
Помогите определиться с дисковыми массивами для SQL-Server
|
|||
|---|---|---|---|
|
#18+
Наибольшая производительность для транзакционной базы будет при размере страйпа 64-128кб, а для аналитической базы 128-256кб. Эти же величины рекомендуют люди из Микрософт неофициально. Официально Микрософт хранит гордое молчание по поводу рекомендаций по размеру страйпа. Не понятно, чем руководствуется производитель контролера, задающий размер страйпа по-умолчанию в 4кб. Кстати, при размере страйпа меньше 8кб (меньше размера страницы) при работе mssql весьма вероятны глюки, падение сервака и разрушение базы (!). О последнем меня лично предупреждал человек из представительства Микрософт. Идем дальше. Размер UNIT в NTFS. Задается при форматировании раздела. Оказывается, что он тоже имеет влияние на производительность mssql, причем максимум достигается при 32кб. А по-умолчанию предлагается 4кб. Несмотря на зависимость производительности от размера юнита, Микрософт рекомендует оставить размер по-умолчанию в 4кб. Идем дальше. Если внимательно почитать инструкцию к контролеру, то увидим, что производитель рекомендует делать размер юнита больше или по-крайней мере таким же, как размер страйпа. И здесь мы видим противоречие рекомендаций Микрософт и производителя контролера. Но что делать? Выбирать-то надо что-то. Намаявшись экспериментами и с'аккумулировав все вышеперечисленные соображения, я для себя (вам не навязываю!) вывел оптимальную конфигурацию: размер страйпа - 64кб, размер юнита ntfs - 64кб. При этом достигается и максимальная производительность, м не нарушается требование производителя контролера. Нарушается только рекомендация Микрософт о размере юнита в 4кб, причем они это никак не обосновывают. Имейте в виду один момент. Если размер юнита ntfs больше 4кб, то теряется возможность сжимать файлы средствами ntfs. Для базы это, конечно, безразлично. Это имеет смысл для хранилищ файловых архивов и файловых серверов. Все соображения я высказал. Вам решать. А четких указаний по этому поводу не существует в природе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 11:13 |
|
||
|
Помогите определиться с дисковыми массивами для SQL-Server
|
|||
|---|---|---|---|
|
#18+
Так получилось, что я тоже вибирал всегда размер страйпа - 64кб, а размер юнита ntfs - 64кб... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 12:29 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32017966&tid=1824798]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 402ms |

| 0 / 0 |
