локальный кеш для NAS или сетевой папки


8

Я планирую построить сервер сетевого хранилища (NAS).

Есть ли способ автоматически кэшировать часто используемые файлы из удаленного хранилища на локальном ПК?

(Я не ищу способ синхронизации целых папок, таких как rsync, а скорее способ, который автоматически и прозрачно кэширует последние 50 ГБ файлов, к которым был получен доступ.)

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

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

Сервер, вероятно, будет работать под управлением Linux или freeNAS, компьютер работает под управлением Windows XP, но при необходимости может быть обновлен до 7.

Ответы:


2

Вы и Златев на правильном пути с автономными файлами. Ваш NAS должен работать под Windows. Под Групповой политикой вы хотите настроить «Режим медленной связи». Просто поднимите настройку до 999999 Кбит / с. Это по существу заставляет все чтения и записи в локальный кэш. В режиме медленной связи окна будут синхронизироваться только раз в две минуты. Также вам, вероятно, следует отключить всплывающие подсказки. Сначала они выскакивают, чтобы сказать вам: «Эй, вы не в сети! Мы сейчас читаем и пишем что-то из локального кэша !!!» Durrrrrr.

На стороне клиента вы хотите включить «автоматически кэшировать файлы». Он автоматически кэширует каждый сетевой файл, к которому вы обращаетесь по этому UNC-пути, до 25% вашего дискового пространства. Это тоже можно отрегулировать.

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

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

Вот некоторые технические статьи.

http://technet.microsoft.com/en-us/library/bb457104.aspx

http://technet.microsoft.com/en-us/magazine/2007.11.offline.aspx


1

Я не уверен, но, возможно, автономная доступность общих папок Windows / BranchCache может позволить вам сделать нечто подобное. Некоторая информация здесь - http://technet.microsoft.com/en-us/library/cc755136.aspx


BranchCache не имеет к этому никакого отношения. Автономные папки должны выбираться пользователем, поэтому эффект кэширования отсутствует. ;-)
DiableNoir

На самом деле, ветка кеша может быть настроена на кеширование всего в windows 7 pro (протестировано и использовано!)
galinette

0

Я смотрю на ту же проблему. На Mac моей идеей было использовать rsync в сочетании со скриптом. Задача скрипта - решить, какие файлы синхронизировать / кэшировать. Тогда Rsync просто эффективно выполняет это в отношении общего сетевого ресурса. Поэтому, если мы, например, хотим кэш-память объемом 5 ГБ, удаляя наименее использованные в последнее время, нам нужно запрограммировать скрипт, который выводит список файлов, соответствующий «самым последним используемым файлам 5 ГБ», и rsync синхронизирует его локально и удаляет все файлы в кеш, которого больше нет в этом списке.

Это должно быть настроено очень тщательно, хотя, так как риск путаницы велик!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.