首页 > 代码库 > centos6安装创建kvm虚拟机

centos6安装创建kvm虚拟机


 注:此方法为纯命令行安装kvm和虚拟机,没有任何图形化。

(1)cpu支持虚拟化

(2)64位

(3)内存2G以上

CRT远程宿主机,先连接好宿主机网络

(1)安装软件   yum install -y kvm virt-*  libvirt  bridge-utils qemu-img 

/etc/init.d  libvirtd start

(2)设置桥接网络

[root@xuegod63 network-scripts]# vim ifcfg-eth0
DEVICE=eth0
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none   
IPV6INIT=no
USERCTL=no
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="eth0"
HWADDR=00:0C:29:12:EC:1E
BRIDGE=br0     添加此项

生成桥设备的配置文件:
[root@xuegod63 network-scripts]# vim ifcfg-br0 #创建 ifcfg-br0 文件,并写入以下内容
DEVICE=br0
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Bridge

BOOTPROTO=none
IPADDR=192.168.0.#
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.1
注:TYPE="Bridge" , B要大写

service network restart      重启网络查看ip    

brctl show   查看桥接状态

(3)创建安装虚拟机

virt-install --name  kvm --ram 512 --disk path=/var/lib/libvirt/images/kvm.img,format=qcow2,size=10,bus=virtio  --vcpus 1 --os-type linux --os-variant rhel6 --network bridge=br0 --graphics none --console pty,target_type=serial --location /mnt/CentOS-7-x86_64-Minimal-1503-01.iso --extra-args ‘console=ttyS0,115200n8 serial‘       (里面参数需要自己设定)

--name  指定虚拟机的名字

--ram 指定内存分配多少

--disk path 指定虚拟磁盘放到哪里,size=30 指定磁盘大小为30G,这样磁盘文件格式为raw,raw格

式不能做快照,后面有说明,需要转换为qcow2格式,如果要使用qcow2格式的虚拟磁盘,需要事先创

建qcow2格式的虚拟磁盘。   示例:qemu-img create -f qcow2 -o preallocation=metadata  

/data/kvm/ddb2.qcow2 10G  --disk path=/data/ddb2.img,format=qcow2,size=7,bus=virtio

--vcpus 指定分配cpu几个

--os-type 指定系统类型为linux

--os-variant 指定系统版本

--network  指定网络类型

--graphics 指定安装通过哪种类型,可以是vnc,也可以没有图形,在这里我们没有使用图形直接使

用文本方式

--console 指定控制台类型

--location 指定安装介质地址,可以是网络地址,也可以是本地的一个绝对路径,如果是绝对路径,

那么后面还需要指定一个安装介质,比如NFS,假如虚拟机设置ip后,不能连外网,那么就会提示让我

们选择安装途径。       

执行完成后会创建虚拟机并进入文本控制台界面,剩下的就是选项基本和正常装机一样

安装完成后重启会直接进入虚拟机,  点击Ctrl+]会退出虚拟机回到宿主机,virsh console name宿主机进入虚拟机。

命令行:

virsh list                                                  #显示本地活动虚拟机

virsh list –all                                           #显示本地所有的虚拟机(活动的+不活动的)

virsh define name.xml                      #通过配置文件定义一个虚拟机(这个虚拟机还不是活动的)

virsh start name                               #启动名字为ubuntu的非活动虚拟机

virsh create name.xml                     # 创建虚拟机(创建后,虚拟机立即执行,成为活动主机)

virsh suspend name                          # 暂停虚拟机

virsh resume name                           # 启动暂停的虚拟机

virsh shutdown name                      # 正常关闭虚拟机

virsh destroy name                         # 强制关闭虚拟机

virsh undefine name        #删除虚拟机

virsh dominfo name                        #显示虚拟机的基本信息

virsh domname 2                                 # 显示id号为2的虚拟机名

virsh domid name                            # 显示虚拟机id

virsh domuuid name                        # 显示虚拟机的uuid

virsh domstate name                     # 显示虚拟机的当前状态

virsh dumpxml name                     # 显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时,需要给虚拟机分配id号、uuidvnc端口号等等)

virsh setmem name 512000           #给不活动虚拟机设置内存大小

virsh setvcpus name 4                      # 给不活动虚拟机设置cpu个数

virsh edit name                                # 编辑配置文件(一般是在刚定义完虚拟机之后)

virsh autostart name             # 虚拟机随着KVM服务器启动而启动

libvirt还提供了一个shell:virsh,直接执行名virsh即可获得一个特殊的shell:virsh,在这个virsh里面可以执行上面的命令(去掉前面的virsh)与本地libvirt交互,还可以通过命令connect命令连接远程libvirt,与之交互,例如:connect xen+ssh://root@10.4.122.11。另外可以只执行一条远程libvirt命令:virsh –c xen+ssh://root@10.4.122.11 list --all



centos6安装创建kvm虚拟机