近期进行了大量虚拟机迁移的动作,从PVE到EXSI,从PVE到PVE,从EXSI到EXSI,从EXSI到PVE,可算是把这两个平台玩遍了,害,简单做个记录,因为从PVE到EXSI迁移比较麻烦,而且参考了网上很多文章,都写的不够完整,导致一步步踩了很多坑,为了大家以后减少不必要的麻烦,虚拟机迁移的事情看这篇文章就够了,坑已经给大家踩过了,不要在盲目的看别的文章了

1、查看虚拟机状态,停止虚拟机

# 可选命令行或者web页面操作,web页面更为直观
qm list
qm stop <vmid>

2、确定虚拟机磁盘文件位置

  查看虚拟机磁盘位置,选择指定虚拟机-->硬件配置-->确认磁盘文件存储位置

# 查看data2在服务器上的准确位置,便可找到虚拟机文件存放位置
cat /etc/pve/stroage.cfg

3、磁盘文件格式转换

# 使用PVE自带的磁盘格式转换工具,转换qcrow2格式为vmdk格式
# 例:
qemu-img convert -f qcow2 -O vmdk vm-104-disk-0.qcow2 /data/vm-104-disk-0.vmdk

4、在EXSI上创建虚拟机,配置CPU、内存、网络等信息(不要添加磁盘设备)



5、再次转换磁盘格式(转换为支持VMware EXSI可识别的磁盘配置格式)

vmkfstools -d thin -i vm-103-disk-0.vmdk k8s-master01-191/k8s-master01-191.vmdk
# -d thin (指定磁盘配置方式为精简配置,也可选其他磁盘置备格式,使用vmkfstools --help 可查看详细用法)

6、添加刚刚转换好的磁盘,修改磁盘的控制器位置,改为ide模式然后启动





7、修改网卡配置信息,重启网卡(迁移过程中网卡地址可能会变需注意)

###编辑网卡配置文件
[root@localhost network-scripts]# vi ifcfg-ens18
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens18
UUID=6cd3657b-28d4-4a8f-a8a3-bfc5e1dc2963
DEVICE=ens18
IPADDR=XXX.XXX.XXX.XXX
PREFIX=23
GATEWAY=XXX.XXX.XXX.XXX
DNS1=114.114.114.114
ONBOOT=yes
###重启网卡
[root@localhost network-scripts]# nmcli connection reload
[root@localhost network-scripts]# nmcli connection up ens18

8、增加内核驱动(EXSI上虚拟机默认SCSI类型为VMware Paravirtual需增加驱动)

dracut --add-drivers "vmw_pvscsi" -f /boot/initramfs-$(uname -r).img $(uname -r)

9、关闭虚拟机,把磁盘控制器位置改回SCSI:0,启动虚拟机即可

迁移过程遇到问题:Q & A

一、【ESXi】打开电源失败提示 – “scsi0:0”的磁盘类型 2 不受支持或无效。请确保磁盘已导入!!!

答:首先确保自己的磁盘文件在传输过程中是完整的,可对比文件大小,在虚拟机的硬件配置中磁盘显示如果正确那就基本无问题,如果此时报上述提示,那只有一个原因,磁盘格式不对,注意第5步的操作,需要将文件再次使用vmkfstools工具进行格式转换的,该步骤不可省略。

二、打开电源后,虚拟机启动很慢,且直接进入了救援模式

答:开机后进入救援模式的情况很多,可能你的磁盘挂载出了问题,也可能是其他原因,可以用journalctl -xb仔细查看一下,我遇到的问题是刚开始启动未更改为IDE模式,因为initramfs 里没 vmw_pvscsi,内核在早期阶段无法访问磁盘就找不到根所以导致进入emergency shell,所以第8步的作用就是增加 vmw_pvscsi 驱动,在这之后你才能改回SCSI驱动磁盘。


如果你有其他问题,可以在评论区反馈,我们可以进一步交流~

将虚拟机从PVE上迁移至EXSI详细步骤!!!(避免踩坑)的更多相关文章

  1. Android 上传开源项目到 jcenter 实战踩坑之路

    本文微信公众号「AndroidTraveler」首发. 背景 其实 Android 上传开源项目到 jcenter 并不是一件新鲜事,网上也有很多文章. 包括我本人在将开源项目上传到 jcenter ...

  2. linux系统上安装mysql5.6(详细步骤)

    为了学习mycat 尝试在虚拟机上装mysql(看了别人的博客比划着安装),但装了两次都没成功.因此总结了如下步骤 有需要的朋友可以试下(linux需要联网) mysql-5.6.26.tar.gz百 ...

  3. myeclipse上SVN代码合并详细步骤图解

    1.  在装有svn插件的myeclipse中,在主干上选择需要合并的文件或文件夹 右击 -> 合并(merge) 2. 选择合并类型--合并两个不同的树 Merge -> Next 3. ...

  4. windows10上安装mysql(详细步骤)

    2016年09月06日 08:09:34 阅读数:46198 环境:windwos 10(1511) 64bit.mysql 5.7.14 时间:2016年9月5日 一.下载mysql 1. 在浏览器 ...

  5. unity3D开发的程序发布到Android平台上进行运行测试的详细步骤

    第一步    下载安装JDK 和SDK 1.需要配置java环境.点击链接进入ava的配置的方法:http://www.cnblogs.com/Study088/p/7496158.html 2.下载 ...

  6. 阿里云服务器上安装mysql的详细步骤

    阿里云安装mysql (1)下载mysql安装包,去mysql官网下载对应的包 mysql数据库官方下载网址:   https://downloads.mysql.com/archives/commu ...

  7. 在IIS上部署 .Net Core 3.0 项目踩坑实录

    在IIS上部署 .Net Core 3.0 项目的主要流程有: 安装并启用IIS 安装AspNetCoreModuleV2 添加.配置网站 设置应用程序池 通过VS发布 一.安装并启用IIS: 安装了 ...

  8. Windows Cluster失败后,AlwaysOn在残存Server节点上快速恢复DB的详细步骤

    AlwaysOn是一种集合了高可用和灾难恢复两种功能的技术,它支持一个或多个数据库整体的发生故障转移,它实现了一定程度上的负载均衡,减轻了主服务器的压力,是目前最好的一种选择.那么当极端情况发生时,集 ...

  9. Mac上使用Docker Desktop启动Kubernetes,踩坑后终于搞掂

    1 前言 Kubernetes又简称k8s,是Google开源的容器集群管理系统,最近也是火热.闲来无事(为了发文),捣鼓了一下,在Mac上搭建Kubernetes,遇到一些坑,也记录一下. 另外,D ...

  10. 在Kubernetes上部署k6的详细步骤

    k6介绍 k6是一款使用go语言编写的开源测试工具,支持用户编写测试脚本,解决了JMeter不易代码化的缺点.它的主要特点有 提供了友好的 CLI 工具 使用 JavaScript 代码编写测试用例 ...

随机推荐

  1. 字符型union注入

    注入目标和思路:拿到库名---拿到表名---拿到列名---拿到用户名和密码 用 id=1' order by x --+ 来确定表有几列,然后用 id=0' union select x1,x1,x3 ...

  2. redis-cli 使用lua脚本笔记

    前言 众所周知,redis可以执行lua脚本,至于为什么要用lua脚本来操作redis,自行百度咯 先来讲一下最简单的方式, 关于如何在java springboot里用lua脚本,请查看我另一篇文章 ...

  3. 揭秘C#异步编程核心机制:从状态机到线程池的全面拆解

    C#中的异步编程是一个强大且复杂的特性,它允许开发者编写非阻塞的代码,从而显著提升应用程序的响应性和吞吐量.本文将深入剖析异步编程的底层原理,从async和await关键字的工作机制,到状态机.任务调 ...

  4. Kubernetes控制器-ReplicaSet

    Kubernetes控制器-ReplicaSet 控制循环 Kubernetes控制器会监听资源的创建.更新.删除事件,并触发Reconcile函数作为响应.整个调整过程被称作Reconclile L ...

  5. 2025年6月Docker镜像加速失效终极解决方案

    以下是融合整理的Docker镜像加速终极解决方案,结合基础配置与深度技术方案,形成分层递进的完整体系: 一.分层加速架构 图表 二.全链路解决方案 1. 基础层:公共镜像源(5分钟快速配置) json ...

  6. 3-Transforms使用

    1. Transforms用途 ① Transforms当成工具箱的话,里面的class就是不同的工具.例如像totensor.resize这些工具. ② Transforms拿一些特定格式的图片,经 ...

  7. wc记录

    WC记录 咋可 随机化 CF1746F 给每个值随机成\(0/1\),然后查询区间内的所有数的和是否\(\equiv0\mod k\) 考虑错误率,对于一个不合法的权值,设其有\(r\)个,考虑区间内 ...

  8. 1. 如何通过SSH连接到vector rob

    #anki #vector #robot #digital-dream-labs ssh连接到vector机器人操作系统: 将机器人放到充电底座上,连接电源,机器人自动启动,成功后,双击背部按钮打开蓝 ...

  9. Linux 基金会报告解读:开源 AI 重塑经济格局,有人失业,有人涨薪!

    译自 | Linux Foundation Research 随着生成式 AI 技术飞速发展,开源模式正在成为推动经济转型的重要驱动力.Linux Foundation Research 发布的报告& ...

  10. 基于lede开发自己的路由器系统openWrt

    搭建linux环境 强烈推荐ubuntu,debian会遇到大量的依赖问题 安装编译依赖 更新软件包 sudo apt update -y 整体更新软件包 sudo apt full-upgrade ...