我有一台专用(虚拟)服务器,我只能通过 SSH 访问它。我想将服务器备份/克隆到我的本地虚拟机。
我尝试使用 tar 备份所有必要文件,但随后在新的虚拟机上恢复时遇到了困难。我无法使我的新虚拟机可启动。
因此,我们欢迎任何帮助。
服务器操作系统版本 ubuntu 10.04.3
编辑
虚拟化平台-OpenVZ
答案1
有可能的,
尝试设置另一台具有大量磁盘空间的机器(至少足以容纳您的 vps 和主机操作系统的大小)
假设这个磁盘就是/dev/sda
存储你的数据的磁盘。
然后dd if=/dev/sda | ssh username@placetobackup "dd of=/directory_of_backups_on_ssh_server/backupfile.img"
现在从服务器下载备份 img 后,将其放在(外部)硬盘上。接下来启动 ubuntu 实时磁盘。在要放置系统的硬盘上创建一个新分区,该分区的大小与您的 vps 及其所有分区的大小相同。
假设这个磁盘叫做/dev/sda
假设我们的备份镜像的外部磁盘名为/dev/sdb
parted /dev/sda mklabel msdos
用于cfdisk
对驱动器进行分区/dev/sda
接下来将硬盘安装到你的实时环境中
mount /dev/sda /mnt
接下来安装sdb
mkdir /oldImage; mount /dev/sdb /oldImage
cd /oldImage
接下来我们将所有内容连同所有权利复制到新图像中
find . -xdev | cpio -pm /mnt
接下来挂载一些文件夹:
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
将你自己 chroot :
chroot /mnt
如果您使用 Xen 或 openVZ 等虚拟化软件,请安装内核并设置 grub:
apt-get install linux-image-2.6-amd64 grub
grub-install /dev/sda
update-grub
确保 fstab 中的所有内容正确
vim /etc/fstab
接下来关闭系统,从我们复制所有内容的硬盘启动。
答案2
你可能想看看重制版-- 这是制作 Ubuntu 系统安装盘的相当不错的工具。
如果你在模式下使用 remastersys,backup
你将得到一个安装程序 ISO,它为你提供了你备份的机器的克隆(可能有一些不同——首先我不相信 remastersys 备份 SSH 密钥,尽管我可能是错的——所以预计必须做一个小的手动调整)。
这种方法有两个优点:一是您将使用 Ubuntu 的ubiquity
安装程序——它几乎可以保证您毫不费力地获得可启动的系统。二是您将拥有一个安装程序 CD,可让您在将来轻松克隆系统。
就您而言,这种方法有一个很大的潜在缺点:您的虚拟化解决方案需要支持从 ISO 启动。VMWare 和 Hyper-V 肯定支持,但我不知道 Xen 或 OpenVZ 是否支持,而且我几乎可以肯定 Rackspace/Amazon 类型的云虚拟化平台不支持。