Допоможіть мені вибрати комбінацію рівня RAID для екземпляра SQL Server 2008


11

Я збираюся відновити один сервер IBM 3400 з нуля. Цей сервер призначений для екземпляра SQL Server 2008, який працює на Windows 2008 R2.

Я збираюся зробити нову конфігурацію RAID. У мене є 6 накопичувачів SCSI 73 Гб всередині машини та контролер IBM ServerRAID 8K. Який би був хороший спосіб встановити рівні RAID? Чи повинен я мати два, три чи одне поле на своєму контролері?

Я збираюся зробити одне з наступних рішень:

  1. Використовуйте весь диск і зробіть пул RAID 10.
  2. Використовуйте 4 диски для пулу RAID 1e і використовуйте їх для зберігання даних бази даних та ОС, а інші 2 диски в пулі RAID 0 і використовуйте їх для зберігання журналів баз даних.
  3. Якась інша комбінація.

Чи кращий розмір одиниці смуги краще?

Цей сервер буде передплатником реплікуваної бази даних. Основним його завданням буде звітування та пошук даних, при цьому записує лише агент реплікації. Розмір бази даних - близько 90 ГБ.


ви використовуєте терміни RAID1E та RAID10 взаємозамінно?
Джек каже, спробуйте topanswers.xyz

також, 3x73 ~ 220 Гб - наскільки ви очікуєте, що ваш БД 90 ГБ зростатиме щороку?
Джек каже, спробуйте topanswers.xyz

@JackDouglas Ця база даних з 90 ГБ працює з 2006 року по теперішній час, я думаю, що вона може вирости в найближчі два роки максимум 30%
adopilot

Мені подобається якнайбільше забезпечити сховище при створенні сервера з нуля. Чи є у вас сховище другого рівня (наприклад, SATA)? Це може бути дуже зручним для пристойної кількості дихальної кімнати, особливо коли ви опинилися в ситуації з ДР.
Джек каже, спробуйте topanswers.xyz

Відповіді:


6

Я голосую за варіант 1. Майте на увазі, що RAID 0 означає "немає захисту" - чи ваші журнали мають значення? (так вони роблять).

Він також має перевагу простоти

Документи SQL Server кажуть:

Для оптимізованого паралелізму вводу / виводу використовуйте розмір смужки 64 КБ або 256 КБ.

Але зазвичай добре пройти ІМО контролера за замовчуванням


5

Примітки:

  • Бінарні файли ОС + становитимуть 40 Гб
  • 6 дисків не залишає вам багато варіантів
  • Де ви хочете створити резервні копії?
  • Нехай контролер RAID обирає розмір смуги (залежить від рівня RAID). Це мікрооптимізація, і ви побачите суперечливі дані
  • Швидкість запису файлу журналу визначає вашу пропускну здатність
  • Ви повинні забезпечити вільний простір = 1,2 рази найбільша таблиця всередині вашого MDF для відновлення індексу
  • RAID 0 = ідіотичний на сервері, який має дані будь-якого значення

Я б пішов на один RAID 10 масив


4

Я хотів би отримати або два томи RAID1 з трьома дзеркалами кожне, або RAID10 з накресленням на два набори з трьох дзеркал.

Обгрунтування: двох дзеркал занадто мало, період. Ваш сервер не буде робити правильну перевірку узгодженості частіше, ніж раз на місяць, тому цілком ймовірно, що у вас є кілька поганих блоків. Вони не мають значення, поки інше дзеркало ще недоторкане, але коли один диск вийде з ладу, швидше за все, ви не зможете відновити його з іншого. Значить, три дзеркала.

RAID6 - це погана ідея для налаштування бази даних, оскільки записи, як правило, невеликі, що перетворює їх на операції читання-зміна-запис у фоновому режимі.

Чи краще для вас два томи RAID1 або один RAID10, залежить від вашої програми. Якщо можливо, вам потрібен весь простір, перейдіть на RAID10, інакше я б запропонував один том для системи та індексів і один для сторінок даних. Якщо ви збираєтесь на два томи, перевірте, чи ваш контролер дозволяє розширити RAID1 на RAID10 пізніше, якщо вам потрібно розширити.


+1 для згадування проблеми дзеркального відображення не вирішує (принаймні самостійно). Можна налаштувати скраб для того, щоб регулярніше проходити в Linux, це ж стосується Windows? Однак ви повторюєте міф про те, що індекси та дані в ідеалі повинні бути розділені - є аргумент для того, щоб журнали зберігалися окремими, але індекси та дані найкраще знімати разом (на якомога більше шпинделів)
Джек каже спробувати topanswers.xyz

Думаю, слід налаштувати більш часті перевірки - проте продуктивність бази даних, як правило, масово падає, тому я краще використовувати додаткові диски та менше перевірок.
Саймон Ріхтер

Зазвичай я зберігаю окремі індекси, щоб я міг використовувати різні кеші та поведінки на перечитаннях - повне сканування таблиці, як правило, виграє від перечитань, тоді як сканування індексів робиться так рідше.
Саймон Ріхтер

У моїй системі Debian / usr / share / mdadm / checkarray за замовчуванням працює з прапором --idle, тому я не сподівався на помітне звернення до продуктивності. У випадку з операційними програмами це буде здійснюватися контролером RAID, і я думаю, це зробить це незалежно від того, чи є у вас 2 або 3 дзеркала, тож хіт (якщо такий є) все одно буде.
Джек каже, спробуйте topanswers.xyz

повторно скануйте індекс, справедливу точку, але я б припустив, що це мікрооптимізація, а не загальна рада з налаштування :) Я збираюся попросити в чаті, щоб побачити, що думають інші - не соромтеся чіпнути ...
каже Джек спробуйте topanswers.xyz

3

Я згоден з Дугласом. Один загальний рейд-10 - це гарний старт, доки у вас не закінчиться диск. Менший розмір смуги буде кращим для доступу до БД. Використання різних розділів дозволяє швидше втратити місце на одному розділі.

Справа у рейді-0 полягає не лише в тому, що дані можна збирати з резервних копій або видаляти, але це також означає простої кожного разу, коли ваш диск виходить з ладу. Чи працює машина на певних даних, де кілька днів простою не матиме значення? Навіть на підтримку NBD може знадобитися десь шість днів, щоб отримати новий диск.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.