转换物理Linux计算机以在VMWare中使用

Linux新手在这里。 我通过SSH从Mac连接到机器。 有人能够告诉我将已经运行的Linux机器转换为在ESXI中使用的虚拟机的最佳过程吗? 运行Ubuntu Server 16.04.2 LTS并连接RAID,如下所示:

Filesystem Size Used Avail Use% Mounted on udev 1.9G 0 1.9G 0% /dev tmpfs 393M 23M 371M 6% /run /dev/sdg2 1.8T 12G 1.7T 1% / tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/loop0 161M 161M 0 100% /snap/nextcloud/1337 /dev/loop1 80M 80M 0 100% /snap/core/1689 /dev/md0 8.2T 6.5T 1.3T 84% /mnt/raid/samba /dev/sdg1 512M 3.4M 509M 1% /boot/efi /dev/loop2 179M 179M 0 100% /snap/nextcloud/1474 tmpfs 393M 0 393M 0% /run/user/1000 tmpfs 393M 0 393M 0% /run/user/1001 

我是否需要单独转换每个磁盘? 或者有一种我没有看到的更简单的过程吗?

谢谢!

是的,这是可能的,而不是真的很难。 您可以利用具有单个根的UNIX文件系统,因此您无需在副本中复制安装,RAID等结构 – 系统的行为方式与单个安装中的所有文件相同。

我之前已成功完成此过程,我的方法基于https://wiki.archlinux.org/index.php/full_system_backup_with_rsync的指南。

前提条件

  • 服务器上主目录中有足够的可用空间来存储整个服务器内容(压缩)
  • 足够的可用空间用于本地硬盘驱动器上的未压缩+压缩服务器内容
  • 服务器上的root访问权限
  • 两台机器必须使用兼容的架构(否则您无法运行传输的二进制文件)

说明

  1. 备份完整的服务器内容。 您可以使用链接指南中的rsync ,然后压缩或一步完成。 您需要sudo才能访问所有文件。

     sudo tar --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","~/server-backup.tar.xz"} -cJvf ~/server-backup.tar.xz / 
  2. 使用SCP或其他合适的方法下载创建的文件。

  3. 使用具有足够容量的新虚拟硬盘驱动器创建VM。 启动一个实时发行版。

  4. 格式化并安装空白硬盘。

  5. 将压缩备份文件的内容解压缩到已安装的驱动器。 (您需要将文件提供给VM,例如使用共享文件夹或连接到VM的其他驱动器。)

  6. 使用chroot方法恢复GRUB。

  7. 必要时编辑配置文件(尤其是/etc/fstab/etc/network/interfaces )。

  8. 关闭VM,取消实时发行版媒体并启动服务器克隆。