虚拟化平台 KVM API的ioctl使用示范(一)
2012-12-06 14:26
661 查看
KVM虚拟化平台提供了大量的API函数供用户级开发人员使用,但很多人还不知道如何使用。 本文将举一些实例提供给大家,后面会陆续更新。
KVM API 函数原理
用户利用ioctl发送KVM API 与 /dev/kvm进行交互,从而可以操纵KVM
KVM API 函数功能
用户可以通过KVM API 获得KVM的内核信息,创建虚拟机,创建VCPU等等
KVM API 函数的文档位置
因为KVM已经纳入了linux标准发布路线里,所以KVM的API文档也相应的在linux源文件夹中。
以 linux-3.6 源文件为例,文档位置是 linux-3.6/Documentation/virtual/kvm
KVM API函数举例
KVM_GET_API_VERSION 获得 kvm api版本号,(目前是12)
KVM_CHECK_EXTENSIONS 获得 kvm对单台虚拟机最高支持的性能规格,(比如vcpu的个数)
KVM_CREATE_VM 创建虚拟机
KVM API函数使用示范
目标:使用KVM_GET_API_VERSION,和KVM_CHECK_EXTENSIONS查询KVM的参数设置
方法:使用ioctl 与/dev/kvm 交互,获得返回值
代码如下
Makefile:
编译,使用
make
./get_version
使用结果
我们可以知道 当前KVM api 版本时12,支持guest 最大VCPU个数是254个
KVM API 函数原理
用户利用ioctl发送KVM API 与 /dev/kvm进行交互,从而可以操纵KVM
KVM API 函数功能
用户可以通过KVM API 获得KVM的内核信息,创建虚拟机,创建VCPU等等
KVM API 函数的文档位置
因为KVM已经纳入了linux标准发布路线里,所以KVM的API文档也相应的在linux源文件夹中。
以 linux-3.6 源文件为例,文档位置是 linux-3.6/Documentation/virtual/kvm
KVM API函数举例
KVM_GET_API_VERSION 获得 kvm api版本号,(目前是12)
KVM_CHECK_EXTENSIONS 获得 kvm对单台虚拟机最高支持的性能规格,(比如vcpu的个数)
KVM_CREATE_VM 创建虚拟机
KVM API函数使用示范
目标:使用KVM_GET_API_VERSION,和KVM_CHECK_EXTENSIONS查询KVM的参数设置
方法:使用ioctl 与/dev/kvm 交互,获得返回值
代码如下
#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/ioctl.h> #include <fcntl.h> #include <unistd.h> #include <linux/kvm.h> #define KVM_FILE "/dev/kvm" int main() { int dev; int state; int cnt; dev=open(KVM_FILE,O_RDWR|O_NDELAY); cnt=ioctl(dev,KVM_GET_API_VERSION,0); printf ("----KVM API version is--%d---\n",cnt); cnt=ioctl(dev,KVM_CHECK_EXTENSION,KVM_CAP_MAX_VCPUS); printf ("----KVM supporting guest MAX_VCPUS is %d---\n",cnt); return 0; }
Makefile:
all:get_version
编译,使用
make
./get_version
使用结果
我们可以知道 当前KVM api 版本时12,支持guest 最大VCPU个数是254个
相关文章推荐
- KVM ioctl API
- 微博开放平台api使用
- 淘宝API开发系列---阿里.聚石塔.开放平台的使用
- ShareSDK第三方平台的详细使用参考官方API
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(1)
- QQ空间开放平台开发教程-SDK和API的使用
- 虚拟化技术之KVM安装与使用
- 使用salt-api来搭建salt自动化平台
- centos6.7环境之kvm虚拟化quem工具配置及使用详解
- 使用百度语音识别REST API,做全平台语音识别
- 【.Net码农】【淘宝API】淘宝API开发系列---阿里.聚石塔.开放平台的使用
- VManagePlatform 虚拟化平台之KVM
- 虚拟化技术之KVM安装与使用
- 使用内部(com.android.internal)和隐藏(@hide)API[第3部分,定制android平台]
- 使用Google Map Api在Android平台上开发地图应用3
- 使用内部(com.android.internal)和隐藏(@hide)API[第3部分,定制android平台]
- 数字货币交易平台zb的api使用问题
- centos6.7环境之kvm虚拟化quem工具配置及使用详解
- 主流云平台API使用指南