Как запустить 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 использовать разные каталоги для каждого экземпляра.

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