下面的命令运行在操作系统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. 剑指offer系列33-----把二叉树打印成多行

    [题目]从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. 方法一:直接打印 package com.exe7.offer; import java.util.LinkedList; i ...

  2. android学习笔记五——AutoCompleteTextView

    AutocompleteTextview ==> 使用比较容易,只需要为其设置一个Adapter,该Adapter封装其需要预设的文本内容. 如下所示实例: <RelativeLayout ...

  3. PHP中的中文截取乱码问题_gb2312_utf-8

    一.字符串编码为gb2312,一个中文占俩字节 public static function chinesesubstr($str, $start, $len) { // $str指字符串,$star ...

  4. VisualStudio Form文件构成说明

    创建一个窗体Form1.cs 后,在他的下一级,有两个子文件: Form1.Designer.cs 和Form1.resx 这两个子文件 Form1.Designer.cs是VS自动生成用作UI的绘制 ...

  5. Apple dev travel

    Objective-C最基础语法之Class定义: http://mobile.51cto.com/iphone-281925.htm  Table View: http://www.appcoda. ...

  6. jsch ssh服务器调用Linux命令或脚本的小问题

    代码如下: public static boolean execshell(String command, String user, String passwd, String host) throw ...

  7. spark transformation与action操作函数

    一.Transformation map(func) 返回一个新的分布式数据集,由每个原元素经过函数处理后的新元素组成 filter(func) 返回一个新的数据集,经过fun函数处理后返回值为tru ...

  8. java中的IO整理

    写在前面:本文章基本覆盖了java IO的全部内容,java新IO没有涉及,因为我想和这个分开,以突出那个的重要性,新IO哪一篇文章还没有开始写,估计很快就能和大家见面.照旧,文章依旧以例子为主,因为 ...

  9. [原创博文] 用Python做统计分析 (Scipy.stats的文档)

    [转自] 用Python做统计分析 (Scipy.stats的文档) 对scipy.stats的详细介绍: 这个文档说了以下内容,对python如何做统计分析感兴趣的人可以看看,毕竟Python的库也 ...

  10. Java线程新特性--- Lock

    在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks包下面,里面有三个重要的接口C ...