Записать образ на диск, но не записывать сектора, содержащие все нули в исходном образе?

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

Предполагая, что записывающее устройство также является системой типа Unix или Linux, процесс, записывающий файл, будет продолжать записывать данные в файл, пока не закроет файл. Даже если файл будет удален или переименован на сервере NFS, процесс продолжит запись в него.

My understanding is that this can't be done because each nfs client independently maintains it's own file pointers.

В целом ваше понимание правильное, но то же самое верно, даже если все процессы находятся на одной машине и NFS не задействована.

Так работает подсистема ввода-вывода в системах Unix/Linux. Вы не можете принудительно изменить указатель файла в процессе.

Однако, если бы вы могли разместить прокси-сервер между клиентом NFS и сервером, то, возможно, прокси-сервер мог бы буферизовать данные или перенаправлять во временный файл на время, достаточное для закрытия файла и ротации. Примером прокси-сервера NFS может быть NFSex http://nfsex.sourceforge.net/, хотя он реализует чтение NFS вперед -и запись -позади для Windows, диаграммы на этой веб-странице показывают эту идею. Кажется правдоподобным, что кто-то уже сделал это, но я не знаю о какой-либо реализации.

1
09.07.2021, 02:02
0 ответов

Теги

Похожие вопросы