powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как правильно нужно разбить диски для ms sql
25 сообщений из 25, страница 1 из 1
Как правильно нужно разбить диски для ms sql
    #39849399
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как правильно нужно разбить диски для ms sql?
Диск С - ОС
Диск D - базы
Диск F - логи баз
Диск G - бэкапы

Так?
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39849400
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
базу tempdb нужно выносить на отдельный физический диск?
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39849429
_human
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39849470
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А речь не о виртуалке, случайно?
Потому что в случае виртуалки - приоритеты в другом.
И потом, о каком разбиении идет речь?
Это будут отдельные логические диски в пределах одного виртуального тома? Отдельные виртуальные тома?
Что для вас "диск"?
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39849508
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trewТак?Да. Если речь о физических дисках.

trewбазу tempdb нужно выносить на отдельный физический диск?Вышеупомянутое разделение делают из за разного характера нагрузки.
А разнесение разных баз (в т.ч. tempdb) на разные диски делают из за разделения самой нагрузки. Так что, если диск (рейд) справляется с нагрузкой от всех баз, включая tempdb, то можно не выносить.
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39849512
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже если это логические диски, то я бы выносил просто хотя бы для удобства мониторинга. Ну и чтобы tempdb не заняла весь диск данных. Можно конечно ограничить рост tempdb, но кто это реально делает и кто это делает правильно?
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39849593
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Значтица так. Мне, как админу, это близкое и родное, поэтому отвечу развернуто:
а). Если речь идет о виртуальной машине:
Всё зависит от того, как, в каком месте, будут расположены файлы с вашими дисками.
Разделять всё по дискам имеет смысл только в том случае, если вы этот вопрос - контролируете.
Например, в состоянии разместить какой-то файл (диск) на быстром ресурсе, какой-то - на медленном и т.д.
Если вы этот вопрос - не контролируете, и никак не можете управлять, например, минимальным количеством iops количеств к вашему файлу с диском - просто забейте на всё, и заведите два файла - один с диском под систему, второй - подо всё остальное.
На что обратить внимание:
1. Крайне желательно, чтобы файл с диском был не динамически расширяемым, а фиксированного размера.
2. Крайне желательно, чтобы на него не распространялась политика фоновой дедубликации, которую включают на уровне ресурса хранения данных (ну, дисковой полки).
3. Крайне желательно, выбить из админов виртуальной среды ограничение по минимальному количеству iops к вашему файлу.
Учтите, что одна операция вставки, удаления, модификации данных - требует как минимум 2 io операции на файле, в котором хранятся логи. Поэтому, например, если у вас минимальное количество операций на томе, где лежат логи - 300 iops (соответствует одиночному шпиндельному диску) - вы сможете вставлять/обновлять данные чуть больше 150 раз в секунду.
4. Поэтому, если количество операций ввода вывода контролируется не для всей ВМ целиком, а для ее отдельных виртуальных дисков - выносите логи в отдельный файл/диск, и выбивайте на нее максимальную квоту на io.
5. Данные, как не странно, менее зависимы от iops, для них важнее пропускная способность. Чем больше мегабайт в секунду, тем лучше.
Промежуточный вывод:
Если размещаетесь на ССД ресурсе, с его космическими iops-ами, забейте на всё, и держите всё (ну, кроме системы) - в одном файле/диске. Только tempdb ограничьте, чтобы всё место не сожрало и всё.
Если ресурс гибридный, и всё не влазит, то логи, tempdb - на ССД или 10К, а данные вполне поживут на 7200. Если вариант с претензией на богатство - порежьте данные на горячие/холодные, и файловые группы с горячими данными - тоже, вслед за логами, переместите на ССД ресурс.

б) Если речь идет о системе, имеющей физический доступ к подсистеме хранения, и вы контролируете разбиение подсистемы хранения на тома, диски энд етц, т.е. "железной"
1. Вариант "совсем по богатому": Система, данные, логи, tempdb, оперативный бэкап (если база маленькая) - на отдельных дисках, размещенных на разных томах рэйд контроллера .
Промежуточный вывод-2:
Если у вас один виртуальный том на рэйд контроллере, например все 8 дисков завернуты в RAID10, или, не дай бог, в RAID6, а поверх этого вы выделяете логические диски - то это целиком ситуация из предыдущего параграфа.
Не парьтесь. Разбейте всё на 2 диска, система - данные, ограничьте темпдб, и нефиг огород городить.
Всё даже хуже, чем в виртуальной среде, потому что если вы, например, выделите отдельный логический диск под логи - минимальное количество iops вы для него на уровне виртуального тома рэйд контроллера - не вырежете.
Так что оно будет делить иопсы сразу со всей нагрузкой. И если это шпиндели, то максимум иопсов, которые у вас будут - 1000. Ну, 4000, если всё совсем замечательно. Вообще на всё-всё-всё. На систему, данные, логи, темдб, бэкапы. Поэтому см. выше про обновления.
2. Однако если вы контролируете нарезание батона, то правила - прежние:
- логи на ресурсы с минимальной латентностью, максимальными иопсами.
- данные - фиг с ними, с иопсами, могут и на рэйд-6 пожить.
- темпдб - можно даже на одиночном ссд разместить, или на паре дисков в страйпе, без избыточности (ну, правда оно когда-нибудь аварийно встанет, и вам отвесят пендель). Поэтому лучше без экстремизма, на рэйд10 или на зеркало из ССД.

А вот сколько при этом будет дисков, как они будут называться, и как будут видиться в системе - имеет чисто эстетическое значение.
И чем больше разбиение - тем больше геморроя потом :-)

Всё целиком ИМХО, как говорится.
Открыт для замечаний и всё такое.
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39849661
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. получается, если на сервере SSD, то старый добрый вопрос, преследовавший юзеров с давних пор - уже практически не стоит
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39849704
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggster,
alexeyvg,

Это не виртуальная машина.
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39849706
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgТак что, если диск (рейд) справляется с нагрузкой от всех баз, включая tempdb, то можно не выносить.
Подскажите пожалуйста как понять, справляется или нет?
Сервер новый, пока данных нет.
Как это проверяется? (каким скриптом или командами)
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39849730
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trewalexeyvgТак что, если диск (рейд) справляется с нагрузкой от всех баз, включая tempdb, то можно не выносить.
Подскажите пожалуйста как понять, справляется или нет?
Сервер новый, пока данных нет.
Как это проверяется? (каким скриптом или командами)

Это проверяется только реальной нагрузкой.
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39849746
rahzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trew,
авторСервер новый, пока данных нет.
Опишите конфигурацию сервера, а так же предполагаемую нагрузку на него (количество пользователей, баз, ПО)
Запустить SQLIO, и померять..
Но, как уже сказали, синтетика - это одно, реальная нагрузка - это другое.
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39849850
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trew,

не забудьте отформатировать 64к на кластер.
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39849981
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов,
а можно ссылку на источник? где рассказано почему так нужно.
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39849990
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trewВладислав Колосов,
а можно ссылку на источник? где рассказано почему так нужно.
Вот тут, например:

https://blogs.msdn.microsoft.com/docast/2018/02/01/operating-system-best-practice-configurations-for-sql-server/
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39850031
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trew,

потому, что это размер экстента.
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39850139
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосовtrew,

не забудьте отформатировать 64к на кластер.
Ага, и выключить виндовое индексирование на томе, где будут данные.
А если у вас есть Filestream - то до кучи еще отключить генерацию 8.3 имен и last access time.
Кстати, почему то в гайде, который дал Minamoto - этого нет.
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39850325
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосовtrew,

потому, что это размер экстента.

Не по этому, просто больше нету.

ЗЫ: Если диски SSD, то зачастую лучше всё в один массив собрать и всё на него закинуть. Прошли старые времена, когда это было важно... Следите потом за очередями, если не будет долгих очереде за сто, то значит диск/контроллер/шина справляются.


ЗЫ2: про SQLIO забудьте, качайте diskspd
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39850957
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если диски SSD, имеет смысл разделять по физическим дискам?

Диск С - ОС
Диск D - базы
Диск F - логи баз
Диск G - бэкапы
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39850973
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На бэкапы SSD то зачем?
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39850978
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183,

Кроме бэкапов, разбивать есть смысл на физические диски?
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39850982
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Единственную SSD разбивать на логические диски смысла нет.

SSD+ HD - SSD-ОС,БД; HD-бэкап
2SSD+ HD - 1SSD-ОС; 2SSD-БД; HD-бэкап

В случае проблем с производительностью возможно отделения на отдельный/е SSD логов и TMP
Помогает не всегда.
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39850984
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это те. простейшие случае, когда необходимости в RAIDах нет.
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39850991
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggsterОткрыт для замечаний и всё такое.
Всё вроде правильно, но сегмент рынка не тот.
Тут скорее всего "простой дешевый локальный сервер."
...
Рейтинг: 0 / 0
Как правильно нужно разбить диски для ms sql
    #39851246
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183На бэкапы SSD то зачем?Не уверен, что нужно автору, но иногда нужно снимать бекап максимально быстро. Поэтому SSD для снятия бекапа может быть полезен. Но SSD для хранения, скорее всего- избыточен.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как правильно нужно разбить диски для ms sql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]