CentOS虚拟化尝试

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/

posted @ 2016-11-02 10:59  8年扛枪梦  阅读(616)  评论(0编辑  收藏  举报