Команда lock

Продолжим нашу серию про не слишком известные, но полезные команды, “в записную книжку админа”. На очереди у нас уже однажды упоминавшаяся команда lock.

Напомню вкратце. В системе совместного доступа, какой является NAS, для того, чтобы обеспечить отсутствие конфликтов доступа, используется метод так называемого “локирования” доступа к файлу.  Это необходимо для предотвращения возможности одновременной, но неснхронизированной записи в один и тот же файл от разных клиентов, не знающих о том, что сосед тоже решил изменить тот же самый файл, уже открытый одним клиентом. Для предотвращения такой ситуации, первый открывший файл клиент получает исключительные права на запись в файл (локирует файл на запись), остальные же – только на чтение, до тех пор, пока первый клиент не закончит записи в файл.
Возможно два типа локирования, так называемый file lock, при котором ограничивается доступ на запись в файл целиком для всех, кроме залокировавшего файл на запись клиента, и byte range lock, при котором ограничивается запись к определенному участку файла.

С помощью команды lock status можно посмотреть, какой хост и какой пользователь локировал тот или иной файл на NAS-системе.

fas1>  lock status –p cifs –h  (показывает локи сортированные по имени хоста)
CIFS host=172.18.2.107(VUSER01-VPC) owner=administrator state=GRANTED mode=Read-
denyN oplock=None fsid=0×0e1d66f7 fileid=0×000000d3
path=\word.doc(/vol/vol0/share1/word.doc)

 
fas1> lock status –p cifs –o (показывает локи, сортированные по пользователю или владельцу)
CIFS owner=root host=10.34.17.49(PC002-XP) pid=65279 offset=2147483539 len=1
excl=yes state=GRANTED fsid=0×0e1d66f7 fileid=0×000000d3
path=\word.doc(/vol/vol0/share1/word.doc)

Снять же ненужное (например ошибочно “зависшее”) локирование можно командой:

fas1> lock break -f file [-o owner -h host] [-p proto]

Обратите внимание, что, хотя команда lock break –f и поддерживается, но при использовании NFS v4 ее применение не рекомендуется, по причине ряда ненужных побочных эффектов снятия локирования таким образом.

Оставить комментарий