Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 512E sector size  [new]
йожиг_ф_тюмени
Guest
ссылка

автор
What I am warning about is the Read-Modify-Write behavior that takes place under the 512e mode. When SQL Server thinks the drive is handling 512 byte sectors the log I/O is aligned on 512 byte boundaries so a partial 4K write could be encountered at the drive level. Some specifications say that the drive may bundle these until the 4K sector is filled before flushing to the platter media, others are not so detailed in their information. If the drive holds the 512 byte write in disk cache (not battery backed) but reports the write complete to SQL Server, SQL Server can flush the data page because it thinks it has met the WAL protocol requirement for writing the log record before the data page. If a crash occurs at this point and the disk cache does not have time to flush you have missing log records that recovery won't know about.


Не поддерживается 512E-сектора?

512 - logical sector size
4096 - physical sector size
10 авг 15, 11:38    [17997761]     Ответить | Цитировать Сообщить модератору
 Re: 512E sector size  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21242
Вообще-то забота о своевременной записи данных, переданных в лифт записи ОС - никак не забота SQL-сервера. Сервер отдал данные, и совершенно правильно полагает их записанными на накопитель, даже если они всё ещё валяются в грязном кэше. Да и даже если логический размер блока данных накопителя соответствует физическому, это никак не влияет на потенцию утраты данных в случае глобального крэша.
Опять же - раз это SQL-сервер, а не файлопомойка, то его аппаратная конфигурация просто обязана сводить к минимуму опасность не-записи данных на накопитель из буферов. Кто виноват в том, что из соображений экономии РАЙД не оборудован батарейкой? Чья вина, если вовремя не обнаружено, что батарейка сдохла? По-любому, не SQL-сервер тут виноват...
И да - ОС просто обязана знать о существовании накопителей с 4к-блоками. И не просто знать, а быть соответствующим образом сконфигурённой. В т.ч. опять потому, что это не безответственная файлопомойка.
10 авг 15, 11:59    [17997879]     Ответить | Цитировать Сообщить модератору
 Re: 512E sector size  [new]
йожиг_ф_тюмени
Guest
Akina,

с чегоб собственно, началось.

1 сервер на нем 512/512 (logical/physical sector size) raid 1 зеркало на нем все, включая ОС
2 сервер на нем 512/4096 админы говорят raid 1 на нем тоже все, включая ОС

есть база, для нее на этих серверах настроен асинхронный mirroring

mirroring ругается как тут

http://blogs.msdn.com/b/saponsqlserver/archive/2014/10/02/message-misaligned-log-ios-which-required-falling-back-to-synchronous-io-in-sql-server-error-log.aspx


база не шибко нагружена.
10 авг 15, 12:24    [17998082]     Ответить | Цитировать Сообщить модератору
 Re: 512E sector size  [new]
йожиг_ф_тюмени
Guest
Akina,

насколько понимаю переформатировать (низкоуровневое) винты нельзя с 512/4096 на 512/512 (размер сектора logical/physical)?
10 авг 15, 14:57    [17999198]     Ответить | Цитировать Сообщить модератору
 Re: 512E sector size  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21242
йожиг_ф_тюмени
насколько понимаю переформатировать (низкоуровневое) винты нельзя с 512/4096 на 512/512 (размер сектора logical/physical)?

На бытовом уровне современные винты низкоуровнево переформатировать нельзя в принципе - даже если у них физический сектор 512 байт. Ибо стоимость потребных оборудования и ПО зашкаливает - да и взять всё это особо негде.

Обычно производители таких накопителей выкладывают на своём сайте программное обеспечение, которое выполняет как минимум выравнивание логических структур тома на границы виртуальных физических секторов (чтобы не было такого, что один блок/кластер файловой системы располагается частично в одном секторе, частично в следующем). Дошли ли они (а то и сама Майкрософт) до выпуска надстроек/драйверов, которые будут напрямую работать именно с 4к-блоками (как, например, драйверы работы с CD/DVD работают сразу с 2к-блоками, не приводя из к 512-байтовой форме) без промежуточных пересчётов и приведений - не интересовался.
10 авг 15, 15:59    [17999698]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить