zoukankan      html  css  js  c++  java
  • leofs存储总结

    1leofs角色

    Account(账户)、Bucket(对象桶)、Object(对象),

    gatewaymanager0manager1storage

    Account

    一个account可以创建多个bucket,一个bucket可以有无限数量的object,它们之间关系如下:

    Bucket

    object的容器,第个Object必须存储到Bucket里面。BucketLeofs里的一个高层命名空间,它在Leofs存储系统中是唯一的,每个Account最多可创建10Bucket。但是Bucket里面的Object数量没有限制。Bucket命名规则:

    只能包括小写字母,数字,短横线(-)

    必须以小写字母或者数字开头

     长度必须在 3-63 字节之间

    Object

    LeOSS的基本实体。Objectsobject datametadata组成。用户存储在LeOSS中的文件是无格式化的。他们可以是任意格式的文件,比如:视频,音频,图像,文本等格式。支持Object的大小从1字节到5T字节。

    AccessKeyIDAccessSecretKey

    用户注册LeOSS时,系统会给用户分配一对Access Key IDAccess Key Secret,称为 ID 对,用于标识用户,为访问 LeOSS 做签名验证。

    Leofs GateWay

    LeOSS Gateway由一个高性能webserverAPI处理器和缓存机制组成。用户能够非常容易通过S3 Client(例如:s3cmd, DragonDisk),或者自己通过JavaRubyPHP语言编码访问LeOSS

    一个Client发送请求操作某个Object或者BucketLeOSS GatewayGateway将这个请求转发到一个Storage节点。

    目标Storage节点是通过路由表决定的。路由表被叫做RING,它被LeOSS Manager产生和维护。

    另外,为了保持高性能和减少GatewayStorage直接的流量,LeOSS也内建了对象缓存机制。

    Leofs Storage

    LeOSS Storage包含ObjectMeta Storage。另外,为了保证最终一致性,它还包括复制系统和修复系统。

    在写操作情况下,LeOSS StorageLeOSS Gateway接收请求后自动复制对象到LeOSS Storage集群。最后由LeOSS Storage确认这个被存储的Object是否满足一致性规则。

    另外,在读操作的情况下,LeOSS GatewayLeOSS Storage存储节点发送请求。然后,LeOSS Storage存储节点从本地或者远程LeOSS Storage存储节点检索这个对象。最后,LeOSS Storage发送响应给发送请求的LeOSS Gateway

    如果,LeOSS Storage存储节点发现一个不一致的Object,它将启动一个后台进程来修复这种不一致的情况。这个Object最终会保持一致状态

    LeOSS Manager

    LeOSS Manager产生和管理一个基于一致性hash的被叫做RING的路由表。为了保持LeOSS的持续运行和RING的一致性,LeOSS Manager一直监控每个LeOSS GatewayLeOSS Storage的状态。另外,它也分发RINGLeOSS GatewayLeOSS Storage

    2、Leofs的配置

    双台部署,151 : manager0 , storage , gateway,   160 : manager1 , storage 

    (1)下载leofs地址:http://leo-project.net/leofs/

    (2)登录192.168.1.151 lefs-1.2.12.tar.gz文件解压到/opt/目录下

     登录192.168.1.160 lefs-1.2.12.tar.gz文件解压到/opt/目录下

    (3)在151/opt/lefs-1.2.12执行./setup_manager0.sh ,输入manager1的ip192.168.1.160

    (4)在160/opt/lefs-1.2.12执行./setup_manager1.sh ,输入manager0ip192.168.1.151manager1的ip192.168.1.160

    (5)在151/opt/lefs-1.2.12目录下执行./setup_storage.sh,输入manager0ipmanager1ip,输入storage的存储路径

    (6)在160/opt/lefs-1.2.12目录下执行./setup_storage.sh,输入manager0ipmanager1ip输入storage0ip,注意是160输入storage的存储路径

    (7)在151/opt/lefs-1.2.12目录下执行./setup_gateway.sh,,输入manager0ipmanager1ip,输入gateway的存储路径

    (8)在151/opt/lefs-1.2.12目录下执行./startup_manager0.sh

    (9)在160/opt/lefs-1.2.12目录下执行./startup_manager1.sh

    (10)在151/opt/lefs-1.2.12目录下执行./startup_storage.sh

    (11)在160/opt/lefs-1.2.12目录下执行./startup_storage.sh

    (12)在151/opt/lefs-1.2.12目录下执行./startup_gateway.sh

    (13)执行完上面的命令后,leofs会安装到/usr/local/lefs/1.2.12目录下,进入此目录

    执行

    l ./leofs-adm    create-user  accountName  password,创建完会返回accessKeysecretKey,如图

     

    l  ./leofs-adm   get-users 查看已添加的用户

    添加bucket,参数是bucket名和accessKey

    l ./leofs-adm   add-bucket   buckettest   19515aeed1846146f166

     

    l ./leofs-adm start启动storage集群

    l ./leofs-adm status查看状

     

    状态是running,就可正常使用。

    l  ./leofs-adm  get-bucket <access-key-id> 根据access-key-id获取bucket

    l  ./leofs-adm  get-buckets 获取bucket列表

    3、

    有时候manager1manager0不能同时启动,需要安装nmap-ncat-6.40-4.el7.x86_64.rpm包,并且修改/etc/selinux/config

    SELINUX=disabled,重启机器

  • 相关阅读:
    Ubuntu中用户名密码和root密码修改
    在Python中,输出格式:%d , %6d , %-6d, %06d , %.6f的一些区分
    定制的print()输出格式
    python编程系列---Pycharm快捷键(更新中....)
    webbrowser控件——Windows下的开发利器
    Windows读写文件的猫腻
    根据GUID获取设备信息
    转:APDU命令格式
    VC中添加消息响应函数
    VC 取消warning
  • 原文地址:https://www.cnblogs.com/fubaizhaizhuren/p/leofs.html
Copyright © 2011-2022 走看看