К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Старый вопрос про кэш записи без BBU

Гость
0 - 10.04.2013 - 13:02
Много лет назад выяснил, что на контроллере без bbu кэш записи надо отключать. Отключил на серверах с контроллерами без bbu. Но что-то опять сомнение взяло...
Есть WS2003 и RAID1 на двух физических дисках HDD. На RAID-контроллере нет батарейки.

Правильно ли я понимаю:
Если я включу кэш записи, то самая большая неприятность, которая может случиться, это то, что при неправильном выключении сервера (например ИБП сгорел) мой RAID1 может разбиться и будет долго собираться, т.е. сам диск на сервере будет доступен, но на время rebuild я потеряю в производительности дисковой системы?

П.С. Как я понимаю, для заданного мною вопроса не важно, какой тип контроллера (программно-виндовый, программно-встроенно-материночный или полупрограммно-дискретно-контроллерный) и о каком кэше речь (на физическом диске или на контроллере или оба сразу).

П.С.2 или однозначного ответа нет?



Гость
1 - 10.04.2013 - 14:03
ты потеряешь очередь\речь о кэше физического диска\риск потеря данных а вот каких именно зависит от текущей операции
Гость
2 - 10.04.2013 - 14:04
пользуй ssd в качестве диска кэширования в рэйд масиве все современные контроллеры в том или ином виде умеют так делать
Гость
3 - 11.04.2013 - 12:38
freddyb. Однозначного ответа, что произойдет нет. Объясню почему:
если кэш не используется, то ответ (в данном случае будем говорить о процедуре записи на диск) об успешной записи будет получен, собственно, после успешной записи на диск;
если кэш используется, то ответ об успешной записи будет получен, собственно, после успешной записи в кэш.
Что произойдет, в случае аварийного отключения питания, зависит от типа файловой системы и/или от того, как карты лягут. Т.к. блоки данных, которые были в кэше, при отсутствии батареи, разумеется, будут утеряны.
PS: Вышесказанное справедливо в случае использования RAID уровней 5 и 6, т.к. в этом случае в кэше хранятся результаты математических операций, до сбрасывания их на диск, ведь какое-то время их надо где-то хранить в момент расчета контрольных сумм. "Зеркало", как правило, отправляет ответ об успешной записи непосредственно на диск, а кэш использует для чтения, соответственно данные потеряны не будут, в случае аварийного выключения электропитания. Но и производительность RAID-1 с кэшом и без него не сильно отличается (в обычных контроллерах, конечно, а не в специализированных массивах хранения).
PSPS: Сейчас уже вовсю используется энергонезависимая кэш-память.
Гость
4 - 11.04.2013 - 12:54
PSPSPS, хотя, в случае RAID 5 6, на "глупых" безтранзакционных контроллерах, RAID просто развалится, не знаю делают еще такие контроллеры или уже нет.
Гость
5 - 11.04.2013 - 21:13
3-krotov > спасибо, про энергонезависимую кэш-память нынче даж не знал
Гость
6 - 13.04.2013 - 20:59
Итак, мой RAID1 с файловой системой NTFS при аварийном завершении питания, кроме того, что может развалиться, может ещё потерять данные, т.е. некий файл на диске останется доступным, но могут пропасть последние изменения, которые в него вносились.
Ну тогда об чём речь, последние изменения в документе\базе_данных_ 1с\ещё_в_чём_то можно внести опять, это не так опасно. Главное, сам документ\база_данных_ 1с\ещё_чего_то останется живым и доступным.

P.S. контроллеров, где хочу включить кэш, собственно два: встроенный интелловский MegaRaid и HP Smart Array E200i. На последнем кэш есть, но отдан под другие диски, а RAID1 на 2-х дисках SATA остался без контроллерного кэша и кэш физического диска отключён.
Гость
7 - 13.04.2013 - 22:15
2krotov
>"Зеркало", как правило, отправляет ответ об успешной записи непосредственно на диск, а кэш использует для чтения,
Это действительно так? Насколько я помню (на старых мегарейдах) включение writeback было совсем не привязано к типу рейда.
>Но и производительность RAID-1 с кэшом и без него не сильно отличается
Разве так? Произвдительность диска - десятки\сотни айопсов, а кеша - тысячи.
Гость
8 - 14.04.2013 - 10:36
Добрых дел мастер, Насколько я помню (на старых мегарейдах) включение writeback было совсем не привязано к типу рейда.
Не привязано, но привязано к наличию/отсутствию BBU, ни один вменяемый контроллер не даст включить отложную запись без наличия батареи, собственно поэтому кэш, в зеркале без батареи, будет работать в write through, т.е. скорость записи останется той-же, что и без кэша. RAID 5,6, вообще не будет работать, т.к. writeback без батареи не включится и промежуточные данные хранить негде будет.
Произвдительность диска - десятки\сотни айопсов, а кеша - тысячи.
А толку? Супер-быстрый кэш, объемом пару гигов, куда в итоге данные-то пишет?
Это вендоры СХД любят писками мериться у кого ёпсов больше, только то что ёпсы из кэша, написано очень маленьким шрифтом в конце документов. Если не рассматривать SSD, то все равно, производительность дисковой подсистемы прямо-пропорциальна количеству шпинделей.
Гость
9 - 14.04.2013 - 13:16
2krotov
>Не привязано, но привязано к наличию/отсутствию BBU
Согласен, но я ведь про кеш, а не про батарейку. (вообще, я подразумевал, что батарейка есть, так как writeback действительно не заработает без нее)
>RAID 5,6, вообще не будет работать, т.к. writeback без батареи не включится и промежуточные данные хранить негде будет.
Вот это неправда. У меня лично работал raid5 без батарейки (с write through).
>А толку? Супер-быстрый кэш, объемом пару гигов, куда в итоге данные-то пишет?
Это только при характере нагрузки близком к "равномерная последовательная запись" (например, видеорегистратор) кеш не имеет смысла (так как заполнится и снова упрется в дисковую подсистему), а когда запись неравномерна - очень помогает(мне лично очень помогало на файловом сервере 3000+ пользователей. Разница между "до батарейки" \(читай до writeback\) и "после батарейки была значительна).
>Если не рассматривать SSD, то все равно, производительность дисковой подсистемы прямо-пропорциальна количеству шпинделей.
Шпиндели дают айопсы, а для пользователя, все-таки, главная характеристика - латенси. Вот тут кеш очень помогает
Гость
10 - 14.04.2013 - 13:17
как глаз режет незакрытая кавычка
Гость
11 - 17.04.2013 - 14:55
Цитата:
Сообщение от krotov Посмотреть сообщение
ни один вменяемый контроллер не даст включить отложную запись без наличия батареи, собственно поэтому кэш, в зеркале без батареи, будет работать в write through
У меня есть встроенное в мать ASUS P5BV-E нечто под названием LSI Logic Embedded MegaRAID. Батарейкой и не пахнет. У него в настройках по умолчанию Write Through, но можно поставить и Write Back. Выходит, по вашему, настройка Write Back не сработает, или после перезагрузки опять вернётся в Write Through?
Гость
12 - 22.04.2013 - 11:45
Добрых дел мастер, для пользователя, все-таки, главная характеристика, чтоб не тормозило.
Гость
13 - 22.04.2013 - 11:56
freddyb, я ничего не знаю про Ваш контроллер, почитайте документацию.
Я пытался ответить почему П.С.2 или однозначного ответа нет? А все свелось к обсуждению конкретных типов RAID, а потом и вовсе к конкретному железу.
Попробую короче, в трех взаимосвязанных пунктах:
1. Наличие кэша повышает производительность дисковой системы, т.к. подтверждение об успешном выполнении операций ввода/вывода сообщается после окончания операции ввода/вывода непосредственно в кэш, а не на физические диски(речь о шпиндельных дисках), которые разумеется работают медленнее чем микросхема кэша.
2. BBU служит для сохранения данных в энергозависимом кэшэ, после нештатного отключения электропитания.
3. Если в системе присутствует энергозависимый кэш и отсутствует BBU, после нештатного выключения электропитания, данные из кэша будут безвозвратно утеряны.
--
Дальше сами думайте, что, в этом случае бюудет с Вашей системой.
Гость
14 - 23.04.2013 - 12:54
Цитата:
Сообщение от krotov Посмотреть сообщение
Дальше сами думайте, что, в этом случае будет с Вашей системой.
В этом то и была цель создания этой темы: что будет? Если бы знал, не задавал бы вопрос: может ли раздел на зеркале пропасть полностью, безвозвратно, или максимум пропадут данные в кэше?
Гость
15 - 23.04.2013 - 15:05
2krotov
>для пользователя, все-таки, главная характеристика, чтоб не тормозило.
Именно. И латенси - ближайшая измеримая величина к "не тормозило".
Гость
16 - 23.04.2013 - 15:11
2freddyb. Вы, видимо, сильно недооцениваете "данные в кеше". Если они пропадут - может безвозвратно повредиться база данных, качественно поломаться файловая система (не "не сохранились изменения за последние N минут", а "сломались насовсем файлы, с которыми вы работали недавно")
Гость
17 - 23.04.2013 - 15:45
И латенси - ближайшая измеримая величина к "не тормозило".
Не совсем так, повышение латенси, первый показатель проблем с производительностью, например, не хватает шпинделей ))
Гость
18 - 23.04.2013 - 16:06
2krotov
Совсем так. Низкая латенси - значит не тормозит. Неважно, какими средствами это достигается.
Гость
19 - 23.04.2013 - 16:18
Шпиндели дают айопсы, а для пользователя, все-таки, главная характеристика - латенси. Вот тут кеш очень помогает
При расчете производительности массива, надо полагаться только на шпиндели, т.к. точно не известен процент записи/чтения из кэша. Т.е. повышение латенси происходит из-за малого количество шпиндельных дисков и/или из-за использования слишком медленных дисков (например SAS 7200 rpm вместо 10k или 15k rpm)
Гость
20 - 23.04.2013 - 16:22
т.е. когда кэш заполняется, начинают выстраиваться очереди непосредственно к дискам, как результат повышаются задержки, кстати, длина очереди, так же измеримая велечина.
Гость
21 - 23.04.2013 - 16:56
2krotov
>При расчете производительности массива, надо полагаться только на шпиндели,
Насколько я помню, для каждого характера нагрузки есть оценочный "кеш хит", который и закладывается при расчете
>Т.е. повышение латенси происходит из-за малого количество шпиндельных дисков и/или из-за использования слишком медленных дисков
>т.е. когда кэш заполняется, начинают выстраиваться очереди непосредственно к дискам, как результат повышаются задержки, кстати, длина очереди, так же измеримая велечина.
Повышение латенси происходит из-за того, что система недостаточно быстрая. Длина очереди - всего лишь вероятная причина высокого латенси (а может быть и нет. Очередь из 10 запросов к SSD-диску - это сколько милисекунд?)
Высокое латенси - это означает, что мы создали такую нагрузку на систему, какую она не способна выдержать (или технология в принципе не способна выдержать нужный уровень. Например, меньше 4-х милисекунд на чтение невозможно получить от диска. И если в ТЗ указано 2 милисекунды - диск не подходит), значит - система тормозит.
Гость
22 - 23.04.2013 - 17:01
И наоборот, хоть миллион айопсов нагрузки ты создал на систему хранения - если латенси достаточно низкое - система справляется.


К списку вопросов






Copyright ©, Все права защищены