ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

KVM虚拟机管理

2019-05-30 09:43:37  阅读:260  来源: 互联网

标签:KVM console 虚拟化 管理 虚拟机 kvm 透传 virsh


virsh命令下管理虚拟主机

virsh既有命令行模式,也有交互模式

命令模式:virsh后头跟命令参数

交互模式:在命令行直接输入virsh

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

virsh list :列出当前宿主机上处于运行状态的虚拟机

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

virsh start 虚拟机名字 :开启某一台虚拟机

virsh shutdown 虚拟机名字 :正常关闭一台虚拟机

virsh destroy 虚拟机名字 :强制关闭某一台虚拟机

virsh autostart 虚拟机名字 : 开机自启动某台虚拟机

virsh autostart  - -disable 虚拟机名字 : 关闭某一台虚拟机的开机自启

virsh edit 虚拟机名字 : 编辑某台虚拟机的配置文件

virsh pool-list : 列出存储池

virsh help :打印帮助

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

virsh attach-disk :附加磁盘设备

virsh attach-interface  :获得网络界面

virsh destroy :删除一个域

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

virsh detach-disk :分离磁盘设备

virsh detach-interface :分离网络界面

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

virsh undefined :删除一个虚机域

qemu-img create –f qcow2 –o size=9G /export/kvm/命名.qcow2

创建一个大小为9G,格式为qcow2的磁盘镜像

qemu-img info /export/kvm/磁盘名字.qcow2  :查看磁盘信息

virsh命令行模式下创建&&管理虚拟主机

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

克隆一个虚机:

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

通过virsh console连接虚拟主机

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

1、centos7以下,及其他情况

(1)添加ttyS0的许可,允许root登陆

         [root@localhost ~]# echo "ttyS0" >> /etc/securetty

(2)编辑/etc/grub.conf中加入console=ttyS0

(3)编辑/etc/inittab,在最后一行加入内容:S0:12345:respawn:/sbin/agetty ttyS0 115200

(4)重启服务器

         reboot

(5)宿主机上测试

         virsh console vm-name

(6)退出console连接的虚拟机li

         按 ctrl+] 组合键退出virsh console

2、对于centos7

(1)在虚机里运行

  [root@localhost ~]# grubby --update-kernel=ALL --args="console=ttyS0"

(2)重启虚机

  [root@localhost ~]# reboot

即可

VNC Viewer 远程管理kvm主

1 在window中安装VNC Viewer 软件,一直下一步完成

2 开启虚拟主机

3 用vnc连接虚拟主机

kvm虚拟化透传(就是在虚拟机里建虚拟机)

KVM 虚拟化需要处理器对虚拟化技术的支持,当我们需要进行虚拟机嵌套虚拟机时,我们需要让虚拟机中处理器对 VT 功能的支持达到透传的效果。

  KVM 虚拟机嵌套和 VMWare 原理不同, VMWare第一层是用的硬件虚拟化技术,第二层就是完全软件模拟出来的,所以 VMWare 只能做两层嵌套。 KVM 是将物理 CPU 的特性全部传给虚拟机,所有理论上可以嵌套 N 多层。

1、查看一层客户端是否支持 VT

#grep vmx /proc/cpuinfo

查询未果,证明一层 KVM 的虚拟机,并未将宿主机处理器的 VT 功能成功透传。所以,没有对 VT功能的支持,我们不能实现在该层虚拟机中嵌套KVM 虚拟机。

2、在物理服务器上为嵌套虚拟机做准备 --- CPU 虚拟化透传

(1)# vim /etc/modprobe.d/kvm-nested.conf

# 在文件中添加下面语句

options kvm_intel nested=1

# 在宿主机启用 kvm_intel 模块的嵌套虚拟化功能,并且使透传永久有效

(2)重新加载 kvm 模块

# modprobe -r kvm_intel             -r参数:remove掉kvm_intel模块

# modprobe kvm_intel              加载kvm_intel模块

(3)验证是否加载成功

#cat /sys/module/kvm_intel/parameters/nested

Y ---“Y” 表示 cpu 虚拟化透传功能开启

3、编辑需要做虚拟化透传的虚拟机的配置文件

#virsh edit centos7 ( Virtual Machine Name )

<cpu mode='host-passthrough'>

host-passthrough 直接将物理 CPU 暴露给虚拟机使用,在虚拟机上完全可以看到的就是物理 CPU的型号
4、进入虚拟机中查看cpu是否透传成功

在一层虚拟机中查看cpu是否支持虚拟化

标签:KVM,console,虚拟化,管理,虚拟机,kvm,透传,virsh
来源: https://www.cnblogs.com/shuaiyin/p/10947688.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有