将VMware虚拟化环境下中的Linux模板导入到Smartx KVM环境

在实际运维工作中,新采购的服务器预装的总是最新的操作系统,新开始的应用项目很多都是在其他单位已经开发过类似的产品或功能,如果不做要求会总是默认使用他们已经部署过的用老版本操作系统。一直这么做一是不利于公司统一管理操作系统基线;二是新上线新开发的系统带病成长;近期我们经过思考沟通,准备将Red Hat Enterprise Linux 8.4纳入我们的操作系统基线。于是,我们在实际使用中可以支持并接受的操作系统有了3个版本:Red Hat Enterprise Linux 7.1、7.9、8.4。为什么是这3个版本,保哥不在这里过多的讨论。由于我们VMware虚拟化的环境较多,我们先完成了模板制作。本文档主要介绍了将VMware虚拟化环境中的Linux模板导入到Smartx KVM环境。

一、将VMware中的模板导入到Smartx

单纯将VMware中的模板或者虚拟机导入到Smartx并不困难,有现成的工具。这篇文档的重点是导入后的初始化操作。

(一)模板转换为虚拟机

将VMware的模板,右键转换为虚拟机,此处就没有截图了,基本操作。

(二)将VMware虚拟机导入Smartx

1.创建任务

登录Smartx迁移工具,选择”创建人物”按钮,开始创建一个迁移任务 。

将VMware虚拟化环境下中的Linux模板导入到Smartx KVM环境

2.选择源端和目标端

在创建迁移任务页面,选择”源端”,也就是vCenter地址。选择”vCenter数据中心”,”目标端”肯定是选择Smartx集群了。

将VMware虚拟化环境下中的Linux模板导入到Smartx KVM环境

3.选择待迁移的虚拟机

在创建迁移任务的页面,选择源端和目标端后,进入选择待迁移的虚拟机步骤。搜索需要迁移的虚拟机名称并确认选择。

将VMware虚拟化环境下中的Linux模板导入到Smartx KVM环境

4.设置虚拟网络

在选择待迁移的虚拟机后,进入设置虚拟网络步骤,这里显示出的是Smartx上的虚拟网络,虚拟主机迁移后将使用这里选择的网络进行通信。

将VMware虚拟化环境下中的Linux模板导入到Smartx KVM环境

5.自定义虚拟机配置项

在设置虚拟网络后,在自定义虚拟机配置项中选择在Smartx上的存储策略,及是否保留MAC地址、是否进行数据校验、是否自动开机。

将VMware虚拟化环境下中的Linux模板导入到Smartx KVM环境

二、初始化虚拟机

登录Smartx管理控制台,可以是flsheye,也可以是CloudTower。保哥这里选择了CloudTower。

(一)安装vmtools

1.挂载vmtools光盘

登录到CloudTower后,在基础设施中,选择”虚拟化”,”虚拟机”,找到迁移完成后的虚拟机,点击迁移后的虚拟机,选择下拉菜单,选择”安装虚拟机工具”。

将VMware虚拟化环境下中的Linux模板导入到Smartx KVM环境

2.挂载CD-ROM

如果第一步没有成功,可能造成的原因是没有空的CD-ROM,如果第一步成功,此步骤可以不做。

选择”编辑虚拟盘”,挂载CD-RMO。

将VMware虚拟化环境下中的Linux模板导入到Smartx KVM环境

执行完毕挂载CD-ROM后,再次执行第一步骤。

3.安装vmtools

使用”打开终端”登录虚拟机操作系统后,需要挂载CD-ROM,执行SMTX_VM_TOOLS_INSTALL.sh安装。

#mount /dev/sr0 /mnt
#cd /mnt
#./SMTX_VM_TOOLS_INSTALL.sh

将VMware虚拟化环境下中的Linux模板导入到Smartx KVM环境

4.安装并配置cloud-init工具

执⾏以下命令安装 cloud-init

#yum install -y cloud-init
#systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service

按照一下内容配置cloud-init

# cat /etc/cloud/cloud.cfg
users:
- default
#修改 diable_root, ssh_pwauth, chapasswd, datasource_list, datasource ==>
disable_root: false
ssh_pwauth: true
chpasswd:
expire: false
datasource_list: [ConfigDrive, None]
datasource:
ConfigDrive:
dsmode: local
#<==修改到此结束
mount_default_fields: [~, ~, 'auto', 'defaults,nofail,x-systemd.requires=cloud-init.service', '0', '2']
resize_rootfs_tmp: /dev
ssh_deletekeys: 1
ssh_genkeytypes: ~
syslog_fix_perms: ~
disable_vmware_customization: false
cloud_init_modules:
- disk_setup
- migrator
- bootcmd
- write-files
#注释掉以下两个项目
# - growpart
# - resizefs
- set_hostname
- update_hostname
- update_etc_hosts
- rsyslog
- users-groups
- ssh
cloud_config_modules:
- mounts
- locale
- set-passwords
- rh_subscription
- yum-add-repo
- package-update-upgrade-install
- timezone
- puppet
- chef
- salt-minion
- mcollective
- disable-ec2-metadata
- runcmd
cloud_final_modules:
- rightscale_userdata
- scripts-per-once
- scripts-per-boot
- scripts-per-instance
- scripts-user
- ssh-authkey-fingerprints
- keys-to-console
- phone-home
- final-message
- power-state-change
system_info:
#修改default_user
default_user:
name: root
lock_passwd: false
gecos: Cloud User
groups: [adm, systemd-journal]
sudo: ["ALL=(ALL) NOPASSWD:ALL"]
shell: /bin/bash
distro: rhel
paths:
cloud_dir: /var/lib/cloud
templates_dir: /etc/cloud/templates
ssh_svcname: sshd
# vim:syntax=yaml
5.配置NetworkManager

配置NetworkManager开机启动,如果不开机启动cloud-init自定义IP地址不生效。

#Systemctl enable NetmaskManager
6.配置dracut

配置dracut.conf文件,用于支持virtio驱动。

# cat /etc/dracut.conf
# PUT YOUR CONFIG IN separate files
# in /etc/dracut.conf.d named "<name>.conf"
# SEE man dracut.conf(5) for options
# cat /etc/dracut.conf.d/disk.conf
add_drivers+="virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"
# dracut -f /boot/initramfs-4.18.0-305.el8.x86_64.img
7.编辑虚拟盘

默认从VMware环境中迁移的虚拟机,如果不调整虚拟盘的总线驱动程序为IDE,会无法正常启动。配置dracut后,调整虚拟盘总线为”VIRTIO”,启动虚拟机,初始化工作完成。

将VMware虚拟化环境下中的Linux模板导入到Smartx KVM环境

三、总结

此文档”将VMware虚拟化环境下中的Linux模板导入到Smartx KVM环境”到此结束,保哥的实战宝典,有需要请联系我。

原创文章,作者:保哥运维实战侠笔记,如若转载,请注明出处:https://www.shizhanxia.com/biji/262.html

发表评论

登录后才能评论