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