= хранилище iscsi zfs для нищебродов == синопсис по результатам посещения магазинов имеется четыре [http://market.yandex.ru/product/10718570 жёстких диска], одна [http://market.yandex.ru/product/10949785 нормальная ssd], две ssd [http://google.com/search?q=SSD2SC120G709A104-43227894 ниочень], [http://ebay.com/itm/261448063080 сервер] с резервным [http://ebay.com/itm/110971415802 блоком питания], [http://ebay.com/itm/121137400203 батарейкой для контроллера] и [http://ebay.com/itm/351127460049 корзинами для дисков]. к великому сожалению, устанавливать на сервер FreeBSD лишено смысла, т.к. под неё нет управления контроллером. в случае выхода из строя жёсткого диска для его замены весь nas придётся перегружать, чтобы добавить новый диск. кроме того, после нескольких попыток установить FreeBSD выяснилось, что грузится она с этого контроллера только с zfs зеркала. если делать raidz2 или stripe из mirror, то zfsloader по какой-то причине не видит дисков. поскольку из всех линуксов наибольший опыт работы у меня с CentOS, то я решил остановиться на нём, а именно на версии 6.6, как последней версии без systemd, который ещё предстоит изучать. == установка перед установкой необходимо дать возможность операционной системе получить доступ до дисков. hp smartarray p410 не умеет jbod, а в рамках использования zfs возможности контроллера по работа с дисковыми массивами мне неинтересны. поэтому придётся обойтись костылём: сделать из каждого диска отдельный массив raid0. внятного описания как грузить линукс с zfs мне найти не удалось, поэтому грузиться я буду с ext4. первые два диска я подготовил вот так:[[br]][[br]] [[Image(anaconda-disk-layout.png​)]] [[br]][[br]] когда спросят про то, куда писать загрузчик, то нужно выбирать вот такую схему:[[br]][[br]] [[Image(grub.png)]] [[br]] если выбрать что-то другое, то ничего не загрузится: после инициализации рейда будет просто чёрный экран с одним мигающим курсором. хотя на виртуальной машине с обычными sas дисками работает, даже если загрузчик записать на `md10`. видимо, особенность контроллера hp smartarray p410 - не такой он уж и smart. == конфигурирование === система после установки сразу стоит сделать `yum update -y`, поскольку пакет zfs on linux предназначен для последней версии ядра и на старьё не установится. zfs занимает весь объём оперативной памяти для кэша (arc) и в некоторых случая может не успеть освободить часть памяти, необходимую для работы софта. чтобы ядро в этом случае не начало геноцид приложений или служб, в систему нужно добавить swap а так же ещё два зеркала для раздела /boot (кашу маслом не испортишь): {{{ #!bash yum install -y gdisk for i in c d; do sgdisk \ -n 1:2048:1050623 /dev/sd${i} \ -t 1:fd00 /dev/sd${i} \ -n 2:1050624:65990656 /dev/sd${i} \ -t 2:fd00 /dev/sd${i} done mdadm --create /dev/md22 --level=1 --raid-devices=2 /dev/sdс2 /dev/sdd2 }}} : {{{ #!bash mdadm --create /dev/md22 --level=1 --raid-devices=2 /dev/sd[cd]2 grub-install --root-directory=/ /dev/sdc for i in a b c d; do grub-install --root-directory=/ /dev/sd${i}1 done }}} === zfs === scst от выбора iscsi target под linux может закружиться голова, но за меня их уже [#link1 сравнили], поэтому я этого делать не буду, а поверю на слово и сразу выберу scst. === ядро полезные ссылки: 1. [=#link1 http://habrahabr.ru/post/200466/]; 1. http://habrahabr.ru/post/209460/; 1. http://habrahabr.ru/post/209666/.