-
CEPH 初体验
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.org介绍Ceph 是新一代的分布式文件系统, 具有高扩展, 高可靠性,高性能的特点. 它采用多个 多个元数据 + 多个存储节点 + 多个监控节点的架构,解决单点故障的问题.架构简介如图, ceph 的后端是 RADOS, 一个对象存储系统. 通过 rados, 提供了以下接口: 类似于 amazon S3 的对象存储系统 Block 设备接口 文件系统接口, 兼容 POSIX#+ATT...…
-
OpenStack Step By Step(5) - setup cinder
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.org介绍Cinder 是 OpenStack 的块设备存储模块, 是从 nova 的 nova-volume组件演化而来的. 它提供块设备存储服务, 为 nova提供可被虚拟机使用的块设备, nova 可以通过 cinder 创建 block 设备,为虚拟机挂载这些设备, 也可以 对块设备执行删除, 从虚拟机分离等操作.安装部署cinder 的部署分为两部分, cinder 的控制节点和存储...…
-
OpenStack Step By Step(4) - setup compute node
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.org介绍Compute Node 负责接受 Controller Node 对于虚拟机创建, 删除等的请求,从名字可以看出, 它仅仅是作为一个计算节点, 只需要 nove-compute 这个 nova的子模块.安装配置安装如上所说, 我们只需要 nova 的 nova-compute 模块.# apt-get install nova-compute-kvm python-guestfs配...…
-
OpenStack Step By Step(3) - setup nova
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.org介绍Nova 是 Openstack 的计算模块, 是最核心的组件.它对上提供包括虚拟机的创建, 启动, 删除, 虚拟磁盘的挂载/卸载等服务,对下它封装各种不同的 hypervisor 的 API, 使得整个 OpenStack 对不同的hypervisor(qemu/kvm, xen, virtualbox) 都有统一的 API 接口.PS: 以下配置在这台机器上同时安装 contro...…
-
OpenStack Step By Step(2) - setup glance
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.org介绍Glance 是 OpenStack 中处理虚拟机镜像的模块, 对外提供镜像查询, 上传 下载,删除等服务. Nova 启动虚拟机的时候需要从 glance 里获取虚拟机的镜像/模板.安装配置安装# apt-get install -y glance glance-api python-glanceclient glance-common glance-registry python...…
-
OpenStack Step By Step(1) - setup keystone
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.org介绍关于 Keystone 的介绍, 网络上很多, 比如 What is this Keystoneanyway?,这里就不浪费口水了.安装配置为了方便, 在以下的安装过程中使用 sqlite3 作为数据库安装# apt-get install -y sqlite3 keystone python-keystone python-keystoneclient配置修改 admin 权限首先...…
-
GlusterFS 初体验
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.org简介GlusterFS 是一款开源的分布式文件系统,具有强大的 scale-out 横向扩展能力,通过扩展能够支持PB级别的存储容量和数千客户端. 它和CEPH 在开源界和存储界正在发起一场基于云计算的存储风暴,向传统的存储技术(SCSI, FibreChannel)发起 猛烈的攻击,同时在这场战役中竞争最激烈的也是它们俩, 所以它俩既是亲密的战友,又是敌人. 到底谁能笑道最后, 让我们...…
-
OpenStack Step By Step(0)
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.org新公司聘用我负责公司产品底层存储方面的技术, 但是该产品是基于 openstack平台来做的, 所以我不得不花一点点时间来了解一下 openstack 的东西.这也就是 这个博客系列的由来: 手动搭建一遍 openstack 的各个组件.但是由于我不会去专门负责该产品 openstack 相关部分的研发, 为了省事,我使用 ubuntu 13.10 来作为我搭建的环境, 选择的 open...…
-
在 Mac 下配置 Linux Kernel 开发环境
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.org自从我的 主要办公环境转到 Mac 下 之后,我的开发方式经历了从 native –> remote server 的转变.但在有时公司网络很差, 而周末我在家里又想研究一些非得在 Linux 下运行的程序的时候, 麻烦就来了. 比如 Linux kernel, KVM 等等.不过作为一个虚拟机爱好者(QEMU/KVM contributor),这种事情应该难不倒我才对. 非常不幸...…
-
LVM Thin Provision
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.org之前对 LVM 做过一番简单的探索,但其实研究的还不够, 真正在使用的时候 LVM 不太能 满足我的需求,比如我需要的 ThinProvision功能就没法实现. 也就是说一般情况下, 我们使用的 LVM 是不支持 ThinProvision 的, LV 在创建之后, 大小就固定了, 虽然之后可以手动增加和减小 PE的数量, 但是在一些场景中会带来更复杂的问题.比如, 考虑用 LV 作为...…
-
iSCSI 杂记
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.orgiSCSI 是一个基于 IP的网络存储技术, 该技术通过网络把两台计算机之间交换 传统的SCSI 命令. iSCSI 可以看作是 FibreChannel 存储的一个替代,由于 iSCSI 是 基于网络的, 成本上更低廉.iSCSI 架构是 C-S 的, 分为 initiator(client) 和 target(server), initiator会向 target 发送 SCSI 命...…
-
QEMU CPU Hotplug
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.org// this post has not be done yet.In the world of cloud compute, Scaling the compute resources withoutshutdown the compute instance is important. e.g. Add/Reduce cpu number,memory size, and so on....…
-
深入分析 QEMU 的 cache 机制
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.orgCache 的一些基本概念Cache 最先指的是高速缓存, 用于平衡CPU 和内存之间的速度差异, 后来, 进一步发展为 一种技术,用在速度相差较大的两种硬件之间, 用于协调两者数据传输速度差异的结构.本文主要指的是协调内存和硬盘速度的 Cache.同步在 Cache 和他的后端存储一般有以下几种方式: Write through: 数据一旦在 Cache 中, 就马上同步到真实设备中...…
-
Get the guest IP address of Virtual Machine
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.orgThese days, I am developing a smallproject. One of the convenientfunctions it provides is that user can access QEMU virtual machinedirectly via ssh as long as user knows the name of VM.There are ...…
-
OpenStack Keysone Note
概念User拥有用户名, 密码, 邮箱等帐号信息的自然人.代表可以通过 keystone 进行访问的人或程序, 比如 nova 用户访问 glance服务. Users 通过认证信息进行验证$ keystone user-create --name=alice --pass=mypassword123 --mail=alice@example.comTenant是一个项目, 团队或组织. 必须指定一个相应的租户(tenant)才可以申请OpenStack是一个容器, 用于组织和隔离资源, ...…
-
Remove Gnome From Gentoo Completely
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.orgIt has been a year since I didn’t use gnome! The new Gnome3 disappointedme too much. So I use LXDE as my desktop, which is more simple, moreconfortable to me. But for some reasons, Gnome still ge...…
-
利用 API 获取 CPU 和内存信息
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.org今天在研究 CPU 的热插拔时,看到了获取系统 CPU 和内存信息的 API,才发现以前在实现 这些功能的时候去 /proc 获取数据是多么的 ugly.这些 API 主要是利用了 sysconf 这个 POSIX 的接口,这个接口可以获取系统运行 时信息, 包括 CPU 信息, 内存信息,进程可以打开的最大文件句柄数等. 它的声明如下:long sysconf(int name); ...…
-
Linuxer 的 Mac 叛逃之路
#+BLOG: my-blog#+POSTID: 325#+CATEGORY: Mac本周入手了一台 Macbook air,正式开始了从 Liunx 到 Mac 的叛逃之路.概况我始终相信 *unix是世界上最好的操作系统, 由于 OSX ∈ *nix, 所以 Mac OS 也是世界上最好的操作系统之一.由于之前是一个 linuxer, 且我对游戏没有偏好, 所以用 Mac之后感觉没有太大的变化, 反而它华丽而不失稳定的 UI, 多达 12 小时的续航,各种对得起业界良心的硬件设计, 无...…
-
LVM 杂记
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.org概念 PV(Physical Volume) 实际的物理卷轴, 在 LVM 的世界里,一般是具体的硬盘或者某个硬盘分区 VG(Volume Group) 由多个 PV 共同组成一个 VG, 负责以 PE 作为单位来给LV 分配磁盘资源 LV(Logical Volume) 最终用户看到, 能直接读写的设备,类似于传统的硬盘分区, 只不过这个 LV的大小可以根据使用自由的扩大和缩小 ...…
-
从源码部署 seafile
#+SETUPFILE: ~/Dropbox/Doc/Org_Templates/level-1.orgseafile 是一款很优秀的 开源的 dropboxreplace.部署环境官方的wiki推荐使用 ubuntu 12.04 作为部署的环境, 但是根据我研究的结果, seafile用到的某些组件和 ubuntu 12.04 的软件包冲突, 比如 django 的 log模块有问题, 这其实 django 1.3 的一个 bug,另外的像一些依赖包也有各种各样的问题, 所以方便 起见,...…