Есть виртуальная машина под хостинг у провайдера: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 есть не большой, но не хочется тратить время и силы на создание среды которая по сути уже есть и работает без нареканий.По понятным причинам провайдер не даст доступа к консоли своего гипер визора.
tar
> tarзаранее просьба ответы типа указанного выше не писать.. если кто знает адекватный мануал или представляет правильный путь для виртуализации такой машины отпишите.. собирать с нуля архивированные копии разделов мне не представляется самым умным на свете способом преобразовать машину в виртуальный диск.
>> tar
> ... мне не представляется самым умным на свете способом ...Исключительно проблема вашего миропонимания.
>>> tar
>> ... мне не представляется самым умным на свете способом ...
> Исключительно проблема вашего миропонимания.Просто парень из мира "окошек" :)
>>>> tar
>>> ... мне не представляется самым умным на свете способом ...
>> Исключительно проблема вашего миропонимания.
> Просто парень из мира "окошек" :)вопрос был как перенести полностью систему а не 2-3 папки.. с сохранением ОС и пользовательских данных и данных загрузчика..
Буду рад ответу не типа "tar" мне не нужно архивировать систему и потом несколько дней трахаться с запуском этих архивов установкой загрузчика и поиском этой устаревшей системы..
не имея на это специальных знаний..
насколько я понимаю должны быть либо пакеты умеющие делать это в автоматическом \ полуавтоматическом виде
либо адекватные мануалы как это выполнить аналогичную задачу..
прошу все комментарии касаемо миро понимания оставить при себе.
на сколько я понимаю проблема аналогична переносу любой железной машины..
т.е план действий:
архивирую текущую систему: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. перезапустить радоваться жизни?
Вопрос: т.к нигде нет такого дистриба возможно ли какимто образом скопировать загрузчик и разделы хотябы / для первоначального запуска системы ?
> проблема: не могу найти дистриба с Linux debian 2.6.26-2-686
> на сайте дебиан уже давно дебиан 4 версии начиная.
>> проблема: не могу найти дистриба с Linux debian 2.6.26-2-686
>> на сайте дебиан уже давно дебиан 4 версии начиная.
> http://cdimage.debian.org/cdimage/archive/Спасибо за ссылочку.. 2-й версии правда нет.. но если не прокатит тот вариант что сейчас делаю буду вешать последнюю версию.. но это уже сборка всей системы с нуля.. то чего делать нет желания
1.Просите провайдера загрузить вашу машинку с любого ливсд и дать к нему рутовый доступ по ссх.
2.Грузите виртуалку на своем сервере с любого ливсд и доступом ссх.
3.Клонируете диск. Команда dd, как пользоваться - разберетесь самостоятельно. Там юзер френдли интерфейс.
> 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 я получу запускающуюся систему.. возможно с необходимостью подправить некоторые конфиг файлы...
В принципе можно было с самого начала пойти по пути 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. Перезагружаем виртуальную машину, если сделано все правильно - должно успешно загрузиться.
Есть ещё такие утилиты как 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/sdc1reboot
и надеемся что оно взлетит (про выставление флага "загрузочный" при создании нового раздела / не забыли?)
Всё.
после исключения из тара /var /sys /proc /dev
распаковка полученного архива на раздел прошла успешна и установка grub Тоже..
распаковал так же var хотя и без него уже грузилось.. столкнулся с тем что дебиан
не видит интерфейса Hyper-v либо ядро слишком старое и не понимает
ни lagasy (устаревший сетевой адаптер) либо где то сконфигурировано именно на тот адаптер что на хостингево всех мануалах предполагается что устаревший с.а. должен "взлетать"
> после исключения из тара /var /sys /proc /dev
> распаковка полученного архива на раздел прошла успешна и установка grub Тоже..
> распаковал так же var хотя и без него уже грузилось.. столкнулся с
> тем что дебиан
> не видит интерфейса Hyper-v либо ядро слишком старое и не понимает
> ни lagasy (устаревший сетевой адаптер) либо где то сконфигурировано именно на тот
> адаптер что на хостинге
> во всех мануалах предполагается что устаревший с.а. должен "взлетать"Если мне память не изменяет, поддержка Hyper-V есть в ядрах 2.6.32 и выше. Возьмите нормальный гипервизор, не?
может есть какойто способ обновить ядро не подключаясь к инету?
Всем привет!
Есть сервер с 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
>[оверквотинг удален]
> с 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.2up
>[оверквотинг удален]
>> виртуалку с установкой ОС - там видится как /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нет мыслей ни у кого?
>[оверквотинг удален]
>>> Когда в восстанавливаемой виртуалке из 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:~#
>[оверквотинг удален]
>>>> на 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 окно после аутентификации по ключу автоматом закрывается.
Что делать, не пойму.
>[оверквотинг удален]
>> (hd0) /dev/sda
>> root@flash:~#
> Спасибо, получилось, редактировал еще /etc/grub.conf - ставил корректные имена LVM и UUID
> в /etc/fstab для загрузочного. После этого сервер загрузился. Но пароль для
> root и других пользователей не воспринимает, то есть не пишет ни
> неправильный логин/пароль, просто обновляет заставку с предложением ввести логин/ пароль
> и все. В Single mode грузится без проблем, но смена пароля
> не помогает. При подключении по ssh окно после аутентификации по ключу
> автоматом закрывается.
> Что делать, не пойму.немного разобрался, selinux чего-то съехал после восстановления(был в enforcing). После отключения залогиниться получилось)буду разбираться, чего с ним произошло