阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu 16.04 下 OpenStack 安装部署

247次阅读
没有评论

共计 9997 个字符,预计需要花费 25 分钟才能阅读完成。

准备工作:

操作系统:Ubuntu 16.04

安装 KVM

Kernel-based Virtual Machine 的简称,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在 Linux 的各个主要发行版本中。它使用 Linux 自身的调度器进行管理,所以相对于 Xen,其核心源码很少。KVM 目前已成为学术界的主流 VMM 之一。KVM 的虚拟化需要硬件支持(如 Intel VT 技术或者 AMD V 技术)。是基于硬件的完全虚拟化。而 Xen 早期则是基于软件模拟的 Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但 Xen 本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件 VMware ESX 系列是基于软件模拟的 Full-Virtualization。
 

下面是小编为你精选的 Openstack 相关知识,看看是否有你喜欢的

在 Ubuntu 12.10 上安装部署 Openstack http://www.linuxidc.com/Linux/2013-08/88184.htm

Ubuntu 12.04 OpenStack Swift 单节点部署手册 http://www.linuxidc.com/Linux/2013-08/88182.htm

OpenStack 云计算快速入门教程 http://www.linuxidc.com/Linux/2013-08/88186.htm

企业部署 OpenStack:该做与不该做的事 http://www.linuxidc.com/Linux/2013-09/90428.htm

CentOS 6.5 x64bit 快速安装 OpenStack http://www.linuxidc.com/Linux/2014-06/103775.htm

基于 Ubuntu Server 12.04 的 OpenStack F 版搭建步骤  http://www.linuxidc.com/Linux/2016-05/131498.htm

1,查看 CPU 是否支持虚拟化

root@cy-computer:~# grep -E “vmx|svm” /proc/cpuinfo

输出如下:

flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid xsaveopt

2,安装 kvm

root@cy-computer:~# apt-get install qemu-kvm ubuntu-vm-builder bridge-utils

3,启用 kvm 模块

root@cy-computer:~# modprobe kvm
root@cy-computer:~# modprobe kvm_intel
root@cy-computer:~# modprobe kvm_amd

4,检查 kvm 是否成功安装:

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

5,添加 root 到 kvm 组

root@cy-computer:~# adduser root kvm
Adding user `root’ to group `kvm’ …
Adding user root to group kvm
Done.

6,安装 libvirt

其旨在为包括 Xen 在内的各种虚拟化工具提供一套方便、可靠的编程接口,支持与 C,C++,Ruby,Python,Java 等多种主流开发语言的绑定。当前主流 Linux 平台上默认的虚拟化管理工具 virt-manager(图形化),virt-install(命令行模式)等均基于 libvirt 开发而成。Libvirt 库是一种实现 Linux 虚拟化功能的 Linux® API,它支持各种虚拟机监控程序,包括 Xen 和 KVM,以及 QEMU 和用于其他操作系统的一些虚拟产品。

 
Ubuntu 16.04 下 OpenStack 安装部署
      libvirt 比较和用例模型
 
一些原理介绍方面的:http://www.linuxidc.com/Linux/2010-02/24533.htm

root@cy-computer:~# apt-get install libvirt-bin qemu virt-manager

7,检查 libvirt 是否成功安装

root@cy-computer:~# service libvirt-bin start  #启动 libvirt
root@cy-computer:~# virsh list –all                  #如下输出表示正常
 Id    Name                          State
—————————————————-

8,管理界面

root@cy-computer:~# virt-manager
Ubuntu 16.04 下 OpenStack 安装部署

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-06/132188p2.htm

<domain type=’kvm’>  // 如果是 Xen,则 type=‘xen’
  <name>Ubuntu</name> // 虚拟机名称,同一物理机唯一
  <uuid>fd3535db-2558-43e9-b067-314f48211343</uuid>  // 同一物理机唯一,可用 uuidgen 生成
  <memory>524288</memory>
  <currentMemory>524288</currentMemory>  //memory 这两个值最好设成一样
  <vcpu>2</vcpu>            // 虚拟机可使用的 cpu 个数,查看物理机可用 CPU 个数:cat /proc/cpuinfo |grep processor | wc -l
  <os>
  <type arch=’x86_64′ machine=’pc-i440fx-vivid’>hvm</type> //arch 指出系统架构类型,machine 则是机器类型,查看机器类型:qemu-system-x86_64 -M ?
  <boot dev=’hd’/>  // 启动介质
  <bootmenu enable=’yes’/>  // 表示启动按 F12 进入启动菜单
  </os>
  <features>
  <acpi/>  //Advanced Configuration and Power Interface, 高级配置与电源接口
  <apic/>  //Advanced Programmable Interrupt Controller, 高级可编程中断控制器
  <pae/>  //Physical Address Extension, 物理地址扩展
  </features>
  <clock offset=’localtime’/>  // 虚拟机时钟设置,这里表示本地本机时间
  <on_poweroff>destroy</on_poweroff>  // 突发事件动作
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>  // 设备配置
  <emulator>/usr/bin/kvm</emulator> // 如果是 Xen 则是 /usr/lib/xen/binqemu-dm
  <disk type=’file’ device=’disk’>
      <driver name=’qemu’ type=’raw’/>
      <source file=’/opt/vm/vmdev/ubuntu-15.10.raw’ />
      <target dev=’vda’ bus=’virtio’/>
      <address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x06′ function=’0x0’/> //slot 值同一虚拟机上唯一
  </disk>
  <disk type=’file’ device=’disk’> 
      <driver name=’qemu’ type=’raw’/>
      <source file=’/opt/vm/vmdev/ubuntu-15.10_2.raw’ /> 
      <target dev=’vdb’ bus=’virtio’/> 
  </disk>
  <disk type=’file’ device=’cdrom’>
      <driver name=’qemu’ type=’raw’/>
      <source file=’/opt/vm/vmiso/ubuntu-15.10-server-amd64.iso’/>
      <target dev=’hdc’ bus=’ide’/>
      <readonly/>
  </disk>
  <interface type=’bridge’>  // 利用网桥连接网络 
      <mac address=’fa:92:01:33:d4:fa’/> // 可用命令生成:见下面的补充
      <source bridge=’br100’/>  // 配置的网桥网卡名称
      <target dev=’vnet0’/>    // 同一网桥下相同
      <alias name=’net0’/>      // 同一网桥下相同
      <address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x03′ function=’0x0’/>  // 注意 slot 值唯一
  </interface>
  <interface type=’network’>  // 基于虚拟局域网的网络
      <mac address=’52:54:4a:e1:1c:84’/>  // 可用命令生成,见下面的补充
      <source network=’default’/> // 默认
      <target dev=’vnet1’/>  // 同一虚拟局域网的值相同
      <alias name=’net1’/>
      <address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x04′ function=’0x0’/>  // 注意 slot 值
  </interface>
  <graphics type=’vnc’ port=’5900′ autoport=’yes’ listen=’0.0.0.0′ keymap=’en-us’  //vnc 配置,基本不用改
/>
  <listen type=’address’ address=’0.0.0.0’/>
  </graphics>
  </devices>
</domain>

基于网桥的 MAC 地址创建方法:

root@cy-ubuntu# MACADDR=”fa:92:$(dd if=/dev/urandom count=1 2>/dev/null |md5sum |sed ‘s/^\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4/’)”;
root@cy-ubuntu# echo $MACADDR
fa:92:01:33:d4:fa

基于虚拟局域网 MAC 地址创建方法:

root@cy-ubuntu# MACADDR=”52:54:$(dd if=/dev/urandom count=1 2>/dev/null |md5sum |sed ‘s/^\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4/’)”;
root@cy-ubuntu# echo $MACADDR
52:54:4a:e1:1c:84

创建虚拟磁盘:

raw 格式:

root@cy-computer:~# qemu-img create -f raw /opt/vmdev/ubuntu-15.10.raw 20G

qcow2 格式:

root@cy-computer:~# qemu-img create -f qcow2 -o cluster_size=2M,backing_file=/opt/vmdev/ubuntu-15.10.raw /opt/vmdev/ubuntu-nova.qcow2 40G
//backing_file 的使用可以节省磁盘空间和批量创建虚拟机的时间。此时以 raw 中的系统为基础,qcow2 只记录改变的数据

2,虚拟网路

创建网桥 br100

修改网络配置文件:/etc/network/interfaces

 基于 DHCP 方式:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

# 新增
auto enp7s0
iface enp7s0 inet dhcp

auto br100
iface br100 inet dhcp
      bridge_port enp7s0
      bridge_stp off
      bridge_maxwait 0
      bridge_fd 0

注;我的机器配置后发现无法访问网页,删除了两条网关配置才可以,原因待查,目前还没有创建虚拟机,所以不知到是否有影响。

root@cy-ubuntu:~# route del -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.1

基于静态地址:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

#xin zeng
auto enp7s0
#iface enp7s0 inet dhcp
iface enp7s0 inet static
      address 192.168.1.110
      netmask 255.255.255.0
      broadcast 192.168.1.255
      gateway 192.168.1.1

auto br100
#iface br100 inet dhcp
iface br100 inet static
      bridge_ports enp7s0
      bridge_stp off
      bridge_maxwait 0
      bridge_fd 0
      address 192.168.1.110
      netmask 255.255.255.0
      broadcast 192.168.1.255
      gateway 192.168.1.1

重启生效:/etc/init.d/networking restart

准备工作:

操作系统:Ubuntu 16.04

安装 KVM

Kernel-based Virtual Machine 的简称,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在 Linux 的各个主要发行版本中。它使用 Linux 自身的调度器进行管理,所以相对于 Xen,其核心源码很少。KVM 目前已成为学术界的主流 VMM 之一。KVM 的虚拟化需要硬件支持(如 Intel VT 技术或者 AMD V 技术)。是基于硬件的完全虚拟化。而 Xen 早期则是基于软件模拟的 Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但 Xen 本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件 VMware ESX 系列是基于软件模拟的 Full-Virtualization。
 

下面是小编为你精选的 Openstack 相关知识,看看是否有你喜欢的

在 Ubuntu 12.10 上安装部署 Openstack http://www.linuxidc.com/Linux/2013-08/88184.htm

Ubuntu 12.04 OpenStack Swift 单节点部署手册 http://www.linuxidc.com/Linux/2013-08/88182.htm

OpenStack 云计算快速入门教程 http://www.linuxidc.com/Linux/2013-08/88186.htm

企业部署 OpenStack:该做与不该做的事 http://www.linuxidc.com/Linux/2013-09/90428.htm

CentOS 6.5 x64bit 快速安装 OpenStack http://www.linuxidc.com/Linux/2014-06/103775.htm

基于 Ubuntu Server 12.04 的 OpenStack F 版搭建步骤  http://www.linuxidc.com/Linux/2016-05/131498.htm

1,查看 CPU 是否支持虚拟化

root@cy-computer:~# grep -E “vmx|svm” /proc/cpuinfo

输出如下:

flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid xsaveopt

2,安装 kvm

root@cy-computer:~# apt-get install qemu-kvm ubuntu-vm-builder bridge-utils

3,启用 kvm 模块

root@cy-computer:~# modprobe kvm
root@cy-computer:~# modprobe kvm_intel
root@cy-computer:~# modprobe kvm_amd

4,检查 kvm 是否成功安装:

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

5,添加 root 到 kvm 组

root@cy-computer:~# adduser root kvm
Adding user `root’ to group `kvm’ …
Adding user root to group kvm
Done.

6,安装 libvirt

其旨在为包括 Xen 在内的各种虚拟化工具提供一套方便、可靠的编程接口,支持与 C,C++,Ruby,Python,Java 等多种主流开发语言的绑定。当前主流 Linux 平台上默认的虚拟化管理工具 virt-manager(图形化),virt-install(命令行模式)等均基于 libvirt 开发而成。Libvirt 库是一种实现 Linux 虚拟化功能的 Linux® API,它支持各种虚拟机监控程序,包括 Xen 和 KVM,以及 QEMU 和用于其他操作系统的一些虚拟产品。

 
Ubuntu 16.04 下 OpenStack 安装部署
      libvirt 比较和用例模型
 
一些原理介绍方面的:http://www.linuxidc.com/Linux/2010-02/24533.htm

root@cy-computer:~# apt-get install libvirt-bin qemu virt-manager

7,检查 libvirt 是否成功安装

root@cy-computer:~# service libvirt-bin start  #启动 libvirt
root@cy-computer:~# virsh list –all                  #如下输出表示正常
 Id    Name                          State
—————————————————-

8,管理界面

root@cy-computer:~# virt-manager
Ubuntu 16.04 下 OpenStack 安装部署

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-06/132188p2.htm

1,用图形管理界面创建虚拟机

#virt-manager    // 打开图形管理界面

然后按照提示一步步安装即可,网络连接方式改为桥接

导出创建的虚拟机 xml 文件

root@cy-Ubuntu:/home/cy# virt-manager  // 打开图形管理
root@cy-ubuntu:/home/cy# virsh list –all  // 查看虚拟机
 Id    Name                          State
—————————————————-
 8    ubuntu-server                  running

root@cy-ubuntu:/home/cy# virsh destroy ubuntu-server  // 关闭正在运行的虚拟机
Domain ubuntu-server destroyed

root@cy-ubuntu:/home/cy# virsh list –all
 Id    Name                          State
—————————————————-
 –    ubuntu-server                  shut off

root@cy-ubuntu:/home/cy# virsh dumpxml ubuntu-server > /opt/vm/vmxml/ubuntu-server.xml  // 导出配置文件
root@cy-ubuntu:/home/cy# grep ‘source file=’ /opt/vm/vmxml/ubuntu-server.xml      // 找出系统安装的磁盘,为以后应用此系统准备
      <source file=’/opt/vm/vmdev/ubuntu-15.10.raw’/>       

删除虚拟机:virsh undefine  虚拟机名称  // 此时只是删除了管理系统中删除,文件磁盘还在;若从管理界面删除,则虚拟磁盘也将删除

2,命令方式安装

root@cy-ubuntu:/opt/vm/vmxml# vi winxp.xml    // 自定义的配置文件
root@cy-ubuntu:/opt/vm/vmxml# virsh define winxp.xml  // 导入配置文件
Domain winxp defined from winxp.xml

root@cy-ubuntu:/opt/vm/vmxml# virsh list –all    // 已加入到管理系统中
 Id    Name                          State
—————————————————-
 –    ubuntu-server                  shut off
 –    winxp                          shut off

root@cy-ubuntu:/opt/vm/vmxml# virsh start winxp  // 运行虚拟机
Domain winxp started

root@cy-ubuntu:/opt/vm/vmxml# virsh vncdisplay winxp  // 查看虚拟机的输出端口(port)
:0

root@cy-ubuntu:/opt/vm/vmxml# apt-get install vncviewer // 安装查看器
查看的命令:vncviewer IP:port

3,如何大批量创建虚拟机

a,拷贝已有虚拟机安装磁盘。———- 消耗大量 io 与容量,性价比不高

b,利用 qcow2 格式中‘backing_file=‘来快速创建 —— 占用资源少,速度快

更多 Ubuntu 相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-06/132188.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计9997字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中