если для хранилища будет использоваться appliance в виде freenas, nexenta или чего-либо другого, укутанного в красивую оболочку, то гибкости не получится. что я подразумеваю под гибкостью? например, у меня есть сервер, с кучей hdd и парой ssd. для максимальной производительности zfs нужно использовать ssd под zil и cache, разбив их на разделы. а ещё лучше оставить на них по 10-15% свободного места, для того, чтобы сборщик мусора не страдал. а на hdd помимо хранилища было бы клёво ещё и поставить саму операционную систему для управления хранилищем.
так вот, nexenta такое сделать не сможет. freenas я не пробовал, но скорее всего тоже, т.к. работают они по строго заданным шаблонам, в которые почему-то не входят такие конфигурации. поэтому выбор настоящих сварщиков - это FreeBSD или Linux. в принципе и то и то может грузиться и одинаково успешно использовать zfs. я пробовал и оба, но на первом, мне показалось, что zfs работает на порядок быстрей и грузиться с zfs проще. для линукса zfs всё таки не совсем родное, но упоминания и даже статьи об успешной загрузке есть.
если опыта в Linux/FreeBSD нет или без красивых кнопочек никак, тогда придётся пользоваться эплайнсами и страдать от их ограничений. с устройствами у FreeBSD всё хорошо, агрегация линков тоже есть. zfs не умеет radi6, но умеет лучше: raidz - аналог raid5. raidz1 и raidz2 - то же само что и raidz только уже соответственно с двумя или тремя дисками для чётности. т.е. raidz1 останется работоспособной при выходе из строя двух дисков в массиве, а raidz2 - трёх.
с горячей заменой дисков у zfs гораздо лучше, чем у хардварных рейдов. zfs - это файловая система, а не дисковый массив и она знает где и что у неё лежит. поэтому при вылете и замене диска ребилд будет происходить не всего диска, а только занятой данными области. многосуточные ребилды рейда можно забыть как страшный сон. smart к zfs отношения не имеет: если дисковый контроллер его отдаёт, то будет. если нет, то нет.