天天看点

openstack学习参考OpenStack中那些很少见但很有用的操作int32bit's Blog

OpenStack中那些很少见但很有用的操作

http://int32bit.me/2017/09/25/OpenStack%E4%B8%AD%E9%82%A3%E4%BA%9B%E5%B0%91%E8%A7%81%E4%BD%86%E5%BE%88%E6%9C%89%E7%94%A8%E7%9A%84%E6%93%8D%E4%BD%9C/

int32bit's Blog

深入浅出OpenStack安全组实现原理

众所周知,OpenStack安全组默认是通过Linux iptables实现的,不过发现目前还是很少有深入细节解析OpenStack安全组实现,于是在下班时间花了几个小时时间重新梳理了下,顺便记录下。 1 iptables简介 1.1 iptables概述 在介绍OpenStack安全组前先简单介绍下iptables,其实iptables只是一个用户空间的程序,真正干活的其实是Linu...

Posted by int32bit on June 1, 2019

如何阅读OpenStack源码(更新版)

1 OpenStack介绍 OpenStack是一个开源的IaaS实现方案,企业构建私有云的主流选择之一。截至到2019年4月,OpenStack已经有9年的发展历史了,最新发布的版本为第19个版本,代号为Stein,下一个版本Train目前已经处于开发阶段,预计今年10月发布。 最初OpenStack只有两个子项目,分别为Nova和Swift,其中Nova不仅提供计算服务,还包含了网络...

Posted by int32bit on April 29, 2019

OpenStack断点调试方法

1 关于断点调试 断点是调试应用程序最主要的方式之一,通过设置断点,可以实现单步执行代码,检查变量的值以及跟踪调用栈,甚至修改进程的内存变量值或者运行代码,从而观察修改后的程序行为。 大多数的调试器都是通过ptrace系统调用控制和监视进程状态,通过INT 3软件中断实现断点。当我们在代码中插入一个断点时,其实就是调试器找到指令位置(编译成机器码后的位置)嵌入一个INT 3指令,进程运行...

Posted by int32bit on April 25, 2019

OpenStack Ironic安装部署参考

注:本篇文章会涉及很多配置、脚本等流水账内容,基本无技术含量,建议有选择地参考性阅读,不建议从头到尾阅读。 上次发布了基于Ironic实现X86裸机自动化装机实践与优化,很多人问关于Ironic安装部署的问题,其实Ironic的安装参考官方文档就够了。 如果把整个安装配置过程都写下来会特别零乱,因此本文接下来主要介绍如下几个相对问题比较多的配置,其他配置参考官方文档即可。 1 PXE/...

Posted by int32bit on April 23, 2019

OpenStack安全加固探索与实践

本文转发自民生运维微信公众号,关注该公众号阅读更多云计算相关技术分享, 如需转发到其他公众号,请联系本人开通白名单。 1 前言 在构建企业私有云时,除了平台的功能性和稳定性,安全性也是非常重要的因素,尤其对于银行业,数据中心以及监管部门对平台的安全性要求更高。 OpenStack是IaaS的开源实现,经过几年的发展,OpenStack的功能越来越完善,运行也越来越稳定,目前已经成为企业...

Posted by int32bit on April 19, 2019

基于OpenStack Ironic实现X86裸机自动化装机实践与优化

本文转发自民生运维微信公众号,关注该公众号阅读更多云计算相关技术分享, 如需转发到其他公众号,请联系本人开通白名单。 1 X86裸机管理背景 目前我们测试环境存在大量分散在不同网络区域的各种型号的物理服务器,主要用于给需要物理机的开发人员临时测试使用,使用完毕后通过工单申请回收。这些服务器分布在不同的网络区域,大多数服务器的网络布线和接入均已经就绪。 用户在工单系统中申请一台物理服务器...

Posted by int32bit on March 18, 2019

OpenStack虚拟机如何获取metadata

1. 关于OpenStack metadata服务 我们知道OpenStack虚拟机是通过cloud-init完成初始化配置,比如网卡配置、hostname、初始化密码以及密钥配置等。cloud-init是运行在虚拟机内部的一个进程,它通过datasource获取虚拟机的配置信息(即metadata)。cloud-init实现了很多不同的datasource,不同的datasource实现...

Posted by int32bit on July 1, 2018

OpenStack资源管理层次模型

OpenStack有三种资源视图,分别为用户视图、OpenStack视图以及系统视图,这几个资源视图经常容易混淆。我们将这三种视图做个对比。 1 用户视图 用户视图是站在用户的视角所看到的资源,位于资源抽象的最顶端。对于用户来说,底层是个无限量的巨大抽象资源池,所能使用的资源仅仅受管理员的配额限制。用户视图的资源也称为逻辑资源,它的资源量通常与底层物理资源没有关系,因为底层资源对用户是透...

Posted by int32bit on May 21, 2018

OpenStack高级特性简介

在OpenStack中那些很少见但很有用的操作中介绍了一些很少提及但很有用的功能,本文在此基础上介绍几个OpenStack的几个高级特性。这里所谓的高级特性,是指那些非人人都需要的OpenStack通用默认配置,而是专门针对一些特定场景需求设定的。 1 虚拟机软删除 通常情况下,当用户删除虚拟机时,虚拟机会立即从hypervisor底层删除,不可撤回。为了防止人为误操作,Nova支持开启...

Posted by int32bit on May 17, 2018

OpenStack使用Ceph存储,Ceph到底做了什么?

1 背景知识 1.1 Ceph简介 Ceph是当前非常流行的开源分布式存储系统,具有高扩展性、高性能、高可靠性等优点,同时提供块存储服务(rbd)、对象存储服务(rgw)以及文件系统存储服务(cephfs)。目前也是OpenStack的主流后端存储,和OpenStack亲如兄弟,为OpenStack提供统一共享存储服务。使用Ceph作为OpenStack后端存储,具有如下优点: ...

Posted by int32bit on November 23, 2017

Docker使用OpenStack Cinder持久化volume原理分析及实践

1 背景知识 1.1 OpenStack Cinder简介 OpenStack Cinder为OpenStack提供块存储服务,其功能类似AWS的EBS服务,目前使用最多的是为OpenStack Nova虚拟机提供虚拟硬盘功能,即把volume挂载到虚拟机中,作为附加弹性硬盘使用,关于OpenStack Cinder volume挂载到虚拟机的过程分析可以参考之前写的博客OpenStac...

Posted by int32bit on October 4, 2017

OpenStack中那些很少见但很有用的操作

从2013年开始折腾OpenStack也有好几年的时间了,在使用过程中,我发现很多很有用的功能,但是却很少被提及,比如Cinder volume过户、Glance镜像分享、纳管外部volume、挂载volume到宿主机等等。 本文将列举几个本人使用过的认为很有用的OpenStack操作,也欢迎读者补充更多关于被忽视却很有用的OpenStack操作。 Glance member 镜像是...

Posted by int32bit on September 25, 2017

OpenStack虚拟机挂载数据卷过程分析

1 关于OpenStack OpenStack是一个IaaS开源项目,实现公有云和私有云的部署及管理,目前已经成为了最流行的一种开源云解决方案。其中提供计算服务组件Nova、网络服务组件Neutron以及块存储服务组件Cinder是OpenStack的最为核心的组件。这里我们重点关注Nova和Cinder组件,Neutron组件将在下一篇文章中详细介绍。 1.1 计算服务Nova No...

Posted by int32bit on September 8, 2017

OpenStack工作流服务Mistral项目简介

1 Mistral背景 Mistral是一个OpenStack生态圈中比较新的项目,该项目的目标是: The project is to provide capability to define, execute and manage tasks and workflows without writing code. 截至到目前开发还不到2年,最初是由Mirantis公司贡献给...

Posted by int32bit on September 3, 2017

如何阅读OpenStack源码

1 OpenStack基础 1.1 OpenStack组件介绍 OpenStack是一个IaaS层的云计算平台开源实现,其对标产品为AWS。最开始OpenStack只有两个组件,分别为提供计算服务的Nova以及提供对象存储服务的Swift,其中Nova不仅提供计算服务,还包含了网络服务、块存储服务、镜像服务以及裸机管理服务。之后随着项目的不断发展,从Nova中根据功能拆分为多个独立的项目...

Posted by int32bit on August 28, 2017

OpenStack数据库版本控制工具简介

介绍sqlalchemy migrate以及alemebic

写在前面的话 自今年3月份以来就没有写过博客了,主要是由于工作的原因,加上拖延症,中断了大约半年时间。今天重新捡起来,准备好好总结反省这5个月时间的所得多学,记录下来防止以后又忘了。 本文冠以OpenStack打头,但其实本文的内容主要还是介绍Python数据库的两大主流Migrate工具,而OpenStack只是拿来作为例子讲罢了,所以其实题目改成”Python数据库版本控制工具简介”...

Posted by int32bit on August 24, 2017

Cinder数据卷备份原理与实践

一、背景 1.1 数据保护技术概述 快照(Snapshot)、复制(Replication)、备份(Backup)是存储领域中最为常见的数据保护技术。快照用于捕捉数据卷在某一个时刻的状态,用户可以随时回滚到这个状态,也可以基于该快照创建新的数据卷。备份就是对数据进行导出拷贝并传输到远程存储设备中。当数据损坏时,用户可以从远端下载备份的数据,手动从备份数据中恢复,从而避免了数据损失。快照类...

Posted by int32bit on March 30, 2017

cinder-volume服务如何实现AA高可用

1 何谓”锁” 锁是操作系统用来实现进程同步和数据一致性的常用手段之一,能够保证同一时刻只有一个进程访问互斥资源以及数据的完整性。计算机中的锁,根据运行环境可以大体分为以下三类: 同一个进程。此时主要管理该进程的多个线程间同步以及控制并发访问共享资源。由于进程是共享内存空间的,一个最简单的实现方式就是使用一个整型变量作为flag,这个flag被所有线程所共享,其值为1表示已上锁,为...

Posted by int32bit on March 16, 2017

Ceph RBD mirror功能介绍

1.Ceph RBD mirror简介 Ceph采用的是强一致性同步模型,所有副本都必须完成写操作才算一次写入成功,这就导致不能很好地支持跨域部署,因为如果副本在异地,网络延迟就会很大,拖垮整个集群的写性能。因此,Ceph集群很少有跨域部署的,也就缺乏异地容灾。Ceph RBD mirror是Ceph Jewel版本引入的新功能,支持两个Ceph集群数据同步,其原理非常类似mysql的主从...

Posted by int32bit on January 24, 2017

聊聊Nova Compute Driver的那些趣事

OpenStack设计准则 OpenStack是一个开源云计算平台项目,旨在为公共及私有云的建设与管理提供软件的开源实现。可扩展性和弹性是OpenStack设计的准则之一,即OpenStack的各个组件以及组件内部的模块都应该是可插拔的,并且可以随意的增加插件而不需要修改已有的接口。Driver机制就是其中的一个很好的例子,Nova通过不同的driver支持不同的hypervisor,Ci...

Posted by int32bit on January 7, 2017

  • OpenStack虚拟机保护的几种方法

    1.虚拟机保护的重要性 虚拟机是OpenStack中最重要的角色之一,我们接触比较多的Nova服务就是通过虚拟机方式提供计算虚拟化服务。除此之外,还有很多高层服务也是完全依赖于Nova服务提供的虚拟机,比如Sahara大数据服务、Magnum容器编排服务、Manila文件共享服务以及Trove数据库服务等,这些服务底层都是基于虚拟机实现的。虚拟机的保护至关重要,不仅承载着用户活动的业务,还...

    Posted by int32bit on November 9, 2016

    OpenStack Nova组件对象模型以及数据库访问机制

    1. 背景介绍 在OpenStack G版以前,Nova的所有服务(包括nova-compute服务)都是直接访问数据库的,数据库访问接口在nova/db/api.py模块中实现,而该模块只是调用了IMPL的方法,即该模块只是一个代理,真正实现由IMPL实现,IMPL是一个可配置的动态加载驱动模块,通常使用Python sqlalchemy库实现,对应的代码为nova.db.sqlalch...

    Posted by int32bit on November 1, 2016

    OpenStack使用Ceph存储后端创建虚拟机快照原理剖析

    OpenStack源码分析系列

    1.背景知识 1.1 Ceph基础知识 Ceph是一个开源的统一分布式存储系统,最初由Sage Weill于2007年开发,其目标是设计基于POSIX的无单点故障的分布式存储系统,同时提了统一存储系统下的高可扩展的对象存储、块存储以及文件系统存储。其中rbd块存储目前最常见的应用场景之一是作为OpenStack的共享分布式存储后端,为OpenStack计算服务Nova、镜像服务Glanc...

    Posted by int32bit on October 25, 2016

    OpenStack服务心跳机制和状态监控

    OpenStack源码分析系列

    1. 背景介绍 众所周知OpenStack是一个分布式系统,由分布在不同主机的各个服务组成来共同协同完成各项工作。以计算服务Nova为例,包括的基本组件为: nova-api nova-conductor nova-sheduler nova-compute nova-consoleauth … 以上服务除了nova-api是HTTP服务外,其它都是RPC服...

    Posted by int32bit on October 24, 2016

  • 配置高效科学Linux开发环境

    记得2010年刚读大二,在大神@btw的指导下折腾Linux,从那时开始一直使用Linux学习和工作,折腾了不少Linux发行版,其中包括Ubuntu、Debian、Mint、Gentoo、LFS、CentOS等,现在已经完全离不开Linux环境,沉陷在Linux的工作方式中,思维方式也完全Linux化,遇到问题时第一直觉是想有没有什么命令加上管道组合或者正则匹配来解决,而不是想到需要打开什...

    Posted by int32bit on October 3, 2016

    Harbor命令行工具介绍

    1 什么是Harbor? Harbor是由VMware中国研发团队负责开发的开源企业级Registry项目,项目地址为https://github.com/vmware/harbor,该项目发布5个多月以来,深受用户喜爱,在GitHub获得了1000多个点赞星星和200多个Forks。 它是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,...

    Posted by int32bit on September 9, 2016

    OpenStack使用ISO镜像启动云主机

    1. 基础知识 大多数OpenStack新手都很疑惑一个问题,为什么OpenStack只能上传qcow2、raw格式镜像,而不是我们装系统的ISO格式镜像。其实OpenStack原生支持ISO镜像格式,只是使用方法和直接使用qcow2、raw等格式会有点不同。 1.1 什么是ISO镜像 ISO文件是电脑上光盘镜像存储格式之一,它是根据ISO-9660有关CD-ROM文件系统标准存储的文...

    Posted by int32bit on August 1, 2016