Зеркальное отображение производительных файлов на локальной виртуальной машине

Я ищу решение, которое позволило бы мне получить доступ к любому файлу моей производственной среды на моей локальной виртуальной машине для тестирования. Обе системы работают под управлением Ubuntu 10.04 lts.

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

Другим решением является ssh mount, например sshfs. Но это не позволило бы нам создавать файлы на локальном тестовом компьютере без изменения файлов работающей системы.

Есть ли какое-либо решение, похожее на ssh mount, которое позволяет извлекать файлы из активной системы по требованию, не отправляя изменения обратно в действующую систему?


Обновить

Решение cjc / Zerodache именно то, что мне нужно:

apt-get install sshfs
apt-get install unionfs-fuse

cd /root/
mkdir local_delta
mkdir live_system
mkdir test_system

sshfs root@someserver.org:/www/ /root/live_system
unionfs-fuse -o cow /root/local_delta=RW:/root/live_system=RO /root/test_system

Сейчас /root/test_system показывает все файлы живого сайта. Файлы, созданные в test_system папки создаются только в local_delta но не на сервере. Также изменения и удаления файлов записываются только в первую ветку. local_delta как вторая ветка live_system установлен на RO (только для чтения) и -o cow опция установлена.

2 ответа

Решение

Так как вы можете удаленно смонтировать файловую систему из производственной установки, то я предлагаю (cjc ​​также упомянул об этом в комментарии) использовать что-то вроде unionfs. Unionfs - это инструмент, часто используемый в средах livecd / liveusb для представления системы с файловой системой "только для чтения", объединенной с виртуальным диском "чтение-запись", так что чтение происходит из файловой системы "только чтение", если файл не находится в области чтения-записи.

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

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

Другие вопросы по тегам