KVM管理工具
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KVM管理工具相关的知识,希望对你有一定的参考价值。
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
实际应用:
[[email protected]: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
用户密码就是操作系统上的用户密码
提供物理桥相关的网络:
[[email protected]: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
以上是关于KVM管理工具的主要内容,如果未能解决你的问题,请参考以下文章