The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Состояние развития ZFSonLinux и готовность проекта к повсеме..., opennews (?), 11-Сен-14, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


38. "Состояние развития ZFSonLinux и готовность проекта к повсеме..."  +/
Сообщение от Аноним (-), 12-Сен-14, 08:24 
> Бугога, врать то меньше надо, товарисч китайоза. все мы знаем что zfs
> - тормозной глючный хлам.

Не скажу за ZFS, а btrfs под более-менее обычный юзеж на накопителях нормального размера - вполне пригоден вроде. За enterprise grade стабильность под хайлоадом не поручусь, но на десктопах - just works вроде. Из очевидных методов свалить - возиться с RAID5/6, но про это честно предупредили.

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

68. "Состояние развития ZFSonLinux и готовность проекта к повсеме..."  +1 +/
Сообщение от Stellarwind (?), 12-Сен-14, 12:03 
>> Бугога, врать то меньше надо, товарисч китайоза. все мы знаем что zfs
>> - тормозной глючный хлам.
> Не скажу за ZFS, а btrfs под более-менее обычный юзеж на накопителях
> нормального размера - вполне пригоден вроде. За enterprise grade стабильность под
> хайлоадом не поручусь, но на десктопах - just works вроде. Из
> очевидных методов свалить - возиться с RAID5/6, но про это честно
> предупредили.

Как раз raid-5/6 и есть самое интересное для не-enterprise, да и им может пригодится raid-50/60 (5/6+0). Аналога raidz3 нет, насколько я знаю.

Нельзя создать raid1, в котором больше 2-х дисков:
RAID-1 is defined currently as "2 copies of all the data on different devices".
ZFS умеет нормально:
zpool create tank mirror /dev/sda /dev/sdb /dev/sdc

Да и все остальное работает только если сильно не насиловать, половина фич экспериментальная, да и сама btrfs тоже.

Ответить | Правка | Наверх | Cообщить модератору

88. "Состояние развития ZFSonLinux и готовность проекта к повсеме..."  +/
Сообщение от Аноним (-), 12-Сен-14, 19:11 
> Как раз raid-5/6 и есть самое интересное для не-enterprise, да и им
> может пригодится raid-50/60 (5/6+0).

Ну вы так универсально и за всех расписываетесь, что просто любо-дорого смотреть. Ну если самое интересное - тогда навались на кодинг и тестирование, чтоли.

> Аналога raidz3 нет, насколько я знаю.

Нет. Однако на уровне механики файлухи есть очень интересная вещь: оно может кроить уровни RAID пообъектно. Оно уже умеет хранить данные и метаданные с разными уровнями. А сам по себе дизайн подразумевает возможность это делать по разному для разных файлов.

В идеале это будет как-то так: для файла запрашивается некий уровень RAID и если его в принципе можно изобразить (==достаточно свободного места для этого уровня RAID на достаточном кол-ве устройств) - файлуха идет и делает это. При этом всякое пoрeво можно разложить в stripe для скорости из соображений "да фиг с ним, перекачаю", а рабочие документы - хоть с пятикратным дублированием, если они небольшие и места не жалко. Ну да, пока еще не все из этого в полном объеме реализовано. Но такая возможность изначально сделанная на уровне механики ФС очень радует. Хорошо когда архитект хочет летать высоко, хоть это и сложно.

> Нельзя создать raid1, в котором больше 2-х дисков:

raid1 нельзя, но с технической точки зрения я не вижу чему противоречит зеркало из N копий вместо частного случая из 2 копий. Ну да, это не будет называться raid1 с формальной точки зрения.

> ZFS умеет нормально:

Btrfs оперирует в намного более крутом контексте на самом деле. Есть устройства. Есть свободное место на них. А далее нужный уровень RAID лепится для конкретного объекта, если ситуация это вообще технически позволяет. Это разумеется создаст и баги и фичи, например, типа необходимости как-то контролировать в явном виде - а удалось ли вон тому объекту сделать RAID нужного уровня при текущей ситуации. Но в целом это огроменный шаг вперед vs мышления заклиненого на фиксированной аллокации дисков с жестким зашиванием уровня RAID, после чего переконфигурирование стоража превращается в филиал ада.

> Да и все остальное работает только если сильно не насиловать,

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

> половина фич экспериментальная, да и сама btrfs тоже.

Ну, я ей вполне практически пользуюсь в ряде не очень ответственных применений. Вроде работает. А так - я могу загнать в штопор любую ФС. Только зачем мне себе пятки простреливать?

Ответить | Правка | Наверх | Cообщить модератору

95. "Состояние развития ZFSonLinux и готовность проекта к повсеме..."  +1 +/
Сообщение от Elhanaemail (ok), 12-Сен-14, 20:15 
>> Как раз raid-5/6 и есть самое интересное для не-enterprise, да и им
>> может пригодится raid-50/60 (5/6+0).
> Ну вы так универсально и за всех расписываетесь, что просто любо-дорого смотреть.
> Ну если самое интересное - тогда навались на кодинг и тестирование,
> чтоли.

Пока что btrfs позволяет stripe и raid1, при ограниченном бюджете и не принимая в расчет сервера с кучей дисков, raid5 на 3-4 диска это самое оно, если вы хотите обезопасить свои файлы, но не покупать кучу дисков для зеркал.
А про кодинг и тестирование - уже есть ZFS которая прекрасно работает, зачем?

>[оверквотинг удален]
> В идеале это будет как-то так: для файла запрашивается некий уровень RAID
> и если его в принципе можно изобразить (==достаточно свободного места для
> этого уровня RAID на достаточном кол-ве устройств) - файлуха идет и
> делает это. При этом всякое пoрeво можно разложить в stripe для
> скорости из соображений "да фиг с ним, перекачаю", а рабочие документы
> - хоть с пятикратным дублированием, если они небольшие и места не
> жалко. Ну да, пока еще не все из этого в полном
> объеме реализовано. Но такая возможность изначально сделанная на уровне механики ФС
> очень радует. Хорошо когда архитект хочет летать высоко, хоть это и
> сложно.

Несомненно фича интересная, но вызывает много вопросов, например насколько хорошо оно будет балансировать данные между дисками, при наличии множества разных уровней raid и не будет ли кучи потерянного места. А также как оно себя поведет, если например у вас в пуле raid0 диск накрылся, но пару файлов вы как raid1 хранили - их конечно можно будет fsck выковырять я так понимаю..  

>> Нельзя создать raid1, в котором больше 2-х дисков:
> raid1 нельзя, но с технической точки зрения я не вижу чему противоречит
> зеркало из N копий вместо частного случая из 2 копий. Ну
> да, это не будет называться raid1 с формальной точки зрения.

Вот и я не понимаю почему такую элементарную вещь btrfs не может, а кому-то данные очень важны...

> Btrfs оперирует в намного более крутом контексте на самом деле. Есть устройства.
> Есть свободное место на них. А далее нужный уровень RAID лепится
> для конкретного объекта, если ситуация это вообще технически позволяет. Это разумеется
> создаст и баги и фичи, например, типа необходимости как-то контролировать в
> явном виде - а удалось ли вон тому объекту сделать RAID
> нужного уровня при текущей ситуации. Но в целом это огроменный шаг
> вперед vs мышления заклиненого на фиксированной аллокации дисков с жестким зашиванием
> уровня RAID, после чего переконфигурирование стоража превращается в филиал ада.

Можно также спорить, что управление мешаниной из различных уровней raid тоже филиал ада.
Хотя согласен, что при наличии всего двух хардов, наверно удобно документы хранить в raid1, а порно в raid0 на тех же дисках.

>> Да и все остальное работает только если сильно не насиловать,
> Для обычного десктопа например - выше крыши.

Я знаю многих, у кого на десктопе raid5.

> Мордокнига вон рискует здоровьем на серверах опробывать.

Google тоже использует ext4 без журнала, потому что им проще тупо диск заменить если с ним что-то не так и засинхронизировать с другого сервера.
ZFSonLinux в IBM Sequoia используется например.

>> половина фич экспериментальная, да и сама btrfs тоже.
> Ну, я ей вполне практически пользуюсь в ряде не очень ответственных применений.

В том то и дело, что zfs вполне можно доверить данные, поэтому статья и говорит что оно production ready с небольшими оговорками.

У ZFS тоже есть недостатки, в частности домашних пользователей печалит невозможность на данный момент удалить диск из пула (в проекте) или добавит диск в vdev (Т.е. вместо raidz на 3 диска сделать raidz на 4 и сделать перестройку массива. Добавить vdev к страйпу можно и сейчас и также можно заменить все диски в vdev на больший объем и сделать ресайз).
С памятью по большей части проблемы надуманы и в основном относятся к ONLINE! dedup, который почти наверняка у BTRFS будет жрать столько же памяти, это почти неизбежно.

Но в целом на данный момент ZFS гораздо более надежна и функциональна по сравнению с BTRFS для большинства применений, кроме самых базовых вроде fs на одном диске/stripe/mirror.

Ответить | Правка | Наверх | Cообщить модератору

116. "Состояние развития ZFSonLinux и готовность проекта к повсеме..."  +/
Сообщение от Аноним (-), 13-Сен-14, 05:27 
> Пока что btrfs позволяет stripe и raid1,

А также raid5/6 если вы ощущаете себя реальным камикадзе. Но оно пока сырое и не для продакшна.

А вообще, теоретически btrfs может на ходу разложить "вот этот файл" в "вон такую схему RAID". При условии что свободное место на достаточном количестве девайсов это позволит. Это уход от фиксированных уровней RAID, жестко привязанных к дискам и их количеству. Совсем иной взгляд на то как можно делать RAID. Есть девайсы и свободное место на них. Можно для "вот этого объекта" заказать "вот такой уровень RAID". И если число девайсов и доступное место на них это в принципе позволяет изобразить - вы это получите.

> при ограниченном бюджете и не принимая в расчет сервера с кучей дисков,
> raid5 на 3-4 диска это самое оно,

У btrfs RAID достаточно забавно сделан - админы привыкшие к тому что RAID фиксированно размещен по дискам и является какой-то определенной и более-менее фиксированной в плане его типа величиной - будут долго делить на ноль. Архитект btrfs не искал простых путей и решил что летать низко - не к нему. Не знаю тянет ли это на совсем новое поколение, но это совершенно иной подход и мне нравится такое мышление архитекта. Это круто и гибко. Чувак не любит проползать под планкой - он в настроении брать новые высоты.

> если вы хотите обезопасить свои файлы, но не покупать кучу дисков для зеркал.

Если вы хотите обезопасить файлы - делайте бэкапы. Ни RAID, ни снапшоты их не заменят. Желательно на физически отдельный компьютер. Потому что если у вас например пыхнет БП и overvoltage protection не сработает - синхронно умрет ВСЯ электроника. При этом все-равно - 1 у вас диск или 10.

> А про кодинг и тестирование - уже есть ZFS которая прекрасно работает, зачем?

Понятия о прекрасном - у всех разные. Древнючий CoW с рядом бестолковостей, без нормальных экстентов, без дефрагера, с дурным управлением памятью, отсутствием backrefs для простого и быстрого вынимания диска из пула и прочее - как-то совсем не предел мечтаний, имхо.

> Несомненно фича интересная, но вызывает много вопросов, например насколько хорошо оно будет
> балансировать данные между дисками,

Если так вышло что баланс вам не нравится - есть ребалансер. Кроме всего прочего оно еще и гибкая штука в плане размещения данных.

> при наличии множества разных уровней raid и не будет ли кучи потерянного места.

Вообще-то куча потерянного места - это для начала про классические RAID с их деревянным допущением что все файлы имеют одинаковую ценность на продолб, а все диски обязаны быть одинакового размера. Это проще всего реализовать, но отнюдь не самое эффективное решение. На многодисковых конфигах btrfs может доюзывать место которое бы пропало на обычном RAID. Путем например использования разных сочетаний дисков. Как вам мысль: RAID-1 с блоками на "вот этом диске" может иметь *несколько* *разных* парных дисков для разных групп блоков? При этом все блоки будут иметь избыточную копию на отдельных дисках, но схема не будет жестко завязана на размеры дисков как таковые. При помирании диска все объекты с RAID1 имеют копию блоков на других дисках. При этом в degraded выпадает не "RAID вообще", а "объекты которые имели блоки на проблемном диске". Вот так вот.

> А также как оно себя поведет, если например у вас в пуле raid0 диск накрылся,

Ложки нет. И диска/пула "raid0" - нет. Такая фигня. Есть "raid0 у вон того объекта". А у вон того - raid 1. Если упал диск на котором было 2 объекта, один с raid-0 и второй с raid-1, объекты хранившиеся как RAID1 выживут за счет копий на других дисках. А raid0 на то и raid0 что ставит скорость выше сохранности, объекты хранимые как raid0 содержавшие блоки на проблемном диске будут ессно порушены. Придется вам перекачать прон заново. А рабочие документы перекачивать не придется. Мне такой подход видится куда как более разумным, чем то что сейчас, когда предлагается делать судьбоносное решение на века, а потом попробуй дескать это решение переиграть, не проклянув все на свете.

> но пару файлов вы как raid1 хранили - их конечно можно будет
> fsck выковырять я так понимаю..

С логической точки зрения... метаданные всегда как минимум дублируются, если у вас многодисковая конфига. Так что ФС сама по себе не должна обрушиться в том плане что у нее будет исправная копия метаданных по которой можно продолжать работать как раньше. Участь файлов ессно зависит от того с каким уровнем RAID их было решено хранить. RAID-1 выживут за счет копий блоков на иных дисках, raid0 - помрут. А потом втыкаем новый диск на замену, говорим rebalance - и файлы которые в degraded - должны восстановить свою избыточность путем раскидывания копий на другие диски (новый + те на которых было место).

> Вот и я не понимаю почему такую элементарную вещь btrfs не может,
> а кому-то данные очень важны...

Учитывая как btrfs работает с RAID - не вижу фундаментальных проблем класть блоки файла в 5 копиях на 5 дисков. При условии что у вас в системе как минимум 5 дисков в пуле с достаточным свободным местом в принципе было. Если вам такое надо и то что уже есть не нравится - ну, попробуйте попросить фичу, если можете внятно описать зачем так надо. Стоит понимать что для очередного RAID все-таки пилить логику рекавери и ряд утилит, так что безбашенно просить черти-что для красоты - не надо.

> Можно также спорить, что управление мешаниной из различных уровней raid тоже филиал ада.

Это филиал ада... но не для админа, а для ФС и ее разработчиков в основном. Так по крупнопу - вилы вылезли например вон в том вопросе по свободному месту. Потому что есть свободное место на дисках. Ничего не известно о том как попросят разложить данные. Если вы захотите raid0 - влезет так. А если raid-1 - эдак. И какую величину вам показать как прогноз "сколько уместится"? Ну так, с логической точки зрения :). ФС ведь не знает заранее - порево вы собираетесь дозаписать или документы.

Зато админ может переиграть судьбоносные решения в плане уровней RAID без тотальной перетряски всего убер-стоража на 100500 дисках. Это довольно круто задумано, а? Хоть и имеет странноватые tradeoffs.

> Хотя согласен, что при наличии всего двух хардов, наверно удобно документы хранить
> в raid1, а порно в raid0 на тех же дисках.

Более того - можно запилить новую схему RAID ... без перетряски старых данных. Тот факт что ФС стала уметь raid5 и даже запись новых блоков в raid5 никак не мешает жить блокам в raid1 которые уже были. Они по прежнему будут raid1. На дисках будет некая смесь разных уровней raid а возможность починки при отвале будет пообъектно определяться уровнем RAIDизации объекта vs то что сдохло.

> Я знаю многих, у кого на десктопе raid5.

Ну ... допустим мне перестало хватать места на существующем raid5. Мои дальнейшие действия? А чтоб без эпического кластерфака? В btrfs в идеале - добавить 1-2 диска, может пересмотреть уровни RAIDов неких сущностей, ребаланснуть, чтобы новички в игру вступили, взяв часть нагрузки. Это просто и понятно. И ранее запрошенные уровни RAID для объектов никак не изменятся от самого факта "добавили 2 диска". И кто сказал что новые диски - того же объема что и старые, etc?

> Google тоже использует ext4 без журнала, потому что им проще тупо диск
> заменить если с ним что-то не так и засинхронизировать с другого сервера.

ИЧСХ это вполне валидный подход. Более того - они сочетают скорость ФС без журнала с надежностью получше любого RAID, т.к. отдельно взятый сервак может вообще выгореть синим пламенем вместе со всеми дисками, а этого никто и не заметит. Я нахожу это весьма логичным устройством большой распределенной конструкции. В конце концов, вы не сможете бесконечно добавлять диски и делать 1 сервер все круче и круче. А они это могут масштабировать бесконечно.

> ZFSonLinux в IBM Sequoia используется например.

Мне не жалко, флаг им в руки. А для себя я хочу решение без типовых грабель ZFS и встроенное в майнлайн. Кстати те же IBM были одной из фигур за btrfs. Когда-то давно IBM, Oracle и кто-то еще устроили некое обсуждение и в итоге решили отбабахать ФС нового поколения, взяв лучшее из существующих дизайнов. Мэйсон попыхтел, посмотрел на существующие ФС и их проблемы, да и сделал btrfs. Как раз по заявкам этих слушателей. Насколько получилось - вопрос интересный. Но ряд дурных грабель старых дизайнов и правда остался за бортом, а такое сочетание фич не присутствует ни в какой другой ФС.

И, например, невозможность вырубить CoW механику под базой - это достаточно жирные грабли файловой системы, если что. Это накрывает медным тазом многие применения ФС с БД. Если так обратить внимание, те кому надо нагруженные базы данных - совсем не рвутся ZFS использовать. Там нет рукояток позволяющих захинтить ФС что базу не надо CoW'ать, а CoW базы с активной записью - ахтунг-ахтунг-ахтунг.

> В том то и дело, что zfs вполне можно доверить данные, поэтому
> статья и говорит что оно production ready с небольшими оговорками.

Так доверяйте, я не против. Я просто высказал свое мнение насчет перспектив всей этой возни и устройства этой ФС.

> У ZFS тоже есть недостатки, в частности домашних пользователей печалит невозможность на
> данный момент удалить диск из пула (в проекте)

Я не совсем понимаю как они намерены удалять диск из пула малой кровью. Для этого надо "рояль в кустах" - back references, позволяющие посмотреть кому принадлежали блоки и просто и быстро заапдейтить метаданные после перемещения блоков, чтобы блоки теперь искали в новой локации. В btrfs такое *заранее* предусмотрели. Ну то-есть, абсолютно нерешаемой эта проблема не решается, но когда архитект это еще на фазе дизайна явно предусмотрел - это сиииииильно упрощает дело. Более того - я не понимаю почему кто-то мнит что после столь крутой перетряски дисковой механики на самом базовом уровне все эти ахи-охи про стабильность будут применимы. Скорее всего под такое надо будет разворотить половину кода, а после таких изменений его весь надо будет тестировать с ноля и вылезет уйма новых вкусных грабель, ибо чудес не бывает.

> или добавит диск в vdev (Т.е. вместо raidz на 3 диска сделать raidz на
> 4 и сделать перестройку массива.

Ну а вот в btrfs никакие бучие "перестройки" делать по сути не надо (кроме случая "диск сдох"). Можно вообще новый уровень RAID запилить никак не затрагивая существующие данные. А новые данные сохранить уже с новым уровнем RAID, например. Технически их подход позволяет наворачивать иные методы RAID, плавно и постепенно мигрировать на них без глобальной перетряски стоража. И такой стиль мышления архитекта мне, определенно, нравится. Он таки подумал о практических аспектах эксплуатации многодискового пула. При том подумал свежо и оригинально, рискнув сделать нетривиальные но многообещаюище решения вместо трусливого заметания проблем под ковер и упрощения себе жизни. Это как-то более честно чем замести технические проблемы, сделав как проще и вытянуть потом маркетинговым булшитом, как это любили делать сани.

> Добавить vdev к страйпу можно и сейчас

А если там не страйп - придется обломаться и ребилдить, да? :)

> и также можно заменить все диски в vdev на больший объем и сделать ресайз).

А в btrfs весь этот эпичный кластерфак просто obsoleted - by design.

> С памятью по большей части проблемы надуманы и в основном относятся к ONLINE! dedup,

А я склонен полагать что аллокатор без экстентов чудес производительности с неба не хватает и гигазы оперативы нужны в том числе и для вытягивания достаточно тормознутых свойств такого дизайна. Как вы понимаете, все новые дизайны ФС свалили на экстенты не потому что это модно, а потому что так лучше работает в большинстве нагрузок. Вкатить одним махом запрошенный регион - самое логичное решение которое можно придумать. Логично что это неплохо работает. Если задаться целью - завалить такую механику неудобной нагрузкой конечно тоже можно, но завалить можно любую механику ФС. Все ФС в среднем работают сильно лучше чем краевые worst case.

> который почти наверняка у BTRFS будет жрать столько же памяти, это почти неизбежно.

Btrfs не надо вытягивать тормоза аллокатора. Экстентные аллокаторы сами по себе довольно шустрые, без подпирания десятками гиг оперативы. Одно дело лопатить кучу блоков и метить это, и другое - если повезло то просто вбахать влобовую запрошенный регион, как просили, и на этом успокоиться.

> Но в целом на данный момент ZFS гораздо более надежна и функциональна
> по сравнению с BTRFS для большинства применений, кроме самых базовых вроде
> fs на одном диске/stripe/mirror.

Возможно. Но говоря за себя - я предпочитаю увидеть btrfs доведенный до ума в майнлайне, а не странный zfs с кучей трудноустранимых грабель дизайна и где-то сбоку. Интеграция с системой - это хорошо. Куда удобнее поставить дистр на файлуху средствами штатного инсталлера чем сношать себе мозг с докачкой и отдельными бутовыми разделами и/или самоличным закатом солнца вручную.

Я не хочу всю жизнь ребилдить RAID. Это булшит. Я не хочу переворачивать полсистемы вкорячивая левые third-party модули. Турбореактивные самолеты стали основным средством перевозки. Даже если Туполеву и пришлось пару раз обтечь за первые ТУ-104, в результате винтовые самолеты - нишевая штука, а отнюдь не основное средство перевозки. Мэйсон сделал то же самое с уровнями RAID. Даже если ему придется пару раз обтечь - это не отменяет того факта что он применил ряд новых подходов, которые вполне могут задать новую планку, которую всем остальным придется или взять, или свалить на свалку истории как безнадежный хлам.

Ответить | Правка | Наверх | Cообщить модератору

140. "Состояние развития ZFSonLinux и готовность проекта к повсеме..."  +/
Сообщение от Elhanaemail (ok), 13-Сен-14, 19:11 
Вы повторяете одно и тоже про то как замечательно можно сочетать в одном пуле кучу уровней рейда, но это во-первых применимо только на базовых уровнях, и по сути основное применение это заставить что-то записать как raid0 вместо например raid1 или raid5 (я с трудом себе представляю как можно с raid1+0 перейти на raid5+0 без подсказок), во-вторых это уже ведет к граблям с разбалансом btrfs, когда оно вдруг начинает думать что у него места нет.
К тому же вы когда например raid50 делаете, стараетесь раскидать диски так, чтобы при вылете одного контроллера, не вылетел весь пул - я сомневаюсь что btrfs сама это сможет учитывать, а поэтому все эти умные штуки очень сомнительны.

Это все круто, но сложно. Получится - замечательно, но пока оно далеко от готовности.

> И кто сказал что новые диски - того же объема что и старые, etc?

Диски разных размеров, это проблемы с производительностью в будущем. btrfs вам в лучшем случае их сможет использовать так, чтобы они данными заполнились равномерно, в худшем случае вы также потеряете то место, которое больше минимального диска.

> Ну а вот в btrfs никакие бучие "перестройки" делать по сути не надо (кроме случая "диск сдох").

И в btrfs надо делать перестройку и в ZFS, просто btrfs умеет делать ее на месте. Это круто в домашних условиях, может быть еще полезно на ненагруженых серверах.

>> Добавить vdev к страйпу можно и сейчас
> А если там не страйп - придется обломаться и ребилдить, да? :)

Вы просто добавляете еще один vdev, ничего ребилдить не надо:
root@stellarwind:~# zpool create zfspool raidz /tank/zfs1 /tank/zfs2 /tank/zfs3
Заполнилось, добавляем еще места:
root@stellarwind:~# zpool add zfspool raidz /tank/zfs4 /tank/zfs5 /tank/zfs6
root@stellarwind:~# zpool status zfspool
  pool: zfspool
state: ONLINE
  scan: none requested
config:

    NAME            STATE     READ WRITE CKSUM
    zfspool         ONLINE       0     0     0
      raidz1-0      ONLINE       0     0     0
        /tank/zfs1  ONLINE       0     0     0
        /tank/zfs2  ONLINE       0     0     0
        /tank/zfs3  ONLINE       0     0     0
      raidz1-1      ONLINE       0     0     0
        /tank/zfs4  ONLINE       0     0     0
        /tank/zfs5  ONLINE       0     0     0
        /tank/zfs6  ONLINE       0     0     0

errors: No known data errors

Переделать в один raidz1 на 6 дисков - нельзя, да.

> в результате винтовые самолеты - нишевая штука

Плохой пример :)
Расскажите это маленьким самолетам вроде Цесны. А потом посчитайте например сколько у нас Ту-95 и Ту-160. Если хорошо посчитать, может получится что на самом деле реактивные самолеты это нишевая штука.

Ответить | Правка | Наверх | Cообщить модератору

145. "Состояние развития ZFSonLinux и готовность проекта к повсеме..."  +/
Сообщение от Аноним (-), 15-Сен-14, 02:35 
> одном пуле кучу уровней рейда, но это во-первых применимо только на
> базовых уровнях,

Это некое базовое свойство дизайна ФС - заранее подумали о том что для разных вещей могут хотеть разные уровни RAID. Поэтому оно технически допускает произвольную смесь RAIDов с пообъектной гранулярностью выбора.

> (я с трудом себе представляю как можно с raid1+0 перейти на raid5+0 без подсказок),

Как я уже сказал - ложки нет. Вы мыслите RAID на уровне блочных устройств. А тут RAID на уровне аллокатора, пообъектно. Допустим у вас пул из 10 дисков. Для btrfs есть 10 дисков. На дисках есть эн свободного места, на каждом по разному, например. Это суммарная рабочая площадь пула. Пришел юзер, попросил "RAID1 для вон того файла". Файлуха пошла и при записи положила блоки файла на диски номер 3 и 5, допустим. На дисках 3 и 5 стало меньше свободного места. Блоки содержат 2 копии, как просили. А потом еще дописали. И это допустим пошло на диски 4 и 9. На дисках 4 и 9 тоже стало меньше свободного места. Эти блоки тоже содержат 2 копии. Смерть ни 1 из дисков пула не приводит к потере всех копий. Т.е. условия RAID1 - выполняются.

А теперь допустим мы хотим сделать из этого ну пусть RAID5. Как это может выглядеть? Прочли блоки файла которые были сохранены как RAID1, записали их как RAID5 (если для этого достаточно дисков и свободного места), деаллоцировали блоки RAID1 (вернув место занятое под них), отапдейтили метаданные (чтобы указывали на новые блоки с новой схемой размещения). Вроде все логично и не вижу почему это не может работать. По сути конверсия любой схемы в любую с точки зрения файлухи - нечто наподобие копирования файла.

При этом можно добавить новую схему которая будет сразу использоваться для новых данных без перетряски старых данных совсем, а потом можно неспешно по мере желания старые данные читать и записывать с новой схемой размещения. А так чтобы немедленно подрываться конвертить данные на 100500 дисках - не придется вообще.

> во-вторых это уже ведет к граблям с разбалансом btrfs, когда оно вдруг
> начинает думать что у него места нет.

Действительно, если вы допустим попросите RAID1, а свободное место есть только на 1 диске, извините, "места нет". Потому что нельзя выполнить запись по запрошенному критерию. С другой стороны, ребалансер может чего-то отыграть, равно как место может быть поюзано для иных схем хранения. В то время как на block-level RAID если диски разные, "лишнее" свободное место в хвосте диска как правило вообще втyпую пропадает.

Да, при этом понятие свободного места становится интересной штукой :-). А там еще CoW с GC, etc.

> сомневаюсь что btrfs сама это сможет учитывать, а поэтому все эти
> умные штуки очень сомнительны.

Если не давит жаба чуть ли не каждому диску по контроллеру ставить - может не удавит жаба и делать в духе гугли? Там вообще "если 1 сервер умер, никто ничего не замечает" ;).

Ну то-есть я допускаю что какой-то нишевой юзкейс в таком контексте наверное может быть. Но в целом бояться только помирания контроллера, но не бояться смерти остальных компонентов сервера мне кажется довольно странным.

> Это все круто, но сложно. Получится - замечательно, но пока оно далеко
> от готовности.

Фокус в том что если такие вещи не предусмотреть заранее, потом это заимплементить без тотального слома совместимости уже практически невозможно. А эти без проблем прикрутят те или иные схемы дублирования и четности RAID, при том существующим данным это жить никак не помешает. А потом при желании можно неспешно перемигрировать старые данные в новый вариант хранения.

> Диски разных размеров, это проблемы с производительностью в будущем. btrfs вам в
> лучшем случае их сможет использовать так, чтобы они данными заполнились равномерно,
> в худшем случае вы также потеряете то место, которое больше минимального диска.

Место на "большем" диске можно потратить, например, для хранения файлов для которых избыточность вообще не просили. А ребалансер может до некоторой степени пролечивать ситуации, когда перекос по каким-то причинам вышел аномально крутой. Не идеально? Ну да, некий tradeoff с некими свойствами. Но мне такой ход мыслей нравится.

> И в btrfs надо делать перестройку и в ZFS, просто btrfs умеет
> делать ее на месте. Это круто в домашних условиях, может быть
> еще полезно на ненагруженых серверах.

Это круто в том плане что все это можно делать без остановки работы ФС на фиг знает сколько и полного пересчета всего и вся. Плюс можно добавить 1-2 диска в пул и сделать ребаланс. Какие там уровни RAID у хранимых данных были и какие размеры дисков - не очень принципиально, ситуация с свободным местом всяко улучшится. В целом это позволит делать многодисковые конструкции гибче и переигрывать по ходу пьесы ряд решений без заваливания всего и вся в даун на черти-сколько.

> Заполнилось, добавляем еще места:

Теперь начинаю не совсем понимать я. Ну, ок, допустим я юзал RAID5. Теперь я хочу добавить еще 1 диск, чтобы суммарное место пула увеличилось. И как это будет выглядеть в терминах ZFS? И чтоб без разбора/дестроя многодисковых сущностей с полным пересчетом, разумеется. Btrfs отрастит +эн терабайтов на общей площади, изначально - "концентрировано" на этом диске, но после пинка ребалансера данные в фоне с всех дисков частично подвинутся на тот - в целом больше места станет глобально/независимо от типа RAIDа у разных объектов.

> Переделать в один raidz1 на 6 дисков - нельзя, да.

Ну а у btrfs можно в принципе перегонять объекты из одного типа RAID в другой по ходу пьесы. С технической точки зрения это read() с старой схемы, write() с новой схемой и снос старых блоков+апдейт метаданных. Ну так, чисто архитектурно. Что из этого по факту запилено - второй вопрос, по крайней мере та механика которая есть к таким вещам отнесется нормально и все это не проблема прикрутить, как и разные схемы избыточности/четности ... без порчи жизни админам на предмет разбора/пересоздания многодисковых пулов, масс-пересчета данных здесь и сейчас и прочего традиционного кластерфака.

> Расскажите это маленьким самолетам вроде Цесны.

Ну так я и не говорю что они совсем пропали. Но основной объем перевозок теперь на них.

> самом деле реактивные самолеты это нишевая штука.

По объему перевозок они давно все остальные обставили. А если смотреть на всякую мелочь, FAT давно всем врезал пинка: вон он на куче мелочи типа флешек и карт памяти :). Только вот почему-то нынче фат только на мелочи и остался, а использовать его на системном диске и хранилищах данных почему-то теперь никто не хочет.

Ответить | Правка | Наверх | Cообщить модератору

150. "Состояние развития ZFSonLinux и готовность проекта к повсеме..."  –1 +/
Сообщение от iZEN (ok), 15-Сен-14, 22:00 
> А теперь допустим мы хотим сделать из этого ну пусть RAID5. Как
> это может выглядеть? Прочли блоки файла которые были сохранены как RAID1,
> записали их как RAID5 (если для этого достаточно дисков и свободного
> места), деаллоцировали блоки RAID1 (вернув место занятое под них), отапдейтили метаданные
> (чтобы указывали на новые блоки с новой схемой размещения). Вроде все
> логично и не вижу почему это не может работать. По сути
> конверсия любой схемы в любую с точки зрения файлухи - нечто
> наподобие копирования файла.

В Btrfs полноценная поддержка RAID5 и RAID6 до сих пор не реализована.

>> И в btrfs надо делать перестройку и в ZFS, просто btrfs умеет
>> делать ее на месте. Это круто в домашних условиях, может быть
>> еще полезно на ненагруженых серверах.

А ZFS что по-твоему требуется, чтобы сделать перестроение vdevice в RAID1, RAID1 в RAID10?! То же, что и Btrfs — замиррорить объекты и разнести их части по дискам! И, да, это делается тоже в домашних условиях, а не в лабораториях. И, внезапно, для этого не требуется микроскоп и пинцеты. :))

>> Переделать в один raidz1 на 6 дисков - нельзя, да.
> Ну а у btrfs можно в принципе перегонять объекты из одного типа
> RAID в другой по ходу пьесы. С технической точки зрения это
> read() с старой схемы, write() с новой схемой и снос старых
> блоков+апдейт метаданных. Ну так, чисто архитектурно.

Чисто умозрительно. Потому что рабочей реализации RAID5 и RAID6 в Btrfs ещё нет.

> Что из этого по факту
> запилено - второй вопрос, по крайней мере та механика которая есть
> к таким вещам отнесется нормально и все это не проблема прикрутить,
> как и разные схемы избыточности/четности ... без порчи жизни админам на
> предмет разбора/пересоздания многодисковых пулов, масс-пересчета данных здесь и сейчас
> и прочего традиционного кластерфака.

Вот когда будет решена проблема с прикруткой RAID5 и RAID6 в Btrfs, тогда и поговорим. Ага?
Фантазировать можно долго.

Ответить | Правка | Наверх | Cообщить модератору

151. "Состояние развития ZFSonLinux и готовность проекта к повсеме..."  +1 +/
Сообщение от Stellarwind (?), 17-Сен-14, 13:58 
>>> И в btrfs надо делать перестройку и в ZFS, просто btrfs умеет
>>> делать ее на месте. Это круто в домашних условиях, может быть
>>> еще полезно на ненагруженых серверах.
>
>А ZFS что по-твоему требуется, чтобы сделать перестроение vdevice в RAID1, RAID1 в
>RAID10?! То же, что и Btrfs — замиррорить объекты и разнести их части по дискам! И, да,
>это делается тоже в домашних условиях, а не в лабораториях. И, внезапно, для этого не
>требуется микроскоп и пинцеты. :))

В данном конкретном случае они говорят про ситуацию: у вас raidz1 из трех дисков, вы хотите raidz1 из четырех - насколько я понимаю btrfs cможет (когда/если его вообще доделаю) добавить диск в raid5 и перестроить его с 3 на 4 диска на месте, перелопатив весь массив на месте.
В случае с ZFS вам для этого фокуса потребуется как минимум два новых диска (если вы рисковый товарищ), а в идеале вы втыкаете 4 новых диска, создаете новый пул, перебрасываете данные, грохаете старый. Не у всех есть даже один лишний хард, чтобы провернуть этот фокус.

Ответить | Правка | Наверх | Cообщить модератору

153. "Состояние развития ZFSonLinux и готовность проекта к повсеме..."  –1 +/
Сообщение от iZEN (ok), 18-Сен-14, 18:25 
>[оверквотинг удален]
>>
>>А ZFS что по-твоему требуется, чтобы сделать перестроение vdevice в RAID1, RAID1 в
>>RAID10?! То же, что и Btrfs — замиррорить объекты и разнести их части по дискам! И, да,
>>это делается тоже в домашних условиях, а не в лабораториях. И, внезапно, для этого не
>>требуется микроскоп и пинцеты. :))
> В данном конкретном случае они говорят про ситуацию: у вас raidz1 из
> трех дисков, вы хотите raidz1 из четырех - насколько я понимаю
> btrfs cможет (когда/если его вообще доделаю) добавить диск в raid5 и
> перестроить его с 3 на 4 диска на месте, перелопатив весь
> массив на месте.

Btrfs RAID5 ещё несовсем умеет поддерживать. Это как раз та ситуация, когда "немножко беременна". ;)

> В случае с ZFS вам для этого фокуса потребуется как минимум два
> новых диска (если вы рисковый товарищ), а в идеале вы втыкаете
> 4 новых диска, создаете новый пул, перебрасываете данные, грохаете старый. Не
> у всех есть даже один лишний хард, чтобы провернуть этот фокус.

Ну а вдруг до того момента, как Btrfs станет поддерживать RAID-5 в ZFS появится поддержка прозрачного расширения RAIDZ? Ну а вдруг?! Что вы тогда запоёте о целесообразности Btrfs?

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру