下面的命令运行在操作系统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系列28--字符流中第一个不重复的字符

    [题目]请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”.当从该字符流中读出前六个字符“google”时,第一个只出现 ...

  2. 百度地图和js操作iframe

    document.getElementById("ifarme-63").contentWindow.document.getElementById("qksv" ...

  3. 激活Maven profile的几种方式

    首先简单介绍下 Maven 的 profile 是什么.对于人来说,profile 是指人的肖像,轮廓,比如论坛里每个人注册了帐号后,可以设置自己的 profile,放上照片,介绍等等.对于 Mave ...

  4. VisualSVN Server以及TortoiseSVN客户端的配置和使用方法

    http://www.cnblogs.com/beautifulFuture/archive/2014/07/01/3818211.html 近期学习代码管理工具,首先学习一下svn和Tortoise ...

  5. Java的clone机制(及String的特殊性)

    1. Clone&Copy 假设现在有一个Employee对象,Employee tobby =new Employee(“CMTobby”,5000),通常我们会有这样的赋值Employee ...

  6. PLSQL_性能优化工具系列05_SQL Trace/Event 10046 Trace

    2014-06-25 Created By BaoXinjian

  7. NeHe OpenGL教程 第三十三课:TGA文件

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  8. Python标准库12 数学与随机数 (math包,random包)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们已经在Python运算中看到Python最基本的数学运算功能.此外,math包 ...

  9. MySql中增加一列

    如果想在一个已经建好的表中添加一列,可以用诸如: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null; 这条语 ...

  10. sql执行返回值存储

    List<Map> list = SqlRunner.queryMapList(sql); if(list != null && !list.isEmpty()){ Has ...