В настоящее время мы работаем над настройкой виртуализации, и из-за таких функций, как возможность наращивать тома на наших файловых серверах вместо того, чтобы проходить процесс изменения размеров блочных устройств и т. Д., Мы хотели бы использовать тома NFS для всего, по сути, скорее, чем выставление «блочных устройств» через iSCSI или аналогичные технологии.
Однако это создает небольшую проблему, поскольку кэширование файловой системы сильно страдает, поскольку мы не можем найти способ указать драйверу Linux NFS, чтобы он обрабатывал том NFS как блочное устройство с точки зрения кэширования. Я знаю, что это своего рода счетчик, интуитивно понятный относительно того, для чего была разработана NFS, но мне интересно, есть ли какой-либо известный способ, без использования, например, CacheFS, чтобы заставить клиента NFS поверить, что он имеет эксклюзивный доступ к тому и, следовательно, может свободно кэшировать в виртуальной памяти столько, сколько хочет? Технически мы можем гарантировать эту эксклюзивность, так что, по сути, вопрос лишь в том, чтобы клиент нам поверил;)
Для справки, все хосты работают под управлением Linux с использованием ядра версии 3.2 на гипервизоре Xen, который также работает на ядре версии 3.2.
Виртуализация на NFS - это хорошо зарекомендовавшая себя технология. У NFS и блокировки есть преимущества и недостатки, но вы не можете выбирать их. Дедупликация, изменение размера тома и тонкое выделение ресурсов на блочных устройствах - все это зрелые технологии, которые отлично работают. То же самое и с NFS.