У меня есть конфигурация, в которой я хочу использовать огромное количество (1000-10000) самостоятельных монтировок (mount --bind
). Моя файловая система - ext4 в RAID 1 с двумя жесткими дисками по 400 ГБ.
По сути, то, что я пытаюсь сделать, - это сделать файлы доступными, которые синхронизируются с локальных серверов с низкой пропускной способностью в Интернет, через ftp и, в конечном итоге, через веб-интерфейс поверх. Эти файлы поступают из разных источников, и я счел целесообразным просто chroot
Я обхожу около 1000 пользователей в отдельные каталоги и помещаю в них самоподключенные ссылки на различные синхронизированные пути в соответствии с правами отдельных лиц. Символические ссылки не работают из-за chroot
тюрьма. Я использую vsftpd
.
Есть ли с этим производительность или какие-то другие проблемы?
Я не могу придумать лучшего способа выполнить то, что вы хотите сделать (кроме rsync
Помещение данных в каждый каталог, в котором они должны находиться - беспорядок и интенсивное использование дискового пространства.
Что касается производительности, я сомневаюсь, что это будет проблемой, хотя вы может нужно настроить /proc/sys/super-max
если у вас закончились слоты для смонтированных файловых систем (я не уверен, что --bind
занимает или нет слот в списке смонтированных суперблоков FS).
При этом есть много причин не использовать mount --bind
, вот этот один из моих любимых. Если быстрый поиск в Google не приводит к каким-либо вопиющим плохим последствиям, я думаю, вы, вероятно, в порядке, хотя это определенно странно и должно быть подробно задокументировано :)
Если это делается с помощью FTP, не могли бы вы просто использовать встроенную подсистему / home / $ user, которую использует большинство FTP-демонов? Самые популярные демоны могут выполнять chroot за вас. Это избавит вас от привязки на уровне файловой системы, если потребуется только принудительное применение через FTP.