Как внести изменения в инициатор iscsi?

408
Bulat M.

Я использую CentOS 7.

Я создал простую конфигурацию цели / инициатора и два ACL (ACL) для двух пользователей.

Однако, когда я монтирую на обоих пользователях и пишу от первого пользователя, изменения записи не распространяются на второго пользователя.

Похоже, что инициатор кэширует все изменения на хосте и отправляет их цели только в конце сеанса, когда он выходит из системы.

Второй пользователь видит новые изменения только в том случае, если первый пользователь выходит из системы, а второй пользователь отключается и снова подключает LUN. Я включил write-thru на backstore и сопоставил acls с LUN как rw.

Я сделал настройку и попробовал на различных дистрибутивах, но проблема остается той же. Я мог бы прикрепить конфигурацию по мере необходимости, я думаю, что она довольно общая и простая, поэтому я не предоставляю ее из первых рук.


Как разрешить передачу изменений записи другим пользователям, подключенным к тому же LUN? Благодарю.

Кажется, что это должно быть ожидаемое поведение, но определенная точка будет оценена.

1
Учитывая, что кеширование практически всех файловых систем основано на предположении, что они являются единственным пользователем базового диска, я думаю, это просто не сработает. grawity 7 лет назад 0
@ grawity, а как насчет NFS, например? Доступ к одному экспорту может осуществляться несколькими пользователями одновременно, когда изменения одного пользователя распространяются сразу на других пользователей. В противном случае не было бы проблем с блокировкой в ​​NFSv3. Должно быть либо точное описание поведения iSCS, либо я что-то неправильно настроил. Bulat M. 7 лет назад 0
NFS, как правило, ориентирован на файлы (NFSv3 всегда есть), другими словами, это файловая система * сама по себе *, и поэтому имеет четкую семантику кэширования для файлов. Например, изменения всегда фиксируются при закрытии файла и тому подобное. Между тем, iSCSI является блочно-ориентированным - реальная файловая система полностью работает на клиенте поверх устройства, предоставленного iSCSI, и обычно даже не знает, что его устройство поддержки является сетевым (тем более, что оно совместно используется). Таким образом, он не может распространять уведомления об изменениях. grawity 7 лет назад 0
(это можно сравнить с телефонами, которые использовали блочно-ориентированное запоминающее устройство для передачи файлов через USB, с телефонами, которые используют файлово-ориентированный MTP) grawity 7 лет назад 0
Таким образом, поведение, которое я получил, ожидается? Некоторые ссылки будут высоко оценены. Bulat M. 7 лет назад 0

1 ответ на вопрос

1
Deltik

iSCSI не делает то, что вы думаете, что он делает. Большинство файловых систем предназначены для монтирования только одной операционной системой, но вы хотите, чтобы два клиента монтировали одну и ту же файловую систему в вашем iSCSI LUN.

Почему это не работает

Представьте себе один жесткий диск, который вы каким-то образом подключили к двум компьютерам (или хосту и его виртуальной машине, совместно использующей виртуальный диск). Это ваши два инициатора iSCSI (2 компьютера), подключающиеся к одному LUN (1 жесткому диску).

Когда вы монтируете файловую систему на жестком диске где-то на обоих компьютерах, каждый компьютер не имеет ни малейшего представления, что другой также использует файловую систему. Это может привести к серьезному повреждению данных, потому что каждый компьютер переступает через пальцы другого.

Что вы можете сделать вместо

Не позволяйте инициаторам напрямую подключаться к одному и тому же LUN ​​через iSCSI.

Вам нужен сервер, чтобы отслеживать изменения, внесенные в общую файловую систему. Поскольку клиенты не знают об изменениях друг друга, для этого должен быть задействован сервер.

Две реализации этого - NFS и CIFS, которые являются их собственными файловыми системами.

NFS или CIFS расположены как слой между локальной файловой системой клиента и сервера, так что клиенты не конфликтуют друг с другом.

Ресурсы

Основные Проходы

Выше и дальше

Вы можете довольно легко настроить масштабируемые распределенные файловые системы с помощью:

А как насчет корпоративных сред? Каждый клиент получает доступ к одному и тому же LUN ​​в неперекрывающемся сеансе с сеансами других клиентов? Я понимаю ваш ответ, но описанная выше ситуация кажется мне немного странной. Bulat M. 7 лет назад 0
@BulatM .: В корпоративных средах каждый iSCSI LUN обычно назначается одному клиенту. Но вы хотите, чтобы два клиента совместно использовали одну общую файловую систему одновременно. Это означает, что iSCSI - это не решение, которое вы ищете; скорее, вы должны смонтировать распределенную файловую систему, такую ​​как NFS или CIFS. [(Подробнее о Википедии)] (https://en.wikipedia.org/wiki/ISCSI#Logical_unit_number) Deltik 7 лет назад 1