Задать вопрос
Ответы пользователя по тегу Виртуализация
  • Как создать одну виртуальную машину использующую несколько серверов?

    @rPman
    Виртуализация не позволяет объединять мощности!

    Отказоустойчивость реализуется через возможность переноса (в каких то случаях прозрачно и незаметно для работающей машины) между машинами кластера (в т.ч. вариант, когда виртуалка одновременно работает на нескольких машинах кластера, одна из которых ведущая а другие в режиме онлайн синхронизации памяти, при смерти ведущей машины, работа моментально передается на резервные ноды, для пользователя такой перенос незаметен), а 'высокая эффективность' это механизм автоматического выбора сервера в кластере на котором будет запускаться очередная виртуалка (например с наименьшей загрузкой или используя механизмы прогнозирования).

    Когда то давно для linux были такие технологии, когда оперативная память процесса на лету синхронизировалась между нодами кластера и процесс, изначально не адаптированный к работе в кластере, использовал сразу несколько физических компьютеров для работы. Эффективность результата была очень низкой, высокие требования к пропускной способности сети (гигабитной сети недостаточно) и очень слабое масштабирование, свело на нет смысл ее использования... я даже не могу найти названия этой технологии, по крайней мере не гуглится.

    Для того чтобы эффективно использовать одновременно нескольких компьютеров, процесс должен быть изначально разработан с этой целью, самостоятельно должен рулить распределением задач и памяти.
    Ответ написан
    9 комментариев
  • Xen. Как задать права доступа пользователей к виртуальным машинам в ubuntu для xen?

    @rPman
    через sudo, либо пропиши все используемые пользователями команды либо заверни все в скрипт и его разреши запускать только определенным пользователячм
    Ответ написан
  • Почему не удается подключиться к виртуалке по SSH?

    @rPman
    с сетью NAT
    зачем создал себе проблем?
    настрой сеть как сетевой мост между своей сетевой картой, тогда для всей твоей локальной сети (если она есть) виртуальная машина будет еще одна, с полным доступом.

    если локальной сети нет, то ее придется создать, например добавив loopback драйвер фиктивной сети на хост системе и настроить уже к нему сетевой мост.
    Ответ написан
    Комментировать
  • Как перенаправить звонок в виртуальную машину?

    @rPman
    Попробуй установить приложение на реальном железе, завершить регистрацию, а затем перенести в виртуальное окружение через backup/restore (к сожалению доступно только гугловское), при наличии root файлы приложения можно будет тупо скопировать
    Ответ написан
    Комментировать
  • Чем загрузчик в виртуальных процессорах отличается от реального? Какой жизненный цикл запущенной ОС на виртулальном?

    @rPman
    Виртуальная машина jvm и виртуальный процессор того же qemu это очень разные вещи.

    Qemu буквально эмулирует физическую машину со всеми ее устройствами, есть полная эмуляция для запуска иной архитектуры и аппаратная, когда в процессоре есть специальные инструкции, помогающие в этом, т.е. код запускается на настоящем процессоре но с вызовом прерываний на определенные операции, либо запрещающие либо эмулирующие проведение (ты вызвал инструкцию, вместо ее выполнения вызывается код вм и делает всю необходимую работа так чтобы не допустить выход в чужие области памяти или симулировать работу инструкции).

    Память в qemu виртуальной машины может быть полностью эмулированой, например помню были патчи, шифрующие и расшифровывающие страницы памяти по мере доступа к ним.

    По умолчанию вся память выделенная вм будет использована (на самом деле до первого доступа вм к ней) поэтому если внутри вм выделить и освободить память, обратно на хост системе она не освободится, но можно установить драйвера внутри вм , которые будут об этом сообщать в хост там она будет освобождаться, позволяя нескольким вм 'использовать' больше памяти чем доступно, в.т.ч. используя своп файл подкачки.
    Ответ написан
    Комментировать
  • Как можно сделать виртуальную «флешку», которая будет отображаться в проводнике windows 10?

    @rPman
    Аналог linux-овму fusefs, но для windows - winfsp.dev
    Но он на c++!

    чтобы завести это на питоне, нужно писать прослойку, немного устаревшая статья но идея та же (в статье описаны обоа направления python -> c++ и c++ -> python)
    Ответ написан
    Комментировать
  • Как запустить программу с GUI на гостевой машине в VirtualBox?

    @rPman
    Безрамочный режим? у virtual box есть 'режим интеграции' (в гостевой ОС должны быть установлены virtual box additionals), в этом режиме все меню и окно virtualbox будут скрыты

    К сожалению они все еще будут показаны пока идет загрузка ОС, но можно попробовать схитрить и запускать в скрытом режиме, а затем через какое то время его показывать, я не нашел как это сделать из командной строки, но если кликнуть в интерфейсе на машину она будет показана, значит команда есть. Если машину, находящуюся в режиме headless сделать savestate а затем ее снова startvm, то она выйдет из режима headless, это конечно криво но работоспособно.

    Гостевое приложение будет работать как хост приложение, пока пользователь не нажмет системные кнопки типа ctrl+esc или alt+tab (это кстати меняется), так же при попытке переместить окно будет виден след фона гостевой ОС
    Ответ написан
  • Как скрыть виртуальное пространство от андроид приложений?

    @rPman
    Патчить игру.

    Способы детектирования виртуалки разнообразны, сначала нужно понять, как именно игра проводит обнаружение, вот первый же пример вопроса

    Можно попробовать с помощью magisc модуля (установка на виртуалку та еще задачка), там в теме (начинай смотреть с конца) как раз обсуждают представляться не виртуалкой
    Ответ написан
    Комментировать
  • Какие есть виртуальные среды у windows 10?

    @rPman
    С хорошей долей везения поможет другой пользователь windows, причем пробуй не только правая кнопка запустить под указанным пользователем, а буквально смена пользователя без завершения работы (такой режим хотя бы для установки приложения, запускать можно уже по правой кнопке).

    Приложение должно быть установлено для второго пользователя отдельно в другой каталог, т.е. для каждого экземпляра установки свой пользователь и свой набор ярлыков (в последствии, чтобы не хранить дублирующие данные, можно попробовать оптимизировать место, воспользовавшись символическими и жесткими ссылками ntfs, когда один и тот же каталог и файл размещены в разных каталогах (в FAR их можно делать по atl+f6, удобнее чем утилитой командной строки, но за автообновлениями программы придется следить самому)

    p.s. когда то с помощью этого метода и ibik aster на одной машине играли два человека в одни и те же онлайн игры без их взлома (с каждой шел свой античит), не уверен что теперь так можно но попробовать стоит
    Ответ написан
  • Как реализовать проброс видеокарты под множество виртуальных машин?

    @rPman
    Такое возможно только с серверами и видеокартами nvidia серверными типа a100
    Вот полистай, вот настройка vgpu у vmware
    Ответ написан
    3 комментария
  • Какой процессор выбрать для виртуалок 4-5 машины в VMware esxi?

    @rPman
    Так уж получилось, что виртуалки (когда их несколько) лучше работают на серверных материнках, в идеале многопроцессорных, там может в однопоточных тестах будет хуже результат стабильность работы и наличие ecc памяти не оставляют выбора.

    Но выбирают обычно по деньгам.

    Пять виртуалок, минимум по 2 ядра на каждую (windows как минимум одно ядро хочет под свои задачи, иначе будет очень медленно, проверено), чем будет занят linux в виртуалках не понятно,.. лучше бы перечислил задачи, которые будут решать эти машины а не инструменты, которыми ты будешь их настраивать

    Если выбирать десктопные железки под абстрактные задачи рядовых пользователей, то первый критерий - наличие большого кеша l3 у процессора и высокая скорость в тестах single thread, количество же ядер уже не так важно (хотя как уже сказал выше, ориентируйся на 2 ядра на виртуалку только чтобы запустилось и работало, просто браузер еще пару ядер пожелает, чтобы тот же ютуб не подлагивал, хотя кто будет в здравом уме это в виртуалке запускать), отсюда бери топовые камни но с уменьшенным количеством ядер, они обычно по цене заметно ниже бывают.

    Второй критерий - хорошая быстрая оперативная память, можно сэкономить на процессоре и даже на материнке, но на оперативной памяти не стоит!

    Еще я помню кто то 'с пеной у рта' убеждал что именно vmware заметно лучше работает на интелях, что такое 'лучше' я так и не понял, плюс это было до появления райзен и зен от амд, а они сейчас наиболее привлекательные по соотношению цена-производительность в десктопном сегменте.

    p.s.
    у меня сейчас середнячок от интель i5-12600 c 6-тью ядрами (12 thread, 4.5GHz), за очень дешево ()меньше 20т.р.), виртуалки (kvm правда) летают, с паравиртуализацией больше 200мбайт/с простая самба файлы гоняет, а условная ntlite весь пакет обновлений на msdn windows 7 накатило меньше чем за 10 минут,.. с башенным кулером я его не слышу даже в нагрузке
    Ответ написан
    3 комментария
  • Как сделать клон Ubuntu в VirtualBox?

    @rPman
    linux переносится очень просто, средств миллион, в данном случае виртуальная машина должна восприниматься как еще один компьютер в сети а значит и вопрос значится как склонировать linux с одной машины на другую

    Например clonezilla, в данном случае необходимо промежуточное хранилище, кому то это покажется неудобным, но как частный случай можно сделать некоторые каталоги игнорируемыми, и скопировать их позже по сети, запустив одновременно две машины - оригинальную и склонированную в виртуалке

    Либо можно все сделать вручную без каких либо инструментов из linux, запущенного с отдельного носителя (например установочный liveusb linux), этот вариант требует большего понимания что делать но он может быть проще чем clonezilla (парадокс да) и не требует промежуточного хранилища:
    * Запускаешь на обоих машинах linux (сеть должна быть настроена в виртуалке например - сетевой мост с локальной сетью, тогда ip будет выдавать роутер автоматически).
    * Выбираешь одну из машин как рабочую (например целевая виртуальная), за которой будешь сидеть и ставишь там nbd-client (а на другой nbd-server), на второй (например реальная машина) прописываешь в /etc/nbd-server/config
    [generic]
    allowlist = true
    [sda]
      exportname = /dev/sda
    [sdb]
      exportname = /dev/sdb
    # и так для каждого диска в машине

    * перезапускаешь nbd-server и все
    service nbd-server restart
    * на основной
    sudo modprobe nbd
    sudo nbd-client -name sda ip-адрес-мащины-nbd-server /dev/nbd0
    # и так для каждого диска, поменяв например sdb и /dev/nbd1

    все! теперь у тебя на одной машине подключены по сети диски другой

    * Если размеры дисков одинаковы то можно тупо скопировать их с помощью
    dd if=/dev/nbd0 of=/dev/sda bs=1024k status=progress

    эта команда скопирует с сетевого nbd0 на локальный sda (можно поменять местами как тебе требуется)
    после этого ничего делать не надо будет (исключение efi загрузчик, на сколько я знаю virtualbox только недавно научился его, еще в бете 7 версия, а так смена efi на legacy mbr потребует вручную запустить grub) и все будет работать.

    * Если размеры дисков и разделов разные, но свободного места хватает (например с большего на меньший диск) то можно так же с помощью clonezilla все склонировать, выбрав режим device-to-device

    А можно вручную создать нужную структуру разделов, например исправив детские ошибки, допущенные при установке исходной машины (например убрать LVM тома) и вручную же скопировать раздел с помощью partclone (его использует clonezilla)
    Ответ написан
    Комментировать
  • Можно ли считать процессоры от AMD столь же универсальными, что и Intel?

    @rPman
    Ограничения бывают в софте но только искусственные, созданные к примеру компанией intel для монополизации рынка, отличным примером был sdk (набор инструментов и библиотеки) по работе с камерами-сканерами (3d intel realsense), на старте у них уже в железе были заложены ограничения на usb контроллер через который нужно было подключать камеру плюс проверки в софте (их потом убрали, но как я понял не все)

    Повторяю, ограничения искусственные.

    На практике софт, собранный с поддержкой только определенного процессора (различные фичи) мог бы не заработать на другом, но это будет верно даже в предела одного вендора но с разными моделями. Обычно чтобы этого не происходило, либо собирают софт с поддержкой сразу нескольких процессоров (как amd так и intel) либо не используют ничего, что могло бы нарушить эту совместимость
    Ответ написан
    Комментировать
  • Какие параметры изменяются при виртуализации операционной системы?

    @rPman
    Боюсь нет таких, виртуальная машина это буквально песочница, которая максимально абстрагирует внутреннее окружение от внешнего.

    Максимум там класс процессора будет виден (intel/amd и возможно более точно модель) но это сомнительная опция для поставленной задачи.

    Поэтому складывай нужную информацию в файлах или при прямом доступе к диску в partition table например. Вот только скопировать и украсть такие данные будет так же легко как и перенести их в виртуальную машину, т.е. защиты не будет ниакой.
    Ответ написан
    Комментировать
  • Есть ли возможность создавать виртуальные машины virtualbox с предустановленными параметрами?

    @rPman
    у virtualbox очень продвинутый инструмент командной строки по работе с виртуалками (доступно все что есть в gui плюс еще немного) - VBoxManage
    а внутри виртуалки все то же самое что с реальными машинами, уже отвечали - ансибл вполне хорош.
    Ответ написан
    Комментировать
  • Что делать если python скрипт умирает killed?

    @rPman
    Сначала нужно понять от чего умирает скрипт, если это oom, смотри логи системы
    dmesg -T | egrep -i 'killed process'
    Нехватка памяти может быть редко решена добавлением свопа (создать файл или раздел, проинициализировать его с помощью mkswap, включить swapon), например когда ее не хватает считанные десятки процентов, бывает редко можно и больше, от задач.

    Некоторые не честные хостеры пишут не верную информацию об доступном объеме оперативной памяти, или к примеру выставляют разные ограничения, например лимит памяти на процесс в половину или треть от доступной, соответственно это решать с хостером.

    Ну или подумать как переделать скрипт
    Ответ написан
    3 комментария
  • Нужно ли ставить антивирус на Microsoft Hyper-V Server free?

    @rPman
    Нет, потому что программы на гипервизор запускать не нужно, доступ к нему должен быть закрыт фаерволом
    Ответ написан
    3 комментария
  • Какой гипервизор выбрать для компании?

    @rPman
    Хост - однозначно linux, это на случай совсем проблем с windows (получить мертвую виртуалку гораздо безболезненее чем получить в принципе мертвый парк машин), либо готовый xen либо kvm, можно даже virtualbox (вот уж с чем справится любой будущий админ но не рекомендую), мне нравится не готовый гипервизор а полноценный linux с запущенным на нем libvirt, машины можно настраивать как с полной виртуализацией так и lxc контейнеры.

    Планируй постепенную замену windows решений на linux (раньше об этом говорилось как гипотетический сценарий, теперь - совсем неиллюзорный ближайшего будущего), реалии таковы что иначе можно в один момент получить нерабочее решение, и чинить будет именно в этот момент сложнее всего. У linux просто больше возможностей для разрешения проблем (да и самих проблем больше).

    По отказоустойчивости, если сеть между машинами выше гигабит, можно настроить файловый кластер (любой), виртуальные машины спокойно будут мигрировать в пределах кластера по клику, но из коробки красиво обычно все это доступно только если хранилище на NAS (iscsi), иначе ручками. Баы данных (sql) при наличии возможности настройки master-slave/master репликации, лучше держать не на кластерной fs, да в этом случае восстановление после сбоя потребует больше телодвижений, но эти решения просто эффективнее и шустрее работают.

    Максимально разделить задачи по виртуалкам, не смешивать домен контроллер, сервер приложений, файловое хранилище (кстати это вообще не нужно в виртуалке делать но если желеного NAS нет то некуда деваться)

    Бакапы инкрементальные на nas, любыми средствами, можно как средствами хост машины так изнутри виртуалки (если сеть гетерогенная получится, то будут разные инструменты для win и для linux, но зато не будет привязки к гипервизору, что очень полезно в долгосрочной перспективе)

    Обязательно проведи тест поломки инфраструктуры, вот пример смерти сервера, или даже обоих (умирает первый сервер, работа перетекает на резервный, а ты исключительно из бакапов пытаешься восстановить на втором всю работоспособность), при использовании кластерных файловых систем вполне возможно что все сработает на автомате с минимальными телодвижениями.

    Оставь приемнику инструкцию что делать если что то сломается, минимальный опус на сотню строчек, как раз на примере своего теста (кстати, если приемник будет совсем не фонтан, можешь даже аудио видео скринкаст добавить, тебе без разницы, а подавляющему большинству новичков почему то так удобнее, только все равно добавь для копипасты текстовое описание).
    Ответ написан
    Комментировать
  • Как сделать трансляция игры с виртуальной машины?

    @rPman
    stream remote должен быть запущен внутри виртуальной машины
    но в принципе этот способ будет давать накладные расходы виртуалки (10%-30% на cpu и вплодь до невозможности игры из-за gpu)

    настоятельно рекомендую вместо запуска игры в витуалке запустить ее нативно, использовав на выбор:
    1. ibik aster, никакого удаленного управления по сети, нативная работа игр и программ, десктопная версия windows (не серверная) при этом из мощного компьютера легко можно сделать с 10 рабочих мест (на самом деле без ограничений, сколько железо позволит), достаточно подключить нужное количество мониторов, клавиатур и мышек, 10-20 метров без особых затрат (дальше понадобятся удлинители, например при 100 метрах цены в 10-20 т.р. только за кабель монитора). Умеет работать с 1 gpu (когда то давно так успешно запускали какую то ммрпг на двоих)
    Недостаток - одновременно одна и та же игра может не запуститься, так как к этому не готовы античиты (но советую все же попробовать, запускать игру под разными пользователями windows, установив ее в разные каталоги, да неэффективно по месту на диске, но в частных случаях это тоже можно решить)
    2. ibikaster + steam remote - то же самое, только игровое место транслируется с помощью steam (мне кажется у них самый эффективный алгоритм трансляции видео в пределах локальной сети)
    3. rdp - штатный протокол удаленного управления, не всякая 3d игра сможет корректно использовать видеоускоритель, если будет запущена в окне удаленного рабочего стола, но к примеру старые 2d игры вполне идут, отзывчивость в таком режиме, при наличии хорошей локальной сети (гигабит) - очень хорошая
    ограничение десктопных windows на одновременное подключение снимается утилитой rdpwrap

    p.s. одновременно несколько рабочих мест как ibik aster можно сделать бесплатно на linux с помощью ее штатного инструмента multiseat (на каждое рабочее место своя видеокарта) а с помощью xserver xephyr и в пределах одной видекарты (но придется поковыряться), а там возможно ваша игра уже поддерживается официально (вот к примеру только что в офф стим клиенте установил ark survival ребенку, идет даже шустрее чем на win) или не официально с помощью wine (но античит почти наверняка помешает)

    Ну и штатно xserver умеет транслировать видео по сети (поковырять настройки, убрать шифрование и сжатие), я помню очень давно для теста запускал кажется quake, оно в принципе работало и даже не лагало (просто не высокий fps) отзывчивость была явно выше vnc/rdp, но там использовался ускоритель клиента, сейчас наверное это можно как то настроить
    Ответ написан
    2 комментария
  • ZFS + аппаратный RAID?

    @rPman
    У тебя варианты
    за кеширование пусть отвечает:
    - ZFS, будет доступно только режим на чтение
    - bcache - создается блочное устройство, которое в свою очередь уже форматируешь под желаемую фс, будет доступен режим кеширования записи (опасно, при смерти ssd потеряешь данные, я экспериментировал, убил два ssdшника за пару лет в таком режиме, в момент смерти файловая система повреждается, ос подвисает, так как часто ssd-шники в режиме чтения после этого еще работают, данные в основном вытаскиваются, но время на восстановление я тогда потратил), настоятельно рекомендую при использовании кеширования записи bcache, ssd брать два в режиме raid1 mirror

    за RAID:
    - отдать на откуп управление raid на ZFS, получишь максимальную гибкость (операции ребалансировки не будут затрагивать незанятое данными место)
    - отдать RAID на откуп mdadm
    - (не вариант, не делай так) организовать RAID на основе аппаратного контроллера в материнской платы, кешированием так же занимается ZFS
    если raid контроллер не имеет своей оперативной памяти с аккумулятором для сброса этой памяти на диск в момент потери энергии, то выбирать такой рейд контроллер нет никакого смысла, а вот проблем будет тьма, особенно в текущей ситуации с проблемами с поставками, так как аппаратные рейды привязывают массив к вендору, и при смерти контроллера/материнки у тебя будет проблема с извлечением данных (это реально но долго и сложно)

    p.s. можно выбрать btrfs, по функционалу, чуть хуже (нет онлайн дедупликации, но много ли ее включают дома на zfs, ведь это потребует прилично оперативной памяти), нет встроенного ssd кеша но есть онлайн патчи между снапшотами за счет которых можно построить неплохую систему инкрементальных бакапов с максимальной производительностью (можно делать бакапы хоть ежеминутные, лучше объединить с рабочим софтом, чтобы он управлял моментом создания снимка) с отправкой инкрементальных патчей на стороний сервер (где их тут же можно и развернуть для мгновенного переключения на этот сервер при смерти основного)
    Ответ написан
    Комментировать