Назад | Перейти на главную страницу

Устройство петли переходит в режим только чтения

Мы используем сетевой диск Samba для резервного копирования на нашем сервере Linux. Чтобы хранить разрешения (Samba не поддерживает это), мы создали устройство цикла для большого файла (50 ГБ) на сетевом диске. В большинстве случаев это работает нормально, но каждые несколько недель устройство цикла переходит в режим только для чтения.

Вот фрагмент кода fstab для сетевого и кольцевого дисков:

//xyxyxy.your-backup.de/backup /backup cifs credentials=/root/backup-credentials,iocharset=utf8 0 0
/backup/backup.lp /backup-loop ext3 loop,sync,defaults,_netdev 0 0

Я уже пробовал стандартную конфигурацию цикла, но проблема сохраняется:

/backup/backup.lp /backup-loop ext3 loop,sync 0 0

Наше предположение: насколько мне известно, смонтированный диск переходит в режим только для чтения при потере связи с физическим устройством. Таким образом, когда сетевой диск теряет соединение, файл цикла исчезает, и монтирование петли переходит в режим только для чтения. CIFS выполняет повторное подключение своего собственного монтирования, но loop ничего об этом не знает.

Наше текущее решение - принудительно перемонтировать как samba, так и loop device незадолго до того, как наша cronjob запустит процесс резервного копирования. Это работает, но кажется неправильным.

Есть ли возможность инициировать перемонтирование устройства цикла, когда целевой файл цикла снова в сети?

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

Что касается решения проблемы, я бы сказал так:

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

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

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

Если вы используете rsync для резервного копирования, вы можете проверить статус выхода rsync, чтобы выяснить, не повезло ли вам потерять соединение во время резервного копирования (верно и для других инструментов - только мои предпочтения). Затем вы можете действовать соответствующим образом.

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

Надеюсь, это поможет :-)