制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)
这是 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->镜像”菜单。
点击“创建镜像”按钮。
在创建页面填写镜像相关信息,其中包括:
镜像名称为“Ubuntu 16.04”
“镜像源”选择“镜像文件”
点击“选择文件”定位Ubuntu 16.04的Cloud image文件xenial-server-cloudimg-amd64-disk1.img
“镜像格式”选择“QCOW2”
最小磁盘填写“20”,这相当于设置instance启动盘的最小容量
勾选“共有”选择框,这样所有Project都可以使用该镜像
点击“创建镜像”按钮,开始上传镜像。完成后,新的镜像将出现在镜像列表上。
定制镜像
cloud 镜像是标准镜像,没有图像界面,是美国时区,而且只能通过密钥登录。可以根据需要对该镜像进行定制,其方法是:
通过 cloud 镜像部署出一个实例。
定制该实例。
创建该实例的快照,该快照将保存在Glance中。
以后通过该快照部署新的实例。
下面我们以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 Linux 镜像的常规操作,下一节我们讨论 Windows 镜像的制作方法。
制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)的更多相关文章
- 制作 OpenStack Windows 镜像 - 每天5分钟玩转 OpenStack(152)
这是 OpenStack 实施经验分享系列的第 2 篇. OpenStack 通过 Glance 镜像部署 instance,上一节我们介绍了 linux 镜像制作方法,windows 镜像与 lin ...
- 学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)
作为 OpenStack 的核心教程,我们已经到了最后总结的部分. OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder ...
- 动手实践 Linux VLAN - 每天5分钟玩转 OpenStack(13)
本节我们来看如何在实验环境中实施和配置如下 VLAN 网络 配置 VLAN 编辑 /etc/network/interfaces,配置 eth0.10.brvlan10.eth0.20 和 brvla ...
- 搭建 OpenStack 实验环境 - 每天5分钟玩转 OpenStack(16)
在学习 OpenStack 各服务之前,让我们先搭建起一个实验环境. 毋庸置疑,一个看得到摸得着而且允许我们随便折腾的 OpenStack 能够提高我们的学习效率. 因为是我们自己学习用的实验环境,C ...
- 如何更新 OpenStack 组件?- 每天5分钟玩转 OpenStack(161)
这是 OpenStack 实施经验分享系列的第 11 篇. 本节教大家更新 OpenStack 组件的方法.请注意,是更新(Update)而不是升级(Upgrade).更新是给组件打补丁,版本不变:而 ...
- 每天5分钟 玩转OpenStack 目录列表
最近在学习 OpenStack 的相关知识,一直苦于 OpenStack 的体系庞大以及复杂程度,学习没有进度,停滞不前.偶然机会在 51CTO 上发现了一个热点的专题关于 OpenStack 的,题 ...
- 写在最前面 - 每天5分钟玩转 OpenStack(1)
<每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重 ...
- cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)
本节介绍几个 cloud-init 的典型应用:设置 hostanme,设置用户初始密码,安装软件. 设置 hostname cloud-init 默认会将 instance 的名字设置为 hostn ...
- 创建 Image - 每天5分钟玩转 OpenStack(21)
本节演示如何通过 Web GUI 和 CLI 两种方法创建 Image. OpenStack 为终端用户提供了 Web UI(Horizon)和命令行 CLI 两种交换界面.两种方式我们都要会用. 可 ...
随机推荐
- 关于iOS后台模式
https://onevcat.com/2013/08/ios7-background-multitask/ http://zhidao.baidu.com/link?url=NUOMrLGB6Odr ...
- S3C2440看门狗解析
个PCLK周期的复位信号 也就是说,在某些环境下,看门狗可以当做定时器使用,当他中断的时候并不发生复位,只发生中断,我看看图 看门狗的中断和复位信号是可以依靠wtcon来切断的(看门狗的时钟是无法切断 ...
- 步进控件——UIStepper
步进控件,可用于替换传统用于输入值的文本框.步进控件提供了“+”和“-”两个按钮,用来改变stepper内部value的增加或减少,调用的事件是UIControlEventValueChanged.由 ...
- 多线程的并发问题,lock用法
开启多个线程,每个线程中多次操作公共变量 using System; using System.Collections.Generic; using System.Linq; using System ...
- eclipse安装maketplace插件
对于默认eclipse是没有marketplace插件的,但是marketplace确实是非常好用的,可以在上面下载各种插件. 1.Help-->Install new Software 2.输 ...
- Linux - tomcat -jndi数据源配置
Linux - tomcat -jndi数据源配置 tomcat/conf/context .xml 文件中修改如下 <Resource name="/jdbc/--" au ...
- UVa 311 - Packets
题目大意:有1X1,2X2 ... 5X5,6X6六种类型的物品,把他们装进6X6的盒子里,求使用的最少盒子数. 贪心吧,其实一看就知道思路了,算是常识吧,装物品时通常都是先装大的,再在其余空间放小的 ...
- bootstrap-datepicker的简单使用
先说datepicker. github上的地址是:https://github.com/eternicode/bootstrap-datepicker. 效果如下: 在bundle里面引用添加js ...
- --@angularjs-- $location.path('/login')-$location服务用法示例
$httpProvider interceptor .factory('auth403', ['$rootScope', '$q', '$location', function auth403($ro ...
- HDU1848-Fibonacci again and again
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1848 这个题目代码不是很复杂,但那个等价类,(SG函数)没怎么理解, 题目难,不过代码不怎么复杂,在网 ...