У меня есть два сервера SLES 11, подключенных к сети SAN к Clarion CX-340. Раздел SAN был отформатирован с помощью ocfs2, и у меня обе машины настроены в кластере, и кластер работает (все кажется нормальным). У меня есть небольшое приложение Java в качестве теста блокировки, и когда я запускаю приложение на обеих машинах одновременно, я должен получить блокировку на одном сервере, а другой должен отказаться от блокировки, поскольку первый уже удерживает блокировку этого файла, но в этом случае оба сервера блокируют один и тот же файл.
В основном мой cluster.conf выглядит так:
node:
ip_port = 7777
ip_address = 192.168.10.121
number = 1
name = osrsles10node1
cluster = osrsles10
node:
ip_port = 7777
ip_address = 192.168.10.122
number = 2
name = osrsles10node2
cluster = osrsles10
cluster:
node_count = 2
name = osrsles10
Пожалуйста, запрашивайте любую другую информацию - мне действительно нужно, чтобы эти блокировки были эксклюзивными для каждого сервера.
Спасибо.
Какой тип блокировки вы используете? flock (2), fcntl (2)? Если вы не уверены, вы можете запустить свое Java-приложение под strace, чтобы узнать.
OCFS2 поддерживает только кластер flock, но не fcntl.