Использование одного и того же диска для общего доступа iSCSI и SMB под FreeNAS
В эти выходные я настраиваю новый сервер FreeNAS с довольно хорошим успехом, но я застрял на одном последнем выпуске.
Прямо сейчас у меня есть 2x 1,5 ТБ накопителя, которые я хочу отразить (я планировал Software RAID 1) для общего объема доступного пространства 1,5 ТБ.
Мне нужно иметь доступ к данным с дисков через SMB (CIFS) и iSCSI. Вероятно, я буду также использовать AFP, DAAP и uPnP в будущем.
Мои вопросы:
Не похоже, что один и тот же диск (или RAID) можно использовать как для доступа SMB, так и для iSCSI. Это правильно, или я что-то пропустил? (Примечание: я знаю, что вы можете сделать файл на диске доступным через iSCSI, но это не то, что я хочу, так как вы не можете видеть эти данные из SMB)
Если ответ № 1 действительно отрицательный, есть ли хорошие обходные пути для этого? Я придумала несколько решений (и открыта для большего), но мне нужно понять, что является лучшим вариантом.
Решение A: Держите диски вне RAID. Подключите один для SMB, а другой для iSCSI. Используйте rsync(?) Для ежечасной синхронизации. (Синхронизация в реальном времени здесь не критична, мне просто нужно убедиться, что я не потеряю все данные, если один диск умирает)
Решение B: Создайте диски RAID как iSCSI, затем предоставьте FreeNAS доступ к этой цели и перемонтируйте ее для SMB. Даже не уверен, что это работает, и это звучит как машина Рубе Голдберга.
Решение C: Я не люблю ни один из вышеупомянутых вариантов и надеялся на лучшее решение!
Спасибо за любой вклад здесь!
1 ответ
Я не думаю, что это возможно, как ты это выразил.
iSCSI - это протокол уровня блока. если несколько хостов имеют доступ к одному и тому же блочному устройству, они должны каким-то образом разрешить использование данных, хранящихся там. Обычно это означает использование файловой системы с поддержкой кластеров (GFS, OCFS2, CXFS и т. Д.).
SMB / CIFS - это протокол на уровне файлов. он обменивается файлами с несколькими клиентами, выполняя весь необходимый арбитраж и полагаясь на базовую файловую систему.
Решение B должно работать, пока вы используете кластерную файловую систему в этом разделе. с другой стороны, как только вы используете это блочное устройство с двух хостов, вы полностью его испортите.
Это совсем не решение, похожее на "rube goldberg", поскольку любой файловый сервер работает поверх файловой системы, вы бы просто использовали кластер-ориентированный. фактически, одно из наиболее распространенных применений кластерных файловых систем - это общее хранилище для нескольких файловых серверов (smb/nfs), распределяющее нагрузку по обработке и пропускной способности файла, обслуживающего одни и те же файлы.
вкратце: если вы хотите использовать общий доступ на уровне блоков, вы должны использовать кластерную файловую систему. если у вас также есть некластерные клиенты, вы можете добавить файловый сервер поверх этой файловой системы.