*** artiom [2018-01-13 21:58]: >Т.е., приложение всё-равно запишет, не поняв что была ошибка и данных на >диске нет? >В чём тогда разница?
Я не понимаю про какую разницу вы спрашиваете. * zfs set sync=disabled -- означает что "не делать настоящую гарантированную запись на диск во время вызова fsync", а поместить всё в буфер и уж когда запишется, тогда и запишется. Программа после fsync думает что на диске всё есть, но при какой-то поломке/проблеме, то, что не записалось из буфера, будет потеряно * вынесенный ZIL но без зеркалирования -- fsync гарантирует что до ZIL запись дошла, на него записалась, но при поломке, то, что из ZIL не успело перенестись на диск, будет потеряно. Аналогично sync=disabled, с той лишь разницей что данные оказались на ZIL накопителе, а не в памяти Так как ZIL это SSD наверняка всегда, то SSD имеет очень не нулевой шанс внезапно отказать (а не плавно деградировать как это делают HDD) и, соответственно, шанс потерять какие-то данные после fsync. Поэтому ZIL так сильно рекомендуется зеркалировать. >Ещё вопрос: есть SSD размером 250 ГБ на который будет установлена >система (или два SSD), и на которые будет вынесен ZIL. >Хочу сделать два одинаковых GPT раздела на каждой из SSD. >На раздел под систему отвести 100 ГБ, под ZIL 150 ГБ. >Оба раздела будут шифроваться стандартным ZFS шифрованием. >С первого раздела (миррора) должна грузиться ОС. > >Эта конфигурация жизнеспособна? Да, проблем или каких-то особенностей тут не вижу. -- Sergey Matveev (http://www.stargrave.org/) OpenPGP: CF60 E89A 5923 1E76 E263 6422 AE1A 8109 E498 57EF

