Power下,Ubuntu代替PowerKVM作为KVM hypervisor
来源:互联网 发布:java api接口开发 编辑:程序博客网 时间:2024/06/07 03:11
Using Ubuntu 14.04 as a KVM hypervisor for POWER
Although not officially supported, it is possible to run Ubuntu 14.04.2 LTS as a KVM hypervisor in POWER architecture. You can officially support Ubuntu as hypervisor starting at Ubuntu 14.10 and optimally at 15.04.
In order to do that, you need to be on 14.04.2 or later. Ubuntu KVM doesn't run on 3.13 kernel, which is part of original Ubuntu 14.04 and 14.04.1 release. You will also need to download some newer packages from the Cloud Archive repository.
What is the difference between the PowerKVM and using Ubuntu as hypervisor
There is a set of differences, mainly some features that were not made upstream yet, as:
- Huge DDW for the guests (Enabled in PowerKVM and not on Ubuntu yet)
- Status: Some folks working to enable Huge DDW exploitation in Linux kernel and Qemu, which will make it available in Ubuntu (possible version 15.10)
- Ubuntu runs the hypervisor in Little endian mode. On the other side, PowerKVM, as in 2.1.1, is still a BE hypervisor.
- PowerKVM has some additional software not yet available in Ubuntu, as Kimchi and Ginger. (To be available in version Ubuntu 15.10)
- In terms of packages available in the hypervisor, Ubuntu is a full-fledged hypervisor, while PowerKVM is a more restricted hypervisor.
- PowerKVM is based on RPM and YUM packaging, while Ubuntu is based in DEB and APT.
How to use Ubuntu as a hypervisor?
Note Recommended 14.10 or later
Ubuntu is able to be used as a hypervisor, as an alternative to PowerKVM.
Just install buntun in bare metal (NV) following the steps in Running Ubuntu non-virtualized on POWER8.
After the installation you need:
- Install the missing virtualization packages:
# sudo apt-get install qemu-user qemu-utils cloud-image-utils qemu-system-ppc qemu-slof libvirt-bin numactl
<span style="font-size:12px;">root@zhai:~# lscpuArchitecture: ppc64leByte Order: Little EndianCPU(s): 80On-line CPU(s) list: 0,8,16,24,32,40,48,56,64,72Off-line CPU(s) list: 1-7,9-15,17-23,25-31,33-39,41-47,49-55,57-63,65-71,73-79Thread(s) per core: 1Core(s) per socket: 10Socket(s): 1NUMA node(s): 1Model: TN71-BP012L1d cache: 64KL1i cache: 32KL2 cache: 512KL3 cache: 8192KNUMA node0 CPU(s): 0,8,16,24,32,40,48,56,64,72root@zhai:~# apt-get install qemu-user qemu-utils qemu-system-ppc qemu-slof libvirt-bin numactl qemu-kvmReading package lists... DoneBuilding dependency treeReading state information... Doneqemu-slof is already the newest version.numactl is already the newest version.The following extra packages will be installed: binfmt-support ipxe-qemu libjpeg-turbo8 libjpeg8 libvirt0 qemu-block-extra qemu-system-common qemu-user-binfmt seabiosSuggested packages: policykit-1 radvd lvm2 samba vde2 openbios-ppc openhackware debootstrapRecommended packages: dmidecodeThe following packages will be REMOVED: qemu-keymapsThe following NEW packages will be installed: binfmt-support ipxe-qemu libjpeg-turbo8 libjpeg8 qemu-block-extra qemu-user-binfmt seabiosThe following packages will be upgraded: libvirt-bin libvirt0 qemu-kvm qemu-system-common qemu-system-ppc qemu-user qemu-utils7 upgraded, 7 newly installed, 1 to remove and 91 not upgraded.Need to get 11.4 MB of archives.After this operation, 16.5 MB of additional disk space will be used.Do you want to continue? [Y/n] y</span>
Software Required versionsOnce you do that, you should have the following package versions:
Package
Version
qemu
1:2.2+dfsg-5expubuntu9~cloud0
qemu-slof
20140630+dfsg-1ubuntu1
libvirt
1.2.12-0ubuntu12~cloud0
root@zhai:~# qemu-system-ppc --versionQEMU emulator version 2.3.0 (Debian 1:2.3+dfsg-5ubuntu9.2~cloud0), Copyright (c) 2003-2008 Fabrice Bellardroot@zhai:~# libvirtd --versionlibvirtd (libvirt) 1.2.16root@zhai:~# dpkg -l | grep qemu-slofii qemu-slof 20140630+dfsg-1ubuntu1~14.04 all Slimline Open Firmware -- QEversion
Once you have that, you have all the software need to run a KVM guest on your machine. - Add the users that would be able to run virtual machines into the kvm group:
# sudo usermod -a -G kvm <user>
- Disable the SMT:
# sudo ppc64_cpu --smt=off
- Enable KVM module in the kernel (Add a line "kvm_hv" in /etc/modules in order to automatically load it after a reboot):
# sudo modprobe kvm_hv
KVM是Linux的一个模块。可以用modprobe去加载KVM模块。加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有KVM模块是 远远不够的,因为用户无法直接控制内核模块去作事情:还必须有一个用户空间的工具才行。这个用户空间的工具,开发者选择了已经成型的开源虚拟化软件 QEMU。说起来QEMU也是一个虚拟化软件。它的特点是可虚拟不同的CPU。 [Ubuntu 14.10 only] Assure that you have the /usr/bin/qemu-system-ppc64le file, otherwise, create a link as follow. This is only required in Ubuntu 14.10 and this is already 'fixed' on later releases, check [1]:
# sudo ln -s qemu-system-ppc64 /usr/bin/qemu-system-ppc64le
[Ubuntu 14.10 only] Allow apparmor to access the SLOF (firmware). This is only required in Ubuntu 14.10 and this is already 'fixed' on later releases, check[2]:
# echo "/usr/share/slof/** r," >> /etc/apparmor.d/abstractions/libvirt-qemu
- If you hit "failed to parse default acl file `/etc/qemu/bridge.conf", you need to edit (or create) file /etc/qemu/bridge.conf and add:
allow br0
- If you hit "failed to create tun device: Operation not permitted", you need to set the setuid attribute:
# chmod u+s /usr/lib/qemu/qemu-bridge-helper
# ps -ef | grep virt/usr/sbin/libvirtd -d
# virsh list --all
参考:
1 ubuntu ppc64el: https://wiki.ubuntu.com/ppc64el/
2 https://wiki.ubuntu.com/ppc64el/CommonQuestions
3 https://wiki.ubuntu.com/ppc64el/KVM1404
4 PowerKVM: http://blog.csdn.net/zhaihaifei/article/details/51025780
- Power下,Ubuntu代替PowerKVM作为KVM hypervisor
- KVM: Bare-Metal Hypervisor?
- Hypervisor, KVM, QEMU总结
- ubuntu下使用KVM
- Ubuntu下安装KVM
- ubuntu下安装kvm
- ubuntu下安装kvm
- Ubuntu下libvirt kvm配置
- ubuntu下安装kvm虚拟机
- ubuntu 下使用kvm
- Ubuntu下如何使用kvm
- Ubuntu下代替dos2unix命令
- Ubuntu下代替dos2unix命令
- Hypervisor, 虚拟化和云 - KVM
- CentOS 6.5下配置Ceph作为KVM后端存储
- 如何在ubuntu下安装kvm
- Ubuntu下安装搭建KVM环境完整版
- Ubuntu下的虚拟化KVM
- 欧几里得算法与逆元
- 笔记 Android广播初使用
- 在Frame对窗口进行重绘
- 推荐!手把手教你使用Git
- Python:使用property装饰器将方法转为属性
- Power下,Ubuntu代替PowerKVM作为KVM hypervisor
- Spark Streaming Kafka开发现在很成熟了
- 格式化持续时间转换
- poj3159 Candies--单源最短路径&差分约束
- iOS之 动态热修复技术JSPatch(二)
- Unix Study之--AIX安装和配置SSH
- 学习OpenGL(三)绘制点
- gcc visibility hidden 与 static
- UVALive 4255-Guess-拓扑排序