• 远程管理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

  • 相关阅读:
    [Vue] #常见开发场景 #条件渲染#手动挂载 #组件方法的值驱动执行
    [JS高程] Typed Array 定型数组
    [JS高程]JavaScript中的RegExp对象
    [JS高程] Map 和 Set
    [JS高程] JavsScript 常用数组方法总结
    [JS高程] 字符串模式匹配方法
    自动化集成:Pipeline整合Docker容器
    自动化集成:Docker容器入门简介
    自动化集成:Jenkins管理工具详解
    分布式系统中,权限设计实践
  • 原文地址:https://www.cnblogs.com/dayle/p/10085420.html
Copyright © 2020-2023  润新知