Я настраиваю SQL Server на Win 2k8 со следующим оборудованием:
Я читал некоторые предположения, что размещение файла журнала и ОС на собственном RAID1, в то время как остальные данные находятся на RAID10, было бы лучшей конфигурацией для 8 дисков. Однако мне не хватает двух дисков, и мне интересно, какая конфигурация будет так же хороша.
Опция 1) 2 x RAID1 для ОС и журналов, 4 x RAID10 для данных
Вариант 2) 6 x RAID10 для ОС, журналов и данных
P.S. Имеет ли значение разделение диска в RAID10?
Я бы использовал вариант 1 лично, если вы не можете добавить 2 дополнительных диска для диска журнала Raid 1.
Разделение на разделы для RAID 10 дает вам зеркало и чередование для повышения скорости и избыточности.
На этот вопрос был задан и дан ответ в Переполнение стека также. Возможно, у него будут ответы, которые вы ищете.
Общий смысл здесь в том, что наличие двух наборов файлов на разных физических дисках (или томах RAID) значительно ускоряет работу, когда к обоим наборам обращаются одновременно; вот почему O.S. обычно получает свой собственный том (он сам по себе выполняет некоторые операции ввода-вывода, и вы не хотите Это чтобы замедлиться при огромной работе с данными), и именно поэтому вы обычно хотите разделить свои данные на основе их шаблонов использования.
Тем не менее, еще более важным моментом с SQL Server является то, что журналы транзакций обычно доступны не только одновременно с файлами данных, что делает их разделение хорошим выбором, но также вам понадобится хотя бы один из них, если вы хотят иметь возможность по-настоящему восстановить вещи в случае аппаратного сбоя. Если вы потеряете журналы транзакций, вы можете просто создать другой набор, но ваши фактические данные в безопасности ... и если вы потеряете свои данные, журналы транзакций позволят вам восстановить их из последней резервной копии до точки отказа. Если вы потеряете и данные, и журналы одновременно, вы сможете восстановить только последнюю резервную копию, не более того.
Наилучшим вариантом в вашем сценарии было бы создание трех томов RAID 1: одного для ОС, одного для файлов базы данных и одного для журналов транзакций. Я знаю, что это выглядит как большая трата места (ОС некуда использовать 500 ГБ, и поэтому журналы транзакций, если вы следуете правильному плану резервного копирования), но это поможет много когда дело доходит до производительности и возможности восстановления. И, если вам не нужно больше 500 ГБ реальных данных, это отлично вам подойдет.
Если вы не можете этого сделать, используйте том RAID 1 для ОС. и журналы и один том RAID 10 для данных. Это лучшее, что вы можете сделать с имеющимся у вас оборудованием. Но что бы вы ни делали, вам не следует помещать данные и журналы в одно и то же место.
Насчет нескольких разделов: это совершенно бесполезно и может даже ухудшить ситуацию. Три раздела на одном диске (или RAID) работают точно так же, как один раздел (= плохо), или даже хуже из-за проблем с геометрией диска; и это не помогает с восстановлением, потому что в случае аппаратного сбоя вы все равно потеряете их все.
О, и ради тебя самого, даже не считать использования RAID 5, если вы вообще заботитесь о производительности записи.
Вы правы, что в этой ситуации было бы лучше 8 дисков, но самое важное, что нужно учитывать, - это то, что вам нужны журналы на другом диске, чем данные. Если вы действительно застряли только с 6, и вам нужно пространство для данных на 4-х дисках, тогда у меня возникнет соблазн разместить журналы на втором разделе в паре OS R1. Это не идеально, так как головы должны будут много двигаться при ведении журнала и выполнении работы ОС, но если у вас много памяти, работа ОС должна быть довольно низкой. Если вам не нужно много места на диске, как насчет настройки 2 + 2 + 2?
Лично я придерживаюсь мнения, что вы должны отделить операции ОС от операций журнала и операций с базой данных, поскольку каждая из них имеет свои уникальные, не дополняющие друг друга шаблоны дискового ввода-вывода. Базы данных и журналы никогда не должны храниться в одном массиве, за исключением очень маленьких реализаций. RAID10 - это немного излишне для баз данных, если ваши базы данных \ приложения не очень интенсивно используют дисковый ввод-вывод, IMHO. Могу предложить:
RAID1 = ОС RAID1 = Журналы RAID1 = Базы данных
В большинстве моих обычных настроек я обычно использую RAID1 для ОС; RAID0 для временных несущественных вещей; и различные RAID-массивы для данных.
Если клиенту требуется максимальное дисковое пространство, последний набор будет 1 x RAID5; если они больше озабочены производительностью, последний будет 1 x RAID10; и если их больше волнует избыточность, я бы выбрал 2 RAID1.
Часто у меня есть второй контроллер для объема данных; иногда изменяя приоритет чтения для записи на обоих, в зависимости от профиля использования базы данных (мы склонны отдавать предпочтение ОС, темпам и журналам на контроллере 1 с 25% чтения: 75% записи и данных на контроллере 2 с 75% читать: 25% пишут - такова природа приложений, которые мы продаем)
В вашем случае, предполагая, что PERC может это сделать (я предпочитаю HP SmartArrays), я, вероятно, выбрал бы следующее:
Это должно дать вам (приблизительно):
Однако, на мой взгляд, ваши проблемы с производительностью, вероятно, будут связаны с дисками SATA. Мне никогда не удавалось заставить их работать достаточно хорошо, чтобы быть стабильными, поэтому я всегда выбираю диски SAS не менее 10K. Может быть, они стали намного лучше с тех пор, как я их последний раз использовал, так что ваш опыт может отличаться ...