Назад | Перейти на главную страницу

Как запустить 10 виртуальных машин Windows с 32-битным приложением DOS

Пытаемся найти «лучший» способ запустить одновременно 10 32-битных прикладных программ DOS.

Короче говоря: у меня есть старое 32-битное приложение Dos 2003 года (компания больше не работает), которое имеет решающее значение для моего рабочего процесса. Он обрабатывает текстовые файлы и сильно нагружает процессор. Я ускоряю обработку больших текстовых файлов, разбивая их на 10 частей и запуская их все на разных компьютерах одновременно, а затем объединяя результаты в конце. Это невероятно экономит время на больших файлах. Я пытаюсь найти лучший способ обновить этот процесс.

Сейчас у меня 10 виртуальных машин под управлением Windows 10. (только что обновленная с XP). Работает нормально - лицензирование было не слишком дорогим. Мне просто интересно, есть ли способ дешевле / лучше? Это просто безумие, что у меня должно быть 10 лицензированных и обновленных операционных систем для настольных ПК.

Я посмотрел на сервер NANO, но он не запускает 32-битные приложения. Может быть, я смогу развернуть 10 виртуальных машин в Azure, когда они мне понадобятся? Я бы предположил, что я использую только эти 10 виртуальных машин не более чем на 1 час процессора в день. Просто ищу идеи. Единственное требование для этих виртуальных машин - запускать 32-битный процесс, когда это необходимо, запускать службу, которую я написал, чтобы все координировать, и находиться в домене и иметь доступ к общей папке домена. Спасибо.

Одна быстрая машина или виртуальная машина с одним экземпляром ОС и несколькими процессами DOS, вероятно, лучше, чем 10 виртуальных машин во многих отношениях.

Я предлагаю вам рассмотреть возможность запуска всего в одной системе или виртуальной машине с одним экземпляром ОС. Если вы можете получить виртуальную машину с достаточным количеством виртуальных ЦП / ядер / чего угодно или эквивалентной мощностью, которая вам нужна, вы получите производительность, о которой говорите, без запуска всех этих виртуальных машин. Windows может работать в многозадачном режиме и одновременно запускать несколько приложений DOS, распределяя нагрузку на несколько ядер. Не проблема.

Подумайте, какое реальное оборудование у вас есть

Вы только иногда запускаете этот DOS, верно? Тогда это прекращается? Я не знаю, какие у вас есть компьютеры, но системы с 8–16 ядрами в наши дни не редкость. У меня дома есть 8-ми ядерный сервер! Что-то подобное могло бы работать вместо одной или нескольких виртуальных машин Azure. Я не уверен, на какой результат вы рассчитываете. Один процессор Skylake тоже может надрать зад.

Изоляция процесса

Если вам требуется дополнительная изоляция (как вы упомянули в комментариях), чтобы несколько копий вашего приложения DOS не мешали друг другу, вы можете использовать chroot / песочницу, как описано здесь:

Есть ли в Windows эквивалент chroot?

Или используйте контейнеры Windows Server:

https://msdn.microsoft.com/en-us/virtualization/windowscontainers/about/about_overview

Возможно, есть и другие аналогичные варианты для Windows.

Не забывайте, что Linux делает все

Если вас устраивает Linux, вы можете запустить dos в Linux с помощью dosemu. Изоляция процесса не представляет большой проблемы. Просто скажи dosemu использовать разные каталоги для каждого экземпляра.