云计算
文章平均质量分 72
IT技术管理认知&技能全面升级
不辜负自己,成就更好的自己!
展开
-
openstack 工作原理分析
openstack 学习笔记1.为什么需要云?由于大量用户的上线,服务器的数据急剧增多,为了提高电源和网络带宽利用率,所以提出了云计算。云计算是以网络为中,面向海量的数据和复杂的计算,利用互联网上的硬件、软件和数据,把所有的计算能力集中起来,对计算资源进行动态分配。它主要可以提供一下优越性:可以提供用户自助服务器;网络访问:在网络很少人干预下进行。可在网络上的任何计算能力。弹性:使开发的代码更原创 2013-08-05 20:44:37 · 11639 阅读 · 0 评论 -
docker是什么
Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub上进行维护。Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已原创 2015-01-16 10:47:03 · 1444 阅读 · 0 评论 -
Device Mapper 机制
本文结合具体代码对 Linux 内核中的 device mapper 映射机制进行了介绍。Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略,当前比较流行的 Linux 下的逻辑卷管理器如 LVM2(Linux Volume Manager 2 version)、EVMS(转载 2015-01-15 18:04:35 · 4181 阅读 · 0 评论 -
docker lxc cgroup namespace简述
docker、lxc、cgroup、namespace是最近比较的技术。先了解一下他们分别是什么,然后说一下他们怎么用,具体实现机制以后再单独研究。docker是lxc的管理器,lxc是cgroup的管理工具,cgroup是namespace的用户空间的管理接口。namespace是linux内核在task_struct中对进程组管理的基础机制。再详细点说:docker是用原创 2015-01-15 16:57:43 · 9325 阅读 · 0 评论 -
Golang语言的学习资料
鉴于Go还很年轻,下面贴几个学习相关链接。Go官方网站: http://golang.org 目前看来,介绍相当齐全的文档:https://github.com/wonderfo/wonderfogo/wikiGo中文邮件组:http://groups.google.com/group/golang-china原创 2015-01-27 16:46:18 · 8754 阅读 · 0 评论 -
第一个 Go 程序
这里简单记录学习Golang之旅,方便自己回顾。packagemainimport"fmt"// 我们需要使用fmt包中的Println()函数funcmain() {fmt.Println("Hello, world!")} 每个Go源代码文件的开头都是一个package声明,表示该Go代码所属的包。包是Go原创 2015-01-27 15:21:20 · 9861 阅读 · 0 评论 -
初探Golang顺序编程概念
Golang学习笔记,便于自己后续查看。变量变量是几乎所有编程语言中最基本的组成元素。从根本上说,变量相当于是对一块数据存储空间的命名,程序可以通过定义一个变量来申请一块数据存储空间,之后可以通过引用变量名来使用这块存储空间。Go语言中的变量使用方式与C语言接近,但具备更大的灵活性。 变量声明Go语言的变量声明方式与C和C++语言有明显的不同。对于纯粹的变量声明,G原创 2015-01-27 17:26:28 · 9062 阅读 · 0 评论 -
虚拟机的启动内核日志
[ 0.000000] Initializing cgroup subsys cpuset[ 0.000000] Initializing cgroup subsys cpu[ 0.000000] Initializing cgroup subsys cpuacct[ 0.000000] Linux version 3.13.0-24-generic (buildd@原创 2014-05-15 11:12:03 · 11618 阅读 · 3 评论 -
OpenStack注入的2种方式挂载方式
openstack在创建实例的时候可以将文件和相关的参数注入到实例的镜像中,来完成密码的设定、密钥的添加等动作,而这些动作的完成都是在实例启动之前。这在有些情况下会非常有用,比如修改root密码,注入ssh密钥,对实例的个性化定制等等。1.OpenStack Nova文件和元数据注入openstack在创建实例的时候,可以对实例进行文件注入,注入的内容可为:key ssh公钥;转载 2014-04-15 15:12:37 · 2745 阅读 · 0 评论 -
docker启动容器
启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器。所需要的命令主要为 docker run 。例如,下面的命令输出一个 “Hello World”,之后终止容器。$ sudo docker run ubuntu:14.04 /bin/echo原创 2015-01-16 11:17:20 · 35755 阅读 · 1 评论 -
Linux Namespaces机制
Linux Namespaces机制提供一种资源隔离方案。PID,IPC,Network等系统资源不再是全局性的,而是属于特定的Namespace。每个Namespace里面的资源对其他Namespace都是透明的。要创建新的Namespace,只需要在调用clone时指定相应的flag。Linux Namespaces机制为实现基于容器的虚拟化技术提供了很好的基础,LXC(Linux conta转载 2015-01-17 09:16:52 · 4213 阅读 · 0 评论 -
lxc 基本命令
lxc-version 用于显示系统LXC的版本号(可以通过此命令判断系统是否安装了lxc)用法:lxc-version例如:lxc-version lxc-checkconfig 用于判断linux内核是否支持LXC用法:lxc-checkconfig例如:lxc-checkconfiglxc-create用于创建一个容器用法:lxc-cr转载 2015-01-17 11:00:12 · 2602 阅读 · 0 评论 -
docker导入导出容器
导出和导入容器导出容器如果要导出本地某个容器,可以使用 docker export 命令。$ sudo docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES7691a814370e ubuntu:14.04 "/bin/bash" 36 hours ago Exited (0) 21 hours ag原创 2015-01-17 09:13:17 · 11368 阅读 · 0 评论 -
docker进入容器
在使用 -d 参数时,容器启动后会进入后台。 某些时候需要进入容器进行操作,有很多种方法,包括使用docker attach 命令或 nsenter 工具等。attach 命令docker attach 是Docker自带的命令。下面示例如何使用该命令。$ sudo docker run -idt ubuntu243c32535da7d142fb0e6df616a3c3ada0原创 2015-01-17 08:43:44 · 2936 阅读 · 0 评论 -
docker退出关闭容器
可以使用 docker stop 来终止一个运行中的容器。此外,当Docker容器中指定的应用终结时,容器也自动终止。 例如对于上一章节中只启动了一个终端的容器,用户通过 exit 命令或 Ctrl+d 来退出终端时,所创建的容器立刻终止。终止状态的容器可以用 docker ps -a 命令看到。例如sudo docker ps -aCONTAINER ID IMAGE COMMAND原创 2015-01-16 20:34:17 · 54900 阅读 · 1 评论 -
libvirt 如何使用 LVM 存储设备
libvirt 是一组可与 Linux 上多种虚拟机交互的管理工具集。它支持的虚拟机有 KVM/QEMU、Xen、LXC、OpenVZ、virtual Box、vmware ESX/GSX、Hyper-V 等。为了使虚拟机获得更强大的后端存储能力,libvirt 提供了对各种存储介质的支持,包括本地文件系统,网络文件系统,iSCSI,LVM 等多种后端存储系统。LVM(Linux 卷管理)系统是如转载 2015-01-16 12:02:48 · 1695 阅读 · 0 评论 -
mac 安装和运行go的helloword
哈哈,好激动,又接触到一门强大的语言,简单记录下在mac上运行第一个程序遇到的问题。Hello Word 示例,pkg安装包: wget https://storage.googleapis.com/golang/go1.2.2.darwin-amd64-osx10.8.pkg,下载后,需要设置环境变量才ok哦,如,我的bash_profile文件,GOARCH="386" # 38原创 2015-01-15 17:22:18 · 3050 阅读 · 0 评论 -
golang 语法简介
原文链接: http://blog.csdn.net/cnsword/article/details/17039073记录一下学习go语言的一些知识点,网上go语言的入门教程很多,也有对某个点深入分析的教程,这篇文章不是入门教程只是对于学习golang过程中的一些特殊点进行记录,当然这些点是建立在个人(c,c++,python)基础上的。GOPATH是go查找包的路径,GO转载 2015-01-15 16:51:48 · 3044 阅读 · 0 评论 -
Docker的15个常用命令
1. 获取最近运行容器的id这是我们经常会用到的一个操作,按照官方示例,你可以这样做(环境ubuntu):1234$ ID=$(docker run ubuntu echo hello world)hello world$ docker commit $ID helloworldfd08a884dc转载 2015-01-15 17:37:21 · 6861 阅读 · 0 评论 -
如何把oslo.config使用到自己的项目中
本文就简单阐述,如何把openstack的子xiang原创 2014-04-15 10:48:15 · 3441 阅读 · 2 评论 -
python eventlet并发原理分析
最近在学习eventlet这个强悍的东东,看到我同事的一些整理。故贴出来,大家一起分享~motivation114.113.199.11服务器上nova服务中基于python eventlet实现的定时任务(periodic_task)和 心跳任务(report_state)都是eventlet的一个greenthread实例.目前服务器上出现了nova定时任务中某些任务执转载 2013-09-18 17:27:42 · 18161 阅读 · 6 评论 -
keystone 命令简要说明
catalog:keystone catalog 可以显示所有已有的servicekeystone catalog --service service-type 显示某个service信息endpoint: endpoint-create Create a new endpoint associated with a serviceendpoint-dele原创 2013-08-07 16:05:34 · 3570 阅读 · 0 评论 -
快照技术原理讲解
快照是一种基于时间点的数据拷贝技术,它的目的在于能够记录出某一个时刻的数据信息并将其保存,如果之后发生某些故障需要数据恢复的时候,可以通过快照来将数据恢复到之前时间点的状态,而该时间点之后的数据都会丢失。备份系统是快照技术的主要应用领域之一,当备份软件需要备份某些不能停止运行的关键业务的时候,利用快照技术可以将某时间点的所有数据信息保存并备份,不会影响到业务的正常运行。 快照技术分为两类:物理拷原创 2013-08-06 16:01:51 · 8326 阅读 · 0 评论 -
OpenStack Identity API v3(keystone)
(draft 1 - May 21, 2012)THIS DRAFT IS CLOSEDplease see the update draft 2 athttps://docs.google.com/document/d/1_TkawQIa52eSBfS4pv_nx1SJeoBghIlGVZsRJJynKAM/editProposed by: Joe Heck转载 2013-08-06 15:14:52 · 5141 阅读 · 0 评论 -
openstack中协程分析
协程1. 首先说一下什么是协程协同程序与线程差不多,也就是一条执行序列,拥有自己独立的栈,局部变量和指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。线程与协同程序的主要区别在于,一个具有多线程的程序可以同时运行几个线程,而协同程序却需要彼此协作地运行。就是说,一个具有多个协同程序的程序在任何时刻只能运行一个协同程序,并且正在运行的协同程序只会在其显示地挂起时原创 2013-08-05 21:04:28 · 2547 阅读 · 0 评论 -
openstack nova目录解析
git clone https://github.com/openstack/nova.git 真正的Nova服务的代码在 ./nova 下,相应的单元测试在 ./nova/tests 下。这是一个简化的Nova源码目录结构:├── etc│ └── nova├── nova│ ├── api - the Nova HTTP service│ │ ├── ec2 - the A原创 2013-08-05 21:12:26 · 3237 阅读 · 0 评论 -
LXC 轻量级虚拟化
LXC为Linux Container的简写。Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。与传统虚拟化技术相比,它的优势在于:(1)与宿主机使用同原创 2013-08-05 21:06:34 · 5595 阅读 · 0 评论 -
openstack中虚拟大神libvirt库
讲到向外扩展计算(比如云计算),libvirt 可能是您从未听说过的最重要的库之一。libvirt 提供一种虚拟机监控程序不可知的 API 来安全管理运行于主机上的来宾操作系统。libvirt 本身 不是一种工具,它是一种可以建立工具来管理来宾操作系统的 API。libvirt 本身构建于一种抽象的概念之上。它为受支持的虚拟机监控程序实现的常用功能提供通用的 API。libvirt 起初是专门原创 2013-08-05 20:49:14 · 3551 阅读 · 1 评论 -
OpenStack Compute(Nova)功能分析
OpenStack Compute(Nova)功能分析 OpenStack Compute 提供给一个组织云的工具,其中的功能包括运行虚拟机实例,管理网络以及通过用户和项目来控制对云的访问。OpenStack最基础的开源项目名字称为Nova,它提供的软件可以控制基础设施即服务(IaaS)云计算平台,和Amazon EC2和Rackspace云服务器有原创 2013-08-05 20:52:25 · 2417 阅读 · 0 评论 -
keystone 命令参数
看完keystone API文档后,接着就需要上阵操练啦!把自己的练习,放在这里,方便以后查看。那就从最开始入手吧!创建一个service先。keystone help service-create Optional arguments: --name Name of new service (must be unique) -原创 2013-08-07 14:30:59 · 2216 阅读 · 0 评论 -
openstack 中API类型
在openstack中不管程序内部之间的调用还是,对于openstack中的各种服务的和功能的内部调用,还是外部调用都是通过api的形式来进行的。这里分析一下openstack中的几种常见api类型。 第一种是程序内部的api主要是给本机程序内部使用,如nova_master/nova/compute/api.py文件中的api class主要是为了给manager去调用,其中调用转载 2013-08-08 10:02:15 · 2218 阅读 · 0 评论 -
nova 组件的wsgi详细工作流程
虽然是英文的,但是很值得review哦!!At the heart of the OpenStack cloud framework is the Nova API Service (Ken Pepple, 2011). This API Service makes command and control of the Nova Compute programmatically avail转载 2013-09-05 15:17:25 · 2630 阅读 · 0 评论 -
keystone 安装、数据库配置
注:这是我看到的一篇文章,我参考部署的过程出了一点问题,把它补充一下,一起分享~~~Keystone是Openstack框架中,负责身份验证、服务规则和服务令牌的功能, 它实现了Openstack的Identity API, 本文将向你介绍, 如何安装配置Keystone, 并且在安装的过程中, 有哪些问题需要注意的。Keystone类似一个服务总线, 或者说是整个Openst原创 2013-09-10 21:10:30 · 16041 阅读 · 0 评论 -
OpenStack Identity API v3
鉴于苦苦寻找V3 API,贴与此,一起学习。The Identity API primarily fulfills authentication and authorization needs within OpenStack, and is intended to provide a programmatic facade in front of existing authenticat转载 2013-08-12 11:55:26 · 7466 阅读 · 0 评论 -
glance文件组织关系
.学习一个新的模块,先要学习理解各个文件主要功能以及相互配合的逻辑关系图。先简单列出来,后面回头分析逻辑关系。├── api│ ├── cached_images.py│ ├── cached_images.pyc│ ├── common.py│ ├── common.pyc│ ├── __init__.py│ ├── __init__.pyc│ ├──原创 2013-08-23 19:59:47 · 1129 阅读 · 0 评论 -
glance 文件清单
doc source conf.py glance api middleware __init__.py cache.py cache_manage.py context.py原创 2013-08-23 20:02:55 · 1034 阅读 · 0 评论 -
glance 模块内部结构
贴上glance的构成图,方便理解!原创 2013-08-23 19:55:34 · 11207 阅读 · 0 评论 -
openstack keystone介绍
Keystone简介 Keystone(OpenStack Identity Service)是OpenStack框架中,负责身份验证、服务规则和服务令牌的功能, 它实现了OpenStack的Identity API。Keystone类似一个服务总线, 或者说是整个Openstack框架的注册表, 其他服务通过keystone来注册其服务的Endpoint(服务访问的URL),任原创 2013-08-08 20:43:15 · 3928 阅读 · 0 评论 -
openstack创建虚拟机
简单说明一下,openstack创建虚拟机内幕!实例的实际创建过程是通过调用libvirt函数来完成,在virt/Libvirt/driver.py中spawn方法来完成真正的虚拟机创建过程。 1 def spawn(self, context, instance, image_meta, injected_files, 2 admin_password,原创 2013-08-08 10:10:29 · 2370 阅读 · 0 评论 -
Linux资源管理之cgroups简介
cgroups 是Linux内核提供的一种可以限制单个进程或者多个进程所使用资源的机制,可以对 cpu,内存等资源实现精细化的控制,目前越来越火的轻量级容器 Docker 就使用了 cgroups 提供的资源限制能力来完成cpu,内存等部分的资源控制。另外,开发者也可以使用 cgroups 提供的精细化控制能力,限制某一个或者某一组进程的资源使用。比如在一个既部署了前端 web 服务,也部原创 2016-09-09 09:49:16 · 10266 阅读 · 0 评论