前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VMWARE 虚拟机导入腾讯云-redhat 篇

VMWARE 虚拟机导入腾讯云-redhat 篇

原创
作者头像
本地专用集群CDC
修改2023-03-14 13:26:12
3.1K0
修改2023-03-14 13:26:12
举报
文章被收录于专栏:CDC上云实践

范围

本次测试覆盖 redhat 6.7、7.2、7.4、7.6 版本

准备

  • 账号切换到 管理员权限,包括使用 root 账号。
  • 开通对象存储服务,创建存储桶。存储桶所在可用区与要镜像要导入的可用区一致,存储桶权限设置为 公有读私有写。(在创建存储桶的界面可以选择权限。如果但是没有设置,可以进入存储桶的详情页面中,在左侧找到 权限管理 -> 存储桶访问权限 的页面进行设置。)

1. 检查 Virtio 驱动

1.1. 检查是否支持 Virtio

代码语言:javascript
复制
grep -i virtio /boot/config-$(uname -r)
  • 如果在返回结果中CONFIG_VIRTIO_BLK参数和CONFIG_VIRTIO_NET参数取值为y,表示该操作系统包含了 Virtio 驱动,检查通过。
  • 如果返回结果中CONFIG_VIRTIO_BLK参数和CONFIG_VIRTIO_NET参数取值为m,请继续往下执行。
  • 如果在返回结果中没有CONFIG_VIRTIO_BLK参数和CONFIG_VIRTIO_NET参数的信息,需要下载和编译内核,相关指导见https://cloud.tencent.com/document/product/213/9929#DownloadCompileKernel。

本次验证的几个系统,参数值都显示 m ,继续往下执行。

1.2. 检查临时文件系统是否包含 Virtio 驱动

用如下命令查看:

代码语言:javascript
复制
lsinitrd /boot/initramfs-$(uname -r).img | grep virtio

redhat 7.6、7.4、7.2 版本中查看没有 virtio 驱动,继续执行步骤1.3。

redhat 6.7 版本中看到有 virtio 驱动(如下),可以直接执行步骤 2。

代码语言:javascript
复制
[root@localhost Downloads]# lsinitrd /boot/initramfs-$(uname -r).img | grep virtio
-rwxr--r--   1 root     root        23448 Oct 12 03:07 lib/modules/2.6.32-573.el6.x86_64/kernel/drivers/block/virtio_blk.ko
-rwxr--r--   1 root     root        28424 Oct 12 03:07 lib/modules/2.6.32-573.el6.x86_64/kernel/drivers/scsi/virtio_scsi.ko
drwxr-xr-x   2 root     root            0 Oct 12 03:07 lib/modules/2.6.32-573.el6.x86_64/kernel/drivers/virtio
-rwxr--r--   1 root     root        14544 Oct 12 03:07 lib/modules/2.6.32-573.el6.x86_64/kernel/drivers/virtio/virtio.ko
-rwxr--r--   1 root     root        21040 Oct 12 03:07 lib/modules/2.6.32-573.el6.x86_64/kernel/drivers/virtio/virtio_pci.ko
-rwxr--r--   1 root     root        18016 Oct 12 03:07 lib/modules/2.6.32-573.el6.x86_64/kernel/drivers/virtio/virtio_ring.ko

1.3. 重新配置临时文件系统

redhat 7.x、6.x 版本都可以执行以下命令重新配置临时文件系统

代码语言:javascript
复制
mkinitrd -f --allow-missing --with=xen-blkfront --preload=xen-blkfront --with=virtio_blk --preload=virtio_blk --with=virtio_pci --preload=virtio_pci --with=virtio_console --preload=virtio_console /boot/initramfs-$(uname -r).img $(uname -r)

执行后再执行 1.2,可以看到 virtio 驱动已经 OK 的。

2. 安装 cloud-init

redhat 系统需要注册后才能使用 yum 源。为了简化和统一方法,这里使用绿色版本进行验证。

代码语言:javascript
复制
# 下载 cloud-init 安装包
wget https://image-tools-1251783334.cos.ap-guangzhou.myqcloud.com/greeninit-x64-beta.tgz
# 解压缩
tar xvf greeninit-x64-beta.tgz
# 进入 cloud-init 目录
cd greeninit
# 安装 cloud-init
sh install.sh

安装成功后不要执行其他操作,关机。

如果安装后执行了 cloud-init 命令,需要执行以下命令清理缓存。

代码语言:javascript
复制
rm -rf /var/lib/cloud

3. 导入镜像

3.1. 上传镜像

将 redhat 系统对应的 vmdk 镜像文件上传到存储桶中。如果虚拟机的硬盘文件拆分成了多个 vmdk,需要先做合并。

3.2. 导入镜像

  • 在腾讯云控制台,云服务器模块中,找到 镜像 菜单,切换到自定义镜像页面。
  • 点击 导入镜像 按钮,导入镜像系统选择 linux ,勾选 我已做好准备 ,点击 下一步。
  • 按照页面内容填写,注意地域选择要使用的可用区。操作系统类型、版本与实际一致,导入方式并选择 正常导入 。(redhat 系统版本选择只有 7、8 系列,6.7 版本导入时选的 7。)
  • 点击下一步,点击开始导入,等待导入结果。

4. 验证

验证内容:

  • 使用自定义镜像创建虚拟机,重装系统都成功。
  • 新建的虚拟机时设置的密码有效。
  • 虚拟机能正确的获取到 IP 地址。

验证结果:

  • redhat 7.2、7.4、7.6 版本均验证正常。
  • redhat 6.7版本第一次进系统时新修改的账号、密码无效,需要再执行一次“rm -rf /var/lib/cloud”命令后重启才能生效。

5. Q&A

5.1. 如果没有安装cloud-init会怎么样

如果没有安装cloud-init,无法进行初始化。最直观的问题是无法修改密码、无法配置IP。

可以在迁移前,在 /etc/sysconfig/network-scripts/ 文件夹中创建配置文件 ifcfg-eth0,输入一下内容

代码语言:javascript
复制
BOOTPROTO=dhcp     #自动获取 IP 地址
DEVICE=eth0        # 填写需配置的弹性网卡名
ONBOOT=yes
PERSISTENT_DHCLIENT=yes
TYPE=Ethernet
USERCTL=no

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备
  • 1. 检查 Virtio 驱动
    • 1.1. 检查是否支持 Virtio
      • 1.2. 检查临时文件系统是否包含 Virtio 驱动
        • 1.3. 重新配置临时文件系统
        • 2. 安装 cloud-init
        • 3. 导入镜像
          • 3.1. 上传镜像
            • 3.2. 导入镜像
            • 4. 验证
            • 5. Q&A
              • 5.1. 如果没有安装cloud-init会怎么样
              相关产品与服务
              访问管理
              访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档