URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 93359
[ Назад ]

Исходное сообщение
"Перенос данных из виртуального сервера в виртуальную машину"

Отправлено alex07tango , 13-Май-12 00:11 
Есть виртуальная машина под хостинг у провайдера:

Linux debian 2.6.26-2-686
SMP Thu Sep 16 19:35:51 UTC 2010 i686
доступ root

Требуется выполнить ее полную копию и перенести на виртуальную машину под управлением гипервизором Hyper-V

Есть ли возможность сделать какой либо дамп системы и поднять это уже в виде vhd на своем сервере под Hyper-V?

Если нет то какой способ будет самый прямой и правильный?
Опыт по работе с freebsd и сервисами под *nix есть не большой, но не хочется тратить время  и силы на создание среды которая по сути уже есть и работает без нареканий.

По понятным причинам провайдер не даст доступа к консоли своего гипер визора.


Содержание

Сообщения в этом обсуждении
"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено Yoda , 13-Май-12 00:35 
tar



"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено alex07tango , 13-Май-12 00:42 
> tar

заранее просьба ответы типа указанного выше не писать.. если кто знает адекватный мануал или представляет правильный путь для виртуализации такой машины отпишите.. собирать с нуля архивированные копии разделов мне не представляется самым умным на свете способом преобразовать машину в виртуальный диск.


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено PavelR , 13-Май-12 07:22 
>> tar
>  ... мне не представляется самым умным на свете способом ...

Исключительно проблема вашего миропонимания.



"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено artemrts , 13-Май-12 09:33 
>>> tar
>>  ... мне не представляется самым умным на свете способом ...
> Исключительно проблема вашего миропонимания.

  Просто парень из мира "окошек" :)


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено alex07tango , 13-Май-12 14:08 
>>>> tar
>>>  ... мне не представляется самым умным на свете способом ...
>> Исключительно проблема вашего миропонимания.
>   Просто парень из мира "окошек" :)

вопрос был как перенести полностью систему а не 2-3 папки.. с сохранением ОС и пользовательских данных и данных загрузчика..

Буду рад ответу не типа "tar" мне не нужно архивировать систему и потом несколько дней трахаться с запуском этих архивов установкой загрузчика и поиском этой устаревшей системы..

не имея на это специальных знаний..

насколько я понимаю должны быть либо пакеты умеющие делать это в автоматическом \ полуавтоматическом виде
либо адекватные мануалы как это выполнить аналогичную задачу..
прошу все комментарии касаемо миро понимания оставить при себе.


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено alex07tango , 13-Май-12 14:34 
на сколько я понимаю проблема аналогична переносу любой железной машины..


т.е план действий:
архивирую текущую систему:

bin    dev   initrd.img      lost+found  opt   sbin     sys  var
boot   etc   initrd.img.old  media       proc  selinux  tmp  vmlinuz
cdrom  home  lib             mnt         root  srv      usr  vmlinuz.old

все папки в текущий раздел /var т.к только там есть место.

1. поднять точно такой же дистриб с дебианом 2.6.26-2-686 с сохранением аналогичной системы партитций

на текущей системе:

Filesystem             Size   Used  Avail Use% Mounted on
/dev/hda2              1.7G   880M   650M  58% /
tmpfs                  531M      0   531M   0% /lib/init/rw
udev                    11M   570k    10M   6% /dev
tmpfs                  531M      0   531M   0% /dev/shm
/dev/hda3               62G    13G    46G  22% /var

первый раздел /dev/hda2 / - размером 1.7Гиг
два временных раздела находящихся в разделе /
раздел /udev - видимо под девайсы? это является для меня загадкой
/dev/hda3  /var - раздел под пользовательские данные и установленные пакеты ну и временные файлы.

проблема: не могу найти дистриба с Linux debian 2.6.26-2-686
на сайте дебиан уже давно дебиан 4 версии начиная.

2. закопировать данные в новую машину.. подменить кернелл.. перенастроить интерфейсы и подправить нужные конфиги под новые IP адреса.

3. перезапустить радоваться жизни?

Вопрос: т.к нигде нет такого дистриба возможно ли какимто образом скопировать загрузчик и разделы хотябы /  для первоначального запуска системы ?



"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено reader , 13-Май-12 22:55 
> проблема: не могу найти дистриба с Linux debian 2.6.26-2-686
> на сайте дебиан уже давно дебиан 4 версии начиная.

http://cdimage.debian.org/cdimage/archive/


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено alex07tango , 14-Май-12 01:37 
>> проблема: не могу найти дистриба с Linux debian 2.6.26-2-686
>> на сайте дебиан уже давно дебиан 4 версии начиная.
> http://cdimage.debian.org/cdimage/archive/

Спасибо за ссылочку.. 2-й версии правда нет.. но если не прокатит тот вариант что сейчас делаю буду вешать последнюю версию.. но это уже сборка всей системы с нуля.. то чего делать нет желания


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено ДорогойДрук , 13-Май-12 16:00 
1.Просите провайдера загрузить вашу машинку с любого ливсд и дать к нему рутовый доступ по ссх.
2.Грузите виртуалку на своем сервере с любого ливсд и доступом ссх.
3.Клонируете диск. Команда dd, как пользоваться - разберетесь самостоятельно. Там юзер френдли интерфейс.

"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено alex07tango , 14-Май-12 01:53 
> 1.Просите провайдера загрузить вашу машинку с любого ливсд и дать к нему
> рутовый доступ по ссх.
> 2.Грузите виртуалку на своем сервере с любого ливсд и доступом ссх.
> 3.Клонируете диск. Команда dd, как пользоваться - разберетесь самостоятельно. Там юзер
> френдли интерфейс.

на текущий момент пошёл по пути
согласно найденной инструкции http://www.phelex.ru/blog/debian/5.html

копирую раздел /dev/hda1 - 1.7 гиг
командой

dd if=/ of=/var/backups/linux_system.img
делает образ на 1.7 гига.

скачал KNOPPIX_V6.7.0CD-2011-08-01-EN.iso

разбил винт аналогично исходной системе с помощью cfdisk

подключил к вирт. машине в Hyper-V образ с нтфс разделом со скачанной linux_system.img
появился новый диск из /dev/sdb
cfdisk его не видит но маунт маунтит

cd /
mkdir win
mount -t ntfs /dev/sdb1 /win

развернул его на /dev/sda1
команда
dd if=/mnt/windows/linux.img of=/dev/sda1

дальше пошел разворачивать загрузчик grub (по мануалу на исходнике стоит именно он судя по всему)

/sbin/grub-install --root-directory=/srv --recheck /dev/sdb

пишет чтото типа file /boot/grub/stage1 not read correctly

также попробовал с помощью chroot:

chroot /srv grub-install /dev/sdb (тоже не выходит каменный цветок ругается на две совсем не ясные ошибки)

но уперся в то что выдает ошибку..

Что делать при ошибке 'file /boot/grub/stage1 not read correctly"'?
Ошибка может возникнуть по нескольким причинам.
Для старых версий загрузчика нужно использовать размер инода 128 при создании файловой системы;
Нужно убедиться что в таблице разделов тип файловой системы установлен правильно: 83, а не, скажем, C (FAT).

тип системы верный 83, форматил в ext3 что правда не имеет значения видимо т.к раздел был полностью переписан dd судя по всему...

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

попробовал откопировать туже директирою через cp
всё отлично скопировалось...
да сегодня пока всё... почти 6часов  убил..
решил пойти путем tar сделал архив всего кроме /var
завтра буду заливать на /dev/sda всё взамен убитого и пытаться поднять grub

П,С:
по фс: аналогично исходной системе
/dev/sda1 - своп
/dev/sda2 (boot)- ext3 Linux type (83)
/dev/sda3  -  ext3 Linux type (83) (раздел под /var) скопирую когда система стартанет

предполагаю что когда grub все таки соизволит копироваться с knoppix я получу запускающуюся систему.. возможно с необходимостью подправить некоторые конфиг файлы...


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено deadmustdie , 14-Май-12 14:10 
В принципе можно было с самого начала пойти по пути tar-ения:

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

Пример, выполняем со своей машины с заходом на клонируемый сервер через SSH:

   ssh root@host-to-clone tar cfz - / >data.tgz

2. Целевую виртуальную машину (в которой собираемся разворачивать образ) грузим с LiveCD, создаем необходимые файловые системы и монтируем правильным образом в некую стартовую точку (например, /NEW).

3. Копируем в эту стартовую точку утилиты, позволяющие распаковать архив (скажем, статически слинкованные tar и gzip), сюда же копируем либо сам архив, либо программу для доступа к нему (и все нужные этой программе библиотеки). Делаем chroot /NEW, правильно настраиваем PATH и LD_LIBRARY_PATH (если требуются библиотеки).

4. Распаковываем сформированный на шаге 1 архив.

5. Перенастраиваем PATH и LD_LIBRARY_PATH (последнюю скорее всего вообще убираем), фактически у нас есть доступ ко всем утилитам клонируемого сервера.

6. Перенастраиваем загрузчик, устанавливаем загрузчик в загрузочный сектор.

7. Перезагружаем виртуальную машину, если сделано все правильно - должно успешно загрузиться.


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено apytlev , 14-Май-12 20:06 
Есть ещё такие утилиты как dump и restore, находятся они в пакете dump.

Стартуешь виртуалку в single mode или останавливаешь всё ненужное,
далее

dump -0auz -f - /dev/hda2 | ssh remotehost 'dd of=root_backup.dump'
dump -0auz -f - /dev/hda3 | ssh remotehost 'dd of=var_backup.dump'

(оба своих раздела / и /var) к себе.

поднимаешь новую виртуалку, стартуешь с live-cd убунты (у неё штатно dump нет, но можно поставить и во время live сессии) или кнопикса, делаешь в ней новые разделы, файловую систему с и-нодами нужного размера, монтируешь эти разделы (например /mnt/sdc1, /mnt/sdc2),

дальше:
cd /mnt/sdc1; ssh remotehost 'dd if=root_backup.dump' | restore -r -f -
cd /mnt/sdc2; ssh remotehost 'dd if=var_backup.dump' | restore -r -f -

затем прокидываешь внутрь нового / каталоги /dev /proc /sys (это надо для того чтобы grub поставить):
mount -o bind /dev /mnt/sdc1/dev
mount -o bind /proc /mnt/sdc1/proc
mount -o bind /sys /mnt/sdc1/sys

и до кучи свой var
mount -o bind /mnt/sdc2 /mnt/sdc1/var

затем

chroot /mnt/sdc1

и уже там

grub-install /dev/sdc

если разделы монтируются по UUID, то его надо прописать правильный, иначе не взлетит
blkid >>/etc/fstab
nano /etc/fstab
и правим соответствующие UUID
затем
update-grub
exit

далее
umount /mnt/sdc1/dev
umount /mnt/sdc1/proc
umount /mnt/sdc1/sys
umount /mnt/sdc1/var
umount /mnt/sdc2
umount /mnt/sdc1

reboot

и надеемся что оно взлетит (про выставление флага "загрузочный" при создании нового раздела / не забыли?)

Всё.


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено alex07tango , 19-Май-12 00:24 
после исключения из тара /var /sys /proc /dev
распаковка полученного архива на раздел прошла успешна и установка grub Тоже..
распаковал так же var хотя и без него уже грузилось.. столкнулся с тем что дебиан
не видит интерфейса Hyper-v либо ядро слишком старое и не понимает
ни lagasy (устаревший сетевой адаптер) либо где то сконфигурировано именно на тот адаптер что на хостинге

во всех мануалах предполагается что устаревший с.а. должен "взлетать"


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено Аноним , 19-Май-12 08:38 
> после исключения из тара /var /sys /proc /dev
> распаковка полученного архива на раздел прошла успешна и установка grub Тоже..
> распаковал так же var хотя и без него уже грузилось.. столкнулся с
> тем что дебиан
> не видит интерфейса Hyper-v либо ядро слишком старое и не понимает
> ни lagasy (устаревший сетевой адаптер) либо где то сконфигурировано именно на тот
> адаптер что на хостинге
> во всех мануалах предполагается что устаревший с.а. должен "взлетать"

Если мне память не изменяет, поддержка Hyper-V есть в ядрах 2.6.32 и выше. Возьмите нормальный гипервизор, не?


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено alex07tango , 20-Май-12 11:07 
может есть какойто способ обновить ядро не подключаясь к инету?


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено Aleks305 , 13-Июн-12 16:54 
Всем привет!
Есть сервер с KVM, крутится несколько виртуальных машин под linux. Бэкапятся tarом разделы / и /boot.
Пробую восстановить виртуалку из tar-архива...все бы ничего, но почему-то при загрузке с LiveCD диск для виртуалки видится как /dev/vda. Когда просто создаю виртуалку с установкой ОС - там видится как /dev/sda.
Когда в восстанавливаемой виртуалке из chroot ввожу команду grub-install
получаю следующее
[root@livecd /]# grub-install /dev/vda1
/dev/vda1 does not have any corresponding BIOS drive.
на vda1 скопирован /boot с оригинального сервера.
Никто не может подсказать по этому поводу чего-нить?
Восстанавливаемый сервер CentOS 6.2
LiveCD CentOS 6.2



"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено Aleks305 , 13-Июн-12 22:59 
>[оверквотинг удален]
> с LiveCD диск для виртуалки видится как /dev/vda. Когда просто создаю
> виртуалку с установкой ОС - там видится как /dev/sda.
> Когда в восстанавливаемой виртуалке из chroot ввожу команду grub-install
> получаю следующее
> [root@livecd /]# grub-install /dev/vda1
> /dev/vda1 does not have any corresponding BIOS drive.
> на vda1 скопирован /boot с оригинального сервера.
> Никто не может подсказать по этому поводу чего-нить?
> Восстанавливаемый сервер CentOS 6.2
> LiveCD CentOS 6.2

up


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено Aleks305 , 14-Июн-12 11:21 
>[оверквотинг удален]
>> виртуалку с установкой ОС - там видится как /dev/sda.
>> Когда в восстанавливаемой виртуалке из chroot ввожу команду grub-install
>> получаю следующее
>> [root@livecd /]# grub-install /dev/vda1
>> /dev/vda1 does not have any corresponding BIOS drive.
>> на vda1 скопирован /boot с оригинального сервера.
>> Никто не может подсказать по этому поводу чего-нить?
>> Восстанавливаемый сервер CentOS 6.2
>> LiveCD CentOS 6.2
> up

нет мыслей ни у кого?


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено PavelR , 14-Июн-12 19:58 
>[оверквотинг удален]
>>> Когда в восстанавливаемой виртуалке из chroot ввожу команду grub-install
>>> получаю следующее
>>> [root@livecd /]# grub-install /dev/vda1
>>> /dev/vda1 does not have any corresponding BIOS drive.
>>> на vda1 скопирован /boot с оригинального сервера.
>>> Никто не может подсказать по этому поводу чего-нить?
>>> Восстанавливаемый сервер CentOS 6.2
>>> LiveCD CentOS 6.2
>> up
> нет мыслей ни у кого?

ну поправь device.map

root@flash:~# cat /boot/grub/device.map
(hd0) /dev/sda
root@flash:~#


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено Aleks305 , 15-Июн-12 11:20 
>[оверквотинг удален]
>>>> на vda1 скопирован /boot с оригинального сервера.
>>>> Никто не может подсказать по этому поводу чего-нить?
>>>> Восстанавливаемый сервер CentOS 6.2
>>>> LiveCD CentOS 6.2
>>> up
>> нет мыслей ни у кого?
> ну поправь device.map
> root@flash:~# cat /boot/grub/device.map
> (hd0) /dev/sda
> root@flash:~#

Спасибо, получилось, редактировал еще /etc/grub.conf - ставил корректные имена LVM и UUID в /etc/fstab для загрузочного. После этого сервер загрузился. Но пароль для root и других пользователей не воспринимает, то есть не пишет ни неправильный логин/пароль, просто обновляет заставку с предложением ввести логин/ пароль и все. В Single mode грузится без проблем, но смена пароля не помогает. При подключении по ssh окно после аутентификации по ключу автоматом закрывается.
Что делать, не пойму.


"Перенос данных из виртуального сервера в виртуальную машину"
Отправлено Aleks305 , 15-Июн-12 11:59 
>[оверквотинг удален]
>> (hd0) /dev/sda
>> root@flash:~#
> Спасибо, получилось, редактировал еще /etc/grub.conf - ставил корректные имена LVM и UUID
> в /etc/fstab для загрузочного. После этого сервер загрузился. Но пароль для
> root и других пользователей не воспринимает, то есть не пишет ни
> неправильный логин/пароль, просто обновляет заставку с предложением ввести логин/ пароль
> и все. В Single mode грузится без проблем, но смена пароля
> не помогает. При подключении по ssh окно после аутентификации по ключу
> автоматом закрывается.
> Что делать, не пойму.

немного разобрался, selinux чего-то съехал после восстановления(был в enforcing). После отключения залогиниться получилось)буду разбираться, чего с ним произошло