一、环境准备
1.关闭selinux
#getenforce 查看selinux状态
#setenforce 0 临时关闭,重启是失效
最好永久关闭: cd /etc/selinux/config 修改enforcing为disabled后保存退出
2.关闭防火墙
#systemctl stop firewalld
#systemctl disable firewalld
3关闭Network Manager
#sysetmctl stop Network Manager
#systemctl disable Network Manager
二、开始安装
1.检查物理机是否支持虚拟化
#cat /proc/cpuinfo |grep vmx
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 popcnt lahf_lm ssbd ibrs ibpb
这是截取的一段,有这个说明服务器支持虚拟化
2.安装kvm以及需要的依赖包
#yum -y install qemu-kvm qemu-key-tools virt-manager libvirt virt-install python-virtinst bridge-utils kvm qemu libvirt virt-viewer qemu-system
3.查看KVM虚拟环境和模块是否完成
a. virsh list --all或者virsh -c qemu:///system list //这个要实行要start libvirtd
b. # lsmod |grep kvm
kvm_intel 183720 4
kvm 578558 1 kvm_intel
注意:这个是服务器的模块。如何没有kvm_intel.说明没有开虚拟环境
这个要进bios 找 CPU Configuration项有 Virtualization 的把disabled 改enabled,保存,退出就好了
三、物理机上配置桥接模式
#cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0
#cd /etc/sysconfig/network-scripts/
#vi ifcfg-eth0
NAME="eth0"
DEVICE="eth0"
ONBOOT=yes
NETBOOT=yes
IPV6INIT=yes
BOOTPROTO=static
TYPE=Ethernet
IPADDR=192.168.9.123
NETMASK=255.255.0.0
GATEWAY=192.168.2.1
DNS1=114.114.114.114
BRIDGE=br0 //添加这行
#vi ifcfg-br0
NAME="eth0" //要不要都可以
DEVICE=br0 //修改br0
ONBOOT=yes
NETBOOT=yes
IPV6INIT=yes
BOOTPROTO=static
TYPE=Bridge //修改Bridge
IPADDR=192.168.9.123
NETMASK=255.255.0.0
GATEWAY=192.168.2.1
DNS1=114.114.114.114
#systemctl restart network
四.开启libvirtd进程
systemctl start libvirtd
systemctl enable libvirtd
五、VNC配置文件及密码
#vi /etc/libvirt/qemu.conf
可以注释掉vnc_password = "XYZ12345"
不注释掉vnc_password VNC连接虚拟机不用密码 ///推荐,也就不用修改如何东西
六.创建虚拟机
1.最好先创建一个目录放虚拟机镜像
mkdir /data
cd /data
qemu-img create -f qcow2 centos7.qcow2 20G //centos7.cow2 在/data下
2.创建虚拟机配置文件,及安装
virt-install --name=centos7 --os-variant=RHEL7 --ram 2048 --vcpus=2 --disk path=/data/centos7.qcow2,format=qcow2,size=20,bus=virtio --accelerate --cdrom /data/iso/CentOS-7.0-1406-x86_64-Minimal.iso --vnc --vncport=6010 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole
注意:镜像不要放在root下面有可能会报错,如:
ERROR internal error: process exited while connecting to monitor: 2018-11-09T08:12:28.208158Z qemu-kvm: -drive file=/root/CentOS-7.2-x86_64-Minimal-1511.iso,format=raw,if=none,id=drive-ide0-0-0,readonly=on: could not open disk image /root/CentOS-7.2-x86_64-Minimal-1511.iso: Could not open '/root/CentOS-7.2-x86_64-Minimal-1511.iso': Permission denied
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
virsh --connect qemu:///system start centos7
说明:
--name 指定虚拟机的名称
--ram 指定Virtual Machine
--disk的内存量path = xxx,size = xxx
'path ='⇒指定虚拟机
size ='⇒指定虚拟机的磁盘数量
--vcpus 指定虚拟CPU
--os-type 指定GuestOS 的类型
--os-variant 指定GuestOS的类型 - 可能确认列表中使用以下命令osinfo-query os
--network 指定虚拟机的网络类型
--graphics 指定图形的类型。如果设置为“无”,则意味着非图形。
--console 指定控制台类型
--location 指定安装的位置,其中from
--extra-args 指定在内核中设置的参数
常用命令:
通过virsh查看libvirt命令行
list:显示运行状态
list-all: 显示所有
start centos-7 : 启动虚拟机
dumpxml 1查看配置 graphics type='vnc' port='6010'
七.我用的window客户机,提前下载vnc Viewer客户端
1. 点击file选中new connection
2.在VNC Servre:x.x.x.x:6010
注意:6010上面创建安装虚拟机已经设置好了。好像默认是5900,一般高于这个数且不冲突其他端口就行
3.保存 ok就可以
追加一句:一般kvm配置文件在/etc/libvirt/qemu下