一、场景
如今,多数非强敏感性的业务系统都已经上云了,但是云厂商有时提供的云主机OS并不能满足业务需要,甚至兼容性问题,这时就需要用户导入自定义的镜像,本文将回顾如何制作一份云主机镜像,指导自定义OS。
关联资源:RAW和QCOW2 两种存储设备格式区别、
二、移动云镜像
2.1、说明
移动云支持使用镜像导入功能,可将本地或其他平台的服务器系统盘镜像文件导入至云主机自定义镜像中,导入后可以使用该导入镜像创建云主机及其他操作。Linux系列镜像请按如下方式进行操作:
- 使用镜像规范检测工具,自动检测Linux系统设置是否符合导入条件,该工具会进行部分系统参数和服务状态检查。只需在你的源操作系统上运行该工具,检测完后会生成报告并给出解决意见。目前支持BCLinux、CentOS、Debian、OpenSUSE、RedHat、Ubuntu、SuseLinux、CoreOS八种Linux操作系统,其中BCLinux、CentOS、RedHat只支持7.0以上的版本。
- 检查是否安装了cloud-init和qemu-guest-agent,若未安装cloud-init可能导致基于该镜像的云主机无法完成初始化配置,以至于镜像导入失败。qemu-guest-agent保证您上传的镜像能兼容移动云云主机的改密,监控等功能。详情请点击“安装cloud-init”以及“安装qemu-guest-agent”。
- 确保操作系统内包含virtio驱动,使得基于该镜像创建的云主机可以启动,详情点击“自定义镜像virtio驱动检查”。
- 确保制作的镜像完整无异常,使得镜像可以正常导入,详情点击“自定义镜像完整性检查”。
镜像符合性建议:
三、操作方法
1)把ISO文件copy到linux的机器上,并确保硬盘有足够的空间
SLES-11-SP4-DVD-x86_64-GM-DVD1.iso
2)用qemu命令创建qcow2镜像磁盘(用于安装suse镜像),例
qemu-img create -f qcow2 /tmp/image/suse11.img 10G
输出:
[root@localhost tmp]# qemu-img create -f qcow2 /tmp/image/suse11.qcow2 10G
Formatting ‘/tmp/image/suse11.qcow2’, fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 lazy_refcounts=off
3)用qemu命令启动Kvm,安装操作系统
qumu-kvm -name suse11sp4 -cpu host -m 4096 -hda /tmp/image/suse11.qcow2 -cdrom /tmp/SLES-11-SP4-DVD-i586-GM-DVD1.iso -boot d -vnc:1
或:
virt-install --name suse11sp4 --ram 1024 --cdrom=/tmp/SLES-11-SP4-DVD-i586-GM-DVD1.iso --disk path=/tmp/image/suse11.qcow2,format=qcow2 --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel7 --check all=off
KVM客户机的配置文件放置在**/etc/libvirt/qemu**下。使用vi可以查看虚拟机的xml配置文件。
3)查看vnc端口
virsh vncdisplay suse11sp4
用vnc去连接安装系统
如果连不上请关闭防火墙和selinux:
service iptables stop
vi /etc/selinxu改为
经现场验证,是因为iso镜像为i586的与宿主机系统x86_64架构不一致所致,更换镜像后vnc连接,出现安装界面:
如果提示不能CD/DVD找不到,请替换其他带桌面KDE或Gnome的iso尝试,现场改用openSUSE-11.4-KDE-LiveCD-i686.iso
安装后效果如下:
安装vnc-server:
yum -y install tigervnc-server
对vncserver配置:
vi /etc/sysconfig/vncservers
设置以下配置值
VNCSERVRES=10000:root(其中10000为桌面号、root为用户名)如
VNCSERVERARGS[2]=geometry800x600 –nolisten tcp –localhost