kvm部署安装

 
目录
 
 
文档更新记录
完成日期
版本
描述
作者
审批
2016-04-28
V1.0
生成文档
殷超
 
 
 
 
 
 
 

一、kvm部署

1、关闭selinux和防火墙

#vi /etc/selinux/config
SELINUX=disabled
#service iptables stop

2、查看主机是否支持虚拟化

#cat /proc/cpuinfo |egrep --color 'vmx|svm'       ##查找CPU flags是否包括vmx 或者svm 关键字。intel cpu支持会有vmx,AMD cpu支持会有svm

3、安装kvm和其他虚拟化软件包

#yum -y install kvm       ##kvm内核模块,linux内核中提供kvm管理程序
# yum -y install virt*      ##创建、克隆虚拟机命令,以及图形化管理工具
# yum -y install libvirt     ##安装虚拟机管理工具,使用virsh等命令管理和控制虚拟机
#yum -y install qemu-img  ##安装qemu组件,使用qemu命令来创建磁盘等
#yum -y install bridge-utils  ##设置网络网卡桥接
# yum -y install vnc        ##安装vnc,用于远程桌面连接
# yum -y install vnc-server
#yum -y install tigervnc-server

4、确认kvm是否安装成功

# lsmod |grep kvm        ##检查KVM模块是否加载
kvm_intel     54285  6
kvm         333172  1 kvm_intel
##如果没有加载,需要执行
 
# modprobe kvm-intel
#virt-install --version       ##查看virt版本
# virsh --version

5、修改vnc配置文件并启动vnc服务

#vi /etc/sysconfig/vncservers 
  修改成   
  VNCSERVERS="1:root”   
  VNCSERVERARGS[1]="-geometry 800x600 "
#vncpasswd            #设置登录密码
#chkconfig vncserver on
#service vncserver start

6、配置网卡

# cd /etc/sysconfig/network-scripts/
# cp ifcfg-eth0 ifcfg-br0
编辑ifcfg-eth0网卡
#vi ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=a839ab55-edf4-4f3d-a400-84091117932c
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=bc:30:5b:cd:7c:fa
BRIDGE=br0
编辑ifcfg-br0网卡
#vi ifcfg-br0
DEVICE=br0
TYPE=Bridge
#UUID=a839ab55-edf4-4f3d-a400-84091117932c
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
#HWADDR=bc:30:5b:cd:7c:fa
IPADDR=192.168.32.16
PREFIX=23
GATEWAY=192.168.32.1
NETMASK=255.255.254.0
DNS2=8.8.8.8
DNS1=114.114.114.114
 
# service network restart

7、启动libvirtd和messagebus服务

# service libvirtd start          
问题:启动不了,报错Starting libvirtd daemon: libvirtd: relocation error: libvirtd: symbol                     dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference 
[FAILED]
解决:yum upgrade device-mapper-libs -y
# service messagebus start
# brctl show          ##查看网络接口列表

二、虚拟机安装

图形界面安装和命令行方式安装
第一种,先介绍命令行方式安装(推荐)centos6.5_x86-64虚拟机系统

1、创建存放虚拟机的目录和镜像文件

#mkdir /home/kvm 
#qemu-img create -f qcow2 -o preallocation=metadata /home/kvm/original.img 10G  
##preallocation=metadata预分配元数据,硬盘空间不会立即占用

2、查看镜像信息

#stat /home/kvm/centos6.5_v2.img            #stat输出磁盘镜像信息
#qemu-img check /home/kvm/centos6.5_v2.img   #check检测image是否有问题
#qemu-img info /home/kvm/centos6.5_v2.img    #info查看磁盘镜像的大小信息

3、安装虚拟机

#virt-install \
--name centos6.5_v2 \    #虚拟机名
--ram 512 \    #内存大小以MB为单位(好像512才能成功)
--disk path=/home/kvm/centos6.5_v2.img,format=qcow2,size=10,bus=virtio \    #虚拟机所用磁盘或镜像文件,以G为单位
--vcpus 1 \    #配置虚拟机的vcpu个数
--os-type linux \    
--os-variant rhel6 \
--network bridge=br0 \    #指定网络,采用网桥(如果不加这个参数默认为NET模式)*******重点!!!!*******)
--hvm \                         ##hvm全虚拟客户端,paravirt半虚拟客户端
--location=/home/centos_6.5_64.iso \        ##光盘挂载方式--location=/dev/sr0 \
--console pty,target_type=serial \            ## pty伪终端,ttyS0串行端口终端
--extra-args 'console=ttyS0,115200n8 serial'   ##extra-args 设定内核参数
接下去安装步骤和图形界面差不多,这里不作描述。
 
第二种,图形界面安装centos6.5_x86-64虚拟机系统

1、vnc登录宿主机

下载vnc-viewer客户端登陆,输入IP和连接端口号及登录密码
需了解:端口默认是从5900
开始,再加上你的桌面号。
 
 
比如你的桌面号为1(前面vnc的配置文件),则vnc的连接端口号为5900+1=5901

2、虚拟管理系统安装虚拟机

#virt-manager        ##进入虚拟管理系统
点击创建虚拟机,如下:
 
 
去掉“立即分配整个磁盘”勾,同时注意windows server2008 r2完整安装版磁盘空间需要10G
选择re-initialize all 完全初始化
 

三、kvm及虚拟机使用说明

1、使用virsh命令管理虚拟机

#virsh list --all              ##查看虚拟机列表
#virsh start domain         ##启动虚拟机
#virsh console       ##进入虚拟机
#virsh shutdown domain     ##关闭虚拟机,需要在虚拟机中安装acpid服务并启动
#virsh destroy domain       ##强制关闭电源
#virsh undefine domain     # #删除虚拟机(只删除配置文件,不删除虚拟磁盘文件)
#virsh define domain.xml    ##添加虚拟机,添加该虚拟机配置文件(注意重命名虚拟机时要先备份配置文件)
#virsh suspend domain      ##挂起一个运行的虚拟机
#virsh resume domain       ##重新恢复一个以前被挂起的虚拟机
#ctrl+]                   ##退出虚拟机返回kvm主机
注意:kvm中,把物理机host称之为node。把虚拟机称之为domain

2、克隆虚拟机

1.先关闭虚拟机virsh destroy vm-name
2.开始克隆#virt-clone -o centos6.5_v2 -n centos6.5_v3 -f /home/kvm/centos6.5_v3.img
3.开启虚拟机virsh start vm-name
4.进入新克隆好的虚拟机 virsh console vm-name 
5.进入 vi  /etc/udev/rules.d/70-persistent-net.rules
1)注释或去掉原虚拟机eth0所在的行信息
2)将新生成的eth1所在的行信息中的eth1改为eth0,将此行的新mac地址写入
6. eth1的mac地址 ifconfig –a  并且复制mac地址
7. 进入cd /etc/sysconfig/network-scripts/
然后 vi ifcfg-eth0  把复制的mac地址替换eth0的mac地址 , 保存
8. Start_udev
Service network restart
如果不行就reboot 重启系统
9. Inconfig –a 确认网络信息 看是否获取到IP地址
 
 
 
 
 
3、克隆虚拟机后无法获取IP地址,是因为没有更改mac地址
1. vi  /etc/udev/rules.d/70-persistent-net.rules
    1)注释或去掉原虚拟机eth0所在的行信息
2)将新生成的eth1所在的行信息中的eth1改为eth0,将此行的新mac地址写入ifcfg-eth0文件对应的mac地址处
Start_udev
Service network restart
Inconfig –a 确认网络信息
 
获取不到IP。
常用virsh指令:
1)virsh list 列出当前虚拟机列表,不包括未启动的
2)virsh list --all 列出所有虚拟机,包括所有已经定义的虚拟机
3)virsh destroy vm-name 关闭虚拟机
4)virsh start vm-name 启动虚拟机
5)virsh edit vm-name 编辑虚拟机xml文件
6)virsh undefine vm-name 删除虚拟机
7)virsh shutdown vm-name 停止虚拟机
8)virsh reboot vm-name 重启虚拟机
9)virsh autostart vm-name 虚拟机随宿主机启动
10)  ctrl+]                   ##退出虚拟机返回kvm主机
11)  virsh console       ##进入虚拟机
#virsh console domain  ##进入虚拟机
#ctrl+]                   ##退出虚拟机返回kvm主机
错误:不能删除 :error: Refusing to undefine while domain managed save image exists
解决:virsh undefine win7 --managed-sav
 
 
virt-install \
        --name centos6.5_v2 \
        --ram 2048 \
        --disk path=/opt/kvm/centos6.5_v2.img,format=qcow2,size=20,bus=virtio \
        --vcpus 1 \
        --os-type linux \
        --os-variant rhel6 \
        --network bridge=br0 \
        --hvm \
        --location=/home/zhengping/CentOS-6.5-x86_64-bin-DVD1.iso \
        --console pty,target_type=serial \--extra-args 'console=ttyS0,115200n8 serial'
 
  

centos6.5_64bit-kvm安装部署的更多相关文章

  1. KVM安装部署

    KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...

  2. 最新版CentOS6.5上安装部署ASP.NET MVC4和WebApi

    最新版CentOS6.5上安装部署ASP.NET MVC4和WebApi 使用Jexus5.8.1独立版 http://www.linuxdot.net/ ps:该“独立版”支持64位的CentOS ...

  3. centos6.5kvm虚拟化安装部署

    一.走进云计算 云计算:云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供, ...

  4. Linux Centos6.9下安装部署VNC的实操详述

    VNC (Virtual Network Console)是虚拟网络控制台的缩写.它 是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的.VNC 是在基于 UNIX和 Lin ...

  5. centos6 通过 kvm 安装 centos7

    参考: http://blog.51cto.com/wzlinux/1731324 http://blog.csdn.net/ztynet/article/details/54952425 一.检查C ...

  6. VMware虚拟化kvm安装部署总结

    虚拟化 1.环境 Centos7.3 关闭selinux,关闭防火墙 2.虚拟化环境配置 2.1 kvm部署安装 1. VMware 配置桥接模式 2.bios开启虚拟机,以本地台式机为例, 重启动电 ...

  7. centos6.4 ceph安装部署之ceph object storage

    preface: ceph-deploy does not provide a rapid installation for Ceph Object Storage install Configura ...

  8. centos6.5/centos7安装部署企业内部知识管理社区系统wecenter

    企业内部知识系统wecenter社区系统安装及部署 centos 6.5环境安装 因为是公司内部使用在线人数不会太多,使用yum安装lamp环境即可 1.安装lamp基本环境 yum -y insta ...

  9. centos6.8下安装部署LNMP(备注:nginx1.8.0+php5.6.10+mysql5.6.12)

    在平时运维工作中,经常需要用到LNMP应用框架.以下对LNMP环境部署记录下: 1)前期准备:为了安装顺利,建议先使用yum安装依赖库[root@opd ~]#yum install -y make ...

  10. centos6.4 ceph安装部署之cephFS

    1,ceph fileSystem

随机推荐

  1. excel测试数据导入

    需求背景:测试数据的导入一般在dataprovider中写入对应的测试数据,当参数较多,组合测试或者接口参数测试的测试数据都需要逐一写数据驱动类,数据准备消耗了大量时间.前一篇博客中介绍了对偶测试的小 ...

  2. mysql 字段类型VARCHAR转换成DECIMAL

    在我们写代码的实际业务中,有时候实体类用的是String,数据库中自然是VARCHAR类型,但是如果这个实体的属性值放的是数字类型,你查询的时候又需要对它进行排序.sql怎么写呢. 别担心mysql提 ...

  3. 【Groovy】Spock with Maven

    已经在项目里使用Groovy/Spock做测试框架了,感觉和Maven结合在一起还是挺好用的. 在Maven的pom.xml里引入他们还是挺方便的,第一先要在dependency 里引入 <de ...

  4. 使用Mybatis-plus发生org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

    容我慢慢说来,之前是使用springboot+mybatis.我一直采用xml配置文件写sql. 后来采用了mybatis-plus之后,在本地上面测试没有一点问题.一放到服务器就发生这种情况 在本地 ...

  5. GUI JFrame窗体介绍:

    GUI JFrame窗体介绍: https://www.cnblogs.com/-ksz/p/3422074.html

  6. linux中文件压缩与打包

    一.常见的压缩命令 在linux环境中,压缩文件的扩展名大多是*.tar,*.tar.gz,*.tgz,*.gz,*.Z,*.bz2,首先我们来介绍以下这些压缩文案的扩展名:. *.Z:compres ...

  7. AD域账号验证

    public partial class _Default : Page { [DllImport("advapi32.dll")] private static extern b ...

  8. Eclipse + Git + 码云

    1. 进入码云个人首页 点击自己的名称即可 2. 添加一个项目 3. 在Eclipse中创建一个本地Git Eclipse不建议git目录创建在项目的目录下,因此另选一个目录作为本地Git目录 选择一 ...

  9. 9-----BBS论坛

    BBS论坛(九) 9.1.权限和角色模型定义 (1)cms/models class CMSPermission(object): ALL_PERMISSION = 0b11111111 # 1.访问 ...

  10. stringstream的使用

    stringstream是 C++ 提供的另一个字串型的串流(stream)物件,和之前学过的iostream.fstream有类似的操作方式.要使用stringstream, 必须先加入这一行: # ...