[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Снова о ZFS



>> Т.е., приложение всё-равно запишет, не поняв что была ошибка и данных на
>> диске нет?
>> В чём тогда разница?
> 
> Я не понимаю про какую разницу вы спрашиваете.
> 
> * zfs set sync=disabled -- означает что "не делать настоящую
>   гарантированную запись на диск во время вызова fsync", а поместить всё
>   в буфер и уж когда запишется, тогда и запишется. Программа после fsync
>   думает что на диске всё есть, но при какой-то поломке/проблеме, то,
>   что не записалось из буфера, будет потеряно
> * вынесенный ZIL но без зеркалирования -- fsync гарантирует что до ZIL
>   запись дошла, на него записалась, но при поломке, то, что из ZIL не
>   успело перенестись на диск, будет потеряно. Аналогично sync=disabled,
>   с той лишь разницей что данные оказались на ZIL накопителе, а не в
>   памяти
> 
Т.е., в случае sync=disabled, ZIL запишется сразу (на SSD), но на диск
данные не будут сброшены?

> Так как ZIL это SSD наверняка всегда, то SSD имеет очень не нулевой шанс
> внезапно отказать (а не плавно деградировать как это делают HDD) и,
> соответственно, шанс потерять какие-то данные после fsync. Поэтому ZIL
> так сильно рекомендуется зеркалировать.
> 
Ok, понял, докуплю вторую SSD.

>> Ещё вопрос: есть SSD размером 250 ГБ на который будет установлена
>> система (или два SSD), и на которые будет вынесен ZIL.
>> Хочу сделать два одинаковых GPT раздела на каждой из SSD.
>> На раздел под систему отвести 100 ГБ, под ZIL 150 ГБ.
>> Оба раздела будут шифроваться стандартным ZFS шифрованием.
>> С первого раздела (миррора) должна грузиться ОС.
>>
>> Эта конфигурация жизнеспособна?
> 
> Да, проблем или каких-то особенностей тут не вижу.
> 
Вопрос по загрузке возникает. В Linux эта проблема решается через
вынесение ядра и initrd с cryptsetup на отдельный раздел. Здесь тоже самое?


Reply to: