基于restful api的linux网络和存储资源管理/配置系统

storlever的Python项目详细描述


介绍
=========== < BR>
storlever是一个管理、配置、监视linux存储和网络资源的系统,
它提供了一组设计良好的restful样式的web api和web面板。 < BR>
Storlever的主要目标是简化Linux服务器上存储资源的管理。
Storlever建立在现有Linux管理工具的基础上,提供了一个用户友好的Web面板
对于系统管理员来说,这可以减少学习曲线,提高他们的用户体验。 < BR>
除了web面板,storlever还提供了一组restful风格(http+json)的api来远程管理linux系统,
这是另一个强大的功能。基于此,另一台主机上的第三方管理软件
(如中央管理系统)可以方便地管理远程linux系统,无论使用何种语言和平台
它是建立在。人类可以很好地理解rest api的输出,计算机程序也可以很容易地解释它。
任何程序语言都有其成熟的库来处理http协议和解释json字符串。Storlever的sdk
可以在任何语言和平台上轻松开发。 < BR>
storlever专注于linux系统存储资源的管理,这是最多样化、最困难的部分
Linux,包括块设备、LVM、MD、文件系统、NAS、IP-SAN等,它们通常是系统的噩梦
管理员,通常需要一周或更长时间来配置这些功能,但不确定他们是否在
最佳状态。Storlever是这种情况的救星。
通过积累丰富的存储管理经验和导出清晰、简单的界面,Storlever可以解决这些问题
几分钟后出现问题。 < BR>
Storlever不仅是一个冻结的软件,而且是一个可扩展的框架。任何想用Storlever管理另一个对象的人,
可以轻松地在单独的项目中开发扩展(插件),而无需更改storlever中的一行代码。 < BR>
Storlever是在纯Python上构建的,因此它简单、易懂、稳定可靠、易于开发和部署,
Storlever的设计原理简单、可扩展、易于使用。 < BR>< BR>
亮点:
-- < BR>
*集成了Linux的各种存储技术,包括LVM、RAID、NAS/SAN等。
*提供各种接口,包括restful api、web ui、cli(子项目中)、sdk(子项目中)
*可扩展,易于添加扩展(插件)
*简单、纯粹的python < BR>< BR>
存储资源
---- < BR>
"存储资源"是指块设备、RAID、LVM、NAS等。
以下是最新Storlever控制的内容的非详尽列表: < BR>
*块设备
*SCSI设备
*MD磁盘阵列
*LSI RAID(LSISAS2108、LSISAS2008芯片) *BR/**LVM
*nfs(客户端和服务器) < * SAMBA *BR/**FTP
*iscsi(启动器和目标) < BR>
有关软件包的完整列表,请查看依赖关系文档。 < BR>
为什么选择Storlever
------ < BR>
传统上,linux发行版提供两种本地操作接口
系统管理员,典型的cli和gui。它们曾经是最流行的管理方法
Linux系统。随着网络的普及,特别是internet的普及,linux系统通常会定位于
在远程计算机上(特别是虚拟专用服务器vps)。本地接口没有意义
管理员更喜欢使用ssh登录远程系统来管理它们。管理层
ssh是灵活的,但是困难、痛苦、耗时。开发了一个web控制面板项目
帮助管理员完成此任务。
随着云计算的普及,越来越多的vps必须是m由管理员管理,
因此他们需要中央管理平台的协助来执行管理任务,
需要远程系统的简单管理api。 < BR>
Storlever就是这些问题的答案。 < BR>
为什么选择Web API
----- < BR>
上面提到的所有"资源"都有自己的实用程序,如命令行
和用于管理的配置文件,但不幸的是,它们都采用不同的样式。
要掌握所有这些命令行和配置文件,需要付出非常大的努力,
要以远程和编程方式访问这些实用程序,需要另一组技能,
这会让事情变得更糟。 < BR>
所以Storlever来救援。通过提供一套统一的、设计良好的web api,
我们抽象出所有配置和命令行的细节,简单而一致
在api设计过程中,人们会发现它们很容易理解。 < BR>
所有这些api都是基于http的,这使得它们完全独立于平台和编程语言。 < BR>
与其他类似项目的区别
- < BR>
像openfiler这样的项目已经有了类似的用途,但是
区别? < BR>
openfiler或freenas都是随整个操作系统一起提供的存储系统
所有的实用程序都在上面,相反,storlever只是一组帮助用户的api
简化存储资源的管理。它基于Linux中现有的管理工具之上
分布,例如RHEL/CENTOS。RHEL/CentOS 6/7,由一群Linux专家维护
并且已经证明自己是最稳定的企业级linux发行版。Storlever也取决于
在RHEL/CentOS提供的包/RPM上,但用户有权只安装他们自己的包
实际需要。 < BR>
ajenti是另一个用python开发的优秀项目,其目的是提供一个web控件
用于vps上的linux的面板,而且它也是可扩展的。它是一个通用控制面板,包括
linux,但不关注存储管理,也不向其他系统提供软件开发api < BR>
openlmi是一个与storlever非常相似的项目,它已经包含在rhel 7中,它还为
管理员远程管理、配置和监视Linux系统。但我们认为这条路不对,
openlmi基于所谓的"wbem"技术来实现其可伸缩性(可扩展性)。
wbem是一个非常复杂的技术架构,由微软、康柏、思科等大企业在20世纪90年代发起
支持企业分布式计算环境。
它由许多组件和许多协议组成,灵活、周到,但难以理解,
部署困难,开发困难。网络数据报也很难被人读取。
我们认为不需要如此复杂的体系结构来实现对linux系统的远程管理。
Storlever是实现可伸缩性的简单框架,提供简单的API,友好的网页。至于openlmi,
Storlever是一种替代的轻量级解决方案,可以完成相同的任务。 < BR>< BR>< BR> 安装/安装
==================== < BR>
Storlever是一种Web服务,旨在简化对各种
CentOS/RHEL 6服务器上的存储资源。它是基于
python web framework[金字塔](http://www.pylonsproject.org/)来构建其web服务,
并使用[pastedeploy]系统(http://pythonpaste.org/deploy/)部署其wsgi服务器/应用程序配置 < BR>
它需要Python2.6或更高版本,但不支持Python3K。 < BR>< BR>
从源代码安装
------

在Linux系统中下载并解压缩Storlever的源代码包。Storlever可以在RHEL/CentOS 6或更高版本上运行,
对于其他linux发行版(如fedora、ubuntu),它不确定是否可以运行。 < BR>
在Storlever项目的根目录中,输入以下命令将Storlever安装到Linux系统中 < BR>
$python setup.py安装 < BR>
此安装过程将检查任何需要的项目并从pypi下载它们。 < BR>< BR>
配置
---- < BR>
storlever会将其粘贴配置文件安装到您的系统中,路径如下: < BR>
$/etc/storlever.ini < BR>
默认情况下,此配置文件将在Storlever启动时读取。您应该将大多数选项值保留为默认值
在此文件中,服务器端口除外。Storlever的服务器侦听端口默认为6543,您可以根据需要进行更改。 < BR>< BR> 启动
---- < BR>
成功安装storlever后,可以通过两种方式启动storlever的服务:1)后台程序模式;2)前台模式。 < BR>
后台程序模式: < BR>
如果要在后台启动Storlever的Web服务器,以便它可以从控制台单独运行,
您可以输入以下命令: < BR>
$pserve--daemon--log file=[log file]--pid file=[pid file][paste config file] < BR>
在这种情况下,storlever将从给定的[粘贴配置文件]中读取粘贴配置
(storlever项目根目录包含一些示例ini文件),将其进程pid存储到[pid文件]中以停止,
将其stderr/stdout重定向到/dev/null,并将日志输出到[日志文件] < BR>
如果要在后台程序模式下停止Storlever的服务器,请输入以下命令: < BR>
$pserve—停止守护进程--pid文件=[pid文件] < BR>
[pid file]是包含守护进程的pid的文件。 < BR>< BR>
前景模式: < BR>
如果要调试或测试Storlever,可能需要在前台模式下启动Storlever的服务器,
以便您可以从Storlever的服务器读取stdout/stderr。输入以下命令将启动Storlever的
服务器处于前台模式 < BR>
$pserve[storlever粘贴配置文件] < BR>
storlever的粘贴配置文件可以选择storlever项目根目录下的ini文件。 < BR>
如果Storlever在前台模式下运行,只需键入ctrl+c即可终止它。 < BR>
之后,Storlever正在运行,享受吧!!!!! < BR>< BR>
启动时启动
-------- < BR>
如果要在系统引导时自动启动storlever,可以使用storlever的init.d脚本
和chkconfig实用程序,将storlever的服务添加到system rc.d目录中。遵循以下指南: < BR>
首先,应将init.d脚本和配置文件从Storlever项目复制到系统中
/etc目录。在Storlever的根目录中,键入以下命令: < BR>
$cp初始化脚本/storlever/etc/init.d/
$cp storlever.ini/等/ < BR>
然后,通过"chkconfig"实用程序将storlever添加到system rc.d目录中: < BR>
$chkconfig—添加storlever < BR>
然后,重新启动计算机,您可以看到storlever将以守护进程模式运行。 < BR>
对于开发人员
-- < BR>
如果您是要调试/开发Storlever的开发人员,则可能不希望在系统中安装Storlever
但只想运行它。可以在Storlever的项目根目录中输入以下命令: < BR>
$python setup.py开发 < BR>
此指令永远不会在python的site packages目录中安装storlever。相反,它只是一个链接
从python的site packages目录转到storlever的项目根目录。而且,这个过程不会
安装init脚本并将configure文件粘贴到您的system/etc/目录中。 < BR>
然后,您可以输入以下命令在前台模式下启动Storlever < BR>
$pserve—重新加载storlever dev.ini < BR>
此命令可以在发现代码更改时自动重新加载代码,并可以打印出有用的调试信息
在代码中引发意外异常时,以及其他一些有助于代码调试的功能。 < BR>< BR>
虚拟人
---- < BR>
如果您是python的新手,可以跳过本节。 < BR>
建议使用virtualenv进行python库管理。尽管有可能
只要安装一个python解释器,virtualenv就可以让您的系统看起来
多个python安装,每个安装都有独立于其他安装的库集,
因此,不同项目永远不会有库版本冲突。 < BR>
有关此主题的更多信息,请查看其官方文档
[虚拟现实](http://www.virtualenv.org/en/latest/) < BR>< BR>< BR> 用法
==================== < BR>
成功安装Storlever并在系统中启动后,您可以通过两种方式使用Storlever服务。
默认情况下,Storlever侦听TCP端口6543,您可以在粘贴ini配置文件中更改它。 < BR>< BR>
使用带有Web面板的Storlever
- < BR>
您可以在浏览器中输入以下URL以进入Storlever的登录页面。 < BR>
http://[主机IP]:[端口]/ < BR>
[主机IP]是运行Storlever的系统的IP地址,[端口]是Storlever侦听的TCP端口。
登录用户默认为admin,密码为123456。 < BR>< BR>
将storlever与restful api结合使用
- < BR>
另一方面,storlever突出了其restful风格的api,您可以使用http工具或浏览器来测试它们。
所有api uri都以以下字符串开头,现在不需要身份验证。 < BR>
http://[主机IP]:[端口]/storlever/api/ < BR>
有关每个api的用法的详细信息,请参阅doc/api_ref.rst。 < BR>< BR>< BR>
开发
==================== < BR>
Storlever利用Github托管其最新代码,网址如下: < BR>
https://github.com/opensight/storlever < BR>
开发人员应该使用github的发布系统向storlever反馈一些错误/需求 < BR>
如果开发人员希望参与Storlever的开发并贡献他们的代码,
他们应该对Storlever的主分支使用fork+pull请求机制。
如果Storlever采用您的代码,我们会将您的姓名放入Storlever作者列表。谢谢你的支持 < BR>
架构
< BR>
我们在doc/目录中提供了一个架构图,帮助开发人员理解storlever的结构。 < BR>
Storlever包括3层,实现不同的功能: < BR>
*管理层 < BR>
此层包含许多管理器对象,每个对象负责特定子系统的管理,
如lvm、ftp、文件系统等。
这些管理器对象是Storlever的核心,位于底部,
并向上层提供面向对象的接口。 < BR>
*休息层 < BR>
此层负责向客户端输出restful样式的api。它从客户那里得到restful请求,
检查参数,并与管理层通信以获得结果。
这一层利用了管理层,为上层提供了可重用的api。 < BR>
*网络层 < BR>
此层将向管理员提供用于管理系统的Web面板。这叫斯托利弗的宁静
在浏览器中向管理员显示结果的API。
该层利用rest层,为管理员提供一个web界面
我们提供c在doc/目录中描述网页设计的文档。 < BR>< BR>
编写扩展名
- < BR>
如果要为Storlever开发扩展(插件),应遵循StroLever的一些约定。
每个扩展都具有与storlever相同的体系结构,还包括三层。
我们将提供一个如何记录详细信息的文档。



Storlever变更日志
=================== < BR>
在这里您可以看到每个版本之间更改的完整列表。 < BR>
版本0.1
-----
-初始版本,尚未准备好

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
maven字段#getGenericType()抛出java。lang.TypeNotPresentException   用java绘制三角形的几何图形   java无法下载主题和发件人地址(rediff)   java如何使代码线程安全   java在尝试转换FileInputStream中的文件时,我遇到了一个FileNotFound异常   java Moxy和Jackson如何将Json映射到Pojo   在foreach循环中使用BufferedWriter生成新行的java问题   java为什么我的测试在单次执行中运行时间小于1秒,而在maven构建中运行时间大于20秒?   java如何显示下载附件的进度条   了解java rmi的良好实践   .net可以将Java portlet嵌入ASP。网页?   循环如何多次执行Java方法?   java如何确保用户输入在给定的有效范围内?   java单元测试定理   java如何在IntelliJ上运行外部构建项目?   JAVA:试图编写一个检查字符串是否为数字的方法。总是返回错误   javahadoop将特定键的所有map方法生成的所有值都发送到一个reduce方法,对吗?   在java中读取和使用文件