Jingh Blog

"志之所趋,无远弗届,穷山距海,不能限也"

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

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

OpenStack断点调试方法

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

OpenStack Ironic安装部署参考

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

OpenStack安全加固探索与实践

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

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

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

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

MySQL索引背后的数据结构及算法原理

下面是一位牛人写得关于数据库索引的精品之作,因为很好,不敢修饰,转载至此与博友共享。

原文链接:MySQL索引背后的数据结构及算法原理 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引...

OpenStack虚拟机如何获取metadata

OpenStack metadata服务原理解析

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

利用 Git-hook 自动配置不同仓库的用户信息

用正确的工具,做正确的事情。

问题的起因来自于某天一位同学的问题:“我给一个知名开源项目提交了代码,也被合并了,为什么 contributors 里面没有我?”其实,这多是因为提交代码时本地仓库的user.name、user.email与GitHub账号不匹配导致,只有提交代码时的用户设置与自己的 GitHub 账号相匹配时,各项数据才会被 GitHub 计入统计。如下图所示,这样的 commit 记录便来自于一个...

从运行原理及使用场景看Apache和Nginx

用正确的工具,做正确的事情。

Web服务器 Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。 应用层使用HTTP协议。 HTML文档格式。 浏览器统一资源定位器(URL)。 Web服务器常常以B/S(Browser/Server)方式提供服务。浏览器和服务器的交互方式如下: GET /index.php HTTP/1...

OpenStack资源管理层次模型

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