Ответ на это, возможноРаспределенная файловая система, http://en.wikipedia.org/wiki/Distributed_File_System_%28Microsoft%29.
Я уверен, что ответ на оба вопроса содержится в используемом вами марионеточном модуле.
Несомненно, есть большое преимущество в использовании модулей, разработанных другими, потому что вы можете получить зная, что они встроены в модули, но я бы порекомендовал вам:
Во-первых, выяснить, как выполнить установку вручную (т. е. без марионетки).
Во-вторых, создать простой модуль Puppet, который автоматизирует это
В-третьих, попробуйте использовать найденные вами марионеточные модули, особенно. на puppetforge: https://forge.puppetlabs.com/ , чтобы узнать, работают ли они лучше или предлагают дополнительные функции.
Есть много хороших ресурсов по Vagrant и Puppet, но один из моих любимых - Развертывание Rails http://pragprog.com/book/cbdepra/deploying-rails - очевидно, сосредоточено на Ruby on Rails,
Для меня ответом был параметр use_package
:
php::pecl::module {"mongo":
use_package => 'no',
}
Теперь это работает как очарование!