Как го правим · Реален случай

Старият сървър. Нова среда.

Как прехвърляме Windows Server 2012 R2 във виртуална машина на Proxmox — когато работещата среда трябва да остане, а старият хардуер вече трябва да си тръгне.

Екипът на Бекъп България · ≈ 6 мин. четене
← Към „Как го правим“Прехвърляне на запазена сървърна среда от стар хардуер към виртуална машина — илюстрация

Старият сървър трябва да бъде заменен. Програмите върху него обаче трябва да продължат да работят. Това беше задачата в този случай: да прехвърлим Windows Server 2012 R2 и цялата му работеща среда върху нова основа, без да изграждаме приложенията отначало.

На сървъра работят стари бизнес програми с бази данни SQL и Oracle. Те вече нямат официална поддръжка от разработчика и няма приложима процедура за повторното им инсталиране и настройване. През годините в тази среда са натрупани данни, връзки и настройки, от които зависи ежедневната работа.

Затова подходихме към задачата като към преместване на цяла работеща система. Поехме последователно подготовката, създаването на дисковия образ, виртуалната машина, драйверите и мрежовите настройки. Накрая проверихме най-важното за клиента — дали приложенията продължават да работят с неговите данни.

Защо новият хардуер не решава всичко

Избраният съвременен хардуер не поддържа Windows Server 2012 R2 и за него няма необходимите съвместими драйвери. Това изключва както нова инсталация на Windows Server 2012 R2, така и директното прехвърляне на съществуващата инсталация върху новия физически сървър. И в двата случая операционната система трябва да може да работи с неговите устройства и контролери.

Решението беше виртуализация с Proxmox. Платформата управлява физическия хардуер, а Windows работи във виртуална машина с подходящи за него устройства. Така запазваме съществуващата инсталация, като я освобождаваме от зависимостта от стария сървър.

Този подход се нарича P2V — прехвърляне от физическа към виртуална машина. В нашия случай той позволи да съхраним операционната система, програмите, базите данни и настройките като една обща среда.

Започнахме с това, което трябва да запазим

Преди копирането разграничихме системните дялове, приложенията и старото архивно пространство. В образа включихме необходимия за зареждането системен дял, Windows и тома с Oracle. Съдържанието на отделния архивен том остана извън миграцията.

За създаването на дисковия образ използвахме Disk2vhd във формат VHDX. При сървър с бази данни тази подготовка изисква внимание и към състоянието на данните: моментното копие на диска трябва да се съчетае с подходяща процедура за съответната база.

Избор на системните и приложните томове в Disk2vhd
В образа включихме системата и приложенията, необходими за работата на сървъра.

Подготвихме мястото и прехвърлихме образа

Осигурихме място за входния образ и за работния диск на виртуалната машина. Добавихме хранилището в Proxmox и прехвърлихме файла директно към него. Така големият образ попадна на правилното място, без междинно качване през браузъра.

След прехвърлянето сравнихме контролните суми SHA-256 на изходния файл и полученото копие. Стойностите съвпаднаха — проверка, че файлът е пренесен без промяна.

Отделно проверихме виртуалния капацитет и действително заетото място. Те могат да се различават значително: образът запазва структурата на физическия диск, дори когато не копираме съдържанието на всички негови томове. Съобразихме хранилището с тази особеност, без да добавяме ненужно свиване на диска към миграцията.

Първият старт беше в изолирана среда

Създадохме виртуалната машина и импортирахме дисковия образ. Подбрахме настройките за зареждане според съществуващата Windows инсталация и свързахме системния диск през SATA.

При първото включване машината беше без мрежова връзка. Това ни позволи да проверим зареждането, без копието да се появи в работната мрежа едновременно с оригиналния сървър под същото име.

Първо зареждане на Windows Server 2012 R2 в Proxmox
Съществуващата Windows инсталация се зарежда във виртуалната машина.

Windows достигна до работния плот. Програмите и настройките бяха на мястото си. Следващата задача беше да приспособим запазената система към виртуалните устройства.

Запазената работна среда на Windows Server 2012 R2
Познатата работна среда вече работи върху новата основа.

Настроихме драйверите и мрежовата връзка

Инсталирахме съвместимите VirtIO драйвери и настроихме виртуалния мрежов адаптер. Проверихме разпознаването му в Windows и мрежовите настройки, необходими за достъп до сървъра от клиентските компютри.

Добавихме и QEMU Guest Agent — услугата, чрез която Windows обменя информация с Proxmox. Инсталирането ѝ е част от подготовката на виртуалната среда; връзката с платформата се настройва отделно от мрежовия адаптер.

Системният диск остана свързан през SATA. За този етап приоритетът беше работеща и проверена конфигурация, която запазва съществуващата инсталация.

Разпознат VirtIO мрежов адаптер и запазена Oracle конфигурация
Windows разпознава VirtIO адаптера. Запазената Oracle среда премина последващите тестове от клиентски компютър.

Резултатът се вижда в работата на приложенията

След настройването извършихме реални проверки от клиентски компютър. Тествахме свързването към SQL и Oracle, достъпа до данните и работата на старите бизнес програми.

Проверките преминаха успешно. Приложенията работят безпроблемно във виртуалната среда. Запазихме необходимата инсталация и не се наложи преинсталиране на неподдържания приложен софтуер.

За клиента резултатът е конкретен: същите програми и данни могат да продължат да се използват, а работата им вече не е обвързана със стария физически сървър.

Един партньор за целия преход

При подобна задача хардуерът, операционната система, базите данни и клиентските компютри са свързани. Затова поемаме работата като общ процес — от преценката какво трябва да се запази до проверката, че хората могат да използват приложенията си.

Този случай показва как намираме практично решение и когато стандартната подмяна с нова инсталация е невъзможна. Избираме подхода според реалната среда и довеждаме прехвърлянето до проверен резултат.

Виртуализацията запазва стария софтуер; тя не го превръща в актуален продукт с възстановена поддръжка. Затова архивирането, контролът на достъпа и бъдещото обновяване остават част от грижата за тази система.