1. cephfs擴(kuò)容方案匯總

        共 2884字,需瀏覽 6分鐘

         ·

        2020-12-13 05:21

        cephfs擴(kuò)容方案

        需求描述

        建立完善的cephfs的擴(kuò)容方案,滿足cephfs用戶數(shù)據(jù)存儲(chǔ)空間在各種場(chǎng)景下的擴(kuò)容需求。目前擴(kuò)容只涉及到用戶的數(shù)據(jù)存儲(chǔ),元數(shù)據(jù)部分因?yàn)榭臻g使用率較低所以不需要考慮擴(kuò)容。

        現(xiàn)有cephfs用戶存儲(chǔ)模型

        目前單個(gè)用戶會(huì)對(duì)應(yīng)一個(gè)ceph集群里面的多個(gè)Dir目錄,每個(gè)Dir目錄底層會(huì)關(guān)聯(lián)到兩個(gè)pool,其中metadata_pool用來存儲(chǔ)元數(shù)據(jù),data_pool用來存儲(chǔ)數(shù)據(jù)。

        6d93aea1fe909180017ff629dea546db.webp

        單集群擴(kuò)容方案

        通過filelayout進(jìn)行擴(kuò)容

        基本原理

        每個(gè)文件都有filelayout的xattr屬性,其中包含一個(gè)關(guān)鍵的pool字段,用來指定存儲(chǔ)文件底層用到哪個(gè)pool,因此利用該特性可以實(shí)現(xiàn)基于目錄基本的擴(kuò)容。

        參考 https://docs.ceph.com/docs/master/cephfs/file-layouts/#adding-a-data-pool-to-the-mds

        操作流程

        root@host1:/mnt/cephfs1#?ceph?df
        RAW?STORAGE:
        ????CLASS?????SIZE????????AVAIL???????USED???????RAW?USED?????%RAW?USED
        ????hdd???????952?TiB?????861?TiB?????89?TiB???????91?TiB??????????9.52
        ????TOTAL?????952?TiB?????861?TiB?????89?TiB???????91?TiB??????????9.52

        POOLS:
        ????POOL??????????????????????ID?????STORED??????OBJECTS?????USED????????%USED?????MAX?AVAIL
        ????rbdtest-site1-ssd-img??????1?????8.7?TiB???????2.34M??????26?TiB?????24.58????????27?TiB
        ????rbdtest-site1-sas-img??????2?????8.8?TiB???????2.31M??????26?TiB??????3.63???????233?TiB
        ????cephfs_metadata????????????3??????85?GiB?????116.05k??????86?GiB??????0.10????????27?TiB
        ????cephfs_data????????????????4??????12?TiB?????198.68M??????36?TiB?????30.65????????27?TiB
        ????cephfs_pool1???????????????5?????121?GiB??????31.04k?????364?GiB??????0.44????????27?TiB
        ????sym_cephfs_data????????????6?????656?KiB??????????13?????3.6?MiB?????????0???????233?TiB
        ????sym_cephfs_metadata????????7?????????0?B???????????0?????????0?B?????????0???????233?TiB
        ????kubernetes????????????????20???????152?B???????????6?????192?KiB?????????0???????233?TiB


        root@host1:/mnt/cephfs1#?setfattr?-n?ceph.dir.layout.pool?-v?cephfs_pool1?/mnt/cephfs1/extest1/

        root@host1:/mnt/cephfs1#?getfattr?-n?ceph.dir.layout?/mnt/cephfs1/extest1
        getfattr:?Removing?leading?'/'?from?absolute?path?names
        #?file:?mnt/cephfs1/extest1
        ceph.dir.layout="stripe_unit=4194304?stripe_count=1?object_size=4194304?pool=cephfs_pool1"


        root@host1:/mnt/cephfs1/extest1#?touch?file2

        root@host1:/mnt/cephfs1/extest1#?getfattr?-n?ceph.file.layout?/mnt/cephfs1/extest1/file2
        getfattr:?Removing?leading?'/'?from?absolute?path?names
        #?file:?mnt/cephfs1/extest1/file2
        ceph.file.layout="stripe_unit=4194304?stripe_count=1?object_size=4194304?pool=cephfs_pool1"

        方案1. 同級(jí)目錄擴(kuò)容

        如果業(yè)務(wù)側(cè)能夠按新增主目錄方式進(jìn)行擴(kuò)容,則可以通過新增一個(gè)用戶主目錄,將新目錄指向新的data_pool來實(shí)現(xiàn)擴(kuò)容。

        優(yōu)點(diǎn):新擴(kuò)容的pool不會(huì)對(duì)現(xiàn)有存儲(chǔ)服務(wù)造成影響。

        缺點(diǎn):業(yè)務(wù)需要能夠適配這種新增子目錄的擴(kuò)容方式。

        59ce69269402ff192f9031f4a8b47947.webp

        方案2. 子目錄擴(kuò)容

        如果業(yè)務(wù)側(cè)只能在原有主目錄中進(jìn)行操作,則可以通過在原有主目錄下新增一個(gè)用戶子目錄,將新生成的子目錄指向新的data_pool來實(shí)現(xiàn)擴(kuò)容。

        優(yōu)點(diǎn):新擴(kuò)容的pool不會(huì)對(duì)現(xiàn)有存儲(chǔ)服務(wù)造成影響。

        缺點(diǎn):業(yè)務(wù)需要能夠適配這種新增子目錄的擴(kuò)容方式。

        f821488c566ac8346a19846f585ad8e4.webp

        通過新增OSD進(jìn)行擴(kuò)容

        基本原理

        基于原生底層分布式存儲(chǔ)的基本特性,可以在原有的pool里面新增OSD進(jìn)行擴(kuò)容,但是新增OSD會(huì)導(dǎo)致舊有數(shù)據(jù)重新平衡,造成性能波動(dòng),影響服務(wù)質(zhì)量。

        方案3. 原有data_pool擴(kuò)容

        通過在原有data_pool中新增OSD來實(shí)現(xiàn)擴(kuò)容。

        優(yōu)點(diǎn):業(yè)務(wù)和k8s層面不需要做任何變動(dòng),完全對(duì)上層透明。

        缺點(diǎn):舊集群在新增OSD的時(shí)候會(huì)發(fā)生性能抖動(dòng),同時(shí)為了兼顧擴(kuò)容速率和減少業(yè)務(wù)影響,相對(duì)擴(kuò)容周期會(huì)比較長(zhǎng)。受限與機(jī)房機(jī)柜和網(wǎng)絡(luò)設(shè)備環(huán)境,有物理層面的上限。

        847232313f5b901c9cbfc098486204f3.webp

        多集群擴(kuò)容方案

        方案4. 新增ceph集群

        受限于單集群規(guī)模存儲(chǔ)集群的規(guī)模有限(受限機(jī)柜、網(wǎng)絡(luò)等),單機(jī)房多集群、多機(jī)房多集群都會(huì)可能存在,因此這一塊的存儲(chǔ)擴(kuò)容方案也會(huì)納入設(shè)計(jì)范圍。

        優(yōu)點(diǎn):適配現(xiàn)有的單集群部署方案(1個(gè)集群跨3個(gè)機(jī)柜),相對(duì)來講容易做故障域隔離(雞蛋不放一個(gè)籃子里).擴(kuò)容新集群不會(huì)對(duì)現(xiàn)有存儲(chǔ)服務(wù)造成影響。

        缺點(diǎn):需要業(yè)務(wù)能夠適配這種跨集群模型(跨集群的目錄數(shù)據(jù)不能互通),單個(gè)docker里面最好不要同時(shí)掛載兩個(gè)以上集群的目錄。k8s的存儲(chǔ)資源調(diào)度復(fù)雜度上升,需要支持多集群。

        6db151dedcdb204f89a97bd28a93a2e6.webp


        瀏覽 55
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. freejapanxxxxhdvideo | 俺来俺去www色官网 | 五月天黄色网 | 日产电影一区二区三区 | 国产在线视频一区二区三区 |