对于愚蠢的问题我很抱歉,但是请告诉我:KVM可以在没有libvirt的情况下工作吗?
根据我糟糕的经历,我看到了基于libvirt的KVM功能.
感谢您的回复.
我使用 Vagrant 定义具有静态 IP 地址的 Fedora 机器。
Vagrant.configure("2") do |config|
config.vm.network :public_network, :bridge => 'enp0s25', :dev => 'enp0s25'
config.vm.network "private_network", ip: "192.168.122.1"
config.vm.provision "shell", inline: "ifconfig"
config.vm.define "fedora1" do |fedora1|
fedora1.vm.box = "fedora/23-cloud-base"
end
end
Run Code Online (Sandbox Code Playgroud)
问题是,如果我尝试配置虚拟机,则会出现错误:
调用 virDomainCreateWithFlags 失败:无法获取接口 eth0 的索引:没有此类设备
事实上,我的 Fedora 21 上没有 eth0,但是
enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.1.71.85 netmask 255.255.255.0 broadcast 10.1.71.255
inet6 fe80::6af7:28ff:fef3:b97d prefixlen 64 scopeid 0x20<link>
ether 68:f7:28:f3:b9:7d txqueuelen 1000 (Ethernet)
RX packets 1753807 bytes 1271298509 (1.1 GiB)
RX errors 0 dropped 26 overruns …Run Code Online (Sandbox Code Playgroud) 我正在尝试调试我正在编写的程序,它正在使用C中的libvirt库.
在程序的一部分我将返回以下结构:
struct virTypedParameter {
char field[VIR_TYPED_PARAM_FIELD_LENGTH];
int type;
union {
int i;
unsigned int ui;
long long int l;
unsigned long long int ul;
double d;
char b;
char *s;
} value;
}
Run Code Online (Sandbox Code Playgroud)
所以我有一个键,值和值类型.我希望能够通过将它们传递给函数来打印它们.
除了将类型抛入switch语句并重定向到正确的printf语句之外,还有更简单的方法吗?我已经这样做了,它导致在编译时弹出大量警告:
void printVirTypedParameter(virTypedParameter* param) {
printf("Param type: %d\n", param->type);
switch(param->type) {
case 1: //int
printf("%s : %d\n", param->field, param->value);
break;
case 2: //int unsigned
printf("%s : %u\n", param->field, param->value);
break;
case 3: //long long int
printf("%s : %ld\n", param->field, param->value);
break;
case 4: //long long …Run Code Online (Sandbox Code Playgroud) 我想使用 libvirt API 在 KVM 中管理(创建、删除、列出...)快照。在谷歌搜索之后,我在下面的链接中找到了 libvirt-domain-snapshot,但我没有找到这个用于 python 的模块。
https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html
如何从 python 访问 libvirt-domain-snapshot 模块,或者是否有另一种方法通过 libvirt API 管理快照?
嘿,我正在尝试使用 JNA 和 libvirt java 绑定设置一个 android studio 项目。
这就是项目结构到目前为止的样子。
到目前为止,这是在测试而不是模拟器,并且尚未导入 arm 二进制文件。
尝试在 libvirt java 绑定中使用 Connect 方法时,出现此错误。
有一个非常类似的帖子在这里
11-18 23:54:37.584 4182-4182/com.local.test E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.local.test, PID: 4182
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/android-x86/libjnidispatch.so) not found in resource path (.)
at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1039)
at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:999)
at com.sun.jna.Native.<clinit>(Native.java:191)
at com.sun.jna.Native.loadLibrary(Native.java:625)
at org.libvirt.jna.Libvirt.<clinit>(Unknown Source)
at org.libvirt.Library.<clinit>(Unknown Source)
at org.libvirt.Connect.<init>(Unknown Source)
at com.local.haris.MainActivity.onCreate(MainActivity.java:34)
at android.app.Activity.performCreate(Activity.java:6662)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077) …Run Code Online (Sandbox Code Playgroud)