Как запустить 10 виртуальных машин Windows с 32-битным приложением DOS
Попытка найти "лучший" способ запуска 10 одновременных 32-битных приложений.
Короче говоря: у меня есть старое 32-битное Dos-приложение 2003 года (компания больше не занимается бизнесом), которое имеет решающее значение для моего рабочего процесса. Он обрабатывает текстовые файлы и сильно загружает процессор. Я ускоряю обработку больших текстовых файлов, разбивая их на 10 частей и запуская их одновременно на разных компьютерах, а затем объединяю результаты в конце. Это экономит невероятное время на больших файлах. Я пытаюсь найти лучший способ обновить этот процесс.
Сейчас у меня 10 виртуальных машин под управлением Windows 10. (только что обновлен с XP) Работает нормально - лицензирование было не слишком дорогим. Мне просто интересно, есть ли более дешевый / лучший способ? Просто кажется сумасшедшим, что мне нужно лицензировать и обновлять 10 настольных операционных систем.
Я посмотрел на NANO-сервер, но он не запускает никаких 32-битных приложений. Возможно, я смогу раскрутить 10 виртуальных машин в Azure, когда они мне понадобятся? Я думаю, я только эти 10 виртуальных машин для не более 1 часа процессорного времени / день. Просто ищу идеи. Единственное требование к этим виртуальным машинам - запускать 32-битный процесс, когда это необходимо, запускать службу, которую я написал, чтобы координировать все, находиться в домене и иметь доступ к файловой папке домена. Благодарю.
1 ответ
Одна быстрая машина или виртуальная машина с одним экземпляром ОС и несколькими процессами DOS, вероятно, лучше, чем 10 виртуальных машин по ряду причин.
Я предлагаю вам рассмотреть возможность запуска всего на одной системе или виртуальной машине с одним экземпляром ОС. Если вы можете получить виртуальную машину с достаточным количеством виртуальных ЦП / ядер / любой другой или эквивалентной мощностью, которая вам нужна, вы получите производительность, о которой говорите, без запуска всех этих виртуальных машин. Windows может выполнять многозадачность и запускать несколько приложений DOS одновременно, распределяя нагрузку на несколько ядер. Не проблема.
Подумайте, какое реальное оборудование у вас есть
Вы только иногда запускаете этот DOS? Тогда это останавливается? Я не знаю, какие у вас компьютеры, но 8-16-ядерные системы не редкость в наши дни. У меня дома 8-ми ядерный сервер! Нечто подобное может управлять вместо одной или нескольких виртуальных машин Azure. Я не уверен, на какое представление вы надеетесь. Один процессор Skylake тоже может сильно ударить.
Изоляция процесса
Если вам требуется больше изоляции (как вы упомянули в комментариях), чтобы несколько копий вашего приложения dos не мешали друг другу, вы можете использовать изолированную программную среду chroot/sandbox, как описано здесь:
Есть ли окна, эквивалентные chroot?
Или используйте контейнеры Windows Server:
https://msdn.microsoft.com/en-us/virtualization/windowscontainers/about/about_overview
Возможно, есть другие похожие варианты для Windows.
Не забывайте, что Linux делает все
Если вы в порядке с Linux, вы можете запустить DOS на Linux с dosemu
, Изоляция процесса, как представляется, не является большой проблемой. Просто скажи dosemu
использовать разные каталоги для каждого экземпляра.