В данном разделе присутствуют общие вопросы, связанные с виртуальными машинами, размещёнными на площадках виртуализации кафедры АСВК.

Существует два типа доступа к виртуальным машинам (ВМ):

  1. Доступ к гостевой виртуальной машине (in-band)
    • первичная настройка выполняется системными администраторами при создании ВМ (включает в себя: SSH, VNC, RDP, SMB, NFS и т. д.);
    • в дальнейшем управление и администрирование осуществляется непосредственно её пользователями (в т.ч. выделение доступов новым пользователям).
    • N.B.Системные администраторы не всегда в силах предоставлять доступы данного типа за гранью первичной настройки, так как де юре не имеют доступа к виртуальным машинам пользователей.
  2. Доступ к гипервизору (out-of-band)
    • предоставляется пользователям системными администраторами по запросу (или автоматически при выделении виртуальной машины под проектную деятельность).

Для оформления запроса на доступ к виртуальной машине необходимо использовать систему поддержки Phabricator.

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

Запрос должен включать следующую информацию:

  • Тип доступа (один из вышеуказанных вариантов).
  • Информация для идентификации пользователя, которому должен быть предоставлен доступ.
  • Идентификатор ресурса (числовой идентификатор виртуальной машины или основной IP-адрес).
  • Любые дополнительные технологии доступа, если они требуются (например, доступ через VPN).

Запросы на предоставления in-band доступа к существующей виртуальной машине могут затребовать её перезапуск. При создании заявки на предоставление доступа ответственное лицо должно осознавать, что при исполнении заявки данного типа администратор может перезапустить виртуальную машину без согласования с ответственным лицом.

Чтобы добавить нового пользователя в существующую виртуальную машину Linux, выполните следующие шаги.

  1. Подключитесь к серверу через SSH или консоль гипервизора, используя существующие учётные данные с административным доступом.
  2. Запустите процесс создания нового пользователя, выполнив команду:
    sudo adduser username
    (где username – новое имя пользователя).
  3. Введите пароль для нового пользователя и, если необходимо, введите дополнительную информацию (имя, адрес и т.д.).
  4. (Опционально) Чтобы предоставить пользователю административные права, добавьте его в группу sudo, выполнив команду:
    sudo usermod -aG sudo username
  1. Откройте веб-браузер и перейдите по URL-адресу необходимого вам гипервизора.
    Если вы входите с мобильного устройства (телефон, планшет), рекомендуется использовать режим просмотра «как на компьютере».
  2. Когда страница входа загрузится, вы увидите поля для ввода «Имя пользователя» (Username) и «Пароль» (Password), а также выпадающее меню для «Область» (Realm).

    • Имя пользователя: введите ваше имя пользователя без указания домена (например: admin из admin@asvk.cs.msu.ru).
    • Пароль: введите ваш пароль.
    • Область: кликните на поле, чтобы увидеть доступные домены аутентификации, и выберите подходящий (по умолчанию используется домен кафедры АСВК).
    • Язык: выбрать любой удобный из предложенных в выпадающем списке (не влияет на функционал).
    • Сохранить имя пользователя: отметить поле (по желанию), чтобы впоследствии заполнять имя пользователя автоматически (пароль не будет сохранён!).
  3. После заполнения данных и выбора области нажмите кнопку «Вход» (Login) для выполнения аутентификации.
    При успешном вводе данных всплывающее окошко закроется.
  1. Авторизуйтесь в гипервизоре (см. инструкцию выше).
  2. В левой части консоли в верхнем левом углу вы увидите панель с надписью «Просмотр серверов» (Server view). Кликните на ней, чтобы раскрыть опции.
  3. В появившемся выпадающем списке выберите опцию «Просмотр папок» (Folder view).
  4. Под панелью (в которой теперь будет написано «Просмотр папок») будет представлена иерархия по признаку типа ресурса. Найдите в данной иерархии раздел «Виртуальные машины» (Virtual machines) и щёлкните по стрелке, находящейся слева от заголовка раздела, чтобы раскрыть его.
  5. Виртуальные машины, доступные вам, будут отображены в открывшемся разделе. Они могут быть идентифицированы по определенным соглашениям об именовании, идентификаторам ВМ или комментариям (комментарии возможно увидеть в просмотре состояния виртуальной машины).
  6. Нажмите на заголовок вида <число> (<наименование>), чтобы открыть экран просмотра состояния виртуальной машины.

Управление жизненным циклом виртуальной машины (ВМ) в Proxmox VE включает в себя различные операции, такие как запуск, остановка, перезагрузка, ребут, сброс, приостановка и другие. Каждая операция влияет на ВМ по-разному. Кроме того, доступ к консоли ВМ может быть критически важен для прямого взаимодействия с вашими виртуальными машинами. Вот как выполнить эти операции и что они подразумевают:

  • Запуск (Start): Для включения виртуальной машины, которая в данный момент выключена.
    • Найдите свою ВМ на вкладке «Виртуальные машины» под выбранным узлом.
    • Кликните правой кнопкой мыши по ВМ и выберите «Запустить» (Start) из выпадающего меню, или нажмите кнопку «Запустить» в панели инструментов ВМ.
  • Завершение работы (Shutdown): Это безопасно выключает ВМ, аналогично выключению физического компьютера.
    • Кликните правой кнопкой мыши по ВМ и выберите «Выключить» (Shutdown), если вы хотите выполнить корректное выключение.
    • Если ВМ не выключается после разумного времени, возможно, вам придется использовать опцию «Остановить» (Stop), которая эквивалентна выключению машины без выключения и может привести к потере данных.
  • Перезагрузка (Reboot): Эта опция выключает ВМ и затем снова её включает.
    • Кликните правой кнопкой мыши по ВМ и выберите «Перезагрузить» (Reboot) для корректной перезагрузки.
  • Сброс (Reset): принудительно перезагружает ВМ без корректного выключения, подобно нажатию кнопки сброса на физической машине. Используйте это только если ВМ не отвечает.
    • Используйте опцию «Сброс» (Reset) из контекстного меню или панели инструментов ВМ для контролируемого процесса перезагрузки.
    • Будьте осторожны, так как это может привести к повреждению данных или их потере.
  • Остановка (Stop): принудительно останавливает ВМ без корректного выключения, подобно длительному нажатию кнопки питания на физической машине. Используйте это только если ВМ не отвечает.
    • Кликните правой кнопкой мыши по ВМ и выберите «Остановить» (Stop) из выпадающего меню.
    • Будьте осторожны, так как это может привести к повреждению данных или их потере.
  • Приостановка (Suspend): сохраняет текущее состояние ВМ на диск и останавливает её.
    • Найдите опцию «Приостановить» (Suspend) в контекстном меню или панели инструментов ВМ, чтобы приостановить ВМ.
  • Возобновление (Resume): запускает виртуальную машину из сохранённого на диске после выполнения команды «Приостановить» состояния.
    • Используйте опцию «Возобновить» (Resume), чтобы продолжить её работу с сохраненного состояния.

Имейте в виду, что команды выполняются в порядке очерёдности по мере возможности их выполнения, с ожиданием возникновения такой возможности не более 300 секунд. Это означает, например, что отправленная команда «Сброс» после зависшей команды «Перезагрузка» будет выполнена немедленно, как только гипервизор определит, что перезагрузка была успешно завершена.

Если команда, которую вы отправили, не выполняется должным образом и в ожидаемые сроки, необходимо отменить её выполнение следующим образом:

  1. Найдите в нижней части экрана панель со списком задач.
  2. Найдите строку с задачей, относящейся к виртуальной машине (может быть идентифицирована по содержанию числового идентификатора в наименовании задачи), у которой в колонке «Статус» (Status) будет крутиться круглая иконка загрузки.
  3. Нажмите дважды по строке с задачей. Появится всплывающее окно, описывающее прогресс задачи.
  4. Найдите кнопку «Остановить» (Stop) в верхнем левом углу всплывающего окна и нажмите её.

Доступ к консоли ВМ (Console): Для прямого взаимодействия с ВМ, Proxmox VE предлагает доступ к консоли через веб-технологии.

  • Как только ваша ВМ запущена, кликните по ней на вкладке «Виртуальные машины».
  • Ищите кнопку «Консоль» (Console) в панели инструментов ВМ. Клик по ней откроет окно консоли.

Proxmox VE предоставляет два основных варианта консоли:

  • noVNC: графический интерфейс для взаимодействия с ВМ через браузер.

    Боковая панель инструментов интерфейса (скрыта по умолчанию) обладает следующим функционалом:

    • Отображение клавиатуры: открывает наэкранную клавиатуру (если поддерживается клиентским устройством).
    • Виртуальные клавиши: необходимы, когда клавиши Ctrl, Alt, Win (Cmd, Super), Esc или Tab могут не передаваться корректно, полностью отсутствовать на клиентском устройстве, или же комбинации с ними перехватываются браузером (например, Ctrl + W); последняя кнопка (в виде трёх точек) выполняет комбинацию Ctrl+Alt+Del.
    • Полноэкранный режим: развернуть графический интерфейс на полный экран клиентского устройства.
    • Настройки: конфигурация параметров подключения.
    • Управление состоянием: ярлыки для команд, управляющих состоянием ВМ.
  • Xterm.js: терминальный интерфейс для работы с командной строкой по виртуальному серийному порту (настраивается по отдельному запросу).

Чтобы узнать IP-адрес вашей виртуальной машины, необходимо исследовать страницу обзора виртуальной машины:

  1. Перейдите на страницу вашей виртуальной машины в интерфейсе гипервизора.
  2. На странице обзора виртуальной машины найдите поле данных «IPs», содержащее сетевую информацию. Основные IP-адреса (v4, v6) будут указаны в этом поле.
  3. Кнопка «Дополнительно» (More) покажет во всплывающем окне перечень всех IP-адресов, назначенных сетевым интерфейсам гостевой ОС виртуальной машины.

Если в поле «IPs» присутствует сообщение «QEMU Guest Agent is not running», это означает, что на гостевой системе не запущен агент QEMU, необходимый для корректного взаимодействия между гостевой ОС и хост-системой. Для решения этой проблемы необходимо:

  1. Убедиться, что QEMU Guest Agent установлен в гостевой операционной системе:
  2. Запустить службу QEMU Guest Agent в гостевой системе:
    • Для Linux (c SystemD):
      systemctl enable qemu-guest-agent

Это обеспечит более эффективное взаимодействие с виртуальной машиной, включая корректное отображение IP-адреса и возможность выполнения команд управления из Proxmox VE.