ceph物件儲存搭建

2021-08-13 21:09:22 字數 4061 閱讀 3479

1.osd1 192.168.1.2

2.osd2 192.168.1.3

3.monitor + radosgw 192.168.1.4

4.admin 192.168.1.5

0.所有機器初始化完畢,更改hostname,ntp校驗時間,關閉selinux,關閉防火牆

1.所有機器建立普通使用者 ceph_deploy (ceph新版必須使用普通使用者啟動)並確保所有機器的新建使用者都有sudo許可權

useradd ceph_deploy

echo

" all = (root) nopasswd:all" | sudo tee /etc/sudoers.d/

sudo chmod 0440 /etc/sudoers.d/

2.所有機器hosts解析相互新增上

vim /etc/hosts

osd1 192.168.1.2

osd2 192.168.1.3

monitor 192.168.1.4

admin 192.168.1.5

3.所有機器ceph_deploy使用者秘鑰相互免密

sudo yum install ceph-deploy5.修改admin節點上的 ~/.ssh/config 檔案,這樣 ceph-deploy 就能用你所建的使用者名稱登入其他 節點,而無需每次執行 ceph-deploy 都要指定 –username 。

host node1

hostname node1

user

host node2

hostname node2

user

host node3

hostname node3

user

在admin節點上建立乙個目錄作為管理目錄

mkdir ceph
建立集群

ceph-deploy

new monitor

完成後會在當前路徑下應該有乙個 ceph 配置檔案、乙個 monitor 金鑰環和乙個日誌檔案。

更改ceph.conf

vim ceph.conf

osd pool default size = 2

public network = /

安裝 ceph

ceph-deploy install osd1 osd2 monitor admin
到各個node去執行ceph –version 檢查ceph安裝結果

ceph--

version

配置初始 monitor(s)、並收集所有金鑰:

ceph-deploy mon create-initial
完成上述操作後,當前目錄裡應該會出現這些金鑰環:

.client

.admin

.keyring

.bootstrap-osd.keyring

.bootstrap-mds.keyring

.bootstrap-rgw.keyring

配置osd 節點

給osd1,osd2 分別新增一塊硬碟,建立分割槽/dev/sdb1,格式化為xfs 檔案系統

新增osd 節點

ceph-deploy osd prepare osd1:/dev/sdb1 osd2:/dev/sdb1
啟用osd 節點

ceph-deploy osd activate osd1:/dev/sdb1 osd2:/dev/sdb1
檢視/dev/sdb1 分割槽是否掛載成功

分別在兩個osd 節點中,把/dev/sdb1分割槽加入到/etc/fstab 中開機自動掛載

安裝rgw

ceph-deploy install --rgw monitor

ceph-deploy rgw create monitor

在monitor 節點ceph.conf追加如下配置

vim /etc/ceph/ceph.conf 

[client.rgw

.client-node]

rgw_dns_name = ceph.closeli

.cn 請填寫主網域名稱,解析時採用泛解析

rgw_frontends = "civetweb port=80"

生成乙個 ceph 物件閘道器使用者名稱和key

sudo ceph auth get-or-create client.radosgw.gateway osd 'allow rwx' mon 'allow rwx' -o /etc/ceph/ceph.client.radosgw.keyring
為 s3 訪問新建乙個 radosgw 使用者

sudo radosgw-admin user create --uid=

"testuser"

--display-name

="first user"

python 測試**:

import boto.s3.connection

access_key = '1gb703pjh538vue6h1as'

secret_key = '2masfweuvfv5ixqkoz3xatzvjpc7ubt7gtxchacu'

conn = boto.connect_s3(

aws_access_key_id = access_key,

aws_secret_access_key = secret_key,

host = 'ceph.closeli.cn',

is_secure=false,

calling_format = boto.s3.connection.ordinarycallingformat(),

)conn.create_bucket('my-new-bucket') #建立bucket

for bucket in conn.get_all_buckets(): #顯示該使用者下所有bucket

print(f"\t")

a=conn.get_bucket('my-new-bucket') 獲取指定bucket

key = a.new_key('hello.txt') #建立乙個檔案

key.set_contents_from_string('hello world!') #寫入乙個檔案

for key in a: #獲取檔案內容

print(f"\t\t")

key.get_contents_to_filename('/users/yeshaobin/downloads/hello.txt')

print(plans_url)

ceph物件儲存,檔案儲存

簡述一下物件儲存,檔案儲存,和塊儲存的區別,以物件儲存為重點 1.塊儲存 讀寫快,不利於共享,以塊作為資料儲存的基本單元 2.檔案儲存 讀寫慢,利於共享,以檔案作為資料儲存的基本單元 3.物件儲存 讀寫快,利於共享,以物件作為資料儲存的基本單元 物件儲存,下圖是塊儲存和物件儲存的形象比較 物件儲存和...

ceph 物件儲存加密

環境 ceph 版本作業系統 ceph version 12.2.13 luminous centos7.6,s3cmd version 2.1.0 ceph 預設是沒有加密儲存的,官方說支援 server side encryption,但是還沒找到具體的文件,主要卡在 https 報錯。也可以參...

ceph物件儲存設定policy

目錄 四 注意事項 五 引數解釋 六 參考文件 本環境使用的ceph l版的物件儲存 s3cmd 2.0.2 1.el7.noarch.rpm root node1 vim policy.xml root compute0 s3cmd setpolicy policy.xml s3 test roo...