easyjohn
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: уточнения от линуксоидов приветствуются | Да, ты почему-то слишком сосредоточен на zfs. И просьба - придерживайся одной терминологии, а то у тебя в двух постах одно и то же называется тремя именами (похожими, но новичок может и запутаться). Чуть по занудствую: Цитата: ZFS-ось создаёт свои объекты | Нет такого понятия ZFS-ось. Есть оси, с поддержкой файловой системы ZFS (нужной версии). Например у того же линукса поддержка zfs есть, т.е. можно видеть, читать, писать на такие волумы, но т.к. из-за лицензии модуль файловой системы нельзя добавить в ядро, он работает из пользовательского окружения, т.е. работать можно, но в продакшен такое не поставишь. А вот как resque - вполне можно и линуксом данные восстановить. Цитата: к солярному CIFS-серверу можно подключиться виндовой оснасткой | Все это делает стандартная samba (ну, плюс не забыть acl на фс включить) так что оно везде одинаково. Теперь с т.з. линукса: У нас есть следующие сущности: - блочные устройства (работа с которыми идет на уровне "прочитать/записать блок 512байт", а не на уровне файлов), это может быть диск целиком, раздел на диске, рам-диск и даже файл на файловой системе можно считать блочным устройством. По SAN-сети экспортируются блочные устройства, файловую систему на них создают клиенты. Блочное устройство можно так же назвать луном (lun). - файловые системы - создаются на блочных устройствах. Применимо для NAS-сети, клиенты пишут по сети файлы, не представляя какая на блочном устройстве реальная файловая система, samba/nfs это за собой скрывают. С т.з. рейдов и т.п. - исповедуем unix-way, для каждой отдельной задачи - своя утилита (хотя все они - куски подсистемы dm - device mapper). Для создания из кучи блочных устройств рейда - md(mdadm). Для организации lvm-томов - lvm2. Для создания кеша на других блочных устройствах - flashcache Для синхронизации блочных устройств между несколькими серверами - drdb и т.д. _MD_ Берет блочные устройства, создает из них raid любого уровня, на выходе получаем новое блочное устройство типа /dev/md0. Любая степень вложенности, например нередко используется типа raid1, поверх двух raid5 из 5-8 дисков. (Например для тестовых игр запросто создаем 3-10 файликов одинакового размера на диске (интерпритируем их как блочные устройства), и делаем из них тестовый рейд, портим их, смотрим как выживает и т.п.). N.B. умеет интересные вещи, полезные в быту. Например 5-ый рейд можно создать в degrade на 2 дисках! (без создания четности). Так же 5-ый рейд можно динамически увеличивать, не прекращая работы. Был скажем из 3 дисков, добавили до 4, потом до 5 и т.д. - очень полезная опция для домашних raid, которые постепенно наращиваются по мере надобности. _LVM_ Новый подход к созданию томов. На нижнем уровне лежат "физические блоки"- PE (phisical extents) - любое блочное устройство можно обьявить PE для LVM. На втором уровне - блоки принадлежат "группе томов" VG (volume group). Сами блочные устройства PE можно добавлять и убирать из VG, если не заняты. На третьем уровне создаются логические тома LV (logical volume) - новые блочные устройства. Создавалось все это для отвязывания логических дисков от физических, а так же всяких плюшек типа snapshot и т.п. Во первых размеры LV можно изменять не прекращая работы (если не забудете позаботиться о файловой системе, что на них лежит - уменьшить фс до уменьшения lv, увеличить фс после увеличения lv. так же есть утилиты делающие это одной командой). Во вторых lv не знает, и никак не привязан на каких pe (блочных устройствах) он лежит. Пример - есть старый рейд, надо перенести его на новый. Добавляем новые диски в систему, добавляем новый рейд как pe в группу vg, говорим lvm, что старый pe будет удален (он сам перенесет все данные с одних pe на другие), удаляем старые pe из vg, вынимаем старые диски. Все это делается даже не прерывая работы софта с данными (lv никак не затрагивается), не говоря уж о перезагрузках. Итого, типичный СХД сервер на linux: Raid из физических дисков (или raid поверх raid) Парочка ssd дисков (опять в raid) в качестве кэша (аналог l2arc) с помощью flashcache. Поверх полученного устройства - lvm2, создаем нужные луны (lv) нужных размеров и т.п. (Тут, если сервера СХД два и более - можно поверх lv надеть drdb - получить отказоустойчивое хранилище) И наконец все (или отдельные lv) из lvm - экспортируются через iscsi. Собственно это все точно так же служит отличной альтернативой проприетарным СХД, например используется у одного крупного провайдера вирт.машин. Хотя нельзя не сказать, что и ZFS на солярке, и linux все же не имеют некоторых аналогов фич, которые есть в крупных стораджах. |