Мне было интересно, есть ли какие-либо основные преимущества использования протокола iSCSI для доступа к NAS через соединение через FTP или SMB (помимо скорости доступа, которая была бы выше при использовании протокола iSCSI).
iSCSI - это протокол другого типа. С FTP и SMB (или NFS) вы получаете доступ к файлам, а iSCSI - это протокол блочного устройства. Основные отличия:
С FTP, SMB, NFS несколько клиентов могут получить доступ к одной и той же области, тогда как с iSCSI обычно доступ имеет только одна система, если вы не используете кластерную файловую систему (OCFS, VMFS, GFS, ...).
Если вы назначаете устройство для iSCSI, вы используете все устройство, даже если диск просто пустой и отформатирован, по сравнению с SMB или FTP, где вы используете только дисковое пространство, которое используют файлы.
iSCSI обычно быстрее и требует меньше накладных расходов, но это зависит от рабочей нагрузки.
С iSCSI меньше прозрачности и накладных расходов.
Что касается остальной части ОС, то это просто еще один диск, на который она может записывать и читать, как и любой другой, а драйвер iSCSI инкапсулирует всю сложность сети в представление, которое другие программы просто воспринимают как диск. С SMB, FTP или что-то еще, каждая программа должна где-то хранить свое собственное соединение и информацию аутентификации, это рассинхронизируется, волосы выдергиваются, скрежет зубов и т. Д. ОС не воспринимает это как соединение с чем-то еще; он просто видит его как блочное устройство, как и любое другое.
Кроме того, если у вас есть аппаратный инициатор, в ядре ОС будет меньше накладных расходов на обработку TCP.
Наконец, хотя это и незначительно, я мог бы также добавить, что протокол iSCSI имеет меньше обертывания / кадрирования и т. Д. поэтому будет (немного) более эффективным с точки зрения пропускной способности, чем FTP / CIFS / NFS / и т. д.
С помощью FTP, SMB, NFS несколько клиентов могут получить доступ к одной и той же области, в то время как с iSCSI доступ обычно имеет только одна система, если вы не используете кластерную файловую систему.
Поскольку мир сейчас чрезмерно озабочен безопасностью (спасибо одному из бывших сотрудников ЦРУ), iSCSI имеет огромное преимущество в безопасности перед протоколами передачи файлов. Вы можете использовать зашифрованную файловую систему, и сервер хранения ничего не узнает о ее содержимом. Простой пример: у вас есть виртуальный сервер в одном из общедоступных облаков, например Amazon EC2 или Azure с любой серверной ОС. Вы подключаете диск iSCSI, который хранится на этом сервере, к своему клиентскому компьютеру (скажем, Windows 7/8) и шифруете весь диск с помощью BitLocker. После завершения шифрования удаленная сторона будет получать и отправлять ТОЛЬКО зашифрованные данные с диска. Все шифрование обрабатывается на вашей стороне.
Более того - ключ / пароль разблокировки никогда не передаются на сервер. Протокол iSCSI в этом просто не нуждается. Нет прямого способа прочитать ваши незашифрованные данные на вашем виртуальном сервере и даже с помощью базового программного / аппаратного обеспечения виртуализации, которое имеет полный контроль над вашей виртуальной машиной.
Небольшой недостаток, который я вижу здесь, заключается в том, что вам нужно загрузить весь зашифрованный том при первоначальном шифровании. Это может стоить вам денег, в зависимости от размера вашего диска и стоимости передачи у вашего облачного провайдера. Windows 8 и выше может выполнять шифрование на лету