1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
| 安装环境在CentOS6.6_x64 * 方法一 1. 查看是否支持虚拟化 egrep '(vmx|svm)' /proc/cpuinfo 2. 关闭SELinux和防火墙 setenforce 0 getenforce systemctl stop firewalld systemctl disable firewalld 3. 加载kvm模块 modprobe kvm 4. 查看是否加载kvm lsmod | grep kvm 5. 安装KVM软件 yum -y install qemu-kvm qemu-kvm-tools 6. 因为安装后qemu-kvm命令不在环境变量中,所以要添加 ln -sv /usr/libexec/qemu-kvm /usr/sbin 7. qemu-kvm查看帮助、支持模拟的PC、可模拟的CPU架构 qemu-kvm -h qemu-kvm -M ? qemu-kvm -cpu ? 8. 安装VNC服务端 yum -y install tigervnc-server 9. 将系统镜像文件复制到服务器 10. 创建虚拟机的镜像文件目录并创建镜像文件 mkdir /images/vm1 -pv qemu-img create -f qcow2 -o size=100G /images/vm1/ubuntu.qcow2 # 创建虚拟机前,需要先有一个虚拟磁盘文件,不然无法创建虚拟机 11. 创建虚拟机 qemu-kvm -name "ubuntu10" -m 1024 -smp 2 -hda /images/vm1/ubuntu.qcow2 -cdrom ubuntu-10.01.***.iso -vnc :0 -boot order=dc # -name是取一个虚拟机的名字;-m指定内存大小;-smp指定CPU的颗数,但不要超过物理核心数;-hda是指定磁盘镜像,因为是本地第一个分区所以用-hda;-cdrom是指定光盘镜像;-boot是指定启动次序,这里的d指使用一次;-net nic是指定网卡的,指定nic会向某个接口进行桥连接,如果不能连接会报错,所以这里不用此选项;-vnc :0是为了避免vnc连接失败。启动后提示在5900上启动了vnc # 发现在ubuntu18.04中找不到qemu-kvm命令,即使安装了qemu-kvm包。 12. 在CentOS上安装vnc客户端测试 yum -y install tigervnc 13. 连接VNC服务器进行安装 vncviewer :5900 14. windows上安装VNC-viewer软件,连接时输入IP:5900,NAME输入在qemu-kvm创建时用-name创建的虚拟机名字 15. 安装xp系统 qemu-img create -f qcow2 -o size=100G /images/vm1/xp.qcow2 # 创建虚拟磁盘 qemu-kvm -name "winxp" -m 768 -smp 4 -drive file=/images/vm1/xp.qcow2,if=ide,index=0,media=disk,format=qcow2 -drive file=/root/winxp_ghost.iso,media=cdrom,index=1 -vnc :0 -boot order=dc # -drive中的第一個file指定磁盤映像文件,if指定磁盤接口類型,index表示爲第幾個設備,0爲第一個設備,從0開始編號,media=disk表示是一個磁盤設備,format=qcow2是指定映像文件的格式。第二個file指定光盤映像文件,media=cdrom是指明是一個光盤。啓動成功。 16. 安装openSUSE qemu-kvm -m 2048 -name opensuse -drive file=/home/ruopu/private1/VirtaulOS/openSUSE/openSUSE.qcow2,media=disk,format=qcow2,if=ide -net nic -boot c
* 方法二 1. 查看是否支持虚拟化 egrep '(vmx|svm)' /proc/cpuinfo 2. 关闭SELinux和防火墙 setenforce 0 getenforce systemctl stop firewalld systemctl disable firewalld 3. 加载kvm模块 modprobe kvm 4. 查看是否加载kvm lsmod | grep kvm 5. 安装依赖软件 yum install -y qemu-kvm libvirt virt-install bridge-utils tigervnc tigervnc-server virt-manager # virt-manager是一个图形管理页面 6. 开启kvm服务,并且设置其开机自动启动 systemctl start libvirtd systemctl enable libvirtd systemctl status libvirtd systemctl is-enabled libvirtd 7. 配置网桥模式。配置好之后会有br0和virbr0两个网卡 cd /etc/sysconfig/network-scripts cp ifcfg-eno16777736 ifcfg-eno16777736.bak vim ifcfg-br0 BOOTPROTO=static DEVICE=br0 TYPE=Bridge NM_CONTROLLED=no IPADDR=192.168.1.90 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=192.168.1.1 vim ifcfg-eno16777736 BOOTPROTO=none DEVICE=enp0s25 NM_CONTROLLED=no # 此条必须配置。这是NetworkManager的参数,如果是yes,那么会实时生效,修改后无需要重启网卡立即生效。通常不使用NetworkManager管理网络 ONBOOT=yes BRIDGE=br0 systemctl restart network # 可按此方法配置多个网桥设备 8. 复制系统镜像文件到服务器 9. 创建虚拟磁盘,这里创建的镜像文件格式建议用.img格式。 qemu-img create -f qcow2 -o size=50G centos7.img # 需要事先创建磁盘文件,不然下面的命令会报错“ERROR Format cannot be specified for unmanaged storage.”,这应该是virt-manager 没有找到存储池的问题 qemu-img create -f qcow2 -opreallocation=metadata RHEL7.img 40G # 这样创建磁盘也可以,重要的是-opreallocation=metadata选项,可以预分配磁盘,硬盘空间不会立即分配出去 10. 创建虚拟机 virt-install -n xp -r 1024 --vcpus 2 --disk /images/xp.img,format=qcow2,size=50 --network bridge=br0 --os-type=windows --cdrom /images/vm1/xp.iso --vnc --vncport=5900 --vnclisten=0.0.0.0 --accelerate
virt-install -n centos6 -r 1024 --vcpus 2 --disk /images/centos.img,format=qcow2,size=30 --network bridge=br0 --network bridge=br1 --os-type=linux --cdrom /images/vm1/centos6.iso --vnc --vncport=5900 --vnclisten=0.0.0.0 --accelerate # --accelerate表示KVM或KQEMU内核加速,这个选项是推荐最好加上。如果KVM和KQEMU都支持,KVM加速器优先使用。--vncport指定端口,--vnclisten很重要,0.0.0.0表示监听在所有端口,不指定的话会监听在本地回环地址,用vncviewer是不能连接的。另外,不能两个VNC软件同时连接虚拟机;--disk /images/centos.img,format=qcow2,size=30是一定要定义的,这与上面创建的磁盘大小没有关系,如果这里不指定磁盘大小,在安装时会显示磁盘大小是0 # 在启动KVM时,提示"ioctl(KVM_CREATE_VM) failed: 16 Device or resource busy"。这是因为有另一个虚拟程序在运行,它锁定了虚拟化功能。如VirtualBox在运行时,就不能启动KVM虚拟机了。
|