Рейтинг:1

Как на самом деле работает ленивое размонтирование?

флаг ug

Во время недавнего тестирования я не смог размонтировать монтирование NFS после удаления сервера NFS или блокировки IP-адреса сервера в режиме PREROUTING raw с помощью iptables.

--сила не работал. Бег устанавливать распечатать все крепления показали, что он все еще там.

Но --ленивый сделал.

Можно найти множество результатов, говорящих человеку сделать это. И что man-страница описывает --сила в частности, для серверов NFS, которые не зависают.

Но какой именно алгоритм стоит за --ленивый? Как система узнает, что устройство больше не занято?

Он говорит, что он размонтирован, но как я могу узнать, выполняются ли операции в фоновом режиме или нет?

Последнее, что мне нужно, это система, которая утверждает, что она размонтирована, но все еще открывает соединения, которые я не вижу.

Как я могу проверить, что крепление действительно исчезло? Или прочитать о способах проверки этого?

Рейтинг:1
флаг jo

Laziness управляется счетчиком, ссылающимся на конкретный mount_id.

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

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

Однако следует отметить, что если вы монтируете с помощью жесткий mount, и вы выполняете чтение, задача чтения NFS может никогда не завершиться и отложиться на неопределенный срок, поэтому некоторые ленивые размонтирования могут никогда не завершиться.

флаг ug
Предполагая мягкое монтирование с небольшим количеством повторных передач... все соединения должны получить ошибку ввода-вывода через несколько секунд, а затем после нескольких попыток прекратить повторные попытки, и тогда все будет хорошо, я думаю?
Matthew Ife avatar
флаг jo
@KdgDev это не так ясно. Если у вас есть процесс с его текущим рабочим каталогом внутри монтирования NFS, который вы пытаетесь закрыть, если только процесс не переместится из этого каталога, я не вижу, как счетчик ссылок в конечном итоге будет закрыт.
флаг ug
Действительно, это единственный случай, который я не мог проверить теоретически. Однако на практике я знаю, что только 1 процесс использует монтирование, которое я исследую, и его рабочий каталог находится в другом месте.
Matthew Ife avatar
флаг jo
@KdgDEv, вы также можете смонтировать привязку пути монтирования или распространить монтирование на частное пространство имен монтирования. И то, и другое технически привело бы к частично отсоединенной точке монтирования. Это более исключительные обстоятельства, однако вы вряд ли столкнетесь с ними в реальном мире.
Рейтинг:0
флаг de

Ленивое размонтирование — это обычное размонтирование, которое происходит в фоновом режиме. Кроме того, он скрывает запись монтирования, из-за чего кажется, что umount сработал (или Отключить файловую систему от файловой иерархии, как написано на странице руководства). На самом деле размонтирование произойдет, когда файловая система больше не используется.

Таким образом, для реальной суммы следует использовать --сила и ждать ...

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

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