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,重啟機器

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM