Linux中安装和管理KVM(虚拟机中安装windows10系统)
时间:2023-07-17 05:21:02 | 来源:网站运营
时间:2023-07-17 05:21:02 来源:网站运营
Linux中安装和管理KVM(虚拟机中安装windows10系统):1、KVM介绍
Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。
2、KVM相关安装包
qemu-kvm 主要的KVM程序包
python-virtinst 创建虚拟机所需要的命令行工具和程序库
virt-manager GUI虚拟机管理工具
virt-top 虚拟机统计命令
virt-viewer GUI连接程序,连接到已配置好的虚拟机
libvirt C语言工具包,提供libvirt服务
libvirt-client 虚拟客户机提供的C语言工具包
virt-install 基于libvirt服务的虚拟机创建命令
bridge-utils 创建和管理桥接设备的工具
3、安装KVM
(1)检查CPU是否支持虚拟化
[root@localhost ~]#grep vmx /proc/cpuinfo
(2)查看是否加载了KVM模块
[root@localhost ~]#lsmod | grep kvm
备注:如果没有加载,运行以下命令:
[root@localhost ~]# modprobe kvm
[root@localhost ~]# modprobe kvm-intel
[root@localhost ~]# lsmod | grep kvm
此时,内核模块导出了一个名为/dev/kvm的设备,这个设备将虚拟机的的地址空间独立于内核或者任何应用程序的地址空间。
[root@localhost ~]#ll /dev/kvm
crw-rw-rw-. 1 root kvm 10, 232 Jul 24 23:25 /dev/kvm
(3)桥接网络
1)安装brctl命令,用于管理网桥的工具
[root@localhost ~]# yum -y install bridge-utils
2)重启网络服务
[root@localhost ~]# systemctl restart network
3)配置KVM的网桥模式
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-br0
[root@localhost network-scripts]# vi ifcfg-br0
TYPE="Bridge" //类型修改为Bridge
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="no"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="br0" //网卡名修改为br0
#UUID="11b3aae9-6e3b-42ac-a232-d30499756c40" //注释UUID
DEVICE="br0" //设备名称修改为br0
ONBOOT="yes"
IPADDR="192.168.150.131"
PREFIX="24"
GATEWAY="192.168.150.1"
DNS1="8.8.8.8"
-----------------------------------
[root@localhost network-scripts]# vi ifcfg-ens33
TYPE="Ethernet"
BRIDGE="br0" //添加配置为br0
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="no"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="11b3aae9-6e3b-42ac-a232-d30499756c40"
DEVICE="ens33"
ONBOOT="yes"
#IPADDR="192.168.150.131" //注释掉以下几行
#PREFIX="24"
#GATEWAY="192.168.150.1"
#DNS1="8.8.8.8"
-----------------------------------
4)重启网卡服务
[root@localhost ~]# systemctl restart network
5)查看网卡
[root@localhost ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c29866991 no ens33
vnet0
virbr0 8000.525400a69cd1 yes virbr0-nic
6)查看ip信息
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether 00:0c:29:86:69:91 brd ff:ff:ff:ff:ff:ff
inet6 fe80::20c:29ff:fe86:6991/64 scope link
valid_lft forever preferred_lft forever
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:0c:29:86:69:91 brd ff:ff:ff:ff:ff:ff
inet 192.168.150.131/24 brd 192.168.150.255 scope global dynamic br0
valid_lft 1063sec preferred_lft 1063sec
inet6 fe80::20c:29ff:fe86:6991/64 scope link
valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:a6:9c:d1 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:a6:9c:d1 brd ff:ff:ff:ff:ff:ff
8: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UNKNOWN group default qlen 1000
link/ether fe:54:00:f2:fe:6f brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fef2:fe6f/64 scope link
valid_lft forever preferred_lft forever
-----------------------------------
(4)安装libvirt及kvm
[root@localhost ~]# yum -y install libcanberra-gtk2 qemu-kvm.x86_64 qemu-kvm-tools.x86_64 libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64 libiscsi-1.7.0-5.el6.x86_64 dbus-devel virt-clone tunctl virt-manager libvirt libvirt-python python-virtinst
(5)由于要用virt-manager图形化安装虚拟机,所以还需要安装X-window
[root@localhost ~]# yum groupinstall "X Window System"
(6)安装中文字符,解决界面乱码问题
[root@localhost ~]# yum install -y dejavu-lgc-sans-fonts
[root@localhost ~]# yum groupinstall -y "Fonts"
(7)启用libvirt
[root@localhost ~]# systemctl enable libvirtd
[root@localhost ~]# systemctl start libvirtd
4、上传windows ISO文件到服务器/data/iso目录下
5、使用virt-manager管理虚拟机,通过xmanager工具连接
xshell ssh 到服务器,执行virt-manager,自动打开已安装的xmanager 虚拟机管理窗口。
执行virt-manager启动虚拟机管理窗口新建虚拟机选择ISO镜像安装操作系统加载ISO镜像-浏览本地分区加载ISO镜像-找到/data/iso目录加载windows10的镜像文件加载windows10的镜像文件分配内存及CPU,win10建议分配8G 8核以上win10系统挂载的磁盘选择,win10安装完成后有20个G左右,实际大小根据需要配置确认虚拟机配置信息,网络选择桥接进行win10系统安装6、KVM常用命令
#查看运行的虚拟机列表
virsh list
#查看所有虚拟机,包括运行和停止的
virsh list --all
#自动启动虚拟机
virsh autostart +虚拟机名称
#连接虚拟机
virsh console +虚拟机名称
#退出虚拟机
ctrl+]
#开启虚拟机
virsh start +虚拟机名称
#关闭虚拟机
如果无法关机,需要安装yum install -y acpid
virsh shutdown +虚拟机名称
#删除关闭虚拟机
virsh destroy +域名
#挂起虚拟机
virsh resume +域名
#取消自动启动
virsh auotstart --disable +域名
#彻底删除虚拟机
1, 删除虚拟机 virsh destroy +域名
2,解除标记 virsh undefine +域名
3,删除虚拟机文件
资料参考:
https://blog.51cto.com/u_6215974/4937438