欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文參透分布式存儲系統(tǒng)Ceph的架構設計、集群搭建

馬哥Linux運維 ? 來源:OSCHINA 社區(qū) ? 2023-01-07 13:44 ? 次閱讀

1. Ceph 概述

1.1 背景

Ceph 是一個去中心化的分布式存儲系統(tǒng), 提供較好的性能、可靠性和可擴展性。Ceph 項目最早起源于 Sage 就讀博士期間的工作(最早的成果于 2004 年發(fā)表),并隨后貢獻給開源社區(qū), 遵循 LGPL 協(xié)議(LESSER GENERAL PUBLIC LICENSE 的簡寫,中文譯為 “較寬松公共許可證”)。在經(jīng)過了數(shù)年的發(fā)展之后,目前已得到眾多云計算廠商(OpenStack、CloudStack、OpenNebula、Hadoop)的支持并被廣泛應用。

1.2 介紹

Ceph 是一個可靠、自動重均衡、自動恢復的分布式存儲系統(tǒng),根據(jù)場景劃分可以將 Ceph 分為三大塊,分別是對象存儲、塊設備和文件系統(tǒng)服務。 Ceph 的主要優(yōu)點是分布式存儲,在存儲每一個數(shù)據(jù)時,都會通過計算得出該數(shù)據(jù)存儲的位置,盡量將數(shù)據(jù)分布均衡,不存在傳統(tǒng)的單點故障的問題,可以水平擴展。 Ceph 存儲集群至少需要一個 Ceph Monitor 和兩個 OSD 守護進程。而運行 Ceph 文件系統(tǒng)客戶端時,則必須要有元數(shù)據(jù)服務器(Metadata Server)。

1.3 特點

Ceph 適合跨集群的小文件存儲, 擁有以下特點:

高性能

Client 和 Server 直接通信, 不需要代理和轉發(fā);

Client 不需要負責副本的復制, 有 Primary 主節(jié)點負責, 這樣可以有效降低 clien 網(wǎng)絡的消耗;

采用 CRUSH 算法,數(shù)據(jù)分布均衡,并行度高,支持上千個存儲節(jié)點, 支持 TB 及 PB 級數(shù)據(jù)。

高可用性

數(shù)據(jù)多副本, 支持故障域分隔,數(shù)據(jù)強一致性;

沒有單點故障,較好的容錯性, 有效支撐各種故障場景;

支持所有故障的檢測和自動恢復,可以做到自動化管理;

支持并行恢復,能夠極大的降低數(shù)據(jù)恢復時間, 提高數(shù)據(jù)的可靠性。

高擴展性

高度并行化設計,沒有單個中心控制組件,所有負載都能動態(tài)的劃分到各個服務器上。

去中心化、靈活、隨節(jié)點增加線性增長。

場景豐富

支持三種存儲接口類型:塊存儲、文件存儲、對象存儲。同時支持自定義接口,C++ 為底層實現(xiàn), 兼容多種語言。

塊存儲:將磁盤空間映射給主機使用, 適用 docker 容器、虛擬機磁盤存儲分配;日志存儲, 文件存儲。

文件存儲:解決塊存儲無法共享問題, 在服務器架設 FTP 和 NFS 服務器,適用目錄結構的存儲、日志存儲等。

對象存儲:大容量硬盤, 安裝存儲管理軟件, 對外提供讀寫訪問能力, 具備塊存儲的高速讀寫能力, 也具備文件存儲共享的特性;適用圖片存儲或視頻存儲。

1.4 分布式存儲系統(tǒng)橫縱對比

對比說明 TFS FASTDFS MooseFS GlusterFS CEPH
開發(fā)語言 C++ C C C C++
數(shù)據(jù)存儲方式 文件 / Trunk 文件 / 塊 對象 / 文件 / 塊
在線擴容 支持 支持 支持 支持 支持
冗余備份 支持 支持 支持 支持 支持
單點故障 存在 不存在 存在 不存在 不存在
易用性 安裝復雜,官方文檔少 安裝簡單,社區(qū)相對活躍 安裝簡單,官方文檔多 安裝簡單,官方文檔專業(yè)化 安裝簡單,官方文檔專業(yè)化
適用場景 跨集群的小文件 單集群的中小文件 單集群的大中文件 跨集群云存儲 單集群的大中小文件

2. Ceph 架構設計

2.1 Ceph 整體設計

24b16626-8e4d-11ed-bfe3-dac502259ad0.png

基礎存儲系統(tǒng) RADOS

Reliable, Autonomic,Distributed Object Store,即可靠的、自動化的、分布式的對象存儲

這就是一個完整的對象存儲系統(tǒng),所有存儲在 Ceph 系統(tǒng)中的用戶數(shù)據(jù)事實上最終都是由這一層來存儲的。而 Ceph 的高可靠、高可擴展、高性能、高自動化等等特性本質上也是由這一層所提供的。

基礎庫 librados

這層的功能是對 RADOS 進行抽象和封裝,并向上層提供 API,以便直接基于 RADOS(而不是整個 Ceph)進行應用開發(fā)。特別要注意的是,RADOS 是一個對象存儲系統(tǒng),因此,librados 實現(xiàn)的 API 也只是針對對象存儲功能的。RADOS 采用 C++ 開發(fā),所提供的原生 librados API 包括 C 和 C++ 兩種。

高層應用接口

這層包括了三個部分:RADOS GW(RADOS Gateway)、 RBD(Reliable Block Device)和 Ceph FS(Ceph File System),其作用是在 librados 庫的基礎上提供抽象層次更高、更便于應用或客戶端使用的上層接口。其中,RADOS GW 是一個提供與 Amazon S3 和 Swift 兼容的 RESTful API 的 gateway,以供相應的對象存儲應用開發(fā)使用。RADOS GW 提供的 API 抽象層次更高,但功能則不如 librados 強大。

應用層

這層是不同場景下對于 Ceph 各個應用接口的各種應用方式,例如基于 librados 直接開發(fā)的對象存儲應用,基于 RADOS GW 開發(fā)的對象存儲應用,基于 RBD 實現(xiàn)的云硬盤等等。librados 和 RADOS GW 的區(qū)別在于,librados 提供的是本地 API,而 RADOS GW 提供的則是 RESTfulAPI。

由于 Swift 和 S3 支持的 API 功能近似,這里以 Swift 舉例說明。Swift 提供的 API 功能主要包括:

用戶管理操作:用戶認證、獲取賬戶信息、列出容器列表等;

容器管理操作:創(chuàng)建 / 刪除容器、讀取容器信息、列出容器內對象列表等;

對象管理操作:對象的寫入、讀取、復制、更新、刪除、訪問許可設置、元數(shù)據(jù)讀取或更新等。

2.2 邏輯架構

24c0ecd6-8e4d-11ed-bfe3-dac502259ad0.png

2.3 Ceph 專業(yè)術語

24d0bc42-8e4d-11ed-bfe3-dac502259ad0.png

OSD: Ceph 的對象存儲設備,OSD 守護進程的功能是存儲數(shù)據(jù),處理數(shù)據(jù)的復制、恢復、回填、再均衡,并通過檢查其他 OSD 守護進程的心跳來向 Ceph Monitors 提供一些監(jiān)控信息。

Monitors: Ceph 監(jiān)視器,Monitor 維護著展示集群狀態(tài)的各種圖表,包括監(jiān)視器圖、OSD 圖、歸置組(PG)圖、和 CRUSH 圖。

PG:Ceph 歸置組,每個 Object 最后都會通過 CRUSH 計算映射到某個 PG 中,一個 PG 可以包含多個 Object。

MDS: Ceph 元數(shù)據(jù)服務器(MDS),為 Ceph 文件系統(tǒng)存儲元數(shù)據(jù)。

CephFS: Ceph 文件系統(tǒng),CephFS 提供了一個任意大小且兼容 POSIX 的分布式文件系統(tǒng)。

RADOS: Reliable Autonomic Distributed Object Store,表示可靠、自動、分布式的對象存儲。Ceph 中的一切都是以對象形式存儲,RADOS 就負責存儲這些對象,RADOS 層確保數(shù)據(jù)一致性和可靠性。

Librados:librados 庫是一種用來簡化訪問 RADOS 的方法,目前支持 PHP、Python、Ruby、Java、C 和 C++ 語言。

RBD:Ceph 的塊設備,它對外提供塊存儲,可以被映射、格式化進而像其他磁盤一樣掛載到服務器。

RGW/RADOSGW:Ceph 對象網(wǎng)關,它提供了一個兼容 S3 和 Swift 的 restful API 接口。

3. Ceph 集群部署配置

3.1 部署結構

24dcdb80-8e4d-11ed-bfe3-dac502259ad0.png 虛擬機創(chuàng)建三臺服務器,CENTOS 版本為 7.6, IP 網(wǎng)段 192.168.116.0/24。三臺主機名稱為:

CENTOS7-1: IP 為 192.168.116.141, 既做管理節(jié)點, 又做子節(jié)點。

CENTOS7-2: IP 為 192.168.116.142, 子節(jié)點。

CENTOS7-3: IP 為 192.168.116.143, 子節(jié)點。

3.2 系統(tǒng)配置

系統(tǒng)配置工作, 三臺節(jié)點依次執(zhí)行:

修改主機名稱 [root@CENTOS7-1 ~]# vi /etc/hostname


CENTOS7-1

編輯 hosts 文件

192.168.116.141 CENTOS7-1
192.168.116.142 CENTOS7-2
192.168.116.143 CENTOS7-3

注意, 這里面的主機名稱要和節(jié)點名稱保持一致, 否則安裝的時候會出現(xiàn)問題

24eca4b6-8e4d-11ed-bfe3-dac502259ad0.png

修改 yum 源 vi /etc/yum.repos.d/ceph.repo, 為避免網(wǎng)速過慢問題, 這里采用的是清華鏡像源:

[Ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/x86_64/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc


[Ceph-noarch]
name=Ceph noarch packages
# 官方源
#baseurl=http://download.ceph.com/rpm-mimic/el7/noarch
# 清華源
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc


[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

安裝 ceph 與 ceph-deploy 組件

yum update && yum -y install ceph ceph-deploy
安裝完成, 如果執(zhí)行 ceph-deploy 出現(xiàn) ImportError: No module named pkg_resources 安裝 python2-pip:yum -y install python2-pip yum install epel-release -y

安裝 NTP 時間同步工具

yum install ntp ntpdate ntp-doc -y

確保時區(qū)是正確, 設置開機啟動:

systemctl enable ntpd

并將時間每隔 1 小時自動校準同步。編輯 vi /etc/rc.d/rc.local 追加:

/usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w

配置定時任務,執(zhí)行 crontab -e 加入:

0 */1 * * * ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w

3.3 免密碼 SSH 登陸

官方建議不用系統(tǒng)內置用戶, 創(chuàng)建名為 ceph_user 用戶, 密碼也設為 ceph_user:

useradd -d /home/ceph_user -m ceph_user
passwd ceph_user

設置 sudo 權限

echo "ceph_user ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph_user
sudo chmod 0440 /etc/sudoers.d/ceph_user

1、2 兩個步驟依次在三臺機器上執(zhí)行。

接下來在主節(jié)點, 繼續(xù)執(zhí)行:

生成密鑰:

切換用戶:su ceph_user

執(zhí)行 ssh-keygen,一直按默認提示點擊生成 RSA 密鑰信息。

分發(fā)密鑰至各機器節(jié)點

ssh-copy-id ceph_user@CENTOS7-1
ssh-copy-id ceph_user@CENTOS7-2
ssh-copy-id ceph_user@CENTOS7-3

修改管理節(jié)點上的~/.ssh/config文件, 簡化 SSH 遠程連接時的輸入信息:

管理節(jié)點是會有 root 和 ceph_user 多個用戶, ssh 遠程連接默認會以當前用戶身份進行登陸,

如果我們是 root 身份進行遠程連接, 還是需要輸入密碼, 我們想簡化, 該怎么處理?

切換 root 身份,


su root

修改~/.ssh/config 文件

Host CENTOS7-1
   Hostname CENTOS7-1
   User ceph_user
Host CENTOS7-2
   Hostname CENTOS7-2
   User ceph_user
Host CENTOS7-3
   Hostname CENTOS7-3
   User ceph_user

注意修改文件權限, 不能采用 777 最大權限:

chmod 600 ~/.ssh/config

進行 ssh 遠程連接時, Host 的主機名稱是區(qū)分大小寫的, 所以要注意配置文件的主機名稱。

開放端口, 非生產環(huán)境, 可以直接禁用防火墻:

systemctl stop firewalld.service
systemctl disable firewalld.service

SELINUX 設置

SELinux 設為禁用:

setenforce 0

永久生效:編輯 vi /etc/selinux/config 修改:

SELINUX=disabled

3.4 集群搭建配置

采用 root 身份進行安裝

在管理節(jié)點創(chuàng)建集群配置目錄,cd /usr/local:

mkdir ceph-cluster
cd ceph-cluster

注意:此目錄作為 ceph 操作命令的基準目錄, 會存儲處理配置信息。

創(chuàng)建集群, 包含三臺機器節(jié)點:

ceph-deploy new CENTOS7-1  CENTOS7-2 CENTOS7-3

創(chuàng)建成功后, 會生一個配置文件。

如果接下來集群的安裝配置出現(xiàn)問題, 可以執(zhí)行以下命令清除, 再重新安裝:

ceph-deploy purge CENTOS7-1  CENTOS7-2 CENTOS7-3
ceph-deploy purgedata CENTOS7-1  CENTOS7-2 CENTOS7-3
ceph-deploy forgetkeys

將三臺節(jié)點的 mon 信息也刪除

rm -rf /var/run/ceph/

修改配置文件, 有些配置后面需用到:

vi /usr/local/ceph-cluster/ceph.conf

加入:

[global]
# 公網(wǎng)網(wǎng)絡
public network = 192.168.116.0/24
# 設置pool池默認分配數(shù)量 默認副本數(shù)為3
osd pool default size = 2
# 容忍更多的時鐘誤差
mon clock drift allowed = 2
mon clock drift warn backoff = 30
# 允許刪除pool
mon_allow_pool_delete = true
[mgr]
# 開啟WEB儀表盤
mgr modules = dashboard

第一項為副本數(shù), 設為 2 份。

第二項為對外 IP 訪問網(wǎng)段,注意根據(jù)實際 IP 修改網(wǎng)段。

第三、四項為允許一定時間的漂移誤差。

執(zhí)行安裝:

ceph-deploy install  CENTOS7-1  CENTOS7-2 CENTOS7-3

如果出現(xiàn)錯誤:

ceph_deploy][ERROR ] RuntimeError: Failed to execute command: ceph --version

可以在各節(jié)點上單獨進行安裝:

yum -y install ceph

如果沒有倉庫文件 ceph.repo, 按上面的步驟手工創(chuàng)建。

初始 monitor 信息:

ceph-deploy mon create-initial
## ceph-deploy --overwrite-conf mon create-initial

執(zhí)行完成后, 會生成以下文件:24faddd8-8e4d-11ed-bfe3-dac502259ad0.png

同步管理信息:

下發(fā)配置文件和管理信息至各節(jié)點:

ceph-deploy admin  CENTOS7-1  CENTOS7-2 CENTOS7-3

安裝 mgr (管理守護進程), 大于 12.x 版本需安裝, 我們裝的是最新版,需執(zhí)行:

ceph-deploy mgr create CENTOS7-1  CENTOS7-2 CENTOS7-3

安裝 OSD (對象存儲設備)

注意:新版本的 OSD 沒有 prepare 與 activate 命令。

這里需要新的硬盤作為 OSD 存儲設備, 關閉虛擬機, 增加一塊硬盤, 不用格式化。

25095476-8e4d-11ed-bfe3-dac502259ad0.png

重啟, fdisk -l 查看新磁盤名稱:251ab5c2-8e4d-11ed-bfe3-dac502259ad0.png

執(zhí)行創(chuàng)建 OSD 命令:

ceph-deploy osd create --data /dev/sdb CENTOS7-2

三臺節(jié)點都需分別依次執(zhí)行。

ceph-deploy gatherkeys CENTOS7-1

驗證節(jié)點:

輸入 ceph health 或 ceph -s 查看, 出現(xiàn) HEALTH_OK 代表正常。252b2736-8e4d-11ed-bfe3-dac502259ad0.png

通過虛擬機啟動,如果出現(xiàn)錯誤:

[root@CENTOS7-1 ~]# ceph -s
  cluster:
    id:     0ec99aa9-e97e-43d3-b5b9-90eb21c4abff
    health: HEALTH_WARN
            1 filesystem is degraded
            1 osds down
            1 host (1 osds) down
            Reduced data availability: 41 pgs inactive
            Degraded data redundancy: 134/268 objects degraded (50.000%), 22 pgs degraded, 87 pgs undersized
            39 slow ops, oldest one blocked for 2286 sec, daemons [osd.0,mon.CENTOS7-2,mon.CENTOS7-3] have slow ops.
            clock skew detected on mon.CENTOS7-2, mon.CENTOS7-3
 
  services:
    mon: 3 daemons, quorum CENTOS7-1,CENTOS7-2,CENTOS7-3
    mgr: centos7-1(active), standbys: centos7-3, centos7-2
    mds: fs_test-1/1/1 up  {0=centos7-1=up:replay}
    osd: 3 osds: 1 up, 2 in
 
  data:
    pools:   9 pools, 128 pgs
    objects: 134  objects, 64 KiB
    usage:   1.0 GiB used, 19 GiB / 20 GiB avail
    pgs:     32.031% pgs unknown
             134/268 objects degraded (50.000%)
             65 active+undersized
             41 unknown
             22 active+undersized+degraded

在各節(jié)點執(zhí)行命令,確保時間同步一致:

ntpdate ntp1.aliyun.com 

3.5 安裝管理后臺

開啟 dashboard 模塊

ceph mgr module enable dashboard

生成簽名

ceph dashboard create-self-signed-cert

創(chuàng)建目錄

mkdir mgr-dashboard

[root@CENTOS7-1 mgr-dashboard]# pwd
/usr/local/ceph-cluster/mgr-dashboard

生成密鑰對

cd  /usr/local/ceph-cluster/mgr-dashboard
openssl req -new -nodes -x509   -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650   -keyout dashboard.key -out dashboard.crt -extensions v3_ca
[root@CENTOS7-1 mgr-dashboard]# ll
total 8
-rw-rw-r-- 1 ceph_user ceph_user 1155 Jul 14 02:26 dashboard.crt
-rw-rw-r-- 1 ceph_user ceph_user 1704 Jul 14 02:26 dashboard.key

啟動 dashboard

ceph mgr module disable dashboard
ceph mgr module enable dashboard

設置 IP 與 PORT

ceph config set mgr mgr/dashboard/server_addr 192.168.116.141
ceph config set mgr mgr/dashboard/server_port 18843

關閉 HTTPS

ceph config set mgr mgr/dashboard/ssl false

查看服務信息

[root@CENTOS7-1 ceph-cluster]# ceph mgr services
{
    "dashboard": "http://192.168.116.142:18843/"
}

設置管理用戶與密碼

ceph dashboard set-login-credentials admin admin

訪問

253971e2-8e4d-11ed-bfe3-dac502259ad0.png

3.6 創(chuàng)建 Cephfs

集群創(chuàng)建完后, 默認沒有文件系統(tǒng), 我們創(chuàng)建一個 Cephfs 可以支持對外訪問的文件系統(tǒng)。

ceph-deploy --overwrite-conf mds create CENTOS7-1 CENTOS7-2 CENTOS7-3

創(chuàng)建兩個存儲池,執(zhí)行兩條命令:

ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 64

少于 5 個 OSD 可把 pg_num 設置為 128

OSD 數(shù)量在 5 到 10,可以設置 pg_num 為 512

OSD 數(shù)量在 10 到 50,可以設置 pg_num 為 4096

OSD 數(shù)量大于 50,需要計算 pg_num 的值

通過下面命令可以列出當前創(chuàng)建的存儲池:

ceph osd lspools

創(chuàng)建 fs, 名稱為 fs_test:

ceph fs new fs_test cephfs_metadata cephfs_data

狀態(tài)查看, 以下信息代表正常:

[root@CENTOS7-1 mgr-dashboard]# ceph fs ls
name: fs_test, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
[root@CENTOS7-1 mgr-dashboard]# ceph mds stat
fs_test-1/1/1 up  {0=centos7-1=up:active}

附:如果創(chuàng)建錯誤, 需要刪除, 執(zhí)行:

ceph fs rm fs_test --yes-i-really-mean-it
ceph osd pool delete cephfs_data cephfs_data  --yes-i-really-really-mean-it

確保在 ceph.conf 中開啟以下配置:

[mon]
mon allow pool delete = true

采用 fuse 掛載

先確定 ceph-fuse 命令能執(zhí)行, 如果沒有, 則安裝:

 

yum -y install ceph-fuse

創(chuàng)建掛載目錄


mkdir -p /usr/local/cephfs_directory

掛載 cephfs

[root@node3 ~]# ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 192.168.116.141:6789 /usr/local/cephfs_directory
ceph-fuse[6687]: starting ceph client
2019-07-14 2109.644181 7fa5be56e040 -1 init, newargv = 0x7fa5c940b500 newargc=9
ceph-fuse[6687]: starting fuse

查看磁盤掛載信息

[root@CENTOS7-1 mgr-dashboard]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   38G  3.0G   35G   8% /
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G   20M  1.9G   2% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1                197M  167M   31M  85% /boot
tmpfs                    378M     0  378M   0% /run/user/0
tmpfs                    1.9G   24K  1.9G   1% /var/lib/ceph/osd/ceph-0
ceph-fuse                 27G     0   27G   0% /usr/local/cephfs_directory
tmpfs                    378M     0  378M   0% /run/user/1000

/usr/local/cephfs_directory 目錄已成功掛載。

3.7 客戶端連接驗證 (Rados Java)

安裝好 JDK、GIT 和 MAVEN。

下載 rados java 客戶端源碼


git clone https://github.com/ceph/rados-java.git

下載目錄位置:

[root@CENTOS7-1 rados-java]# pwd
/usr/local/sources/rados-java

執(zhí)行 MAVEN 安裝,忽略測試用例:

[root@CENTOS7-1 rados-java]# mvn install -Dmaven.test.skip=true

生成 jar 包, rados-0.7.0.jar

[root@CENTOS7-1 target]# ll
總用量 104
drwxr-xr-x 3 root root     17 8月  11 18:32 classes
drwxr-xr-x 2 root root     27 8月  11 18:32 dependencies
drwxr-xr-x 3 root root     25 8月  11 18:32 generated-sources
drwxr-xr-x 2 root root     28 8月  11 18:32 maven-archiver
drwxr-xr-x 3 root root     35 8月  11 18:32 maven-status
-rw-r--r-- 1 root root 105701 8月  11 18:32 rados-0.7.0.jar

創(chuàng)建軟鏈接, 加入 CLASSPATH

ln -s /usr/local/sources/rados-java/target/rados-0.7.0.jar /opt/jdk1.8.0_301/jre/lib/ext/rados-0.7.0.jar

安裝 jna


yum -y install jna

創(chuàng)建軟鏈接

ln -s /usr/share/java/jna.jar /opt/jdk1.8.0_301/jre/lib/ext/jna.jar

查看

[root@CENTOS7-1 target]# ll /opt/jdk1.8.0_301/jre/lib/ext/jna.jar
lrwxrwxrwx 1 root root 23 8月  11 19:00 /opt/jdk1.8.0_301/jre/lib/ext/jna.jar -> /usr/share/java/jna.jar
[root@CENTOS7-1 target]# ll /opt/jdk1.8.0_301/jre/lib/ext/jna.jar
lrwxrwxrwx 1 root root 23 8月  11 19:00 /opt/jdk1.8.0_301/jre/lib/ext/jna.jar -> /usr/share/java/jna.jar

創(chuàng)建 JAVA 測試類

CephClient 類,注意, 最新版 0.6 的異常處理包位置已發(fā)生變化。

import com.ceph.rados.Rados;
import com.ceph.rados.exceptions.*;


import java.io.File;


public class CephClient {
        public static void main (String args[]){


                try {
                        Rados cluster = new Rados("admin");
                        System.out.println("Created cluster handle.");


                        File f = new File("/etc/ceph/ceph.conf");
                        cluster.confReadFile(f);
                        System.out.println("Read the configuration file.");


                        cluster.connect();
                        System.out.println("Connected to the cluster.");


                } catch (RadosException e) {
                        System.out.println(e.getMessage() + ": " + e.getReturnValue());
                }
        }
}

運行驗證

需要在 linux 環(huán)境下運行,且要在 client 節(jié)點。

編譯并運行:

[root@CENTOS7-1 sources]# javac CephClient.java 
[root@CENTOS7-1 sources]# java CephClient
Created cluster handle.
Read the configuration file.
Connected to the cluster.

成功與 ceph 建立連接。

注意:如果 java 和 javac 版本不同,可以使用 rpm -qa |grep java 進行查找, rpm -e --nodeps jdk 進行刪除,source /etc/profile 進行生效

jdk 的位數(shù)為 64 位

作者 |博學谷狂野架構師

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 存儲系統(tǒng)

    關注

    2

    文章

    414

    瀏覽量

    40948
  • 分布式存儲
    +關注

    關注

    4

    文章

    172

    瀏覽量

    19579
  • Ceph
    +關注

    關注

    1

    文章

    22

    瀏覽量

    9430

原文標題:一文參透分布式存儲系統(tǒng)Ceph的架構設計、集群搭建

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    分布式存儲架構:第三節(jié) 分布式文件模型?#分布式架構??#分布式存儲系統(tǒng)?#分布式系統(tǒng)?#硬聲創(chuàng)作季

    云計算存儲系統(tǒng)分布式系統(tǒng)分布式存儲分布式存儲系統(tǒng)
    學習硬聲知識
    發(fā)布于 :2022年10月21日 14:28:49

    Hadoop集群分布式搭建步驟

    Hadoop集群分布式搭建
    發(fā)表于 11-04 09:19

    Ceph是什么?Ceph的統(tǒng)一存儲方案簡析

    Ceph是什么?Ceph個開源的分布式存儲系統(tǒng),可大規(guī)模擴展、高性能、無單點故障,在普通的服務器上可以支持到PB級容量,商用機器上支持的
    發(fā)表于 10-08 15:40

    還在用Ceph嗎?不如試試性能更好的碧海存儲

    對于分布式存儲產品,朋友們第反應總是:基于Ceph的嗎? Ceph、HDFS、Glusterfs、Lustre、BeeGFS都是優(yōu)秀的
    發(fā)表于 03-27 07:25 ?689次閱讀

    盤點分布式存儲系統(tǒng)的主流框架

    整個大數(shù)據(jù)處理的體系,按我的理解可以分為兩個部分,個是分布式存儲系統(tǒng)、另個是分布式計算框架。分布式
    發(fā)表于 08-06 09:07 ?2684次閱讀

    分布式文件存儲系統(tǒng)GFS的基礎知識

    GFS是google的分布式文件存儲系統(tǒng),是專為存儲海量搜索數(shù)據(jù)而設計的,2003年提出,是閉源的分布式文件系統(tǒng)。
    發(fā)表于 08-25 17:49 ?6054次閱讀
    <b class='flag-5'>分布式</b>文件<b class='flag-5'>存儲系統(tǒng)</b>GFS的基礎知識

    常見的分布式存儲系統(tǒng)有哪些類型

    分布式存儲系統(tǒng)是大數(shù)據(jù)技術學習過程中會經(jīng)常接觸到的個工具,而今天我們就起來了解下,常見的
    發(fā)表于 11-09 10:41 ?2.9w次閱讀

    常見的分布式文件存儲系統(tǒng)的優(yōu)缺點

    分布式文件系統(tǒng),可以說是分布式系統(tǒng)下的個子集,這里我們選取市場應用比較廣泛的幾款產品,HDFS、Cep
    發(fā)表于 01-15 09:45 ?1w次閱讀
    常見的<b class='flag-5'>分布式</b>文件<b class='flag-5'>存儲系統(tǒng)</b>的優(yōu)缺點

    存儲中的Ceph分布式文件系統(tǒng)及節(jié)點選擇

    集群中高效分布數(shù)據(jù)對象及其副本。經(jīng)典Ceph存儲系統(tǒng)中在副本模式下選擇存儲節(jié)點時該系統(tǒng)僅以節(jié)點
    發(fā)表于 03-31 10:46 ?13次下載
    云<b class='flag-5'>存儲</b>中的<b class='flag-5'>Ceph</b><b class='flag-5'>分布式</b>文件<b class='flag-5'>系統(tǒng)</b>及節(jié)點選擇

    種可行的分布式存儲系統(tǒng)安全構造方法

    核心薄弱點,結合防護的代價與有效性提出種可行的系統(tǒng)安全構造方法。以大數(shù)據(jù) Hadoop分布式文件系統(tǒng)為目標對象,設計面向元數(shù)據(jù)服務的擬態(tài)化架構
    發(fā)表于 04-02 11:01 ?21次下載
    <b class='flag-5'>一</b>種可行的<b class='flag-5'>分布式</b><b class='flag-5'>存儲系統(tǒng)</b>安全構造方法

    Ceph分布式存儲系統(tǒng)性能優(yōu)化研究綜述

    Ceph個統(tǒng)分布式存儲系統(tǒng),可同時提供塊、文件和對象3種接口的存儲服務。與傳統(tǒng)的
    發(fā)表于 04-13 13:58 ?5次下載
    <b class='flag-5'>Ceph</b><b class='flag-5'>分布式</b><b class='flag-5'>存儲系統(tǒng)</b>性能優(yōu)化研究綜述

    個去中心化的分布式存儲系統(tǒng)Ceph概述

    Ceph個去中心化的分布式存儲系統(tǒng), 提供較好的性能、可靠性和可擴展性。
    發(fā)表于 09-02 10:11 ?1829次閱讀

    Ceph分布式存儲簡介&amp;Ceph數(shù)據(jù)恢復流程

    Ceph存儲可分為塊存儲,對象存儲和文件存儲Ceph基于對象
    的頭像 發(fā)表于 09-26 15:41 ?928次閱讀

    基于分布式存儲系統(tǒng)醫(yī)療影像數(shù)據(jù)存儲解決方案

    基于分布式存儲系統(tǒng)醫(yī)療影像數(shù)據(jù)存儲解決方案
    的頭像 發(fā)表于 09-14 09:53 ?389次閱讀
    基于<b class='flag-5'>分布式</b><b class='flag-5'>存儲系統(tǒng)</b>醫(yī)療影像數(shù)據(jù)<b class='flag-5'>存儲</b>解決方案

    WDS分布式存儲系統(tǒng)軟件助力電信工程海量數(shù)據(jù)存儲項目

    WDS分布式存儲系統(tǒng)軟件助力電信工程海量數(shù)據(jù)存儲項目
    的頭像 發(fā)表于 11-11 09:59 ?252次閱讀
    WDS<b class='flag-5'>分布式</b><b class='flag-5'>存儲系統(tǒng)</b>軟件助力電信工程海量數(shù)據(jù)<b class='flag-5'>存儲</b>項目