當前位置:首頁 » 存儲配置 » 塊存儲客戶端

塊存儲客戶端

發布時間: 2024-11-07 20:12:14

① 求 分布式對象存儲 原理 架構及Go語言實現 pdf

分布式存儲架構由三個部分組成:客戶端、元數據伺服器和數據伺服器。客戶端負責發送讀寫請求,緩存文件元數據和文件數據。元數據伺服器負責管理元數據和處理客戶端的請求,是整個系統的核心組件。數據伺服器負責存放文件數據,保證數據的可用性和完整性。該架構的好處是性能和容量能夠同時拓展,系統規模具有很強的伸縮性。
對象存儲最常用的方案,就是多台伺服器內置大容量硬碟,再裝上對象存儲軟體,然後再額外搞幾台服務作為管理節點,安裝上對象存儲管理軟體。管理節點可以管理其他伺服器對外提供讀寫訪問功能。
之所以出現了對象存儲這種東西,是為了克服塊存儲與文件存儲各自的缺點,發揚它倆各自的優點。簡單來說塊存儲讀寫快,不利於共享,文件存儲讀寫慢,利於共享。能否弄一個讀寫快,利 於共享的出來呢。於是就有了對象存儲。

② 對象存儲、文件存儲和塊存儲的區別是什麼

對象存儲、文件存儲和塊存儲的區別如下:

1、速度不同

塊存儲:低延遲(10ms),熱點突出;

文件存儲:不同技術各有不同;

對象存儲:100ms-1s,冷數據;

2、可分步性不同

塊存儲:異地不現實;

文件存儲:可分布式,但有瓶頸;

對象存儲:分步並發能力高;

3、文件大小不同

塊存儲:大小都可以,熱點突出;

文件存儲:適合大文件;

對象存儲:適合各種大小;

4、介面不同

塊存儲:Driver,kernel mole ;

文件存儲:POSIX;

對象存儲:Restful API ;

5、典型技術不同

塊存儲:SAN;

文件存儲: HDFS,GFS;

對象存儲:Swift,Amazon S3;

6、適合場景不同

塊存儲:銀行;

文件存儲:數據中心;

對象存儲:網路媒體文件存儲。

(2)塊存儲客戶端擴展閱讀:

對象存儲、文件存儲和塊存儲的聯系:

通常來講,磁碟陣列都是基於Block塊的存儲,而所有的NAS產品都是文件級存儲。

1. 塊存儲:DAS SAN

a) DAS(Direct Attach Storage): 是直接連接於主機伺服器的一種存儲方式,每台伺服器有獨立的存儲設備,每台主機伺服器的存儲設備無法互通,需要跨主機存取資料室,必須經過相對復雜的設定,若主機分屬不同的操作系統,則更復雜。

應用:單一網路環境下且數據交換量不大,性能要求不高的環境,技術實現較早。

b) SAN(Storage Area Network): 是一種高速(光纖)網路聯接專業主機伺服器的一種存儲方式,此系統會位於主機群的後端,它使用高速I/O聯接方式,如:SCSI,ESCON及Fibre-Channels.特點是,代價高、性能好。但是由於SAN系統的價格較高,且可擴展性較差,已不能滿足成千上萬個CPU規模的系統。

應用:對網速要求高、對數據可靠性和安全性要求高、對數據共享的性能要求高的應用環境中。

2. 文件存儲

通常NAS產品都是文件級存儲。

NAS(Network Attached Storage):是一套網路存儲設備,通常直接連在網路上並提供資料存取服務,一套NAS儲存設備就如同一個提供數據文件服務的系統,特點是性價比高。

它採用NFS或CIFS命令集訪問數據,以文件為傳輸協議,可擴展性好、價格便宜、用戶易管理。目前在集群計算中應用較多的NFS文件系統,但由於NAS的協議開銷高、帶寬低、延遲大,不利於在高性能集群中應用。

3. 對象存儲:

總體上講,對象存儲同時兼具SAN高級直接訪問磁碟特點及NAS的分布式共享特點。

核心是將數據通路(數據讀或寫)和控制通路(元數據)分離,並且基於對象存儲設備(OSD),構建存儲系統,每個對象存儲設備具備一定的職能,能夠自動管理其上的數據分布。

對象儲存結構組成部分(對象、對象存儲設備、元數據伺服器、對象存儲系統的客戶端)

③ 塊存儲、文件存儲、對象存儲這三者的本質差別是什麼

一、概念及區別

針對不同的應用場景,選擇的分布式存儲方案也會不同,因此有了對象存儲、塊存儲、文件系統存儲。這三者的主要區別在於它們的存儲介面:

1. 對象存儲:

也就是通常意義的鍵值存儲,其介面就是簡單的GET,PUT,DEL和其他擴展,

2. 塊存儲:

這種介面通常以QEMU Driver或者Kernel Mole的方式存在,這種介面需要實現Linux的BlockDevice的介面或者QEMU提供的BlockDriver介面,如Sheepdog,AWS的EBS,青雲的雲硬碟和阿里雲的盤古系統,還有Ceph的RBD(RBD是Ceph面向塊存儲的介面)

3. 文件存儲:

通常意義是支持POSIX介面,它跟傳統的文件系統如Ext4是一個類型的,但區別在於分布式存儲提供了並行化的能力,如Ceph的CephFS(CephFS是Ceph面向文件存儲的介面),但是有時候又會把GFS,HDFS這種非POSIX介面的類文件存儲介面歸入此類。

二、IO特點

按照這三種介面和其應用場景,很容易了解這三種類型的IO特點,括弧里代表了它在非分布式情況下的對應:1. 對象存儲(鍵值資料庫):

介面簡單,一個對象我們可以看成一個文件,只能全寫全讀,通常以大文件為主,要求足夠的IO帶寬。

2. 塊存儲(硬碟):

它的IO特點與傳統的硬碟是一致的,一個硬碟應該是能面向通用需求的,即能應付大文件讀寫,也能處理好小文件讀寫。但是硬碟的特點是容量大,熱點明顯。因此塊存儲主要可以應付熱點問題。另外,塊存儲要求的延遲是最低的。

3. 文件存儲(文件系統):

支持文件存儲的介面的系統設計跟傳統本地文件系統如Ext4這種的特點和難點是一致的,它比塊存儲具有更豐富的介面,需要考慮目錄、文件屬性等支持,實現一個支持並行化的文件存儲應該是最困難的。但像HDFS、GFS這種自己定義標準的系統,可以通過根據實現來定義介面,會容易一點。

因此,這三種介面分別以非分布式情況下的鍵值資料庫、硬碟和文件系統的IO特點來對應即可。至於冷熱、快慢、大小文件而言更接近於業務。但是因為存儲系統是通用化實現,通常來說,需要盡量滿足各種需求,而介面定義已經一定意義上就砍去了一些需求,如對象存儲會以冷存儲更多,大文件為主。

④ 常用的各類存儲

塊存儲: 指在一個RAID(獨立磁碟冗餘陣列)集中,一個控制器加入一組磁碟驅動器,然後提供固定大小的RAID塊作為LUN(邏輯單元號)的卷,簡單理解硬碟就是塊存儲。
常見的塊存儲

提供了文件共享的文件存儲服務,普通的文件存儲可以同時支持上千個雲主機客戶端同時共享訪問,提供高吞吐量。

對象存儲
無目錄層次結構、無數據格式限制,可容納海量數據且支持 HTTP/HTTPS 協議訪問的分布式存儲服務。

使用場景
適合非結構化文件,如圖片和音視頻等數據的海量存儲
各種終端設備、Web網站程序、移動應用可以直接向OSS寫入或讀取數據。OSS支持流式寫入和文件寫入兩種方式

阿里雲的對象存儲的分類
標准類型
低頻訪問類型
歸檔存儲類型
(雲廠商都提供對象存儲)

下表來自阿里雲:

註: ECS 指的的雲主機。
如果是自己搭建的NAS,那麼他的吞吐取決約你的磁碟的類型和Raid類型, 一般是百Mbps,而不是Gbps.

⑤ 對象存儲、塊存儲、文件存儲分別是什麼有什麼區別

你可以把塊理解成整個硬碟,文件理解成硬碟中的文件,對象理解成很多台伺服器中的很多塊硬碟。

⑥ ceph 塊存儲rbd的使用,使用普通戶創建和掛載rbd

ceph@ceph-deploy:~/ceph-cluster$ ceph osd pool create rbd1-data 32 32

pool 'rbd1-data' created

ceph@ceph-deploy:~/ceph-cluster$ ceph osd pool ls

device_health_metrics

mypool

.rgw.root

default.rgw.log

default.rgw.control

default.rgw.meta

myrbd1

cephfs-metadata

cephfs-data

rbd1-data

在存儲池啟用rbd:

ceph@ceph-deploy:~/ceph-cluster$ ceph osd pool application enable rbd1-data rbd

enabled application 'rbd' on pool 'rbd1-data'

初始化存儲池:

ceph@ceph-deploy:~/ceph-cluster$ rbd pool init -p rbd1-data

創建存儲池映像文件:

映像文件的管理都是rbd命令來執行,rbd可對映像執行創建,查看,刪除,以及創建快照,克隆映像,刪除快照,查看快照,快照回滾等管理操作

ceph@ceph-deploy:~/ceph-cluster$ rbd create data-img1 --size 3G --pool rbd1-data --image-format 2 --image-feature layering

ceph@ceph-deploy:~/ceph-cluster$ rbd create data-img2 --size 5G --pool rbd1-data --image-format 2 --image-feature layering

查看存儲池映像文件

ceph@ceph-deploy:~/ceph-cluster$ rbd list --pool rbd1-data

data-img1

data-img2

列出映像更多信息

ceph@ceph-deploy:~/ceph-cluster$ rbd list --pool rbd1-data -l

NAME      SIZE  PARENT  FMT  PROT  LOCK

data-img1  3 GiB            2           

data-img2  5 GiB            2

ceph@ceph-deploy:~/ceph-cluster$ rbd --image data-img1 --pool rbd1-data info

rbd image 'data-img1':

size 3 GiB in 768 objects

order 22 (4 MiB objects)

snapshot_count: 0

id: 3ab91c6a62f5

block_name_prefix: rbd_data.3ab91c6a62f5

format: 2

features: layering

op_features:

flags:

create_timestamp: Thu Sep  2 06:48:11 2021

access_timestamp: Thu Sep  2 06:48:11 2021

modify_timestamp: Thu Sep  2 06:48:11 2021

ceph@ceph-deploy:~/ceph-cluster$ rbd --image data-img1 --pool rbd1-data info --format json --pretty-format

{

    "name": "data-img1",

    "id": "3ab91c6a62f5",

    "size": 3221225472,

    "objects": 768,

    "order": 22,

    "object_size": 4194304,

    "snapshot_count": 0,

    "block_name_prefix": "rbd_data.3ab91c6a62f5",

    "format": 2,

    "features": [

        "layering"

    ],

    "op_features": [],

    "flags": [],

    "create_timestamp": "Thu Sep  2 06:48:11 2021",

    "access_timestamp": "Thu Sep  2 06:48:11 2021",

    "modify_timestamp": "Thu Sep  2 06:48:11 2021"

}

鏡像(映像)特性的啟用和禁用

特性包括:

layering支持分層快照特性  默認開啟

striping條帶化

exclusive-lock:支持獨占鎖  默認開啟

object-map 支持對象映射,加速數據導入導出及已用空間特性統計等  默認開啟

fast-diff 快速計算對象和快找數據差異對比  默認開啟

deep-flatten  支持快照扁平化操作  默認開啟

journaling  是否記錄日誌

開啟:

ceph@ceph-deploy:~/ceph-cluster$ rbd feature enable object-map --pool rbd1-data --image data-img1

ceph@ceph-deploy:~/ceph-cluster$ rbd feature enable fast-diff --pool rbd1-data --image data-img1

ceph@ceph-deploy:~/ceph-cluster$ rbd feature enable exclusive-lock --pool rbd1-data --image data-img1

禁止:

ceph@ceph-deploy:~/ceph-cluster$ rbd feature disable object-map --pool rbd1-data --image data-img1

ceph@ceph-deploy:~/ceph-cluster$ rbd feature disable fast-diff --pool rbd1-data --image data-img1

ceph@ceph-deploy:~/ceph-cluster$ rbd feature disable exclusive-lock --pool rbd1-data --image data-img1

客戶端使用塊設備:

首先要安裝ceph-comman,配置授權

[root@ceph-client1 ceph_data]# yum install -y http://mirrors.aliyun.com/ceph/rpm-octopus/el7/noarch/ceph-release-1-1.el7.noarch.rpm

[root@ceph-client1 ceph_data]# yum install ceph-common -y 

授權,

ceph@ceph-deploy:/etc/ceph$ sudo -i

root@ceph-deploy:~# cd /etc/ceph/           

root@ceph-deploy:/etc/ceph# scp ceph.conf ceph.client.admin.keyring [email protected]:/etc/ceph

ubuntu系統:

root@ceph-client2:/var/lib/ceph# apt install -y ceph-common

root@ceph-deploy:/etc/ceph# sudo scp ceph.conf ceph.client.admin.keyring [email protected]:/tmp

[email protected]'s password:

ceph.conf                                                                                                                  100%  270  117.7KB/s  00:00   

ceph.client.admin.keyring

root@ceph-client2:/var/lib/ceph# cd /etc/ceph/

root@ceph-client2:/etc/ceph# cp /tmp/ceph.c* /etc/ceph/

root@ceph-client2:/etc/ceph# ll /etc/ceph/

total 20

drwxr-xr-x  2 root root 4096 Aug 26 07:58 ./

drwxr-xr-x 84 root root 4096 Aug 26 07:49 ../

-rw-------  1 root root  151 Sep  2 07:24 ceph.client.admin.keyring

-rw-r--r--  1 root root  270 Sep  2 07:24 ceph.conf

-rw-r--r--  1 root root  92 Jul  8 07:17 rbdmap

-rw-------  1 root root    0 Aug 26 07:58 tmpmhFvZ7

客戶端映射鏡像

root@ceph-client2:/etc/ceph# rbd -p rbd1-data map data-img1

rbd: sysfs write failed

RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable rbd1-data/data-img1 object-map fast-diff".

In some cases useful info is found in syslog - try "dmesg | tail".

rbd: map failed: (6) No such device or address

root@ceph-client2:/etc/ceph# rbd feature disable rbd1-data/data-img1 object-map fast-diff

root@ceph-client2:/etc/ceph# rbd -p rbd1-data map data-img1

/dev/rbd0

root@ceph-client2:/etc/ceph# rbd -p rbd1-data map data-img2

格式化塊設備admin映射映像文件

查看塊設備

root@ceph-client2:/etc/ceph# lsblk

NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda      8:0    0  20G  0 disk

└─sda1  8:1    0  20G  0 part /

sr0    11:0    1 1024M  0 rom 

rbd0  252:0    0    3G  0 disk

rbd1  252:16  0    5G  0 disk

root@ceph-client2:/etc/ceph# mkfs.ext4 /dev/rbd1

mke2fs 1.44.1 (24-Mar-2018)

Discarding device blocks: done                           

Creating filesystem with 1310720 4k blocks and 327680 inodes

Filesystem UUID: 168b99e6-a3d7-4dc6-9c69-76ce8b42f636

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                           

Writing inode tables: done                           

Creating journal (16384 blocks): done

Writing superblocks and filesystem accounting information: done

掛在掛設備

root@ceph-client2:/etc/ceph# mkdir /data/data1 -p

root@ceph-client2:/etc/ceph# mount /dev/rbd1 /data/data1/

驗證寫入數據:

root@ceph-client2:/etc/ceph# cd /data/data1/

root@ceph-client2:/data/data1# cp /var/log/ . -r

root@ceph-client2:/data/data1# ceph df

--- RAW STORAGE ---

CLASS    SIZE    AVAIL    USED  RAW USED  %RAW USED

hdd    220 GiB  213 GiB  7.4 GiB  7.4 GiB      3.37

TOTAL  220 GiB  213 GiB  7.4 GiB  7.4 GiB      3.37

--- POOLS ---

POOL                  ID  PGS  STORED  OBJECTS    USED  %USED  MAX AVAIL

device_health_metrics  1    1      0 B        0      0 B      0    66 GiB

mypool                  2  32  1.2 MiB        1  3.5 MiB      0    66 GiB

.rgw.root              3  32  1.3 KiB        4  48 KiB      0    66 GiB

default.rgw.log        4  32  3.6 KiB      209  408 KiB      0    66 GiB

default.rgw.control    5  32      0 B        8      0 B      0    66 GiB

default.rgw.meta        6    8      0 B        0      0 B      0    66 GiB

myrbd1                  7  64  829 MiB      223  2.4 GiB  1.20    66 GiB

cephfs-metadata        8  32  563 KiB      23  1.7 MiB      0    66 GiB

cephfs-data            9  64  455 MiB      129  1.3 GiB  0.66    66 GiB

rbd1-data              10  32  124 MiB      51  373 MiB  0.18    66 GiB

創建普通用戶並授權

root@ceph-deploy:/etc/ceph# ceph auth add client.huahualin mon "allow rw"  osd "allow rwx pool=rbd1-data"

added key for client.huahualin

root@ceph-deploy:/etc/ceph# ceph-authtool --create-keyring ceph.client.huahualin.keyring

creating ceph.client.huahualin.keyring

root@ceph-deploy:/etc/ceph# ceph auth  get client.huahualin -o ceph.client.huahualin.keyring

exported keyring for client.huahualin

使用普通用戶創建rbd

root@ceph-deploy:/etc/ceph# scp ceph.conf ceph.client.huahualin.keyring  [email protected]:/etc/ceph/

普通用戶映射鏡像

[root@ceph-client1 ~]# rbd --user huahualin --pool rbd1-data map data-img2

/dev/rbd0

使用普通用戶掛載rbd

[root@ceph-client1 ~]# mkfs.ext4 /dev/rbd0

[root@ceph-client1 ~]# fdisk -l /dev/rbd0

[root@ceph-client1 ~]# mkdir /data

[root@ceph-client1 ~]# mount  /dev/rbd0 /data

[root@ceph-client1 ~]# df -Th

Filesystem              Type      Size  Used Avail Use% Mounted on

devtmpfs                devtmpfs  475M    0  475M  0% /dev

tmpfs                  tmpfs    487M    0  487M  0% /dev/shm

tmpfs                  tmpfs    487M  7.7M  479M  2% /run

tmpfs                  tmpfs    487M    0  487M  0% /sys/fs/cgroup

/dev/mapper/centos-root xfs        37G  1.7G  36G  5% /

/dev/sda1              xfs      1014M  138M  877M  14% /boot

tmpfs                  tmpfs      98M    0  98M  0% /run/user/0

192.168.241.12:6789:/  ceph      67G  456M  67G  1% /ceph_data

/dev/rbd0              ext4      4.8G  20M  4.6G  1% /data

掛載rbd後會自動載入模塊libceph.ko

[root@ceph-client1 ~]# lsmod |grep ceph

ceph                  363016  1

libceph              306750  2 rbd,ceph

dns_resolver          13140  1 libceph

libcrc32c              12644  4 xfs,libceph,nf_nat,nf_conntrack

[root@ceph-client1 ~]# modinfo libceph

filename:      /lib/moles/3.10.0-1160.el7.x86_64/kernel/net/ceph/libceph.ko.xz

license:        GPL

description:    Ceph core library

author:        Patience Warnick <[email protected]>

author:        Yehuda Sadeh <[email protected]>

author:        Sage Weil <[email protected]>

retpoline:      Y

rhelversion:    7.9

srcversion:    D4ABB648AE8130ECF90AA3F

depends:        libcrc32c,dns_resolver

intree:        Y

vermagic:      3.10.0-1160.el7.x86_64 SMP mod_unload modversions

signer:        CentOS Linux kernel signing key

sig_key:        E1:FD:B0:E2:A7:E8:61:A1:D1:CA:80:A2:3D:CF:0D:BA:3A:A4:AD:F5

sig_hashalgo:  sha256

如果鏡像空間不夠用了,我們可以做鏡像空間的拉伸,一般不建議減小

查看rdb1-data存儲池的鏡像

[root@ceph-client1 ~]# rbd ls -p rbd1-data -l

NAME      SIZE  PARENT  FMT  PROT  LOCK

data-img1  3 GiB            2           

data-img2  5 GiB            2 

比如data-img2空間不夠了,需要拉伸,將data-img2擴展到8G

[root@ceph-client1 ~]# rbd resize --pool rbd1-data --image data-img2 --size  8G

Resizing image: 100% complete...done.

可以通過fdisk -l查看鏡像空間大小,但是通過df -h就看不到

[root@ceph-client1 ~]# lsblk

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda              8:0    0  40G  0 disk

├─sda1            8:1    0    1G  0 part /boot

└─sda2            8:2    0  39G  0 part

  ├─centos-root 253:0    0  37G  0 lvm  /

  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]

sr0              11:0    1 1024M  0 rom 

rbd0            252:0    0    8G  0 disk /data

[root@ceph-client1 ~]# fdisk -l /dev/rbd0

Disk /dev/rbd0: 8589 MB, 8589934592 bytes, 16777216 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 4194304 bytes / 4194304 bytes

將掛載設置開機啟動

[root@ceph-client1 ~]# vi /etc/rc.d/rc.local

rbd --user huahualin --pool rbd1-data map data-img2

mount /dev/rbd0 /data

[root@ceph-client1 ~]# chmod a+x  /etc/rc.d/rc.local

[root@ceph-client1 ~]# reboot

⑦ 對象存儲、文件存儲和塊存儲有什麼區別

對象存儲、文件存儲和塊存儲區別為:存儲設備不同、特點不同、缺點不同。

一、存儲設備不同

1、對象存儲:對象存儲的對應存儲設備為swift,鍵值存儲。

2、文件存儲:文件存儲的對應存儲設備為FTP、NFS伺服器。

3、塊存儲:塊存儲的對應存儲設備為cinder,硬碟。

二、特點不同

1、對象存儲:對象存儲的特點是具備塊存儲的高速以及文件存儲的共享等特性。

2、文件存儲:文件存儲的特點是一個大文件夾,大家都可以獲取文件。

3、塊存儲:塊存儲的特點是分區、格式化後,可以使用,與平常主機內置硬碟的方式完全無異。

三、缺點不同

1、對象存儲:對象存儲的缺點是不兼容多種模式並行。

2、文件存儲:文件存儲的缺點是傳輸速率低。

3、塊存儲:塊存儲的缺點是不能共享數據。

⑧ Linux裡面ceph是什麼

Linux裡面ceph
Ceph是一個可靠地、自動重均衡、自動恢復的分布式存儲系統,根據場景劃分可以將Ceph分為三大塊,分別是對象存儲、塊設備存儲和文件系統服務。在虛擬化領域里,比較常用到的是Ceph的塊設備存儲,比如在OpenStack項目里,Ceph的塊設備存儲可以對接OpenStack的cinder後端存儲、Glance的鏡像存儲和虛擬機的數據存儲,比較直觀的是Ceph集群可以提供一個raw格式的塊存儲來作為虛擬機實例的硬碟。
Ceph相比其它存儲的優勢點在於它不單單是存儲,同時還充分利用了存儲節點上的計算能力,在存儲每一個數據時,都會通過計算得出該數據存儲的位置,盡量將數據分布均衡,同時由於Ceph的良好設計,採用了CRUSH演算法、HASH環等方法,使得它不存在傳統的單點故障的問題,且隨著規模的擴大性能並不會受到影響。

熱點內容
網易雲音樂文件夾名 發布:2024-11-07 22:39:23 瀏覽:210
雲速伺服器近期價格 發布:2024-11-07 22:39:20 瀏覽:37
linuxnginx與php 發布:2024-11-07 22:33:32 瀏覽:78
android語音sdk 發布:2024-11-07 22:26:58 瀏覽:614
uuidjava生成 發布:2024-11-07 22:22:31 瀏覽:7
裝修家中需要配置哪些東西 發布:2024-11-07 22:21:11 瀏覽:82
什麼安卓的平板電腦最好用 發布:2024-11-07 22:21:05 瀏覽:553
linux最大內存 發布:2024-11-07 22:11:28 瀏覽:627
誰編程的楚辭 發布:2024-11-07 22:06:22 瀏覽:334
安卓暴力摩托叫什麼 發布:2024-11-07 22:05:03 瀏覽:344