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/
CentOS虚拟化尝试的更多相关文章
- centos 安装完Nginx后,为什么访问不了?
很多时候,安装完成后,服务也启动了 但是访问不了 看看是不是防火墙开启了: 本地试下端口是否可访问telnet 192.168.4.155 80 CentOS 7默认使用的是firewall作为防火墙 ...
- Microsoft SQL Server for Linux安装和配置
虽说mssql for linux早已经出来了,但原本没有打算这么早就去尝试的,无奈之下还是得先尝试用了,这里分几篇介绍我在用mssql for linux时遇到的问题,不得不说作为先吃螃蟹的人总是要 ...
- 阿里云***(java应用)
阿里云***(FQ)实战 前言 因为公司涉及国外业务,依赖于google的map服务,生产环境我们使用的是亚马逊服务器,所以访问google地图没问题,但是国内的开发.测试环境,使用的是阿里云,想 ...
- linux中KVM桥接网卡br0
在centos虚拟化当中需要增加一个桥接网卡,然后将虚拟化当中的机器的网卡桥接到桥接网卡,下面将描述设置方法: 查看现有网卡 [root@zb ~]# vim /etc/sysconfig/netwo ...
- CentOS 7 部署 KVM 虚拟化
文章目录 KVM的组件 KVM模块load进内存之后,系统的运行模式 部署KVM 基础配置 判断CPU是否支持硬件虚拟化 检测 kvm 模块是否装载 安装用户端工具 qemu-kvm 启动服务 查看网 ...
- 尝试利用CentOS环境安装LiteSpeed WEB服务环境的过程
对于普通的网站搭建的环境虚拟主机就足够使用,不过近期公司的网站需要上线VPS主机,于是采用到LNMP(http://lnmp.org/)一键包安装的,运行还是比较好的,这不最近我也开始尝试接触VPS方 ...
- centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课
centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课 上半节课 下半节课 f
- 在 CentOS 7上Virtualbox+phpVirtualBox完整虚拟化环境部署
一.phpVirtualBox简介 VirtualBox是一套为不同操作系统而设的 x86 虚拟化产品.它是一个机器/硬件的虚拟化产品,功能上与 VMware Server.Parallel ...
- CentOS使用virt-what知道虚拟机的虚拟化技术
通常拿到一台vps,提供商可能不会告诉我们具体的虚拟化技术,对于CentOS的系统的vm,可以使用virt-what来知道. 如果提示virt-what命令找不到,则需要安装一下 yum instal ...
随机推荐
- NB-IoT DTU是什么 NB-IoT的优势有哪些
NB-IoT DTU是什么 NB-IoT DTU是一种采用NB-IoT技术实现数据远距离无线传输功能的终端设备,采用工业级的硬件设施和工业级的32位高性能通信处理器,工业级的无线数据传输模块,可以自动 ...
- python面向对象(类与对象)
面向对象思想 关注公众号"轻松学编程"了解更多. 1.面向对象的设计思想 面向对象是基于万物皆对象这个哲学观点. 2.面向对象和面向过程的区别 面向过程 在生活中: 它是一种看待问 ...
- Flask中的RESTFul
RESTFul 1.什么是RESTFul? 1.1 简介 REST即表述性状态传递(英文:Representational State Transfer, 简称REST)是Roy Fielding博士 ...
- C#编译时与运行时
曾几何时,对C#编译时与运行时的理解总是不是那么明显.以下对此部分说明一下自己的理解. 定义 编译时 将C#程序编译成中间代码的过程.其过程是对程序进行词法分析,语法分析等. 运行时 就是程序最终分配 ...
- CF1271E Common Number
数学+二分 连续打了3场$codeforces$,深深的被各种模拟贪心分类讨论的$C$,$D$题给恶心到了 还有永远看到题一脸懵的$B$题 首先考虑画出不同函数值迭代转移的关系,要注意考虑连边是否能成 ...
- wamp&花生壳 在本地搭建自己的网站
1.wamp下载安装(2.49),按提示来. 唯一要注意的是默认端口为80,若80端口已被占用,修改apache配置文件httpd.conf(C:\wamp\bin\apache\apache2.4. ...
- knn-demo
from __future__ import print_functionfrom numpy import *# 导入科学计算包numpy和运算符模块operatorimport operatorf ...
- 第三方库文件Joi对数据进行验证的方法以及解决Joi.validate is not a function的问题
Joi:javaScript对象的规则描述语言和验证器 1.npm install joi@14.3.1 2.建立joi.js文件 3.导入第三方包joi const Joi = require('j ...
- 数据采集与融合第四次作业:多线程以及scrapy框架的使用
数据采集第四次作业:多线程以及scrapy框架的使用 任务一:单多线程的使用 单线程代码: from bs4 import BeautifulSoup from bs4 import UnicodeD ...
- JS多物体运动案例:变宽、变高
任务描述: 当鼠标移入"变宽"矩形时,该矩形宽度逐渐增加至400px,移出该矩形,宽度逐渐恢复至初始值;当鼠标移入"变高"矩形时,该矩形高度逐渐增加至400px ...