kvm 安装和配置

宿主机环境:Centos 6.6


最近在玩kvm,小小总结一下。


1、检查cpu是否支持


KVM 需要有 cpu 的支持(Intel VT 或 AMD SVM),在安装 KVM 之前检查一下 cpu 是否提供了虚拟技术的支持:

# egrep 'vmx|svm' /proc/cpuinfo

# modprobe -ls | grep kvm #查看内核是否开启

kernel/arch/x86/kvm/kvm.ko

kernel/arch/x86/kvm/kvm-intel.ko

kernel/arch/x86/kvm/kvm-amd.ko

# /usr/libexec/qemu-kvm -cpu ? #查看kvm可以虚拟的cpu


注:VMware安装的话,需要开启处理器Intel VT 或 AMD SVM,具体方法google一下


2、确认关闭selinux


# vi /etc/sysconfig/selinux

SELINUX=disabled


3、安装KVM


# yum -y install qemu-kvm libvirt python-virtinst bridge-utils


4、确认KVM安装成功

# lsmod | grep kvm

# stat /dev/kvm


5、启动libvirtd(虚拟化工具包服务)


/etc/init.d/libvirtd start


6、创建硬盘文件(找了很多网上资料都没有这一步)


# qemu-img create -f qcow2 /opt/guest01.qcow2 20G


7、安装虚拟机


首先,修改 qemu.conf 配置,把下面几个地方的注释去掉,然后把 dynamic_ownership 的值改成0,禁止 libvirtd 动态修改文件的归属,不然会报错“Permission denied”

# vi /etc/libvirt/qemu.conf

...

user = "root"

group = "root"

dynamic_ownership = 0

...


默认网络方式安装

# virt-install --virt-type=kvm --name=guest01 --os-type=linux --ram=2048 --vcpus=2 --disk path=/opt/guest01.qcow2,format=qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --cdrom=/root/CentOS-6.7-x86_64-bin-DVD1.iso --noautoconsole


桥接网络方式安装


参考连接:https://www.chenyudong.com/archives/libvirt-kvm-bridge-network.html


# virt-install --virt-type=kvm --name=guest01 --os-type=linux --ram=2048 --vcpus=2 --disk path=/opt/guest01.qcow2,format=qcow2 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --cdrom=/root/CentOS-6.7-x86_64-bin-DVD1.iso --noautoconsole


8、vnc客户端登录服务器,安装系统即可


访问:IP:5900(一般第一台虚拟机访问端口是5900,可以通过netstat -tnlp查看)

vnc参考下载连接:http://www.tightvnc.com/download.PHP


注意:

1、dns要配置,不然无法访问网址

2、磁盘挂载要确认,有时分区启动后为挂载



补充三个重要命令:

qemu-img 命令:

创建硬盘文件

create [-f 硬盘格式] [-o 选项] <路径及文件名> [空间大小]

例:qemu-img create -f raw /tmp/testdisk.raw 10G //raw格式的优点:

一、寻址简单,访问效率高

二、可以通过格式转换工具方便的转换为其他格式

三、可以方便挂载,可以直接进行数据传输 缺点:不支持压缩、快照、加密和cow等特性,而且是立即占用空间的

例:qemu-img create -f qcow2 /tmp/testdisk.qcow2 10G

转换硬盘文件格式

convert [-c] [-p] <-f 原格式> <-O 新格式> <原文件> <新文件> //-c cow类格式使用 -p 查看进度

例:qemu-img convert -c -f raw -O qcow2 /tmp/testdisk.raw /tmp/testdisk.qcow2

创建查看恢复硬盘文件快照

snapshot <参数> <原文件> //常用参数:-c <快照名>(创建快照)-a <快照名>(恢复快照)-d <快照名>(删除快照)-l(列出快照)

例:qemu-img snapshot -c newkuaizhao /tmp/testdisk.qcow2 //给testdisk.qcow2创建newkuaizhao的快照

查看硬盘文件信息

info [-f 硬盘格式] [--output=ofmt] <路径及文件名>

例:qemu-img info /tmp/testdisk.raw

查看硬盘文件是否有错误

check [-f 硬盘格式] <路径及文件名>

例:qemu-img check /tmp/testdisk.raw

更改硬盘文件空间大小(生产环境不建议使用,使用也必须建立原文件备份,需要用分区工具添加才能使用)

resize <路径及文件名> <+ | -空间大小>

例:qemu-img resize /tmp/testdisk.raw +1G



virt-install命令常用选项:

--virt-type=kvm 使用哪种虚拟化: (kvm,qemu,xen,...)

--name=虚拟机名

--os-type=linux 系统类型:'linux','unix','windows'

--ram=1024 内存大小M为单位

--network bridge=mybr0

--disk path=/my/existing/disk 指定磁盘文件

--cdrom=/tmp/centos6.6.iso 指定系统镜像文件

--graphics=GRAPHICS 开启图形化配置

Configure guest display settings. Ex:

--graphics vnc

--graphics spice,port=5901,tlsport=5902

--graphics none

--graphics vnc,password=foobar,port=5910,keymap=ja

--noautoconsole 开启不自动连接虚拟机控制台

例:virt-install --virt-type=kvm --name=kvmtest --os-type=linux --ram=1024 --disk path=/root/kvmsys02.qcow2,listen=0.0.0.0 --cdrom=/tmp/CentOS-6.6-x86_64-bin-DVD1.iso --noautoconsole


virsh命令

start <虚拟机名> #启动虚拟机

shutdown <虚拟机名> #关闭虚拟机

destroy <虚拟机> #强制关闭虚拟机

reboot <虚拟机名> #重启虚拟机

suspend <虚拟机> #暂停虚拟机

resume <虚拟机> #恢复暂停的虚拟机

save <虚拟机> <文件> #把虚拟机当前状态保存到快照文件中

restore <快照文件> #从以前保存的快照中恢复虚拟机

list [选项] #列出虚拟机 常用选项--all

dumpxml <虚拟机> [>XML文件]#导入XML配置文件

define <虚拟机XML文件> #从XML文件创建一个虚拟机如果有相同的需改内容:虚拟机名、uuid、磁盘文件、网卡MAC。

undefine <虚拟机> #删除与虚拟机相关的所有文件

migrate #迁移虚拟机 建议直接cp硬盘文件 dumpxml导出xml文件

内存:

setmem <虚拟机> <内存大小> #给虚拟机设置内存大小

setmaxmem <虚拟机> <内存大小> #给虚拟机设置最大使用内存大小

cpu:

setvcpus <虚拟机> <数量> #给虚拟机设置虚拟cpu数量

vcpuinfo <虚拟机> #显示虚拟机虚拟cpu信息

vcpupin <虚拟机> #控制虚拟机虚拟cpu亲和性

磁盘光盘等:

attach-disk <虚拟机> <磁盘文件> <挂载设备名> [--live] [--config] #添加磁盘设备 挂载设备名:如sda、sdb等 --live 给运行中的虚拟机添加磁盘 --config下次重启也生效

例:virsh attach-disk kvmtest3 /tmp/testdisk3-2.raw sdb --live --config

detach-disk <虚拟机> <挂载设备名> [--live] #删除磁盘设备 挂载设备名:如sda、sdb等 --live 给运行中的虚拟机添加磁盘

domblklist <虚拟机> #显示虚拟机块设备

change-media <虚拟机> <光驱设备> [<光盘文件>] #详细操作参看更换光盘

网卡:

attach-interface <虚拟机> <虚拟网卡模式> <寄主机网卡文件> [--model 网卡模式] [--config] #添加网卡设备 虚拟网卡模式:如bridge、network等 网卡模式:如virtio等 --config下次重启也生效

detach-interface <虚拟机> <虚拟网卡模式> [--mac <string>] #卸载网卡设备

例:virsh detach-interface kvmtest3 --type bridge --mac 52:54:00:37:d1:8a

domiflist <虚拟机> #显示虚拟机网卡设备信息

domif-setlink <虚拟机> <虚拟机内网卡设备名> <up启动或down关闭> [--config] #启动或关闭网卡设备 --config下次重启也生效

domif-getlink <虚拟机> <虚拟机内网卡设备名> #查看网卡状态

Centos 6 的kvm 安装和配置的更多相关文章

  1. XCode 5远程调试OS X应用程序

    我正在使用XCode5.0.2在OSX10.9上开发一个应用程序并获得了一个我无法在这台开发机器上重现的错误报告.但是,我有一个10.7虚拟机出现崩溃,所以我想调试那里没有在这个VM中安装XCode.我搜索了有关远程调试的信息,但我没有得到有用的答案.我甚至担心它根本不受支持.但无论如何我还是要问一下.或者,除了执行完整的XCode安装等之外,还有哪些其他选项来调试这样的问题?

  2. macos – 运行brew命令充满了’同意Xcode / iOS许可证需要管理员权限,请通过sudo以root身份重新运行.’

    所以我跑了:如果滚动到底部,可以输入“同意”,然后就可以了.

  3. ios – 仅适用于iPad的Settings.bundle?

    我有一种情况需要通过设置应用程序为我的应用程序提供一个设置.我的应用程序是通用的,但这个特殊的设置只在iPad上有意义,所以我只希望我的应用程序显示在iPad上的设置中.这可能吗?

  4. ios – Swift 4设置捆绑,获取默认值

    我创建了一个包含大约8个切换开关的设置包.我想要做的是从设置包中获取默认值.目前我现在有这两种方法:我在viewDidLoad中调用这些方法然而,这并没有得到我的默认值.如果我关闭应用程序,打开设置,调整设置并重新打开应用程序,这会产生正确的值.有没有获得默认设置?

  5. Swift调用OC和C

    Swift文件:main.swiftOC文件:Root.hRoot.mC函数文件:Fun.c桥接文件:工程名称-Bridging-Header.h

  6. OC调用Swift

    修改main.m文件OC文件:Root.hRoot.mSwift文件:Person.swift

  7. cinder swift的区别

    [原]OpenStack入门以及一些资料之2014-4-29阅读1144评论0注:本文内容均来自网络,我只是在此做了一些摘抄和整理的工作,来源均有注明。它拥有自己的文件系统,通过网络文件系统NFS或通用文件系统CIFS对外提供文件访问服务。Raid,不同的raid等级在增加数据可靠性以及增加存储器(群)读写性能间取得平衡。卷组描述区域,和磁盘将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷的VGDA中。

  8. OpenStack中Swift和cinder区别

    swift是objectstorage,将object存储到bucket里,你可以用swift创建container,然后上传文件,例如视频,照片,这些文件会被replication到不同服务器上以保证可靠性,swift可以不依靠虚拟机工作。如果你把这个虚拟机terminate了,这个volume和里边的数据依然还在,你还可以把它接到其他虚拟机上继续使用里边的数据。cinder创建的volume必须被接到虚拟机上才能工作。

  9. Project Perfect让Swift在服务器端跑起来-在Linux上创建你的Perfect项目(三)

    前两篇,分别讲述了入门和在Linux下部署,现在得说说如何在Linux下开发了。在Linux下开发,相对比在Mac下开发更灵活。我们先来看看构建基于Perfect的网站服务的编译方式如图通过引用基础库PerfectLib和数据链接,中间件模块创建你的网页文件,并用makefile打包生成你的网站动态库。所以如果你只是在Linux下构建项目,你只需要先创建好你的Handlers.swift即可。根据上面的方式我们开始在Linux下创建我们的Perfect项目。这里我在Perfect文件夹创建了一个Demo文

  10. 使用 Swift 语言编写 Android 应用入门

    Swift标准库可以编译安卓armv7的内核,这使得可以在安卓移动设备上执行Swift语句代码。做梦,虽然Swift编译器可以胜任在安卓设备上编译Swift代码并运行。这需要的不仅仅是用Swift标准库编写一个APP,更多的是你需要一些框架来搭建你的应用用户界面,以上这些Swift标准库不能提供。简单来说,构建在安卓设备上使用的Swiftstdlib需要libiconv和libicu。通过命令行执行以下命令:gitclonegit@github.com:SwiftAndroid/libiconv-libi

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部