1. 程式人生 > >ceph物件儲存搭建

ceph物件儲存搭建

最低限度機器:

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 "{username} ALL = (root) NOPASSWD:ALL"
| sudo tee /etc/sudoers.d/{username} sudo chmod 0440 /etc/sudoers.d/{username}

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使用者祕鑰相互免密

ssh-keygen && ssh-copy-id [email protected]{hostname}

4.admin機器 下載安裝ceph-deploy程式

sudo subscription-manager repos --enable=rhel-7-server-extras-rpms

sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

cat >/etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch packages
baseurl=https://download.ceph.com/rpm/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph
.com/keys/release.asc sudo yum update sudo yum install ceph-deploy

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

Host node1
   Hostname node1
   User {username}
Host node2
   Hostname node2
   User {username}
Host node3
   Hostname node3
   User {username}

建立叢集

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

mkdir ceph

建立叢集

ceph-deploy new monitor

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

更改ceph.conf

 vim ceph.conf

 osd pool default size = 2

 如果你有多個網絡卡,可以把 public network 寫入 Ceph 配置檔案的 [global] 段下。詳情見網路配置參考。

 public network = {ip-address}/{netmask}

安裝 Ceph

ceph-deploy install osd1 osd2 monitor admin

到各個node去執行ceph –version 檢查ceph安裝結果

ceph --version  

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

ceph-deploy mon create-initial

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

{cluster-name}.client.admin.keyring
{cluster-name}.bootstrap-osd.keyring
{cluster-name}.bootstrap-mds.keyring
{cluster-name}.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"{ bucket.name}\t{bucket.creation_date}")

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"{key.name}\t{key.size}\t{key.last_modified}")

key = a.get_key('hello.txt') #獲取檔案並下載

key.get_contents_to_filename('/Users/yeshaobin/Downloads/hello.txt')

key.generate_url(3600, query_auth=True, force_http=True) #獲取檔案url下載地址

print(plans_url)

相關推薦

ceph物件儲存搭建

最低限度機器: 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.所

Linux叢集儲存——day4——Ceph分散式儲存搭建、OSD塊儲存、COW快照、RBD儲存映象

Ceph的專有名詞 OSDs 儲存裝置 Monitors 叢集監控元件 MDSs 存放檔案系統的元資料 部署Ceph分散式儲存  

ceph 物件儲存 建立api

# -*- coding:utf-8 -*- import boto import boto.s3.connection import paramiko class Accountinfo(): """ 用法詳見 http://docs.ceph.org.cn/man/8/radosgw-

Cosbench測試s3 ceph物件儲存

Cosbench測試物件儲存 一、Cosbench安裝 下載地址 http://cosbench.1094679.n5.nabble.com/ 安裝步驟 1、cd ~ 2、解壓 unzip 0.4.2.c4.zip 3、rm cos 4、ln -s 0.4.2.c4/  cos 5、cd cos 6、ch

ceph 物件儲存閘道器rados gateway和S3介面測試詳細安裝配置文件

Create a keyring for the gateway:sudo ceph-authtool --create-keyring /etc/ceph/ceph.client.radosgw.keyring sudo chmod +r /etc/ceph/ceph.client.radosgw.key

Ceph物件儲存閘道器中的索引工作原理

Ceph物件儲存閘道器允許你通過Swift及S3 API訪問Ceph。他將這些API請求轉化為librados請求。Librados是一個非常出色的物件儲存(庫)但是它無法高效的列舉物件。物件儲存閘道器維護自有索引來提升列舉物件的響應效能並維護了其他的一些元資訊

使用Alluxio加速基於Ceph物件儲存的資料分析

本文由南京大學顧榮、陳敏翻譯整理自Alluxio公司技術部落格,由Alluxio公司授權CSDN首發(聯合),版權歸Alluxio公司所有,未經版權所有者同意請勿轉載。 1.介紹 這是一篇摘要,取自白皮書《使用Alluxio加速Ceph物件儲存的

基於七牛雲物件儲存,搭建一個自己專屬的極簡Web圖床應用(手摸手的註釋講解核心部分的實現原理)

一個極簡的Web圖床應用,支援複製貼上與拖拽上傳圖片 1.開發緣由 日常使用Vs Code編寫markdown筆記與部落格文章時,在文章中插入圖片時發現非常不便 使用本地檔案編寫相對路徑---沒法直接複製貼上到其它地方 使用第三方的圖床---需要登入賬號(還是放到自己"口袋"裡放心) vs code內建外掛

openstack-r版(rocky)搭建基於centos7.4 的openstack swift物件儲存服務 一

openstack-r版(rocky)搭建基於centos7.4 的openstack swift物件儲存服務 一 openstack-r版(rocky)搭建基於centos7.4 的openstack swift物件儲存服務 二 openstack-r版(rocky)搭建基於centos7.4 的ope

Linux叢集儲存——day5——Ceph叢集上部署Linux系統、Ceph檔案系統、Ceph物件儲存系統

Ceph叢集儲存的應用    紅帽的Linux已經把Ceph整合到核心中了,可以直接把作業系統裝在分佈儲存檔案中。     將虛擬機器的Linux作業系統安裝在Ceph叢集中:     0. 如同Ceph叢集進行初期環境部署。

centos7下搭建nextcloud雲(使用阿里雲輕量伺服器+oss物件儲存)

1. 購買阿里雲輕量級伺服器 最近看到阿里雲上新了新的輕量級伺服器位於香港,而且頻寬和價格也都不錯。 購買伺服器並配置好金鑰就可以使用了。但是nextcloud還是挺吃記憶體的推薦1G以上的記憶體。 從伺服器下載的速度限制在30Mbps也就是差不多4MB/s,上傳的話應該是不限速的,但

初試 Ceph 儲存之塊裝置、檔案系統、物件儲存

目錄 Ceph 儲存介紹 環境、軟體準備 Ceph 塊裝置 Ceph 檔案系統 Ceph 物件儲存 1、Ceph 儲存介紹 Ceph 是一個開源的分散式儲存系統,包括物件儲存、塊裝置、檔案系統。它可靠性高、管理方便、伸縮性強,能夠輕鬆應對PB

OpenStack-M版(Mitaka)搭建基於(Centos7.2)+++十、Openstack物件儲存服務(swift)完成安裝

十、Openstack物件儲存服務(swift)完成安裝 一、啟動服務 1.在控制節點節點上,啟動物件儲存代理服務及其依賴服務,並將它們配置為隨系統啟動 systemctl enable opens

ceph rgw lifecycle( 物件儲存 物件生命週期)

1、簡介 1.1 介紹     對於 儲存 來說,容量 當然是 越大越好了,最好 可以 無限 寫入(哈哈,哪有 那麼 好的 事);但是 我們 可以 刪除 老舊 無用的資料,不過 總不能 時時刻刻 的手動 刪除 資料吧;我們 可以 根據 一定的規則 刪除 老舊的資料,

Seafile深入學習(十一) 和Ceph的rados物件儲存層直接對接

Seafile作為一個應用的角色,作為客戶端直接訪問Ceph的rados層。同樣是直接在配置檔案裡建立三個用於存放Seafile資料物件的桶,我們有一個資料庫id可以定位這些內容,方便你在物件儲存中找到同一個資料庫的資料。配置過程:這裡我們預設會在Ceph客戶端以管理員的身份

Maven學習總結(37)——利用GitHub或阿里雲OSS物件儲存、又拍雲、七牛雲端儲存搭建個人Maven倉庫

無論是用Nexus還是HTTP伺服器搭建Maven倉庫,總歸需要一臺伺服器,一臺伺服器需要花錢買和花時間維護,成本比較大。Nexus一般是公司用的比較多,個人不推薦使用。本文就是介紹一些適合個人搭建M

python通過librados庫通過底層的rados操作ceph物件儲存和塊儲存

使用python語言呼叫原生介面(呼叫librados庫來操作rados) 也就是下圖中幾種方式中的一種,就是圖中的紅色部分: 首先來說明一下:這個就相當於在客戶端上操作ceph叢集的底層物件儲存rados,我的程式碼是在mon節點上執行的,也就是暫時把

叢集基礎之04(部署ceph實驗環境、部署ceph叢集、建立Ceph儲存、塊儲存應用、掛載Ceph檔案系統、建立物件儲存伺服器)

目錄 前言: 前言: Ceph簡介 Ceph是一個統一的分散式儲存系統,設計初衷是提供較好的效能、可靠性和可擴充套件性。 Ceph專案最早起源於Sage就讀博士期間的工作(最早的成果於2004年

OpenStack-M版(Mitaka)搭建基於(Centos7.2)+++十、Openstack物件儲存服務(swift)上

十、Openstack物件儲存服務(swift)上 配置:我在計算節點添加了兩塊硬碟(sdb,sdc)用來當儲存用,在我這搭建中計算節點也就是儲存節點了,原因電腦無法拉動更多虛擬幾所以咯。。。 簡單介紹: swift主要有四個元件:swift-proxy-serve

騰訊雲COS(雲物件儲存服務)實現個人FTP伺服器的搭建

1、首先第一步照樣是新建一個Bucket,我這裡取名為myftp。 2、在gitbub地址或ftp地址下載FTP Server工具的程式壓縮包cos_ftp_v4。其中github上只提供.zip包,而ftp地址提供.zip和.tar.gz包。推薦下載.t