物件儲存之二 實踐

2021-08-03 03:12:26 字數 1679 閱讀 8605

對programmer來說,最真實的感覺還是讓它跑起來;

本文將基於使用雲伺服器+docker部署ceph儲存系統 中部署的ceph儲存系統,近距離看看ceph物件儲存;

rados命令是ceph系統中,直接操作storage cluster的乙個物件管理命令;

[root@cluster1 ~]# echo hello_ceph >hello.txt

[root@cluster1 ~]# rados -p rbd put hello_obj ./hello.txt

[root@cluster1 ~]# rados -p rbd ls

hello_obj

[root@cluster1 ~]# rados -p rbd get hello_obj /home/hello.txt; cat /home/hello.txt

hello_ceph

[root@cluster1 ~]# rados -p rbd rm hello_obj; rados -p rbd ls

再往裡面看一看,object存在**? pg 0.e8590363 (0.23) 對應 osd.0下 pg dir名稱 0.23_head ;

[root@cluster1 ~]# rados -p rbd put hello_obj ./hello.txt

[root@cluster1 ~]# ceph osd map rbd hello_obj

osdmap e18 pool 『rbd』 (0) object 『hello_obj』 -> pg 0.e8590363 (0.23) -> up ([0], p0) acting ([0], p0)

[root@cluster1 ~]# cd /var/lib/ceph/osd/ceph-0/current/0.23_head/

[root@cluster1 0.23_head]# ls

__head_00000023__0 hello\uobj__head_e8590363__0

[root@cluster1 0.23_head]# cat hello\uobj__head_e8590363__0

hello_ceph

[root@cluster1 0.23_head]# file hello\uobj__head_e8590363__0

hello\uobj__head_e8590363__0: ascii text

object是直接完整存到底層osd的fs上的;

librados是部署在client端,用於在多種語言環境下開發,使用ceph storage cluster的庫;

例如,對python開發者來說,就是在client上安裝python-rados包 並做功能開發:python_example

使用librados 操作物件,**的互動流程很典型,與socket 是挺相似的:

依照配置獲取控制代碼-連線-(在pool中)建立io context-讀寫增刪object或讀寫meta-關閉context-中斷連線

為懶人準備的:

yum install -y python-rados; wget  python ceph-client.py

SDS趨勢之二 物件儲存將替代檔案儲存

首先什麼是物件儲存?物件儲存 object storage 是綜合了nas和san的優點,同時具有san的高速直接訪問和nas的資料共享等優勢,提供了高可靠性 跨平台性以及安全的資料共享的儲存體系結構。典型應用 網盤 雲儲存。上篇文章也講到了隨著科技的發展和網路技術的進步,計算機儲存空間顯得愈加緊張...

儲存 RAID 知識之二

從 章中我們了解到多個磁碟驅動器通過可以通過raid卡並行傳輸資料,達到單個的磁碟篇文驅動器幾倍 幾十倍甚至上百倍的速率。而除了並行傳輸資料提高系統io效能之外還有 raid快取 cache cache具有兩大功能 a 預讀 根據一定的預讀演算法提前將系統將要讀取的資料存放到cache中,以便提高命...

物件導向概念之二 繼承

繼承 inheritance 用extends關鍵字 在父類和子類之間存在著繼承和擴充套件關係.子類繼承父類的屬性和方法的同時.子類還可以擴充套件出新的屬性和方法.並且還可以覆蓋父類中方法的實現方式.繼承的優點 1.避免冗餘 2.提高 的可重用性和可維護性 3.易於擴充套件 繼承可以讓我們在編碼上省...