- 博客(38)
- 资源 (4)
- 收藏
- 关注
原创 工作小记系列4-自定义美化Linux Shell界面
作为一名云计算软件开发人员,工作中经常要使用Linux Shell来进行环境部署、代码调试、问题定位等等,可以说Shell界面是软件工程师最为熟悉的界面之一。本文介绍了如何对linux shell界面进行显示优化,提升开发人员的工作效率。
2023-01-28 17:04:55 687
原创 在树莓派上基于Kubernetes从0-1部署Prometheus笔记
本篇笔记记录了在树莓派上运行的Kubernetes集群中采用手工方式一步步搭建Prometheus系统的过程,从而实现对于Kubernetes资源的监控能力。虽然有更加快捷的部署方式,但是通过这些步骤,可以加深对于Kubernetes核心资源和Prometheus监控概念的理解。
2022-12-07 10:39:41 316
原创 工作小记系列3-Minikube搭建笔记
Minikube是一个非常有用的工具,它可以快速帮助你在你的笔记本,台式机甚至嵌入式板卡上(例如树莓派)搭建一个Kubernetes集群,支持多种操作系统(MacOS/Linux/Windows)。
2022-08-26 17:48:31 458
原创 工作小记系列2:Kubevirt简介
Kubevirt 是Redhat开源的以容器方式运行虚拟机的项目,以k8s add-on方式,利用k8s CRD增加一种自定义资源类型:VirtualMachineInstance(VMI), 使用容器的image registry去创建虚拟机并提供VM生命周期管理。
2022-08-02 19:12:59 1464 1
原创 工作小记系列1:时间跳变对于基于OpenStack的云操作系统产品的影响
在开发基于OpenStack开源项目的云操作系统产品时,经常会在项目中遇到时间跳变的问题,现网交付或者运维人员常常无法准确评估时间跳变对于系统的影响,因此将时间跳变对于系统的影响分为不同的节点角色类型,总结一篇工作小记。
2022-05-09 15:05:42 536
原创 Openstack卷迁移状态图
最近基于Mitaka版本整理了Cinder中卷状态变迁图,希望可以帮助有兴趣的同学更好的理解Cinder,水平有限,如有错误,请多多指教。
2016-12-01 09:29:10 1549
原创 VOVA使用分析
1 VOVA简介VMware OpenStack Virtual Appliance(VOVA),是VMware推出的一种虚拟应用,旨在帮助VMware的用户简捷的获取运行在VSphere之上的openstack的实践经验。通过VOVA,用户可以方便的通过openstack的Dashboard或者使用命令行在Vsphere的逻辑集群上创建虚拟机。2 使用VOVA的
2014-03-29 17:49:07 3276 1
原创 Fuel安装笔记-搭建openstack环境流程
1.1 前言在《Fuel安装笔记-初探Fuel》一文中介绍了Fuel Server安装过程,并对Fuel安装openstack进行了初步的了解,遗憾的是当时并没有成功的安装完成openstack环境,之前认为是虚拟机没有IPMI设置引起的,不过随着深入研究和交流发现,虚拟机中搭建openstack是可行,问题出在Fule Server搭建完成后,由于默认的10.20.0.2和已有环境网络不通,
2014-01-07 09:18:41 6811 2
原创 Mirantis Fuel安装openstack环境笔记之初探fuel
Fuel的起源:Fuel是Mirtantis开发的一款用于openstack安装和管理的开源软件,其具有良好的GUI交互体验,并支持多个openstack版本及插件。目前Fuel已经可以支持openstack最新的发布版本Havana版本,小伙伴们可以从官网上下载Fuel的ISO镜像进行体验:http://software.mirantis.com/Fuel如何安装openst
2013-11-30 15:16:04 10594 7
原创 Linux主机资源监控与分析工具NMON
一、NMON介绍nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具, nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中。nmon工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。并且,nmon运行不会占用过多的系统资源,通常情况下CPU利用率不会超过2%。针对不同的操作系统版本,nmon有相
2013-09-09 14:49:20 1505
原创 wsgi+webob+routes学习笔记-初学篇(end)
6 使用webob来包装wsgi请求和响应先介绍下webob: WebOb是一个Python库,主要是用在WSGI中对请求环境变量request environment(也就是WSGI应用中的参数environ)进行包装(提供wrapper),并提供了一个对象来方便的处理返回response消息。WebOb提供的对象映射了大多数的HTTP方法,包括头解析,content协商等。这里的
2013-08-08 19:42:07 1470 1
原创 wsgi+webob+routes学习笔记-初学篇(下)
5 将application封装为class进行调用为了进一步接近openstack中用法,将上文中的application函数可以封装为class进行调用,代码如下:__author__= 'sxmatch'"""calla application class"""importwebobimporteventletfromeventlet import wsgi
2013-08-08 19:38:26 993
原创 wsgi+webob+routes学习笔记-初学篇(中)
接上文:可以看到wsgi已经在8090端口上建立了,用Rest client发个消息看下,可以看到已经收到了响应“Hello, World! I am sxmatch”在以上程序中:方法def myapp(env, start_response)就是用户自己的应用,起入参是wsgi规定好的,env为字典,start_response是个回调函数对象。在application中调用了这个
2013-08-08 10:47:30 1030
原创 wsgi+webob+routes学习笔记-初学篇(上)
1 初识WSGI:Wsgi是什么?Python Web服务网关接口? 可以先看下它不是什么:What WSGI¹ is not: a server, a python module, aframework, an API or any kind of software.它仅仅是一个web server和application之间的一个接口定义(http://webpython.cod
2013-08-08 10:39:13 1368
原创 openstack-cinder_lvm_driver命令汇总(下)
9.删除逻辑卷(要先确保该卷没有被挂载使用)lvremove [逻辑卷路径] 例如: lvremove /dev/cinder-volumes/volume1注意有时候删除逻辑卷时会报:Can't remove open logical volume 的错误,这时需要先清除一下linux系统中块设备映射关系,例如:dmsetup remove -f /dev/mapper/cind
2013-07-12 08:19:00 1881
原创 openstack-cinder_lvm_driver命令汇总(中)
5.从卷组中删除一个物理卷,首先要确保没有逻辑卷使用这个物理卷vgreduce [卷组名] [物理卷路径] 例如:vgreduce cinder-volumes /dev/sdc6.创建逻辑卷(cinder的lvm driver就是使用这个命令创建一个卷)lvcreate -L [卷大小MB] -n [卷名称] [卷组名] 例如: lvcreate -L 1000 -n v
2013-07-11 20:38:29 1507
原创 openstack-cinder_lvm_driver命令汇总 (上)
Cinder在使用LVM(逻辑卷管理)作为driver时,在suse环境和不安装lvm的ubuntu环境上需要先执行一系列的命令才能正常使用cinder:1.创建物理卷(一般选择服务器没有使用的另一块或多块硬盘作为供cinder使用的物理卷)pvcreate [磁盘设备路径] 例如:pvcreate /dev/sdb 创建完成后可以使用 pvdisplay 命令查看物理卷详情
2013-07-11 20:36:12 2703
原创 ubuntu环境下cinder-bakup服务添加方法
ubuntu环境下默认是没有安装cinder-backup服务的,如果我们要使用cinder的backup特性,就需要将backup作为ubuntu的服务添加进操作系统。而Ubuntu从6.10开始逐步用Upstart()代替原来的SysVinit进行服务进程的管理,添加服务的方式与其他操作系统不同,研究总结如下:Step1:将cinder源码bin目录下的cinder-backup启动脚
2013-07-11 20:32:53 1719 5
原创 OpenStack-Cinder卸卷接口代码走读(Grizzly)
卸卷接口os-detach ,接口参数有:【卷ID】1. Os_detach接口属于openstack的扩展接口,其controller是volume_action.py中的VolumeActionsController类2. 通过routes的URL映射,卸卷的请求被dispatch到了volume_action.py中的VolumeActionsController类,并调用卸
2013-06-18 20:06:47 905
原创 OpenStack-Cinder挂卷接口代码走读(Grizzly)
挂卷接口os-attach,接口参数有:【卷ID,要挂卷的虚拟机的UUID,挂载点】1. Os_attach接口属于openstack的扩展接口,其controller是volume_action.py中的VolumeActionsController类2. 通过routes的URL映射,挂卷的请求被dispatch到了volume_action.py中的VolumeActio
2013-06-18 20:04:44 1401
原创 OpenStack-Cinder强制卸载卷接口代码走读(Grizzly)下
4. 在terminate_connection方法中的主要作用就是清除connector所表示的主机和卷之间的connection,首先根据volume_id从DB中取出volume_ref,然后调用响应driver的terminate_connection方法,该方法在不同的driver中实现完全不同,有些driver中直接pass,例如在iscsidriver,sheepdogdriver
2013-05-17 08:52:49 1256
原创 OpenStack-Cinder强制卸载卷接口代码走读(Grizzly)上
1. Os-force_detach接口属于openstack的扩展接口,其controller是admin_action.py中的VolumeAdminController类2. 通过routes的URL映射,强制卸载卷的请求被dispatch到了admin_action.py中的VolumeAdminController类,并调用强制卸载卷的方法def _force_detach(se
2013-05-17 08:50:11 1311
原创 OpenStack-Cinder创卷代码走读(Grizzly)END
25.volume_rpcapi.create_volume是调用manager.py中的create_volume方法, 该方法先从数据库中取出volume的信息,然后调用 volume_utils.notify_about_volume_usage方法(是不是通知RabbitMQ?)。然后继续从volume信息中取vol_name,vol_size,并且如果入参中有snapshot_id
2013-04-24 17:42:15 1103
原创 OpenStack-Cinder创卷代码走读(Grizzly)下
20.调用Quita的方法创建reservations(应该是资源的预留).这块如果有异常,会分为volume size不足和volume个数不足抛异常。21.获取availability_zone参数,如果为null,则取默认值。如果请求中没有volume_type和source_volume,则volume_type去默认值,如果请求中没有volume_type,但是有source_v
2013-04-24 17:39:29 789
原创 OpenStack-Cinder创卷代码走读(Grizzly)中
继续11.除了name和description外,然后根据参数中volume_type的ID,从数据库中获取对应的volume_type的值,放入kwargs中,如果volumeType未找到,则会报异常。12.取metadata参数,放入kwargs中13.如果参数中有snapshot ID参数,则从数据库中取快照的信息放入kwargs中,否则置为none;14.取s
2013-04-24 17:36:38 949
原创 OpenStack-Cinder创卷代码走读(Grizzly)上
刚开始学习OpenStack,第一次走读代码,有很多不懂的地方,欢迎大家指正。这块也是在看代码过程中写下的笔记,记录在这里:1. api-paste.ini中定义了请求消息的路由路径,分为V1,V2两个版本的API。2. [composite:openstack_volume_api_v1]3. [composite:openstack_volume_api_v2]
2013-04-24 17:32:20 1184
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人