centos 7搭建kvm虚拟化

前言

KVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM。

永久关闭防火墙和SElinux

博客里面搜

安装kvm

查看本机是否支持虚拟化
结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。

安装kvm及相关组件
重启系统

1
2
3
cat /proc/cpuinfo | egrep 'vmx|svm'
yum -y install qemu-kvm libvirt virt-install bridge-utils
reboot

查看kvm模块是否加载
开启kvm
设置开机启动

1
2
3
4
lsmod | grep kvm
systemctl enable libvirtd
systemctl start libvirtd
systemctl status libvirtd

修改系统语言为英文。

1
vi /etc/locale.conf

注释掉之前的,添加以下内容。

1
LANG="en_US.UTF-8"

安装虚拟机

安装win7,我已经把iso放在用户目录里了。

1
virt-install --virt-type=kvm --name=kod --vcpus=1 --memory=1024 --location=CentOS-7-x86_64-DVD-2207-02.iso --disk path=/mnt/usb/kod.qcow2,size=30,format=qcow2 --network bridge=br0 --graphics none --extra-args='console=ttyS0' --force

修改主机名

1
hostnamectl set-hostname kvm

kvm使用u盘

安装lsusb工具
查询usb 的对应id

1
2
yum -y install usbutils
lsusb

输出

1
2
3
4
Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

我的u盘插在usb3.0的口子上的,应该是第一个,id为1d6b:0003
创建usb.xml 用来kvm识别usb,把刚刚的id拆分开,前缀为0x

1
vi usb.xml

保存为

1
2
3
4
5
6
<hostdev mode='subsystem' type='usb'>
<source>
<vendor id=0x1d6b'/>
<product id='0x0003'/>
</source>
</hostdev>

然后挂载到想要使用u盘的虚拟机上

1
virsh attach-device kod usb.xml

如果想要卸载,命令如下

1
virsh detach-device kod usb.xml

参考文献

CentOS7安装KVM虚拟机详解
CentOS7 下VNC Server远程桌面配置详解
centos 7 修改系统屏幕分辨率
VNC启动报错问题‘testdb:1 is taken because of’解决
KVM虚拟机使用桥接方式时和宿主机无法通信的解决方案
CentOS设置中文输入法
CentOS7删除virbr0网桥