Rock
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору vvms Цитата: It catches writes. Basically it kind of mounts an overlayfs over your drive. | Это ничего не объясняет. Виртуализация файловой системы (ФС) должна работать так: любая запись сектора ФС из песочницы должна создавать его копию. То есть, все модифицированные секторы ФС раздвояются -- одна версия для хоста, вторая для контейнера. Что делать, когда и хост и контейнер пишут в один и тот же сектор точно никто не знает. По идее, внутри контейнера файлы хоста должны оставаться неизменными на момент создания контейнера. Всегда ли это корректно, не всегда -- никто не знает. Поэтому поставщики решений контейнерной виртуализации отдельно обговаривают эти условия. Самое очевидное -- сделать снэпшот системной ФС хоста для контейнера в момент его создания и дальше контейнер позволяет его модифицировать только изнутри самого контейнера. Типа, обновили Винду на хосте, а в контейнере обновлений нет. Вполне рабочий вариант, не требующий большого объема кода поддержки -- только на уровне ФС. Если одни и те же файлы/сектора пишут оба, и контейнер и хост, то я вообще не представляю, как это может надежно работать. Очевидно, что быстренькое "попробование" ничего этого может и не выявить и если важен конечный результат, то надо спрашивать. Вот вынудил контейнер какое-нибудь приложение хоста что-то записать на диск -- в чью файловую систему это писать, контейнера или хоста? Как разделить контейнер и хост? Где границы виртуализации? В контейнере вообще два и более процесса могут быть запущены? В общем, как была штука крайне мутной, так, видимо, и осталась. Поэтому и загнулась. Виртуоза во времена SWSoft качала обновления Винды не с Майкрософта, а от себя, поскольку хачила ее и нужна была гарантия SWSoft, что он поддерживает новые обновления. Все хостеры об этом знали и понимали, что они делают, а чайники такое себе и не ставили. Ставить такое на рабочую машину тупо страшно. Блин, и спросить, походу, не у кого... |