virsh创建虚拟机
1. 查看cpu是否支持虚拟化
和 Xen 不同,KVM 需要有 CPU 的支持(Intel VT 或 AMD SVM),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持
1
|
egrep 'vmx|svm' /proc/cpuinfo |
2. 安装工具包
1
|
yum install qemu-kvm qemu-kvm-tools virt-manager libvirt |
3. 查看kvm是否安装成功
1
|
lsmod | grep kvm |
4. 关闭防火墙
1
2
|
setenforce 0 service iptables stop |
5. 修改 qemu.conf 配置,把下面几个地方的注释去掉,然后把 dynamic_ownership 的值改成0,禁止 libvirtd 动态修改文件的归属
1
2
3
4
|
vi /etc/libvirt/qemu .conf 改成如下: user = “root” group=”root” dynamic_ownership = 0 |
重启libvirtd服务
1
|
service libvirtd restart |
上面如果不改的话安装的时候会报如下错误:
ERROR 内部错误 processexited while connecting to monitor: char device redirected to /dev/pts/3
2016-01-16T00:26:14.879409Z
qemu-kvm:-drivefile=/root/centos6.raw,if=none,id=drive-virtio-disk0,format=raw,cache=none:could
not open disk image /root/centos6.raw: Permission denied
Domain installation does not appear tohave been successful.
If it was, you can restart your domain byrunning:
virsh --connect qemu:///system start CentOS-x86.64
otherwise, please restart yourinstallation
6. 创建虚拟磁盘
1
|
qemu-img create -f raw /root/centos6 .6.raw 10G |
7. 安装虚拟机
1
2
3
4
5
6
7
8
9
10
11
|
virt- install \ --virt- type kvm \ --name CentOS-6.6-x86.64 \ # 虚拟机名 -- ram 512 \ #分配内存大小 --cdrom= /root/CentOS-6 .7-i386-minimal.iso\ #系统镜像路径 --disk path= /root/centos6 .6.raw \ #磁盘路径 --network network=default \ #网络默认 --graphics vnc,listen=0.0.0.0 \ --noautoconsole \ #不自动开启控制台 --os- type =linux -\ #系统类型 linux --os-variant=rhel6 #系统版本 |
8. 使用vnc客户端连接刚刚创建的虚拟机
连接成功之后就进入系统安装界面了
9.配置虚拟网桥
添加桥接设备br0:
1
|
brctl addbr br0 |
1
2
|
cd /etc/sysconfig/network-scripts/ cp ifcfg-eth0 ifcfg-br0 |
vi ifcfg-br0 配置改为如下:
1
2
3
4
5
6
7
8
|
DEVICE=br0 TYPE=Bridge ONBOOT= yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.1.221 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 |
vi ifcfg-eth0 配置改为如下:
1
2
3
4
5
|
DEVICE=eth0 TYPE=Ethernet ONBOOT= yes NM_CONTROLLED=no BRIDGE=br0 |
重启网络服务:
1
|
Service network restart |
10.为虚拟机配置桥接
1
2
3
4
|
virsh edit CentOS-6.6-x86.64 #编辑虚拟机的配置xml文件将网络配置改为如下: <interface type = 'bridge' > <mac address= '52:54:00:87:2d:7b' /> <sourcebridge= 'br0' /> |
11.重启虚拟机
1
2
|
virsh destroy CentOS-6.6-x86.64 virsh start CentOS-6.6-x86.64 |
12.测试虚拟机能否ping通宿主机
常用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 虚拟机随宿主机启动