拍摄 VPS 图像以在本地运行

拍摄 VPS 图像以在本地运行

我如何获取在 VPS 上运行的 ubuntu 映像,然后使其在本地计算机上运行?我可以通过 ssh 以 root 用户身份访问我的 VPS。

拍摄它的图像并使其在本地机器上运行将帮助我创建暂存/生产服务器副本。

我的机器上已经安装了几个应用程序,手动复制它们对我来说很困难。

答案1

有可能的,

尝试设置另一台具有大量磁盘空间的机器(至少足以容纳您的 VPS 和主机操作系统的大小)。完成此操作后,您应该执行以下操作:

dd if=/dev/hda | ssh username@placetobackup "dd of=/directory_of_backups_on_ssh_server/backupfile.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 

安装内核并设置 grub:

apt-get install linux-image-2.6-amd64 grub
grub-install /dev/vda
update-grub

确保 fstab 中的所有内容正确

vim /etc/fstab

接下来关闭系统,从我们复制所有内容的硬盘启动。

答案2

我会做什么(尽管从未做过):

  1. 使用 dd 创建分区的映像(您可能需要另一个分区来存储该映像):dd if=/dev/sda1 of=/dev/sdb1/imagename.img
  2. 下载该图片
  3. 创建本地分区并将映像解压到该分区上(这里有一个例子
  4. 通过虚拟化使用该分区

这些步骤看起来非常合乎逻辑,但恐怕我没有详细的流程;)

相关内容