文章目录
【KVM虚拟化实践与编程】云平台管理系统
一、KVM/QEMU虚拟化环境的搭建
1. 安装QEMU
使用命令“apt-get install qemu
”安装QEMU。
2.构建KVM环境
(1)打开VMware对CPU的虚拟化支持。
(2)使用命令“cat /etc/issue
”查看Ubuntu操作系统版本。
(3)使用命令“uname -r
”或“cat /proc/version
”查看Linux内核版本,如果内核版本低于2.6.20,则需要下载KVM进行编译和安装。
(4)使用命令“lsmod | grep kvm
”查看Linux内核是否已安装KVM内核模块。
(5)确认KVM 相关的模块加载成功后,使用命令“ls -l /dev/kvm
”检查/dev/kvm文件。
3.安装虚拟化管理工具
(1)安装libvirt,使用命令“apt-get install libvirt-bin
”和“apt-get install libvirt-dev
”安装libvirt-bin和libvirt-dev两个包。
(2)安装virt-manager,使用命令“apt-get install virt-manager
”安装virt-manager。
4.配置JDK环境
(1)由于使用java程序设计语言做开发,因此需要配置JDK环境。IDE工具可以使用eclipse。可以使用“apt-get install eclipse
”命令安装eclipse,会自动配置JDK环境。
(2)由于libvirt是使用C语言开发的,因此使用java进行系统开发需要使用libvirt对java的绑定,需要下载libvirt-0.5.0.jar
和jna-4.4.0.jar
。
二、需求分析
云平台管理系统的功能包括:
- 通过镜像管理虚拟机,包括虚拟机创建、启动、暂停、恢复、删除等
- 镜像的添加与删除功能
- 虚拟机网络模式设置,网络的断开和连接
- 对虚拟机做快照功能(选做)
- 虚拟机挂载存储磁盘(选做)
三、系统设计
云平台管理系统是对虚拟机进行管理和操作,该系统采用Libvirt Java API 进行分析和设计,使用编程语言java作为开发语言,使用ecplise作为开发平台,通过jfinal框架展示给用户,能够很好的实现系统的开发及测试。使用java的GUI实现了按钮对虚拟机的启动,重启,正常关机,强制关机,挂起,唤醒挂起的虚拟机,保存当前虚拟机状态,读取已保存的虚拟机,也可以实现对当前运行的虚拟机状态的打印输出,还可以实现对网络的启动和关闭。
- 连接
public static Domain init() throws LibvirtException, DocumentException {
conn = new Connect("qemu:///system", false);
SAXReader reader = new SAXReader();
Document docu = reader.read(new File("/etc/libvirt/qemu/demo.xml"));
String xmlDesc = docu.asXML();
Domain domain = conn.domainDefineXML(xmlDesc);
return domain;
}
- 启动
if (e.getActionCommand().equals("启动")) {
try {
domain = JavaLibvirt.init();
domain.create();
System.out.println(domain.getName() + "虚拟机已启动!");
} catch (LibvirtException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (DocumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
- 挂起
if (e.getActionCommand().equals("挂起")) {
try {
domain = JavaLibvirt.init();
domain.suspend();
System.out.println(domain.getName() + "虚拟机已挂起!");
} catch (LibvirtException e1) {