KVM

///确认cpu是否支持kvm,确认支持,主板还得开启VT和HT

egrep '(vmx|svm)' --color=always /proc/cpuinfo

///yum安装rpm包

yum -y install qemu-kvm libvirt python-virtinst bridge-utils virt-manager tigervnc-server tigervnc xclock

///确认kvm内核模块有加载,如果没有直接modprobe kvm到rc.local中。

lsmod | grep kvm

stat /dev/kvm

///修改内核配置文件,确认ip转发

vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

///在线生效内核

sysctl -p

///更改为以下项。

vi /etc/libvirt/qemu.conf

user = "root"

group = "root"

dynamic_ownership = 0

///重启libvirtd服务。注意:确认开机自启动,在chkconfig中

/etc/init.d/libvirtd restart

///更改网桥配置

vi /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0

TYPE=Bridge

BOOTPROTO=static

BROADCAST=192.168.200.255

IPADDR=192.168.200.180

NETMASK=255.255.255.0

NETWORK=192.168.200.0

ONBOOT=yes

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=

ONBOOT=yes

BRIDGE=br0

///安装一台测试虚机,用windows客户端工具vnc viewer 登录

virt-install \

--name test1 \

--ram 2048 \

--vcpus=2 \

--disk path=/root/test1.img,size=20 \

--accelerate \

--cdrom /root/CentOS-6.5-x86_64-bin-DVD1.iso \

--graphics vnc,listen=0.0.0.0

///文本方式安装一台测试虚机,可以用virt看到进度。

virt-install --network bridge=br0 --name tecmint-virt01 --ram=1024 --vcpus=1 --disk path=/var/lib/libvirt/images/tecmint-virt01.img,size=5 --graphics none --location /root/OL6.7x8664.iso --extra-args="console=tty0 console=ttyS0,115200"

注意:创建好的虚机vnc或者virt在系统界面可能不能输入什么东东,还需要配置键盘那块就可以解决。

Docker

安装

yum -y install docker-io

查看版本

docker -v

查看服务状态

service docker start

service docker status

查询在线支持的镜像

docker search centos

下载

docker pull docker.io/nickistre/centos-lamp

查看现有镜像版本

docker images

运行

docker run -i -t b45f1e1c24ef /bin/bash

查看历史运行docker container

docker ps -a

查看现有运行docker container

docker ps

重新指定运行进入container

docker start c590278e3f2a

docker attach c590278e3f2a

查看container log

docker logs b8d975c0f617

以后台方式运行

docker run -d -p 27017:27017 b45f1e1c24ef

进入container

docker exec -it b45f1e1c24ef /bin/bash

p2v之virt

介绍

Virt P2V 由 virt-p2v-server(包括在 virt-v2v 软件包中)和 P2V client(红帽客户门户网站所提供的 rhel-6.x-p2v.iso)组成。rhel-6.x-p2v.iso 是一个基于定制 Red Hat Enterprise Linux 6 映像的可引导磁盘映像。为了把一个物理机转换为一个可以在 Red Hat Enterprise Virtualization 或由 libvirt 管理的 KVM 上运行的虚拟机,使用 rhel-6.x-p2v.iso 引导一个机器,并把它连接到一个安装了 virt-v2v 的 V2V 转换服务器来进行转换。

注意事项

请遵循以下规则,否则可能会造成数据丢失或磁盘损坏。

Physical to Virtual(P2V)需要一个带有 virt-v2v-0.8.7 或更高版本的 Red Hat Enterprise Linux 6 虚拟主机。您可以使用 $ rpm -q virt-v2v 来检查 virt-v2v 的版本。

请注意,您不能使用 Red Hat Enterprise Linux 5 作为转换服务器。另外,转换服务器所带的 virt-v2v 软件包的版本也不能低于 0.8.7-6.el6。

对于某些版本的操作系统,把使用软件 RAID 的物理机转换为虚拟机会有一些问题。把一个在软件 RAID md 设备上引导文件系统的 Red Hat Enterprise Linux 6 物理机转换为虚拟机没有问题,但是,一个在软件 RAID md 设备上引导文件系统的 Red Hat Enterprise Linux 4 或 Red Hat Enterprise Linux 5 物理机无法被转换为虚拟机。当前,我们还没有解决这个问题的方法。

先决条件

对于使用 P2V client 进行转换的物理机,它的硬件必须满足以下条件才可以成功引导 P2V client:

必须可以通过 PXE、光驱设备(CD、DVD)或 USB 引导。

最少有 512MB 内存。

一个以太网连接。

访问终端设备(键盘、显示器、鼠标)。

virt-v2v 支持的操作系统:

Red Hat Enterprise Linux 3.9

Red Hat Enterprise Linux 4

Red Hat Enterprise Linux 5

Red Hat Enterprise Linux 6

Windows XP

Windows Vista

Windows 7

Windows Server 2003

Windows Server 2008

操作步骤

在使用 P2V 前,您需要准备您的转换服务器、下载并准备 rhel-6.x-p2v.iso 引导介质。如果了解更详细的信息,请参阅 Red Hat Enterprise Linux Installation Guide。请注意,i386 和 x86_64 系统使用同一个 ISO 映像。

转换服务器就是一个安装了 virt-v2v 软件包的 Red Hat Enterprise Linux 6 或更高版本的物理服务器。 安装 virt-v2v 中的内容安装 virt-v2v(virt-v2v 的版本必须是 0.8.7-6 或更高版本)。

在 virt-v2v 安装完成后,转换服务器需要被配置来接受从 P2V client 的连接。P2V client 需要以 root 身份通过 SSH 连接到转换服务器,因此转换服务器需要允许 root 通过 SSH 登录。

允许 root 通过 SSH 登录:

以 root 的身份编辑 sshd_config 文件(/etc/ssh/sshd_config):

nano /etc/ssh/sshd_config

在这个文件的 Authentication 数据段中添加一行 PermitRootLogin yes。这行内容可能已经存在,如果它被注释掉(使用"#"),您只需要删除 "#"。

# Authentication:

#LoginGraceTime 2m

PermitRootLogin yes

#StrictModes yes

#MaxAuthTries 6

#MaxSessions 10

保存修改过的 /etc/ssh/sshd_config 文件。

重启 SSH 服务器:

service sshd restart

现在,您将可以以 root 的身份通过 SSH 连接到转换服务器。

现在,您将可以以 root 的身份连接到转换服务器。转换服务器需要被预先配置来指定所创建虚拟机的配置。这些配置信息包括在转换服务器的 /etc/virt-v2v.conf 文件中的目标配置集中。

在 virt-v2v.conf 中定义目标配置集:

以 root 身份编辑 /etc/virt-v2v.conf:

nano /etc/virt-v2v.conf

找到文件尾部,在最后一个 </virt-v2v> 前添加以下内容:

<profile name="myrhev">

<method>rhev</method>

<storage format="raw" allocation="preallocated">

nfs.share.com:/export1

</storage>

<network type="default">

<network type="network" name="rhevm"/>

</network>

</profile>

其中:

Profile Name 是目标配置集的名称。

Method 是最终虚拟机控制程序系统的类型(rhev 或 libvirt)。

Storage Format 是输出的存储格式(raw 或 qcow2)。

Allocation 是输出的分配格式(preallocated 或 sparse)。

Network type 指定了当导入到 Red Hat Enterprise Virtualization 后网络接口所连接到的网络。第一个 network type 项包括了转换前的网络配置;第二个 network type 项映射到转换后的网络配置。在以上实例中,所有检测到的网卡都被映射到名为 rhevm 的管理网络上。

重要

<storage format> 标签的值(在这个实例中是 "nfs.share.com:/export1")必须和 <method> 标签的值相匹配。在以上实例中,输出是 "rhev",因此与存储相关的值必须是一个已经初始化的 NFS 共享。如果输出是 libvirt,与存储格式相关的值必须是一个存在于转换服务器本地的、一个已经初始化的存储域,例如 "default"。

您现在已经创建了一个目标配置集,它定义了在 P2V 转换完成后虚拟机的配置。

创建一个可引导介质

P2V 使用可引导介质来创建物理机硬盘的可引导映像,并把它发送到转换服务器来导入到虚拟机管理程序系统(hypervisor)。您需要一个可以下载 rhel-6.x-p2v.iso ISO 的红帽订阅。请根据 Red Hat Enterprise Linux Installation Guide 中的相关介绍来准备您的可引导介质。请注意,i386 和 x86_64 系统使用同一个 ISO 映像。

最新版本的 rhel-6.x-p2v.iso 可以从 https://rhn.redhat.com/rhn/channels/PackageList.do?filter_string=virt-p2v&cid=10508 获得。这个 ISO 文件将会被安装在 /usr/share/virt-p2v/。

创建可引导介质:

rhel-6.x-p2v.iso 文件可以通过 3 种方式使用:作为一个可引导磁盘;作为一个 PXE 引导映像;作为一个可引导的 USB 设备。

把 ISO 刻录到一个空白的 CD-ROM 或 DVD-ROM 中,然后把它插入到要被转换的物理机的光驱中。您可能需要修改您的 BIOS 设置来使光驱作为机器的第一个引导设备。

使用 ISO 创建一个可引导 USB 介质。您可能需要修改您的 BIOS 设置来使 USB 设备作为机器的第一个引导设备。另外,一些 BIOS 并不支持从 USB 引导。P2V client 磁盘映像大约有 100MB,您所使用的 USB 设备需要有足够的空间来容纳它。

在您的 PXE 服务器上准备一个 PXE 引导映像。您可能需要修改您的 BIOS 设置来使 PXE 作为机器的第一个引导设备。

如需了解更多关于创建引导介质的信息,请参阅 附录 A, 额外步骤。

您已经为转换做好了准备工作,您现在可以开始进行物理机到虚拟机的转换。

把物理机转换为虚拟机

到目前为止,您已经准备好了转换服务器,并选择了可引导介质。下一步,您需要引导 P2V client,把它连接到转换服务器,并对您的物理机进行转换。转换的过程可以会需要很长时间来完成,尤其是您需要转换大容量物理磁盘时。

过程 5.1. 把一个物理机转换为虚拟机

在转换服务器上引导 P2V client 引导介质。

在您所创建的转换服务器上引导 P2V client 引导介质。因为 P2V client 是在 Red Hat Enterprise Linux 6 映像上构建的,所以 Red Hat Enterprise Linux 6 splash 会在引导时被显示。

如果需要,对网络进行配置。

通常情况下,P2V client 使用 DHCP 自动配置网络。如果不能自动配置网络,您需要手工配置它。您需要配置 IP Address、Gateway 和 Prefix 项。根据您的具体情况输入相应的值,点 Use these network settings。

请注意,P2V client 不支持 NIC 组合(NIC teaming)配置。⁠

Configure Networking.

图 5.1. P2V client 上的网络配置

注意

如果您需要手动配置您的网络,请在引导前把物理机从网络中断开。

连接到转换服务器。

当配置完网络后,您会被提示输入连接到转换服务器的连接信息。它们包括 Hostname(主机名或 IP 地址)、Username(必须是 root)和 Password。输入相关信息后点 Connect。

Connect to conversion server.

图 5.2. 连接到转换服务器

配置目标虚拟机并选择要转换的硬件。

在连接到转换服务器后,配置要被附加到被转换物理机上的虚拟硬件,选择要被转换的物理硬件。

Enter the details for the outputted virtual machine.

图 5.3. 配置虚拟机

在 Target Properties 中配置以下内容:

从下拉菜单中选择一个 Destination Profile。这个菜单中的选项反应了转换服务器上的 /etc/virt-v2v.conf 文件中的目标配置集。

在 Target Properties 的 Name 项中输入转换所生成的虚拟机的名称。

Target Properties 中的 Number of CPUs 和 Memory(MB) 的值会被自动生成。如果您需要在输出的虚拟机上使用更多的 CPU 和(或)内存,您可以修改这两个项的值。

在 Fixed Storage 中选择一个或多个需要被转换的设备。最少一个包括了所需操作系统的固定磁盘需要被转换。

在 Removable Media 中选择一个或多个需要转换的设备。

在 Network Interfaces 中选择一个或多个需要转换的网络接口。

可选项:如果您希望把调试信息输出到一个文件中,请选择 Enable server-side debugging 选项。这会使服务器在转换过程中写 LIBGUESTFS_TRACE 和 LIBGUESTFS_DEBUG 输出。

请注意,Enable server-side debugging 选项只在 Red Hat Enterprise Linux 6.5 或更高版本中有效。请参阅 第 6.2 节 "调试 P2V 转换" 来获得更多与调试 P2V 转换相关的内容。

点 Convert。

Conversion started.

图 5.4. Conversion in process

当转换完成后,一个转换成功的信息会被显示。您可以关闭物理机。

The screen reads "A guest has been successfully created on the target server. Remove the temporary boot device from this machine and press 'Power Off' to continue." A Power Off button appears below the text in this window.

图 5.5. Conversion successfully completed

您已经把物理机转换为虚拟机。现在,您就可以把转换的虚拟机导入到虚拟机监控程序系统中来运行。

把虚拟机导入到虚拟机监控程序系统中来运行

您已经把物理机转换为虚拟机。现在,您就可以在虚拟机监控程序系统中运行虚拟机。

如需了解更多关于在使用 virt-manager 的 Red Hat Enterprise Linux 上运行虚拟机的信息,请参阅:

运行转换的虚拟机

在转换过程成功完成后,virt-v2v 会为转换的虚拟机创建一个新的 libvirt 域(与被转换虚拟机的原始名同名)。它可以使用 libvirt 工具(如 virt-manager)启动。

注意

目前,virt-v2v 还不能重新配置虚拟机的网络配置。如果被转换的虚拟机没有连接到它们原来的相同子网中,这个虚拟机的网络配置就可能需要被手工更新。

在默认的情况下,Red Hat Enterprise Linux 6 使用 NFSv4,这不需要进行其它配置。但是,对于使用 NFSv2 和 NFSv3 的客户端,用来运行 virt-v2v 的系统需要运行 rpcbind 和 nfslock 服务,网络也需要被配置为运行 NFS 访问存储服务器。

当前,virt-v2v 还不支持对带有多于 4 个 IDE 磁盘的虚拟机进行转换来在 Red Hat Enterprise Virtualization 中运行。转换带有 5 个或更多磁盘的虚拟机的操作将会失败。

参考

http://www.m690.com/archives/tag/virt-p2v

http://guwenwu285.iteye.com/blog/1633748

http://xstarcd.github.io/wiki/Cloud/qcow2_raw_vmdk.html

OpenStack Neutron 之 L3 HA

http://www.ibm.com/developerworks/cn/cloud/library/1506_xiaohh_openstackl3/

CentOS虚拟化尝试的更多相关文章

  1. centos 安装完Nginx后,为什么访问不了?

    很多时候,安装完成后,服务也启动了 但是访问不了 看看是不是防火墙开启了: 本地试下端口是否可访问telnet 192.168.4.155 80 CentOS 7默认使用的是firewall作为防火墙 ...

  2. Microsoft SQL Server for Linux安装和配置

    虽说mssql for linux早已经出来了,但原本没有打算这么早就去尝试的,无奈之下还是得先尝试用了,这里分几篇介绍我在用mssql for linux时遇到的问题,不得不说作为先吃螃蟹的人总是要 ...

  3. 阿里云***(java应用)

    阿里云***(FQ)实战 前言 ​ 因为公司涉及国外业务,依赖于google的map服务,生产环境我们使用的是亚马逊服务器,所以访问google地图没问题,但是国内的开发.测试环境,使用的是阿里云,想 ...

  4. linux中KVM桥接网卡br0

    在centos虚拟化当中需要增加一个桥接网卡,然后将虚拟化当中的机器的网卡桥接到桥接网卡,下面将描述设置方法: 查看现有网卡 [root@zb ~]# vim /etc/sysconfig/netwo ...

  5. CentOS 7 部署 KVM 虚拟化

    文章目录 KVM的组件 KVM模块load进内存之后,系统的运行模式 部署KVM 基础配置 判断CPU是否支持硬件虚拟化 检测 kvm 模块是否装载 安装用户端工具 qemu-kvm 启动服务 查看网 ...

  6. 尝试利用CentOS环境安装LiteSpeed WEB服务环境的过程

    对于普通的网站搭建的环境虚拟主机就足够使用,不过近期公司的网站需要上线VPS主机,于是采用到LNMP(http://lnmp.org/)一键包安装的,运行还是比较好的,这不最近我也开始尝试接触VPS方 ...

  7. centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课

    centos vmware centos6.6 64位 kvm虚拟化安装配置     第四十二节课 上半节课 下半节课 f

  8. 在 CentOS 7上Virtualbox+phpVirtualBox完整虚拟化环境部署

    一.phpVirtualBox简介      VirtualBox是一套为不同操作系统而设的 x86 虚拟化产品.它是一个机器/硬件的虚拟化产品,功能上与 VMware Server.Parallel ...

  9. CentOS使用virt-what知道虚拟机的虚拟化技术

    通常拿到一台vps,提供商可能不会告诉我们具体的虚拟化技术,对于CentOS的系统的vm,可以使用virt-what来知道. 如果提示virt-what命令找不到,则需要安装一下 yum instal ...

随机推荐

  1. CSS动画之转换模块

    2D转换模块:注意点:1.可以类似于过渡模块一样简写,但是这里不是用逗号隔开而是用空格 2.2D的转换模块会修改元素的坐标系,所以旋转之后的平移就不是水平平移 格式:旋转:transform: rot ...

  2. 【开源】使用.Net Core和GitHub Actions实现哔哩哔哩每日自动签到、投币、领取奖励

    BiliBiliTool是一个B站自动执行任务的工具,使用.NET Core编写,通过它可以实现B站帐号的每日自动观看.分享.投币视频,获取经验,每月自动领取会员权益.自动为自己充电等功能,帮助我们轻 ...

  3. Mybatis的dao层实现 接口代理方式实现规范+plugins-PageHelper

    Mybatis的dao层实现 接口代理方式实现规范 Mapper接口实现时的相关规范: Mapper接口开发只需要程序员编写Mapper接口而不用具体实现其代码(相当于我们写的Imp实现类) Mapp ...

  4. 《Clojure编程》笔记 第2章 函数式编程

    目录 背景简述 第2章 函数式编程 背景简述 本人是一个自学一年Java的小菜鸡,理论上跟大多数新手的水平差不多,但我入职的新公司是要求转Clojure语言的.坊间传闻:通常情况下,最好是有一定Jav ...

  5. Python3网络学习案例四:编写Web Proxy

    代理服务器的定义和作用请走百度百科~ 1. Web Proxy的实现思路 这是基于上一篇"编写Web Server"写的,主要逻辑见下图: 我们要写的就是中间的Web Proxy部 ...

  6. 浅谈 Johnson 算法

    目录 前言 引入 算法概述 算法流程 正确性证明 代码实现 结语 前言 Johnson 和 Floyd 一样是用来解决无负环图上的全源最短路. 在稀疏图上的表现远远超过 Floyd,时间复杂度 \(O ...

  7. PS2018 激活

  8. Python之使用pip安装三方库Error:Could not find a version that satisfies the requirement <package>(from versions: none),No matching distribution found for <package>

    出现多次使用pip安装包时提示以下报错: ERROR: Could not find a version that satisfies the requirement <package> ...

  9. php映射echarts柱状图

    多种样式柱状图 前台部分 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  10. ps怎么抠图并和另一张图片合并?

    1.首先打开PS.然后随便选取两张图片.比如下图我想把那个小花朵扣出来移动到另外一张图片上. 2.用套锁工具把那个小花朵扣出来.如图我标出了套锁工具的图标.以及扣出来的小花朵.这里也可以选择" ...