远程管理KVM,命令行控制KVM,console连接,透传

远程管理虚拟机

首先,将虚拟机改成桥接模式,才可以相互连接。

打开宿主机的虚拟系统管理器

 

 

输入要远程管理的IP地址。

 

 

然后输入密码,显示连接。

 

 

打开远程管理的主机的设置,设置VNC服务器和所有接口,就可以打开远程终端。

 

 

然后重启libvirtd服务

systemctl restart libvirt-bin

 

命令行管理虚拟机

virsh 既有命令行模式,也有交互模式,在命令行直接输入 virsh 就进入交互模式, virsh 后面跟命令参数,则是命令行模式

语法结构:virsh <command> <domain-id> [OPTIONS]

 

virsh help #查看帮助

virsh help list #查看list的各种参数用法

virsh list #查看宿主机正在运行的虚拟机

virsh list --all #列出当前宿主机上所有的虚拟机

virsh start vm1 #开启vm1虚拟机

virsh shutdown vm1 #关闭一台虚拟机

virsh destroy vm1 #强制关闭某一台虚拟机

virsh autostart vm1 #开机自启动虚拟机vm1

virsh autostart --disable vm1 #关闭开机自启动

virsh edit vm1 #编辑vm1虚拟机的配置文件

virsh pool-list #列出存储资源池

创建一个磁盘卷

qemu-img create -f qcow2 -o size=9G /export/kvm/test.qcow2

查看磁盘信息

qemu-img info /export/kvm/test.qcow2

克隆一个虚拟机

virt-clone -o vm2 -n vm4 -f /var/lib/libvirt/images/vm4.qcow2

命令行下创建 && 管理虚拟机

Virt-install:命令行下创建虚拟机的命令,不过在它后面需要跟上很多的参数

--name: 虚拟机的名字。

--disk Location: 磁盘映像的位置。

--graphics : 怎样连接 VM ,通常是 SPICE 。

--vcpu : 虚拟 CPU 的数量。

--ram : 以兆字节计算的已分配内存大小。

--location : 指定安装源路径

--network : 指定虚拟网络,通常是 virbr0 或者自己设定的 br0

例如:

virt-install --name=test --disk path=/export/kvm/test.qcow2 --ram=1024 --vcpus=1 --graphics spice --location=/export/download/software/iso/CentOS-7.3-x86_64-DVD.iso --network bridge=br0

 

virsh help 打印帮助

virsh attach-device 从一个 XML 文件附加装置

virsh attach-disk 附加磁盘设备

virsh attach-interface 获得网络界面

virsh detach-device 从一个 XML 文件分离设备

virsh detach-disk 分离磁盘设备

virsh detach-interface 分离网络界面

virsh define 从一个 XML 文件定义(但不开始)一个域

virsh undefine 删除一个虚拟机

 

console连接虚拟机

新安装一台虚拟机后,没有ip的情况下,是无法通过virsh console 命令连入虚拟机中的,这时我们需要开启虚拟机的console功能。

在小虚拟机中添加ttyS0许可,允许root登录

grubby --update-kernel=ALL --args="console=ttyS0"

重启。

测试:

virsh console vm-name #连接虚拟机

ctrl + ] #退出连接

 

透传(嵌套)

一、查看小型机是否支持VT

grep vmx /proc/cpuinfo

没有结果,说明小型机并没有把宿主机的VT功能透传,所以无法在小型机中嵌套KVM虚拟机。

二、CPU虚拟化透传

在宿主机创建文件vim /etc/modprobe.d/kvm-nested.conf

添加 options kvm_intel nested=1 #启用嵌套虚拟化功能,并且透传永久生效。

三、重新加载模块并验证

modprobe -r kvm_intel #删除旧的模块

modprobe kvm_intel #重新加载模块

cat /sys/module/kvm_intel/parameters/nested #结果是Y,透传功能开启。

四、修改透传配置文件

virsh edit Vm-Name

将文件中的 custom 改为 host-passthrough

host-passthrough:直接将物理CPU暴露给小型机使用

 

修改为:

 

五、重启小型机

查看小型机是否透传成功

lsmod | grep kvm

grep vmx /proc/cpuinfo

posted @ 2018-12-07 21:43  Dayle  阅读(3949)  评论(0编辑  收藏  举报