制做openstack使用的Ubuntu镜像

参考:html

1.http://blog.csdn.net/svmachine/article/details/51523709ubuntu

2.http://wutou.blog.51cto.com/615096/1862488centos

方法一:安全

一.环境准备服务器

Vmware12.0
OS:Ubuntu-16.04桌面版
制做镜像版本:ubuntu-16.04.1-server-amd64.iso(服务器版)
查看是否支持虚拟化(有输出表明支持,不然在BIOS页面中设置,虚拟机的话设置vmware便可):网络

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

这里写图片描述

二.安装kvmssh

sudo apt-get install qemu-kvm libvirt-bin kvm qemu virt-manager bridge-utils

其中:virt-manager为GUI管理窗口,bridge-utils:用于网络桥接。工具

三.测试环境是否安装成功开发工具

  • KVM是否安装成功
kvm-ok
  • 验证KVM内核是否加载成功
lsmod | grep kvm

这里写图片描述

  • 证明KVM正常运行
virsh -c qemu:///system list

这里写图片描述

以上具体步骤查看:http://www.aboutyun.com/thread-9356-1-1.html测试

四。制做镜像

  • 首先是在pc上建立一块空镜像,这块镜像用做虚拟机的硬盘,因此请保证留出你所需的空间的大小:
qemu-img create -f qcow2 server.img 20G
  • 下载Ubuntu原镜像文件,能够去官网
    下载地址:http://pan.baidu.com/s/1dF8ufbN

  • 将下载的iso文件置入某个文件夹,启动KVM一个虚拟机实例。您将看到安装过程的开始。键入以下命令,它将在端口0开放VNC服务(192.168.155.4是个人本机IP):

sudo kvm -m 1024 -cdrom Ubuntu-14.04.4-server-amd64.iso -drive file=server.img,if=virtio,index=0 -boot d -net nic -net user -nographic  -vnc 192.168.155.4:0
  • 安装(直接使用vncviewer会提示找不到命令,安装gvncviewer)
apt-get install gvncviewer
  • 使用0这个展现端口连入虚拟机的VNC,并完成安装。
gvncviewer 192.168.155.4:0

 

这里写图片描述

  • 虚拟机界面如图(按平时安装操做系统同样安装完成就行):

     

    这里写图片描述

  • 安装结束后,经过以下命令查看虚拟机(制做的镜像):

sudo kvm -m 1024 -drive file=server.img,if=virtio,index=0 -boot c -net nic -net user -nographic -vnc 192.168.155.4:0
  • 若是上面没有安装openssh-server,能够进行以下操做:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install openssh-server cloud-init

至此OpenStack使用的镜像制做完成,能够直接在openstack中使用,制做的镜像地址以下:http://pan.baidu.com/s/1boMvdgj

 

方法二:

参考:

1.http://www.cnblogs.com/CloudMan6/p/6397360.html

2.http://www.jianshu.com/p/9ade0ba91a21

这是 OpenStack 实施经验分享系列的第 1 篇。

 

OpenStack 的 instance 是经过 Glance 镜像部署的,因此准备镜像是必需要作的工做。本节介绍 Linux 镜像的制做方法,后面还会讨论 Windows 镜像。

下载clould 镜像

最简单的方法是使用标准镜像。主流的Linux发行版都提供能够在 OpenStack 中直接使用的cloud镜像,下载地址:
 

CentOS6:http://cloud.centos.org/centos/6/images/

 

CentOS7:http://cloud.centos.org/centos/7/images/

 

Ubuntu14.04:http://cloud-images.ubuntu.com/trusty/current/

 

Ubuntu16.04:http://cloud-images.ubuntu.com/xenial/current/

 

下面以Ubuntu16.04为例演示如何将标准镜像导入 Glance。

建立Glance镜像

登陆 OpenStack,打开 “项目->Compute->镜像”菜单。

 

 

点击“建立镜像”按钮。

在建立页面填写镜像相关信息,其中包括:

 

  1. 镜像名称为“Ubuntu 16.04”

     

  2.  “镜像源”选择“镜像文件”

     

  3. 点击“选择文件”定位Ubuntu 16.04的Cloud image文件xenial-server-cloudimg-amd64-disk1.img

     

  4. “镜像格式”选择“QCOW2”

     

  5. 最小磁盘填写“20”,这至关于设置instance启动盘的最小容量

     

  6. 勾选“共有”选择框,这样全部Project均可以使用该镜像

     

点击“建立镜像”按钮,开始上传镜像。完成后,新的镜像将出如今镜像列表上。

 

定制镜像

cloud 镜像是标准镜像,没有图像界面,是美国时区,并且只能经过密钥登陆。能够根据须要对该镜像进行定制,其方法是:

 

  1. 经过 cloud 镜像部署出一个实例。

     

  2. 定制该实例。

     

  3. 建立该实例的快照,该快照将保存在Glance中。

     

  4. 之后经过该快照部署新的实例。

     

下面咱们以CentOS标准镜像为例演示定制镜像的每一个步骤,定制内容包括:添加图形界面,设置中国时区,设置ssh密码登陆等。

1. 经过cloud镜像部署出一个实例

进入 “项目->Compute->镜像”菜单,点击镜像“CentOS6”后面的“启动云主机”按钮。

 

 

命名为“centos6-vm”。

 

 

由于cloud镜像默认是经过密钥对访问,点击“访问&安全”标签,选择事先建立好的密钥对“template”。

 

 

点击“运行”, centos6-vm部署成功。

 

 

 在“项目->Compute->访问&安全”菜单中管理密钥对。“template”就是在这里建立的。也支持已有的密钥对。

 

 

在建立密钥时下载并保管好私钥文件template.pem,下面经过此文件登陆centos6-vm。

 

ssh -i <key-path>/template.pem centos@172.17.24.97


而后切换到root用户:

sudo su –

 

2. 定制该实例

设置中国时区

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

 

 

设置yum 源

 

由于要安装图形等相关包,yum源需提早准备好(固然也能够用官网的源)。而后编辑 /etc/yum.repos.d/CentOS-Base.repo 


 

若是是CentOS7,内容以下:

 

 

安装开发工具和图形界面

 

CentOS6安装以下包:

yum groupinstall "Desktop"

yum groupinstall "X Window System"

yum groupinstall "Development tools"

 

CentOS7安装以下包:

yum groupinstall "Server with GUI"

yum groupinstall "GNOME Desktop"

yum groupinstall "Development Tools"

 

设置系统默认启动图形界面

 

CentOS6,编辑 /etc/inittab,

 

 

CentOS7,执行 systemctl set-default graphical.target

 

 

设置 root密码

 

设置root密码默认为“passw0rd”

 

 

容许root 经过密码ssh登陆

 

编辑 /etc/ssh/sshd_config,做如下修改。


 

重启ssh服务

 

service sshd restart

 

 

修改 /etc/cloud/cloud.cfg

cloud image都是用 cloudinit 初始化instance,好比配置网络,extend 系统盘等,cloudinit 全部的配置都写在/etc/cloud/cloud.cfg,下面的配置将容许 root 经过password  ssh 登陆。

 

 

至此,centos6-vm已经能够启动图形界面,而且能够用密码经过ssh登陆了。

 

安装cloud-utils-growpart(CentOS 6 only)


cloudint 会用到这个软件管理磁盘分区,由于 CentOS6 cloud image 中没有安装,因此这里须要手工安装。下载地址:https://pkgs.org/centos-6/epel-x86_64/cloud-utils-growpart-0.27-10.el6.x86_64.rpm/download/

rpm -Uvh cloud-utils-growpart-0.27-10.el6.x86_64.rpm

 

3. 建立新镜像

咱们在instance中完成了定制工做,接下来对instance作个快照,生成新的镜像。点击“centos6-vm”后面的“建立快照”按钮。

 

 

为快照命名。

点击“建立快照”。

 

4. 部署新实例

点击“启动云主机”经过快照部署新的实例。

 

点击“运行”,实例部署成功。

 

 

能够看到,该实例已经启动了图形界面,而且root能够经过ssh密码登陆。

 

 

将 snapshot 转化为 image(可选)

Glance镜像有两类:image和snapshot,前面经过对instance作快照建立的镜像类型为 snapshot,有时候可能会以为不太方便,能够将snapshot转化为image。

 

 

以 CentOS 6.7n为例,能够直接glance image-create命令经过将其转化为image类型。步骤以下:

 

1. 在其详细信息里面记录下ID为:228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b

 

 

2. 该镜像默认存放于控制节点 /var/lib/glance/images/228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b。

 

3. 执行glance image-create建立新的镜像。

glance image-create --name "CentOS 6.7" --file 228f7bdc-fcf1-4f6a-8a7a-298b86f9e94b --disk-format qcow2 --container-format bare --is-public true --progress       

 

 

4. 新建立的镜像类型为image。

 

 

简单使用OpenStack建立实例

144

做者 2010jing

2017.05.06 19:21* 字数 617 阅读 531评论 4喜欢 4

在搭建好的OpenStack环境,建立虚拟机。

登陆OpenStack

login-openstack.png

根据本身的帐号信息登陆。

登陆进去以后,查看网络是这样子的。

main-network.png

因为IP 有限,不可以给到用户直接将多个VM 挂载在该网络上,得由用户自行建立子网,建立路由,而后经过申请Floating IP来访问内网建立的VM。

建立子网

Network -- > Network Topology -- > Create Network

create-subnet.png

create-subnet-info-0.png

create-subnet-info.png

输入子网的一些信息

Network Name: demo
Subnet Name: demo_subnet
Network Address: 10.0.1.0/24

再查看网络 就能够看到建立的子网demo(橙色)

created-subnetwork.png

建立路由

Network -- > Routers -- > Create Router

create-router.png

create-router-info-0.png

路由信息
Router Name: demo-router
External Network: ext_net

此时效果是这样的

created-router.png

给路由添加接口

Network -- Router -- Interfaces -- Add Interface

add-router-interface.png

Select Subnet: demo_subnet

add-router-interface-info-1.png

效果以下

add-router-interface-info-2.png

建立VM实例

Compute -- Instances -- Launch Instance

create-instance.png

Name: demo(随意)
Count:1

create-instance-1.png

Source: Ubuntu

create-instance-2.png

Flavor: typical

create-instance-3.png

Network
Network: demo

create-instance-4.png

Configuration

#!/bin/sh
passwd ubuntu<<EOF
123456
123456
EOF
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
service ssh restart

这个配置很重要,不然建立VM后,你只能在网页端的console去访问,网页端实在太慢太卡,不大建议,很不方便。固然你也可使用key pair, 可是这样你得在你要使用的电脑上有xxx.pem的文件。本人仍是渴望方便一点,直接SSH 帐号密码登陆。

命令简单解释:

passwd ubuntu 是更改 ubuntu帐号密码,由于openstack 提供的ubuntu 镜像,默认建立帐号是ubuntu。
这两个 123456 是你的密码 和 确认密码,自行更改。
用sed 命令更改配置文件 容许密码认证登陆。
最后就是要重启一下SSH服务。

create-instance-5.png

最后点击 Launch Instance.

Launch-Instance-1.png

Launch-Instance-2.png

这样,一个VM实例就建立出来。

绑定Floating IP

由于建立的VM是连接在你的子网内,外网不能够直接访问,这个时候须要给路由绑定Floating IP,才能够从外网访问你的VM。

Associate Floating IP

floating-ip-1.png

floating-ip-2.png

floating-ip-3.png

floating-ip-4.png

测试SSH访问

可能一开始并不可以访问,由于没有在安全组添加规则。咱们须要开通一下,添加规则就好。

rule-1.png

ALL ICMP - Ingress

rule-2.png

rule-3.png

SSH

rule-4.png

rule-5.png

添加完毕以后,就开始测试了。

$ ssh ubuntu@192.168.9.15

192.168.9.15 是你对应VM的 Floating IP



ssh-2.png

 

重复上面的操做,再建立两个VM。

other-vm.png

这样咱们就能够经过Floating IP 去访问其余虚拟机。

ssh-3.png

ssh-4.png

相关文章
相关标签/搜索