下面的命令运行在操作系统Ubuntu 14.04上。

在开源软件里面,主要是采用KVM和Xen。尽管OpenStack对KVM和Xen都支持,但是OpenStack对KVM的支持明显要比Xen做得好,所以这里我们选择的虚拟化工具为KVM。

基于内核的虚拟机KVM(Kernel-Based Virtual Machine)需要两个条件:硬件支持全虚拟化,操作系统为Linux。

libvirt是一个管理各种不同的Hypervisor的一个工具集,并且能够提供一个统一的API来支持上层应用。它是一个软件的集合,包括API库、后台运行程序(libvirtd)和命令行工具(virsh)。

首先我们安装KVM

1. 由于KVM需要硬件虚拟化特性的支持,因此在安装KVM之前,应该在BIOS中,将CPU的虚拟化开启,具体需要开启VT和VT-d特性。

2. 检测是否正确开启了VT特性:

egrep -o "(vmx|svm)" /proc/cpuinfo
vmx

如果输出为vmx或者svm,就说明CPU支持虚拟化技术。其中vmx说明该CPU为Intel系列,采用了Intel-VT技术;svm表示CPU是AMD系列,采用了AMD-V技术。

3. 安装KVM,在Ubuntu 14.04上的安装步骤如下:

sudo apt-get install qemu-kvm ubuntu-vm-builder bridge-utils         //安装QEMU-KVM

安装完成之后,加载KVM内核模块:

modprobe kvm
modprobe kvm_intel / kvm_amd

使用下面的命令来检查KVM模块是否安装成功:

root@ubuntu:~#kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

添加root用户到kvm组:

adduser root kvm

安装libvirt

直接使用apt-get命令来安装:

apt-get install libvirt-bin qemu virt-manager

安装完成之后可以使用如下的命令来启动libvirtd:

libvirtd -d

随后我们就可以使用virsh list --all命令来查看当前存在的虚拟机了或者直接使用virt-manager命令来打开虚拟机管理界面来查看。

Ubuntu系统安装VNCServer:

1. 首先安装vncserver:

sudo apt-get install vnc4server

2. 安装成功后,开启vnc服务

如果你想访问root用户的桌面环境就用sudo vncserver,如果访问当前普通用户的环境就直接vncserver即可,首次启动会要求设置密码,用来在客户端访问时使用,后面可以使用vncpasswd 修改。

启动vnc成功后,会在主目录下产生一个.vnc目录。

由于之前安装的时候这个Ubuntu系统不是桌面版的,所以使用VNC连接的时候不能使用Gnome或者KDE之类的桌面环境。我们可以安装XFCE桌面环境。

sudo apt-get install xfce4

安装完成之后需要修改~/.vnc/xstartup文件了:

root@ubuntu:~# vim ~/.vnc/xstartup

#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 1600x1000++ -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager & //把这一行注释掉,添加下面的部分
x-sesion-manager & xfdesktop & xfce4-panel &
xfce4-menu-plugin &
xfsettingsd &
xfconfd &
xfwm4 &

修改完毕之后我们需要重新启动VNCServer:

root@ubuntu:~# vncserver -kill :
root@ubuntu:~# vncserver :

OpenStack学习笔记(一)----安装虚拟化工具的更多相关文章

  1. CentOS学习笔记--Tomcat安装

    Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...

  2. golang学习笔记5 用bee工具创建项目 bee工具简介

    golang学习笔记5 用bee工具创建项目 bee工具简介 Bee 工具的使用 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/docs/instal ...

  3. OracleDesigner学习笔记1――安装篇

    OracleDesigner学习笔记1――安装篇   QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一.       前言 Oracle是当 ...

  4. openstack学习笔记一 虚拟机启动过程代码跟踪

    openstack学习笔记一 虚拟机启动过程代码跟踪 本文主要通过对虚拟机创建过程的代码跟踪.观察虚拟机启动任务状态的变化,来透彻理解openstack各组件之间的作用过程. 当从horizon界面发 ...

  5. Andorid:日常学习笔记(3)——掌握日志工具的使用

    Andorid:日常学习笔记(3)——掌握日志工具的使用 使用Android的日志工具Log 方法: Android中的日志工具类为Log,这个类提供了如下方法来供我们打印日志: 使用方法: Log. ...

  6. Java程序猿的JavaScript学习笔记(9—— jQuery工具方法)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  7. CUBRID学习笔记 2 安装教程

    下载地址  http://www.cubrid.org/?mid=downloads&item=any&os=detect&cubrid=9.3.0 选择适合你的服务器版本 l ...

  8. nodejs学习笔记<一>安装及环境搭建

    零零散散学了几天nodejs,进度一直停滞不前,今天沉下心来好好看了下nodejs的介绍和代码.自己也试着玩了下,算是有点入门了. 这里来做个学习笔记. ——————————————————————— ...

  9. Nginx 学习笔记之安装篇

    在windows下安装Nginx其实非常简单,只需如下几个步骤: 1. 在Nginx官网下载相应版本的安装程序,上面有最新版.稳定版等各种版本,正式运营的项目建议下载最新的稳定版 2.将下载后的压缩包 ...

随机推荐

  1. hadoop mapred-queue-acls 配置(转)

    hadoop作业提交时可以指定相应的队列,例如:-Dmapred.job.queue.name=queue2通过对mapred-queue-acls.xml和mapred-site.xml配置可以对不 ...

  2. java 对象传递 是 值传递 还是 引用传递?

    这个问题说实话我感觉没有太大的意义. 按第一印象和c++的一些思想去理解的话对象传递是引用传递,因为传递过去的对象的值能被改变. 但是又有很多人,不知道从哪里扣出来一句,java中只有值传递,没有引用 ...

  3. org.hibernate.id.IdentifierGenerationException: Unknown integral data type for ids : java.lang.String

    org.hibernate.id.IdentifierGenerationException: Unknown integral data type for ids : java.lang.Strin ...

  4. ClassLoader 机制

    JAVA启动后,是经过JVM各级ClassLoader来加载各个类到内存.为了更加了解加载过程,我通过分析和写了一个简单的ClassLoader来粗浅的分析它的原理. JVM的ClassLoader分 ...

  5. 【转】Action 、 RenderAction 、 Partial 、 RenderPartial 区别

    1.Action . RenderAction Action 方法以字符串的形式返回子视图,可以直接被呈现.RenderAction方法在适当的地方呈现子视图. //One alternative ( ...

  6. python(8) 自己制造异常让程序退出,把print的内容写入到文件

    异常 也可以自己输出异常原因: raise Exception("404 404 404") import math import time #print 到文件的代码****** ...

  7. Hbase原理

    Hbase原理 概述 HBase是一个构建在HDFS上的分布式列存储系统:HBase是基于Google BigTable模型开发的,典型的key/value系统:HBase是Apache Hadoop ...

  8. Map的3种遍历[轉]

    Map<String, String> map = new HashMap<String, String>(); map.put("A", "AA ...

  9. Eclipse控制台输出信息的控制

    当你在Eclipse中 running/debugging一个应用程序的时候,有关该应用程序的运行调试信息及日志信息都会输出到控制台(console )显示,但是Eclipse只会显示最后一部分的日志 ...

  10. VVDocumenter-Xcode 规范注释生成器 插件之安装调试适应新版本

    1.下载地址: 很多时候,为了快速开发,很多的技术文档都是能省则省,这个时候注释就变得异常重要,再配合Doxygen这种注释自动生成文档的,就完美了.但是每次都要手动输入规范化的注释,着实也麻烦,但有 ...