Монтирование раздела в 'песочницу'

Компания, на которую я раньше работал, имела свой продукт, работающий на SCO. Я делал некоторую отладку о приложениях, становящихся очень медленным на нашем демонстрационном сервере и в то же время был набор клиентов, даваемых демонстрацию/лекцию о предстоящих новых возможностях.

Так, я запустил приложение, которое раньше застревало, сделал мой материал на нем для проверки первопричины, но так как это все еще застряло, я пытался уничтожить его:

pkill -9 mytestapplication

То, что я изучил, было то, что pkill не делает точно того же на SCO, как это делает на Linux =)

... Это в основном уничтожает все, к чему у пользователя есть доступ, и с корнем... это - все =)

9
23.09.2010, 22:56
5 ответов

Использовать unionfs, aufs (оба - внешние патчи для ядра) или unionfsfuse/funionfs (использует FUSE) и создают объединение путем маркировки внешний / как RO и внутренняя файловая система (смонтированный как tmpfs/ramfs/additional раздел, который убран каждый раз).

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

7
27.01.2020, 20:05

Существует несколько способов пойти об этом. Самый легкий набор использовал бы файловую систему объединения, которая представляет единственное представление двух деревьев каталогов A и B, такой, что все изменения сохраняются к B. В Вашем случае A был бы NFS/Samba/sshfs / … точка монтирования, и B будет первоначально пустым каталогом в tmpfs файловой системе.

Linux не имеет файловой системы объединения в ядре, но существует несколько реализаций FUSE: funionfs, Unionfs-предохранитель.

5
27.01.2020, 20:05

Если бы / вписывается в RAM локальной машины и оставляет достаточно комнаты для запущенных приложений, основная идея состояла бы в том, чтобы, вероятно, загрузить минимальную систему Linux на целевой машине и затем автоматически создать ramfs виртуальный диск, копия / от удаленного в нее и chroot в это новое/. Если RAM не достаточна, можно в основном выполнить ту же процедуру, но не использующий ramfs, но реальный раздел диска, содержание которого необходимо очистить перед копированием. Вместо того, чтобы очиститься и полная копия Вы могли также использовать rsync с подходящими вариантами.

3
27.01.2020, 20:05

Это может быть archiev очень легкий с начальной загрузкой PXE. я выполняю живую xbmc систему по pxe tftp начальная загрузка nfs. изменения записаны с COW в долю NFS.

0
27.01.2020, 20:05

Можно пойти для Btrfs и это - функция Copy-on-Write (CoW).

Тот, который Вы могли бы искать, описан на Wiki Btrfs как устройство Семени:

Основная идея состоит в том, чтобы сделать раздел с исходными данными только для чтения, чем к тому, "добавьте дополнительный слой на вершине его", которая является другим записываемым разделом (можно всегда делать его в RAM, например, на /dev/shm) и смонтируйте его:

btrfstune -S 1 /dev/RO #make it read-only
mount /dev/RO /mnt/temp
btrfs device add /dev/RW /mnt/temp
umount /mnt/temp

и с того момента, каждый раз Вы монтируетесь

mount /dev/RW /mnt/test

на изменениях экономят/dev/RW, в то время как/dev/RO остается нетронутым.

(примеры основаны на примерах в Wiki),

1
27.01.2020, 20:05

Теги

Похожие вопросы