菜鸟玩云计算之十六:Ubuntu14.04上创建的RHEL6.4虚拟机迁移到RHEL6.4主机上

RHEL6.4 Server作为虚拟机的HOST,执行以下的命令检查配置和安装相关软件:

# egrep '^flags.*(vmx|svm)' /proc/cpuinfo
有显示说明CPU支持VT功能
2、在主板BIOS中开启CPU的Virtual Technolege(VT,虚化技术)
3、安装kvm
# yum install kvm virt-* libvirt
4、检查kvm模块是否安装:
# lsmod | grep kvm
显示相似以下:
kvm_intel 53484 9
kvm 316506 1 kvm_intel
5、启动服务
# service libvirtd start

Ubuntu14.04上的 qemu比RHEL6.4上的版本号要新,导致在Ubuntu14.04创建的Guest(RHEL6.4)虚拟机拷贝到RHEL6.4HOST主机上不能执行。为解决问题,能够按以下的步骤:

1)在Ubuntu14.04上把qcow2格式的vm转成raw格式的。

2)在RHEL6.4上define raw格式的vm。

既然RHEL6.4支持raw格式的vm,那么能够在Ubuntu上直接创建 raw格式的虚拟机,然后拷贝到RHEL6.4。可是raw格式的vm占有空间太多,复制起来颇费时间。

查看虚拟机镜像格式命令:

$ qume-img info vm.img

image: vm.img

file format: raw

virtual size: 80G

disk size: 80G # 这个在開始创建的时候很小。稀疏文件。

因此能够採用以下的办法:

1)在Ubuntu14.04上用virt-manager安装kvm类型的虚拟机vm.img。默认就是raw格式。能够用80G。

2)拷贝这个vm.img和vm.xml到RHEL6.4上。注意文件夹位置一定是(能够用链接):

/etc/libvirt/qemu/vm.xml

/var/lib/libvirt/images/vm.img

3)改动vm.xml。此处须要注意,RHEL6.4使用的vm.xml和Ubuntu14.04上的略有不同。以下列出RHEL6.4上个的vm.xml(不同之处):

<domain type='kvm'>
<name>vm</name>
<uuid>...</uuid>
<memory unit='KiB'>4194304</memory>
<currentMemory unit='KiB'>4194304</currentMemory>
<vcpu placement='static'>4</vcpu>
<os>
<type arch='x86_64' machine='rhel6.4.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<!--
<clock offset='localtime'/>
-->
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<!-- diff below -->
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/var/lib/libvirt/images/vm.img'/>
<target dev='vda' bus='virtio'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address .../>
</disk>
...
<serial type='pty'>
<target port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>
...
</devices>
</domain>

不同之处在于:

<emulator>/usr/libexec/qemu-kvm</emulator>

4)然后执行定义:

$ virsh define vm.xml

5)启动和关闭:

$ virsh start vm

$ virsh shutdown vm

以下说明怎样virsh console登录虚拟机。首先须要在vm的/etc/init/下创建ttyS0.conf文件,内容例如以下:

# /etc/init/ttyS0.conf:
# ttyS0 - agetty
stop on runlevel [016]
start on runlevel [345] instance ttyS0
respawn
pre-start exec /sbin/securetty ttyS0
exec /sbin/agetty /dev/ttyS0 115200 vt100-nav
因为我们此时还没有正确配置vm的网络,无法ssh到虚拟机。因此须要使用libguestfs-tools拷贝ttyS0.conf到vm中。
1)首先主机RHEL6.4上须要安装libguestfs-tools:
$ yum install libguestfs-tools

2)在主机上创建并编辑好:ttyS0.conf,然后拷贝到vm中:
$ virsh shutdown vm   # 必须首先关闭虚拟机
$ virt-copy-in -d vm ttyS0.conf /etc/init
$ virt-ls -d vm /etc/init
$ virt-cat -d vm /etc/init/ttyS0.conf
3)启动并console到vm:
$ virsh start vm
$ virsh console vm

4)配置vm的网络。重新启动虚拟机。然后就能够ssh到vm上了。
大功告成!假设认为 vm小,能够resize。见我的其它文章!

菜鸟玩云计算之十六:Ubuntu14.04上创建的虚拟机迁移到RHEL6.4的更多相关文章

  1. 菜鸟玩云计算之十五:在Ubuntu上创建和管理Redhat虚拟机

    菜鸟玩云计算之十五:在Ubuntu上创建和管理Redhat虚拟机 chedou@hgdb.net 虚拟机给工作带来巨大的便利,不仅仅体现在资源的按需使用,而且配置的迁移特别方便.本文将使用Ubuntu ...

  2. 菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章

    菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章 cheungmine, 2014-10-25 0 引言 在生产环境上安装Hadoop高可用集群一直是一个需要极度耐心和体力的细致工作 ...

  3. 菜鸟玩云计算之十四:克隆虚拟机及ssh登录的问题

    菜鸟玩云计算之十四:克隆虚拟机及ssh登录的问题 今天早上,我的Ubuntu12.04.3LTS Desktop提示升级,升级. 从vm-ubuntu12.04克隆出虚拟机vm-thrift: $ s ...

  4. 菜鸟玩云计算之十二:KVM虚拟机更改大小

    菜鸟玩云计算之十二:KVM虚拟机更改大小 参考: http://www.missionfamilybank.org/expanding-resizing-your-qcow2-virtual-mach ...

  5. 菜鸟玩云计算之十九:Hadoop 2.5.0 HA 集群安装第2章

    菜鸟玩云计算之十九:Hadoop 2.5.0 HA 集群安装第2章 cheungmine, 2014-10-26 在上一章中,我们准备好了计算机和软件.本章开始部署hadoop 高可用集群. 2 部署 ...

  6. 菜鸟玩云计算之二十:saltstack入门初步

    菜鸟玩云计算之二十 SaltStack 入门初步 0. saltstack 是什么 参考下面的文章: http://docs.saltstack.com/en/latest/topics/tutori ...

  7. 菜鸟玩云计算之廿二: saltstack 配置

    菜鸟玩云计算之廿二: saltstack 配置 要求环境: RHEL6.4+ >=Python2.6.6, < Python 3.0 关闭salt-master/minion服务:   # ...

  8. 菜鸟玩云计算之廿一: saltstack之pillar

    菜鸟玩云计算之廿一: saltstack之pillar 参考: 点击打开链接 查看pillar数据: # salt '*' pillar.items pillar的默认根目录在:/srv/pillar ...

  9. 菜鸟玩云计算之十七:RHEL克隆虚拟机后改变网卡地址

    菜鸟玩云计算之十七:RHEL克隆虚拟机后改变网卡地址 (一)更改hostname # vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=your-vm ...

随机推荐

  1. (转)SQL流程控制语句学习(一):变量及控制语句种类

    1.局部变量 用户自己定义的,称局部变量,以@标识. 作用范围:定义局部变量的批处理.存储过程.触发器和语句块 局部变量的定义: declare @局部变量名 数据类型 注意:变量的类型不能是text ...

  2. CentOs上搭建git服务器

    CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...

  3. 无法连接vCenter Server清单https://IP:10443

    VMware vCenter Server服务器安装系统的时候使用一个IP,安装完VMware vCenter后来更换了另外一个IP,当使用vSphere Web Client登陆VMware vCe ...

  4. 第一次启动MySQL时报错

    [root@localhost~]#/usr/local/webserver/mysql/bin/mysql_install_db --basedir=/usr/local/webserver/mys ...

  5. angularjs中的绑定策略“@”,“=”,“&”实例

    <!DOCTYPE html> <html lang="zh-CN" ng-app="app"> <head> <me ...

  6. QML之窗口(无边框、透明及拖拽)

    1.无边框 Qt Quick 2.0 中 QQuickView代替了1.0中的QDeclarativeView. 无边框窗口代码如下: QQuickView viwer; //QQuickView继承 ...

  7. 【转】Debug和Release区别

    VC下Debug和Release区别 最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步 ...

  8. uva 10077 - The Stern-Brocot Number System

    想法: 初始化三個數L=0/1, M=1/1, R=1/0,設輸入的分數為a: 如果a<M,那麼要往左邊走,    R = M;    M = (L分子+M分子)/(L分母+M分母); 如果a& ...

  9. Thinkphp 数据的修改及删除操作

    一.数据修改操作 save()  实现数据修改,返回受影响的记录条数 具体有两种方式实现数据修改,与添加类似(数组.AR方式) 1.数组方式: a)         $goods = D(“Goods ...

  10. Linux下部署Symfony2对app/cache和app/logs目录的权限设置

    在linux下部署完Symfony2,可能在访问的时候会报app/logs或者app/cache目录没有写权限的错误.在linux下,如果我们在命令行登陆的用户和web应用服务器(apache.ngi ...