ServerAdmin.ru
26.9K subscribers
189 photos
27 videos
8 files
2.49K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
Вчера несколько часов провозился с очень простой задачей, которая неожиданно доставила много хлопот. У меня есть два бесплатных сервера Microsoft Hyper-V Server 2016 и 2019. Решил немного перераспределить на них виртуалки, перенеся парочку с 2016 на 2019.

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

Виртуалка второго поколения с Windows благополучно переехала и запустилась. А вот с Debian 12 возникли неожиданные проблемы. Копирую диск, создаю новую виртуалку, подключаю к ней диск. Машина не стартует, не видит efi раздел. А это странно, так как раздел реально есть, с ним всё в порядке. К тому же винда благополучно переехала. На старом гипервизоре всё работает. Переезд с 2016 на 2019 полностью поддерживается. Это в обратную сторону могут быть проблемы, а с более старой версии на новую проблем быть не должно.

Тут я уже начал закапываться. Стал проверять версии виртуальных машин, менять их, пробовать разные поколения, создавать новые виртуалки с efi разделом и подсовывать им старый диск. Ничего не помогало. Уже понял, что предстоит длинная ночь, так как я не смогу спокойно уснуть, пока не разберусь, в чём проблема. Задача простая, проблем быть не должно.

Решил зайти с другого пути. Делаю штатно экспорт виртуальной машины, переношу на другой сервер, там запускаю импорт. Не работает. Импорт не видит виртуальную машину, говорит, что в директории ничего нет, хотя там всё лежит. С правами всё ОК, файлы читаются. Делаю ход конём. Экспортирую эту машину и пытаюсь сделать импорт на этом же гипервизоре. Это 100% должно работать. Но не работает. Импорт тоже не видит виртуальную машину в директории.

Тут я уже начинаю понимать, что у меня происходит какая-то локальная фигня и поиск мне тут не поможет. Иду в Veeam, делаю восстановление оттуда. Он обычно пишет ошибки совместимости, если перенос невозможен. Ошибок нет, восстановление идёт. Значит совместимость есть. Хранилище Veeam далековато, поэтому восстановление через него долгое, хочу всё же сделать напрямую и разобраться, в чём проблема.

Для управления гипервизорами Hyper-V я привык использовать стандартную оснастку Windows. Выделяю для задач администрирования отдельную виртуалку и туда в консоль подключаю все гипервизоры, чтобы удобно было управлять из одного места. Решил попробовать сделать Экспорт/Импорт через Windows Admin Center, который работает в браузере. Обычно я им не пользуюсь, так как там всё очень тормозит. Времени уходит раз в 5 больше, чем то же самое сделать в оснастке.

И о чудо, в Админ Центре экспорт и импорт прошёл без ошибок, виртуалка запустилась на новом месте, никаких проблем с efi разделом не возникло. Заработало всё сразу же.

Похоже на какой-то то ли локальный, то ли общий баг управления через оснастку, который проявился в таком неожиданном месте. Я даже не знаю, с чем это может быть связано. При подключении диска к виртуальной машине Linux 2-го поколения, созданной через оснастку управления Hyper-V, не видится во время загрузки efi раздел. Соответственно, система не загружается. С Windows машинами таких проблем нет. Как и нет проблем с переносом виртуалок Linux 1-го поколения без efi раздела.

Такая вот история вышла, которая вряд ли для кого-то ещё будет актуальна. Новых версий бесплатного Hyper-V больше не будет, так что пользоваться им большого смысла нет. Бесплатная связка Proxmox VE + PBS полностью закрывает вопросы виртуализации для малого и среднего бизнеса за 0 рублей. По Hyper-V буду скучать только в контексте использования в связке с Veeam. Это было удобно.

#hyperv