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. Linq To DataTalbe 列X不属于表

    项目中遇到一个问题,利用linq to datatable查询得到一个query,截止到红色代码部分时,一切都正常,只要一运行query.where 就会报异常:列“SingDate”不属于列表,查看 ...

  2. PAT - 1067 试密码 (20 分)

    当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实现这个小功能. 输入格式: 输入在第一行给出一个密码(长度不超过 20 的.不包含空格. ...

  3. Til the Cows Come Home (dijkstra算法)

    Bessie is out in the field and wants to get back to the barn to get as much sleep as possible before ...

  4. 毕业设计 python opencv实现车牌识别 矩形矫正

    主要代码参考https://blog.csdn.net/wzh191920/article/details/79589506 GitHub:https://github.com/yinghualuow ...

  5. 搭建一个wordpress网站需要做哪些工作

    今天做了自己的个人网站:二飞日志 之前因为服务器的问题,因为备案的原因辛辛苦苦做的站点数据没了.还好的是没有多少数据.没关系,重新来.有了上一次的经验,这次搭建起来比较顺手.但是也出现了几个问题.下面 ...

  6. PHP、thinkPHP5.0开发网站文件管理功能(四)下载文件

    public function download($currdir = null){ $file = urldecode($currdir); $file = iconv('UTF-8', " ...

  7. 几种经过整理的文件上传压缩和前台js压缩的方法

    /** * 图片压缩上传 * @param $im,图片资源 * @param int $maxwidth,最大宽度,超过这个宽度则进行压缩 * @param int $maxheight,最大高度, ...

  8. c++中代理类的学习

    https://blog.csdn.net/lcg910978041/article/details/51468680 C++代理类是为了解决这样的问题: 容器通常只能包含一种类型的对象,所以很难在容 ...

  9. c++ 多线程 0

    1.1 何谓并发 最简单和最基本的并发,是指两个或更多独立的活动同时发生.  (注意区别于计算机中的并发情况!!!!!!!!!!见下面) 1.1.1 计算机系统中的并发:是指在单个系统里同时执行多个独 ...

  10. java 开发体系参考学习

    https://www.oschina.net/question/2663968_2283797