-
作者:SRE运维博客
博客地址: https://www.cnsre.cn/
文章地址:https://www.cnsre.cn/posts/211108848062/
相干话题:https://www.cnsre.cn/tags/kvm/
-
装置前筹备
验证CPU是否反对KVM
如果后果中有vmx(Intel)或svm(AMD)字样,就阐明CPU的反对的。
egrep '(vmx|svm)' /proc/cpuinfo
敞开SELinux
将 /etc/sysconfig/selinux
中的 SELinux=enforcing
批改为 SELinux=disabled
装置一些最根本的服务
可选项,因为我是刚装置好的CentOS,所以为了上面不便点,先把一些必要的工具装置下
yum install epel-release net-tools vim unzip zip wget ftp -y
装置KVM及其依赖项
yum install qemu-kvm libvirt virt-install bridge-utils -y
验证装置后果
下图阐明曾经胜利装置了
lsmod | grep kvm
开启kvm服务
并且设置其开机主动启动
systemctl start libvirtd systemctl enable libvirtd
查看状态操作后果
如下图所示,阐明运行状况良好
systemctl status libvirtd
systemctl is-enabled libvirtd
配置网桥模式
先将 /etc/sysconfig/network-scripts/
目录下的网卡配置文件备份一份
创立 ifcfg-br0 文件
创立的 br0
文件的IP地址要和物理网卡的IP地址统一,命令 ipconfig
查看物理网卡将不会显示IP
内容如下:
[root@bogon ~]*# vim /etc/sysconfig/network-scripts/ifcfg-br0*DEVICE=br0BOOTPROTO=noneDEFROUTE=yesONBOOT=yesTYPE=BridgeIPV4_FAILURE_FATAL=yesIPADDR=192.168.1.130NETMASK=255.255.255.0GATEWAY=192.168.1.254DNS1=221.6.4.66DELAY=0USERCE=no
批改原网卡配置
vim /etc/sysconfig/network-scripts/ifcfg-eno1sTYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="YES"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="eno1"UUID="bb40d726-8d67-4187-90c3-eb61e1b42d61"DEVICE="eno1"ONBOOT="yes"IPADDR="192.168.1.130"NETAMSK=255.255.255.0GATEWAY="192.168.1.254"DNS1="221.6.4.66"IPV6_PRIVACY="no"BRIDGE=br0
重启网络服务
systemctl restart network
应用 ifconfig
验证操作后果,多了一块网卡 br0
,当初拜访宿主机 应用 192.168.1.130
就能够了。
装置虚拟机
筹备操作系统装置镜像文件
在本文中将应用和宿主环境一样的 CentOS7.2
,把该文件放到 /home/iso
目录下
挂载U盘
[root@nkgtsv01 ~]# fdisk -lWARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.磁盘 /dev/sda:2995.0 GB, 2994995200000 字节,5849600000 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 4096 字节I/O 大小(最小/最佳):4096 字节 / 4096 字节磁盘标签类型:gptDisk identifier: 434CB2EB-C42E-4B9D-A76B-B759709EC159# Start End Size Type Name 1 2048 206847 100M EFI System EFI System Partition 2 206848 616447 200M Microsoft basic 3 616448 5849597951 2.7T Linux LVM磁盘 /dev/mapper/centos-root:214.7 GB, 214748364800 字节,419430400 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 4096 字节I/O 大小(最小/最佳):4096 字节 / 4096 字节磁盘 /dev/mapper/centos-swap:17.2 GB, 17179869184 字节,33554432 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 4096 字节I/O 大小(最小/最佳):4096 字节 / 4096 字节磁盘 /dev/mapper/centos-home:322.1 GB, 322122547200 字节,629145600 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 4096 字节I/O 大小(最小/最佳):4096 字节 / 4096 字节磁盘 /dev/mapper/centos-tmp:107.4 GB, 107374182400 字节,209715200 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 4096 字节I/O 大小(最小/最佳):4096 字节 / 4096 字节磁盘 /dev/mapper/centos-data:2333.2 GB, 2333249372160 字节,4557127680 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 4096 字节I/O 大小(最小/最佳):4096 字节 / 4096 字节磁盘 /dev/sdb:31.0 GB, 31004295168 字节,60555264 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0xcad4ebea 须要挂载的硬盘 设施 Boot Start End Blocks Id System/dev/sdb4 * 256 60555263 30277504 7 HPFS/NTFS/exFAT[root@nkgtsv01 ~]# mkdir -p /mnt/udisk[root@nkgtsv01 ~]# lsanaconda-ks.cfg[root@nkgtsv01 ~]# ls /mnt/udisk usb[root@nkgtsv01 ~]# mount -t ntfs-3g /dev/sdb4 /mnt/udisk/mount: 未知的文件系统类型“ntfs-3g”[root@nkgtsv01 ~]# yum list *ntfs*已加载插件:fastestmirrorLoading mirror speeds from cached hostfile * base: ftp.sjtu.edu.cn * epel: mirrors.ustc.edu.cn * extras: ftp.sjtu.edu.cn * updates: ftp.sjtu.edu.cn可装置的软件包ntfs-3g.x86_64 2:2017.3.23-1.el7 epelntfs-3g-devel.x86_64 2:2017.3.23-1.el7 epelntfsprogs.x86_64 2:2017.3.23-1.el7 epel已装置: ntfs-3g.x86_64 2:2017.3.23-1.el7结束![root@nkgtsv01 ~]#yum install ntfs-3g.x86_64 -y[root@nkgtsv01 ~]# mount -t ntfs-3g /dev/sdb4 /mnt/udisk/The disk contains an unclean file system (0, 0).The file system wasn't safely closed on Windows. Fixing.[root@nkgtsv01 ~]#[root@nkgtsv01 ~]# ls /mnt/udisk usb[root@nkgtsv01 ~]# ls /mnt/udisk/CentOS-7.2-x86_64-DVD-1611.iso CentOS-7-x86_64-DVD-1708.iso maven_storey2.zip[root@bogon data]# mkdir -p /data/iso[root@bogon data]# lsiso kvm-bak network[root@nkgtsv01 ~]# mount -o loop /mnt/udisk/CentOS-7-x86_64-DVD-1708.iso /data/iso/mount: /dev/loop0 写爱护,将以只读形式挂载
创立虚拟机文件寄存的目录
mkdir -p /data/kvm-images
{{< alert theme="warning" dir="ltr" >}}
⚠️ 留神
对于virtio-win驱动
{{< /alert >}}
virtio-win驱动次要用于kvm里的 windows虚拟机。virtio-win提供yum源装置rpm包,virtio驱动默认会装置在/usr/share/virtio-win目录中,可共享于kvm里的windows虚拟机。
sudo wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo# 增加repo
该repo文件提供两个不同的仓库:
- virtio-win-stable
默认,该仓库的版本和RHEL版本关联在一起公布,意味着失去了十分多的测试,很稳固。 virtio-win-latest
该仓库提供最新的build版本,这些版本可能有各种问题,用户需本人承担风险。这个仓库默认是disable的。如果你想从稳定版更新到最新版,能够应用如下命令:sudo yum --enablerepo=virtio-win-latest update virtio-win
装置实现后的文件会寄存在/user/share,内容如下:
/usr/share/virtio-win/*.iso: ISO镜像,蕴含所有驱动,具体内容前面会形容/usr/share/virtio-win/*.vfd: 用于Windows XP下的VFD软驱镜像/usr/share/virtio-win/drivers: 从VFD软驱镜像中提取的文件/usr/share/guest-agent/*.msi: QEMU Guest Agent 32bit 和 64bit 安装包
其中ISO镜像内容为:
NetKVM/: Virtio网络驱动viostor/: Virtio块驱动vioscsi/: Virtio SCSI驱动viorng/: Virtio RNG驱动vioser/: Virtio串口驱动Balloon/: Virtio 内存气球驱动qxl/: 用于Windows 7及之前版本的QXL显卡驱动. (virtio-win-0.1.103-1和之后版本会创立)qxldod/: 用于Windows 8及之后版本的QXL显卡驱动. (virtio-win-0.1.103-2和之后版本会创立)pvpanic/: QEMU pvpanic 设施驱动 (virtio-win-0.1.103-2和之后版本会创立)guest-agent/: QEMU Guest Agent 32bit 和 64bit 安装包qemupciserial/: QEMU PCI 串口设施驱动
或者你也能够通过一下方获取
稳定版virtio-win iso
稳定版virtio-win x86 floppy
稳定版virtio-win amd64 floppy
最新版virtio-win iso
最新版virtio-win x86 floppy
最新版virtio-win amd64 floppy
最新版qemu-ga files
全副下载目录
变更日志
应用 virt-install 创立虚拟机
[root@bogon data]# virt-install --virt-type kvm --name=njvm2k8 --ram=1024 --vcpus=1 --os-type=windows --accelerate --cdrom=/home/kvm_data/iso/cn_windows_server_2008_r2_617396.iso --disk path=/usr/share/virtio-win/virtio-win.iso,device=cdrom --disk path=/home/kvm_data/img/njvm2k8.qcow2,bus=virtio --network bridge=br0 --graphics vnc,listen=0.0.0.0,password=123456,port=5920 --noautoconsole WARNING 无奈连贯到图形控制台:没有装置 virt-viewer。请装置 'virt-viewer' 软件包。WARNING 没有控制台用于启动客户机,默认为 --wait -1开始装置......正在调配 'njvm2k8.img' | 200 GB 00:00:00正在删除磁盘 'njvm2k8.img' | 0 B 00:00:00域装置失败,您能够运行下列命令重启您的域:'virsh start virsh --connect qemu:///system start njvm2k8'否则请从新开始装置
不要理睬外面提醒的谬误,接着往下走
命令含意
virt-install --name=客户机名称 --ram 内存(1024)1G --vcpus= cpu1 --os-type= 客户机零碎类型 --os-variant= win2k8 --disk path= 客户机文件寄存门路 ,size=客户机硬盘大小200 --accelerate --cdrom (镜像文件门路) --vnc --vncport=vnc近程端口 5910 --network bridge=网卡桥接 br0,model=virtio --noautoconsole
关上防火墙上的5910端口
因为 VNC
应用的端口默认是 5910
所以须要关上防火墙, 防火墙若敞开请疏忽
firewall-cmd --zone=public --add-port=5910/tcp --permanent
查看关上新创建的虚拟机
virsh list --allvirsh start njvm2k8-win
应用VNC链接虚拟机
vncviewer下载地址
应用VNC输出宿主机IP地址 加上端口号 输出虚拟机名字而后关上
{{< alert theme="warning" dir="ltr" >}}
⚠️ 留神
装置的时候找不到硬盘
{{< /alert >}}
如果再装置的时候找不到硬盘,请执行一下操作
挂载win镜像
virsh change-media njvm2k8 hdb /usr/share/virtio-win/virtio-win.iso
而后勾销挂载的镜像 把零碎镜像 从新挂载到零碎 进行分区 装置零碎
装置结束重启虚拟机
装置完会重启windows虚拟机
咱们查看状态 而后启动虚拟机
期待装置实现
启动之后设置明码 咱们就进入了新的windows 操作系统
用vnc链接
{{< alert theme="warning" dir="ltr" >}}
⚠️ 留神
挂载软驱 (硬盘驱动 网卡驱动等)正文:网卡驱动要在零碎中装好之后挂载 不然装零碎的时候会提醒找不到光盘镜像
{{< /alert >}}
在宿主机中执行命令
virsh change-media njvm2k8 hdb /usr/share/virtio-win/virtio-win.iso
VMTools工具装置实现后,应用如下命令卸载掉挂载的VMTools工具:
a.如果是Linux虚拟机,执行如下命令卸载VMTools工具:virsh change-media 【虚拟机ID】 --eject 【vmtools-linux.iso文件全门路】b.如果是Windows虚拟机,执行如下命令卸载VMTools工具:virsh change-media 【虚拟机ID】 --eject 【vmtools-windows.iso文件全门路】
挂载驱镜像文件到njvm2k8主机上
用vnc链接
-
作者:SRE运维博客
博客地址: https://www.cnsre.cn/
文章地址:https://www.cnsre.cn/posts/211108848062/
相干话题:https://www.cnsre.cn/tags/kvm/
- -