下面的命令运行在操作系统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. thinkphp禁止模版标签解析

    场景: 页面中某些样式或者js中含有tp定义的模版标签,如果被tp当成模版标签解析,就会解析异常. tp中提供了<literal></literal>标签用于禁止标签内部的代码 ...

  2. Python 处理多层嵌套列表

    >>> movies =[ "the holy grail", 1975,"terry jones",91, ["graham ch ...

  3. Env:ctags和Taglist安装与配置

    注:文章参照http://blog.csdn.net/vaqeteart/article/details/4146618 想必用过Source Insight的人都记得这样一个功能: SI能够把当前文 ...

  4. HashMap 实现详解

    HashMap是哈希表对Map非线程安全版本的实现,它允许key为null,也允许value为null.所谓哈希表就是通过一个哈希函数计算出一个key的哈希值,然后使用该哈希值定位对应的value所在 ...

  5. 工作中Linux常用命令

    rpm -qa|grep -i mysql rpm -ev mysql-server-5.1.73-5.el6_6.x86_64 如果报: error: Failed dependencies: li ...

  6. PLSQL_数据泵定参数批量导入多表Expdp/Impdp Parfile(案例)

    2015-04-01 Created By BaoXinjian

  7. hdu 5288 OO’s Sequence 枚举+二分

    Problem Description OO has got a array A of size n ,defined a function f(l,r) represent the number o ...

  8. php 预定义接口

    Traversable Traversable { } 作用:检测一个类是否可以使用 foreach 进行遍历的接口. php代码中不能用.只有内部的PHP类(用C写的类)才可以直接实现Travers ...

  9. python (2)xpath与定向爬虫

    内容来自:极客学院,教学视频: 写在前面: 提取Item 选择器介绍 我们有很多方法从网站中提取数据.Scrapy 使用一种叫做 XPath selectors的机制,它基于 XPath表达式. 这是 ...

  10. unix 中 ps -ef命令详解

    ps -ef 查看正在活动的进程 ps -ef |grep abc 查看含有"abc"的活动进程 ps -ef |grep -v abc 查看不含abc的活动进程 1)ps a 显 ...