KVM管理工具

2023-11-09

kvm实现方式:

qemu工具:
qemu-kvm
qemu-img

qemu:
处理器模拟器
仿真各种IO设备
将仿真设备连接至主机的物理设备
提供用户接口

基本格式:
qemu-kvm [选项] 磁盘镜像文件

标准选项:
-machine [type=]name:用于指定模拟的主机类型
-cpu:用于指定模拟的cpu型号
-smp [n]:指定虚拟机上vcpu的数量及拓扑
-boot
  order:各设备的引导次序,c表示第一块硬盘 d表示第一个光驱设备
   -boot order=dc,once=d
-m megs:虚拟机内存大小[单位是兆]
-name name:当前虚拟机的名称,要唯一

块设备相关选项:
-hda/-hdb file:指明IDE总线类型的磁盘映射文件路径,第0和第一个
-hdc/-hdd file:第2和第3个

-cdrom file:指定要使用光盘映像文件

-drive:file=映像文件路径 if=type块设备总线类型{ide|scsi|sd|virtio}
media=type :介质类型
index=i:设定同一类型设备多个设备的编号
cache={writethrough|writeback|none|directsync|unsafe} 换内存方式
1 writethrough:通写
    数据写在内存的时候立刻同步到磁盘
2 writeback:回写
    数据到内存中,什么时间同步到磁盘中由磁盘缓存机制管理
3 none:不起用
4 directsync:直接同步
    直接存到缓存然后立刻存磁盘
5 unsafe:非安全方式
    尽可能存入内存!数据可靠性不高

format=f:磁盘映像文件格式

显示选项:
-display type:显示类型 sdl curses none和vnc
-nographic:不使用图形接口
-vga [std|cirrus|vmware|qxl|xenfb|none]:模拟出显卡的型号
-vnc display :启动一个vnc server来显示虚拟机接口 让qemu进程监听一个vnc接口
    display:
        HOST:N
            在HOST主机的第N个桌面号输出vnc
        unix:文件路径
        none
    option:
        password:连接词服务所需要的密码

-monitor stdio:在标准输出上显示monitior界面
            ctrl-a, c:在console和monitor之间切换
            ctrl-a,h

网络选项:
    -net nic[vlan=n] [macaddr=mac] [model=type] [name=dir] [add=str] [vectors=v]
            为虚拟机创建一个网络接口,并将其添加至指定的vlan
            model=type:知名模拟出的网卡型号 
                ne2k_pci
                i82551
                i82557b
                rtl8559er
                e1000
                pcnet
                virtio
            macaddr=mac 指明mac地址
    -net tap:
        通过物理的tap网络接口连接至vlan
        script=file:启用虚拟机时要执行的脚本 默认为/etc/qemu-ifup
        downscript=dfile:关闭虚拟机时要执行的脚本 默认为/etc/qemu-ifdown
        ifname=name:自定义接口名称

脚本示例:
#!/bin/bash
#
bridge=br0

if [ -n "$1" ]; then
     ip link set $1 up
     sleep 1
     brctl addif $bridge $1
     [ $? -eq 0 ] && exit 0 || exit 1
else
     echo :Error: no interface specified."
     exit 2
fi

其它选项:
-daemonize:以守护进程运行

方便使用--创建软连接:
ln -sv /usr/libexec/qemu-kvm /usr/bin

创建虚拟机:
1 利用镜像启动虚拟机
qemu-kvm -name kvm2 -cpu host -smp 4,socket=2,cores=2,threads=1 -m 128 -drive file=./centos-text.img,format=qcow2,media=disk,if=virtio,cache=writeback -net nic,macaddr=52:54:00:00:00:01,model=virtio -net tap,ifname=vnet0,script=/etc/qemu-ifup -vnc :0 

-name kvm2 --虚拟机名称
-cpu host:型号和宿主机一样
-smp 2:给几颗cpu核心
    socket=2 --几颗cpu
    cores=2 --每个cpu几个核心
    threads=1  --线程数
smp=socket*cores*threads

-m 128 ---模拟内存大小

-drive file=./centos-text.img,format=qcow2,media=disk,if=virtio
file=./centos-text.img --镜像文件路径
format=qcow2 --磁盘格式
media=disk --类型
if=virtio --半驱动
cache=writeback --磁盘缓存类型
网络相关:
-net nic,macaddr=52:54:00:00:00:01 --指定mac地址
model=virtio  --指定网卡类型 
-net tap,ifname=vnet0,script=/etc/qemu-ifup -vnc :0 
指定名称和脚本

安装vnc:
yum install -y tigervnc

实际应用:
[root@www21:02:44kvm2]#qemu-kvm -name kvm2 -cpu host -smp 4,sockets=2,cores=2,threads=1 -m 128 -drive file=./centos-text.img,format=qcow2,media=disk,if=virtio,cache=writeback -net nic,macaddr=52:54:00:00:00:01,model=virtio -net tap,ifname=anet0,script=/etc/qemu-ifup -vnc :2 -daemonize

使用vnc连接:
vncviewer
输入虚拟机物理主机IP:2

关闭虚拟机:
kill [pid]
设置虚拟机开机自启动:
virsh info [虚拟机名称] --可以查看虚拟机信息
virsh autostart [虚拟机名称] --开机自启动

virsh domiflist php --查看虚拟机的网络接口

................................................
virt-sysprep命令:制作磁盘镜像模板
-d:指定虚拟机名
--operations:指定移除项 
firewall-rules--防火墙规则

yum install -y libguestfs
yum install -y libguestfs-tools

列出支持的所有操作:
virt-sysgrep --list-operations

如何使用:
virt-sysprep -d [虚拟机名称]
具体使用:
virt-sysprep -d centos7.0
虚拟机必须关闭!
kimchi工具:
kimchi软件
https://github.com/kimchi-project

kimchi-2.5.0-0.el7.centos.noarch.rpm
wok-2.5.0-0.el7.centos.noarch.rpm

启动服务:
systemctl start wokd.service 

默认监听在8001端口上!

访问方式:
https://xxxx

用户密码就是操作系统上的用户密码

提供物理桥相关的网络:
[root@www02:11:11~]#virsh net-dumpxml default
<network>
  <name>test0</name>
  <forward mode='bridge'/>
  <bridge name='test0'/>
</network>

vim /etc/libvirt/qemu/networks/test0.xml

virsh net-create /etc/libvirt/qemu/networks/test0.xml

转载于:https://blog.51cto.com/13878078/2313723

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

KVM管理工具 的相关文章

  • LLVM系列第七章:函数参数Function Arguments

    系列文章目录 LLVM系列第一章 编译LLVM源码 LLVM系列第二章 模块Module LLVM系列第三章 函数Function LLVM系列第四章 逻辑代码块Block LLVM系列第五章 全局变量Global Variable LLV
  • Java 递归方法

    Java 递归方法 1 说明 定义 一个方法体内调用它自己 方法递归是一种隐式的循环 它会重复的执行某段代码 但这种重复执行无须循环控制 递归一定要向着已知的方向递归 否则这种递归就变成了无穷递归 类似于死循环 2 code 举例 publ
  • Redis7之哨兵(九)

    9 1介绍 哨兵巡查监控后台master主机是否故障 如果故障了根据投票数自动将某一个从库转换为新主库 继续对外服务 俗称无人值守运维 作用 监控redis运行状态 包括master和slave 当master down机 能自动将slav
  • VS2019 + Qt5.13 配置

    在安装完VS2019后 再安装Qt5 13选择安装msvc2017模块 再安装qt vsaddin插件 我选的是2 4版本 反正安装最新的也不会错 安装成功后 新建项目 发现问题 Entry Point Not Found 这是因为编译的版
  • python线程池 ThreadPoolExecutor

    python 线程池 ThreadPoolExecutor 实现步骤 代码实现 实现步骤 创建一个最大容纳数量为3的线程池 通过submit提交执行的函数到线程池中 通过done来判断线程是否完成 通过result来获取返回值 代码实现 c
  • VS code “密钥externalConsole已弃用,请改用console“的解决方法

    VS code 密钥 externalConsole 已弃用 请改用 console 的解决方法 原因 externalConsole 是旧版vscode cpp的密钥 决定输出和调试是在内部还是外部 新版vscode密钥已经改为 cons
  • 阿里巴巴Java开发规约插件

    代码规范的重要性 前不久很多公众号都在说因为代码规范性引起的血案 这事吧 我也没有太在意 好像后来证实根本不属实 但是 也说明了一个事情 代码规范真的很重要 附带一下查询的结果 搜索关键字 码农因代码规范 代码规范 真的很重要 很重要 很重
  • 《快速阅读术》优秀读后感范文4000字

    读书是一种很好的学习 学习是为了 学以致用 在寻求 学以致用 的实操的方法时 发现一个关于学习的金字塔模型 这是美国国家训练实验室的一个结论 听讲 阅读 视听和演示为被动学习 内容留存率比较低 不到30 这是为什么读了很多书 99 的内容都
  • pip安装python包时遇到的问题

    在windows 10种使用pip安装greenlet时 遇到下面这样一个错误 通过搜索发现有很多类似的情况发生在安装scrapy twisted等库的时候 看起来时需要一个c 编译器 安装vstudio实在太大了 网上也给出了不少解决方案
  • 什么是软件性能测试

    说到性能测试 想必大家都会有种种困惑 对于性能测试的概念也模糊得很 那么今天就和大家聊一聊什么是性能测试 性能测试其实是通过模拟生产运行的业务压力量和使用场景组合 测试系统的性能是否满足生产性能要求 通俗地说 性能测试就是要在特定的运行条件
  • 中科院分区和JCR分区查询

    本文将讨论中科院分区和JCR分区查询的三种方法 包括可以同时查询的LetPub查询方法 中科院分区的官方查询方法和JCR分区的查询方法 具体内容见正文 附 本所述方法为本人研究总结 在这里以开放交流的心态与大家分享 欢迎留言讨论 通过Let
  • python自动化[poco篇]

    Poco Poco是一款跨平台的自动化测试框架 基于UI控件搜索原理 与基于图像识别的Airtest不同的是 Poco可以使用类似 poco OK click 的方式来获取并操作节点 Poco能帮助我们获取控件的属性信息 操作控件 设置控件
  • 美国研究生院计算机数据科学排名,美国研究生数据科学专业排名

    美国数据科学专业列表 1 哈佛大学 计算科学与工程理学硕士 M S in Computational Science and Engineering 专业排名 1 1 哈佛大学 数据科学理学硕士 Master of Science in D
  • antv g2plot可视化图表在vue中的使用之四:为图表添加事件

    文章目录 图表事件event g2plot升级 仪表盘Gauge添加点击事件 仪表盘类型 仪表盘组成 仪表盘事件 其他 参考资料 图表事件event 我们经常会遇到为图表添加事件的需求 无论是对整个图表还是对图表中的某些元素添加事件 包括点
  • 大数据-本地yum

    1创建挂载目录 root sizhan mkdir mnt cdrom 挂载 root sizhan mount t iso9660 o ro dev cdrom mnt cdrom root sizhan ll mnt cdrom 总用量
  • 【OpenCV学习笔记】【异常处理】一(The Matrix is not continuous, thus its number of rows can not be changed)

    在调试 Mastering OpenCV with Practical Computer Vision Projects 书中的代码 trainSVM cpp文件 对数码管的正负样本进行训练时 出现以下错误 OpenCV Error Ima
  • 3周攻克数据结构(入门)——53.最大子数组和

    力扣53 最大子数组和 题目描述 解法 动态规划 就像是喝汤的时候我们喜欢用勺子一样 这道题它从头到脚都透露着快用DP 动态规划 来解决我的气息 为什么这么说呢 题目 最大子数组 题干 请你找出一个具有最大和的连续子数组 当然 最关键的是子
  • 几个硬盘接口协议IDE, PATA, ATA, SATA, SAS, SCSI,PCIe, FC的总结

    ATA AT attachment 是IDE Integrated Drive Electronics 硬盘的接口标准 包括PIO Programming I O 和DMA Direct Memory Access 两种传输模式 ATA本身
  • Python3版本移植到openwrt,运行失败解决方法

    移植方法参考 https blog csdn net Colin xuan article details 81109328 直接复制到Ubuntu下 再修改会有问题 我是手动写了一遍 主要修改路径 编译工具链 configure host
  • python每日一题

    这个程序将输出 120 和 1 分别表示 5 的阶乘和 0 的阶乘 def factorial n 计算一个数的阶乘 if n 0 return 1 else return n factorial n 1 这个函数接受一个整数作为参数 并使

随机推荐