ПоискНавигация |
Перенос Linux на Hyper-VПреамбулаСтолкнулся я с задачей перенести рабочую систему Linux на гипервизор Hyper-V. Решил погуглить какое-то время поискать подводные камни так сказать. Нашел достаточно много вариантов, но все они мне не подходили. Одни были уж какие-то слишком запутанные и замороченные, другие слишком долгие и не менее запутанные. Вспомнив о таком продукте как Acronis True Image, я начал припоминать, что у него была функция конвертирования его tib в vhd. Танцы с бубномСкачал триалку Acronis Backup & Recovery 11. Хочу отметить, что сам компьютер с Linux был в работе и было крайне нежелательно надолго отключать его. Поэтому я решил проверить работу ABR на другой машине. Взял свою, с установленной на нем Windows 7, загрузился с диска Acronis Backup & Recovery, сделал резервную копию всего диска со всеми разделами. После этого сконвертировал его в vhd и этот виртуальный диск успешно подцепился к hyper-v. Система загрузилась. Обрадовавшись, я договорился об изъятии компьютера с Linux. К слову это оказался SLES 11.0. Так же сделал копию всего диска со всеми разделами: mbr, swap и ext3. Запустил конвертацию, ABR распознал все разделы, без ошибок сконвертировал tib в vhd. Настроил виртуальную машину, подключил диск с системой, запустил и система не запустилась. Подумалось, ну да ладно сейчас поправим /boot/grub/menu.lst и /etc/fstab и все будет в порядке. Загрузился с образа загрузочного диска, при загрузке выбрал Rescue System. Попал в консоль. Попытался смонтировать раздел ext3, не монтируется. Система ругается на отсутствие журнала, на повреждение superblock и т.д. Перепробовав кучу способов по реанимации раздела и потратив на это целый день понял, что нужно думать что-то другое. Мысль пришла не сразу. Но когда пришла подумалось, почему я не сделал этого после того как система не завелись и раздел отказался монтироваться, убил кучу времени на заведомо мертвый vhd. Сделав ISO образ загрузочного диска с Acronis Backup & Recovery, я загрузился с него в виртуальной машине. Сразу восстановить диск на виртуальный диск не получилось, пока я не уменьшил размер раздела восстанавливаемого диска. Исходный диск ака железный диск был 500Гб, виртуальный 140Гб. Пока не уменьшил, Acronis требовал перезагрузки. После успешного восстановления, так же загрузился в Rescue System и смонтировал вновь воссозданный диск. Переселяемся в системуДля тех кто имел счастье ставить Gentoo переселение не должно составить никаких проблем. Монтируем раздел с ext3, в него монтируем /proc и /dev, затем chroot и вуаля: # mkdir /mnt/sles # mount /dev/sda2 /mnt/sles # mount -t proc none /mnt/sles/proc # mount -o bind /dev /mnt/sles/dev # chroot /mnt/sles /bin/bash Теперь нужно проверить и при необходимости поправить /boot/grub/menu.lst и /etc/fstab. Мне в /boot/grub/menu.lst нужно было поправить только root (hd1,1) на root (hd0,1) и все. Перезагружаемся. Пилим дальшеДолжен вас разочаровать, но сразу загрузиться в рабочую среду не получится, у меня к примеру не запустился Gnome. Пришлось править /etc/X11/xorg.conf. Какой он был описывать не буду, покажу какой он стал. Все изменения пришлись на две секции Section "Modes" и Section "Device". # /.../ # SaX generated X11 config file # Created on: 2011-08-01T19:49:38+0400. # # Version: 8.1 # Contact: Marcus Schaefer <sax@suse.de>, 2005 # Contact: SaX-User list <https://lists.berlios.de/mailman/listinfo/sax-users> # # Automatically generated by [ISaX] (8.1) # PLEASE DO NOT EDIT THIS FILE! # Section "Files" FontPath "/usr/share/fonts/misc:unscaled" FontPath "/usr/share/fonts/local" FontPath "/usr/share/fonts/75dpi:unscaled" FontPath "/usr/share/fonts/100dpi:unscaled" FontPath "/usr/share/fonts/Type1" FontPath "/usr/share/fonts/URW" FontPath "/usr/share/fonts/Speedo" FontPath "/usr/share/fonts/PEX" FontPath "/usr/share/fonts/cyrillic" FontPath "/usr/share/fonts/latin2/misc:unscaled" FontPath "/usr/share/fonts/latin2/75dpi:unscaled" FontPath "/usr/share/fonts/latin2/100dpi:unscaled" FontPath "/usr/share/fonts/latin2/Type1" FontPath "/usr/share/fonts/latin7/75dpi:unscaled" FontPath "/usr/share/fonts/baekmuk:unscaled" FontPath "/usr/share/fonts/japanese:unscaled" FontPath "/usr/share/fonts/kwintv" FontPath "/usr/share/fonts/truetype" FontPath "/usr/share/fonts/uni:unscaled" FontPath "/usr/share/fonts/CID" FontPath "/usr/share/fonts/ucs/misc:unscaled" FontPath "/usr/share/fonts/ucs/75dpi:unscaled" FontPath "/usr/share/fonts/ucs/100dpi:unscaled" FontPath "/usr/share/fonts/hellas/misc:unscaled" FontPath "/usr/share/fonts/hellas/75dpi:unscaled" FontPath "/usr/share/fonts/hellas/100dpi:unscaled" FontPath "/usr/share/fonts/hellas/Type1" FontPath "/usr/share/fonts/misc/sgi:unscaled" FontPath "/usr/share/fonts/xtest" FontPath "/opt/kde3/share/fonts" InputDevices "/dev/gpmdata" InputDevices "/dev/input/mice" EndSection Section "ServerFlags" Option "AllowMouseOpenFail" "on" Option "ZapWarning" "on" EndSection Section "Module" Load "dri" Load "dbe" Load "freetype" Load "extmod" Load "glx" EndSection Section "InputDevice" Driver "kbd" Identifier "Keyboard[0]" Option "Protocol" "Standard" Option "XkbLayout" "us,ru" Option "XkbModel" "microsoftpro" Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll" Option "XkbRules" "xfree86" Option "XkbVariant" ",winkeys" EndSection Section "InputDevice" Driver "mouse" Identifier "Mouse[1]" Option "Buttons" "5" Option "Device" "/dev/input/mice" Option "EmulateWheel" "on" Option "EmulateWheelButton" "2" Option "InputFashion" "Mouse" Option "Name" "IBM;TPPS/2 TrackPoint" Option "Protocol" "explorerps/2" Option "Vendor" "Sysp" Option "ZAxisMapping" "4 5" EndSection Section "Monitor" Option "CalcAlgorithm" "XServerPool" DisplaySize 360 270 HorizSync 30-97 Identifier "Monitor[0]" ModelName "RYI 109-B5" Option "DPMS" Option "PreferredMode" "1024x768" VendorName "RYI" VertRefresh 43-160 UseModes "Modes[0]" EndSection Section "Modes" Identifier "Modes[0]" Modeline "800x600" 202 800 864 1056 1360 600 601 604 650 +hsync +vsync EndSection Section "Screen" SubSection "Display" Depth 16 Modes "default" EndSubSection Device "Device[0]" Identifier "Screen[0]" Monitor "Monitor[0]" EndSection Section "Device" BoardName "Framebuffer Graphics" Driver "fbdev" Identifier "Device[0]" VendorName "VESA" EndSection Section "ServerLayout" Identifier "Layout[all]" InputDevice "Keyboard[0]" "CoreKeyboard" InputDevice "Mouse[1]" "CorePointer" Option "Clone" "off" Option "Xinerama" "off" Screen "Screen[0]" EndSection Section "DRI" Group "video" Mode 0660 EndSection Section "Extensions" EndSection После этого система завелась нормально. В принципе все так можно и оставить, но лучше донастроить. В параметрах виртуальной машины добавим "Сетевой адаптер" вместо "Устаревший сетевой адаптер". Скачаем Linux Integration Services 2.1. Установим его. Прежде чем устанавливать LIS 2.1 нужно установить, если еще этого не сделано компилятор gcc и исходники ядра в SLES это выглядит примерно так: # yast -i gcc # yast -i kernel-source А так же в файле /etc/modprobe.d/unsupported-modules в строку allow_unsupported_modules 0, заменить на allow_unsupported_modules 1. Все теперь можно приступать к установке LIS 2.1: # mkrdir /opt/linux_ic # cp -r /media/CDROM/* /opt/linux_ic # cd /opt/linux_ic # make # make install # reboot Все, после перезагрузки значение allow_unsupported_modules можно возвращать в 0. У вас появились устройства типа /dev/hda. Поправим /boot/grub/menu.lst и /etc/fstab. Там где /dev/disk/by-id/ata-Virtaul_HD-part1 меняем на /dev/hda1, /dev/disk/by-id/ata-Virtual_HD-part2 меняем на /dev/hda2. Но скорее всего part2 у вас не будет, а за место него будет красоваться UUID, его также меняем на /dev/hda2. Ну все, вроде бы ничего не забыл, можно спокойно пререзагружаться. ЗаключениеИтак, станция перенесена на Hyper-V и успешно работает. Но хочется заметить, что Acronis Backup & Recovery 11 не справился с той задачей, которая была на него возложена. Не смог он сконвертировать свой tib в vhd, хотя эта функция у него заявлена. Может быть я что-то делал не так, но ведь tib с win7 и ее ntfs он сконвертировал без проблем. Поэтому пришлось восстанавливать разделы диска как на обычный компьютер, а ведь можно было сразу воспользоваться tar'ом или dump/restore и перенести данные на подготовленный диск, потом установить grub.
|
Вход для пользователейНовые записи в блогах
Сейчас на сайтеСейчас на сайте 0 пользователей и 1 гость.
|