内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

深入淺出分布式文件存儲系統(tǒng)之Ceph的實(shí)現(xiàn)-創(chuàng)新互聯(lián)

一、何為分布式文件文件系統(tǒng)
      分布式文件系統(tǒng)(Distributed File System)是指文件系統(tǒng)管理的物理存儲資源不一定直接連接在本地節(jié)點(diǎn)上,而是通過計(jì)算機(jī)網(wǎng)絡(luò)與節(jié)點(diǎn)相連,它的設(shè)計(jì)是基于客戶端/服務(wù)器模式。

成都創(chuàng)新互聯(lián)10余年專注成都高端網(wǎng)站建設(shè)定制網(wǎng)站開發(fā)服務(wù),為客戶提供專業(yè)的成都網(wǎng)站制作,成都網(wǎng)頁設(shè)計(jì),成都網(wǎng)站設(shè)計(jì)服務(wù);成都創(chuàng)新互聯(lián)服務(wù)內(nèi)容包含成都網(wǎng)站建設(shè),成都微信小程序,軟件開發(fā),網(wǎng)絡(luò)營銷推廣,網(wǎng)絡(luò)運(yùn)營服務(wù)及企業(yè)形象設(shè)計(jì);成都創(chuàng)新互聯(lián)擁有眾多專業(yè)的高端網(wǎng)站制作開發(fā)團(tuán)隊(duì),資深的高端網(wǎng)頁設(shè)計(jì)團(tuán)隊(duì)及經(jīng)驗(yàn)豐富的架構(gòu)師高端網(wǎng)站策劃團(tuán)隊(duì);我們始終堅(jiān)持從客戶的角度出發(fā),為客戶量身訂造網(wǎng)絡(luò)營銷方案,解決網(wǎng)絡(luò)營銷疑問。

      深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

       如上圖所示,應(yīng)用服務(wù)器和文件服務(wù)器分別存在于網(wǎng)絡(luò)當(dāng)中,而這里的網(wǎng)絡(luò),可以是統(tǒng)一子網(wǎng),也可以是不同子網(wǎng)。服務(wù)器對文件的存取,均在網(wǎng)絡(luò)進(jìn)行,這樣就可以突破常用存儲設(shè)備的容量限制。


二、常用分布式文件系統(tǒng)的介紹

       1、Lustre

        lustre是一個(gè)大規(guī)模的、安全可靠的,具備高可用性的集群文件系統(tǒng),它是由SUN公司開發(fā)和維護(hù)。該項(xiàng)目主要的目的就是開發(fā)下一代的集群文件系統(tǒng),可以支持超過10000個(gè)節(jié)點(diǎn),數(shù)以PB的數(shù)量存儲系統(tǒng)。

       2、Hadoop

        hadoop不僅僅是一個(gè)用于存儲的分布式文件系統(tǒng),而其設(shè)計(jì)更是用來在由通用計(jì)算設(shè)備組成的大型集群上執(zhí)行分布式應(yīng)用的框架。目前主要應(yīng)用于大數(shù)據(jù)、區(qū)塊鏈等領(lǐng)域。

       3、FastDFS

        FastDFS是一個(gè)開源的分布式文件系統(tǒng),它對文件進(jìn)行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負(fù)載均衡的問題。特別適合以文件為載體的在線服務(wù), 如相冊網(wǎng)站,視頻網(wǎng)站等等。

       4、Ceph

        Ceph是一個(gè)具有高擴(kuò)展、高可用、高性能、可以提供對象存儲、塊存儲、文件存儲的分布式文件系統(tǒng),它可以提供 PD 級別的存儲空間,理論上說,是無上限的。


三、Ceph 介紹

        Ceph是一個(gè)具有高擴(kuò)展、高可用、高性能的分布式存儲系統(tǒng),根據(jù)場景劃分可以將Ceph分為對象存儲、塊設(shè)備存儲和文件系統(tǒng)服務(wù)。在虛擬化領(lǐng)域里,比較常用到的是Ceph的塊設(shè)備存儲,比如在OpenStack項(xiàng)目里,Ceph的塊設(shè)備存儲可以對接OpenStack的cinder后端存儲、Glance的鏡像存儲和虛擬機(jī)的數(shù)據(jù)存儲。比較直觀的是Ceph集群可以提供一個(gè)raw格式的塊存儲來作為虛擬機(jī)實(shí)例的硬盤。
        Ceph相比其它存儲的優(yōu)勢點(diǎn)在于它不單單是存儲,同時(shí)還充分利用了存儲節(jié)點(diǎn)上的計(jì)算能力,在存儲每一個(gè)數(shù)據(jù)時(shí),都會通過計(jì)算得出該數(shù)據(jù)存儲的位置,盡量將數(shù)據(jù)分布均衡。同時(shí)由于Ceph本身的良好設(shè)計(jì),采用了CRUSH算法、HASH環(huán)等方法,使得它不存在傳統(tǒng)的單點(diǎn)故障的問題,且隨著規(guī)模的擴(kuò)大性能并不會受到影響。

四、Ceph 構(gòu)成

        Ceph的核心構(gòu)成包括:Ceph OSD(對象存出設(shè)備)、Ceph Monitor(監(jiān)視器) 、Ceph MSD(元數(shù)據(jù)服務(wù)器)、Object、PG、RADOS、Libradio、CRUSH、RDB、RGW、CephFS

        OSD:全稱 Object Storage Device,真正存儲數(shù)據(jù)的組件,一般來說每塊參與存儲的磁盤都需要一個(gè) OSD 進(jìn)程,如果一臺服務(wù)器上又 10 塊硬盤,那么該服務(wù)器上就會有 10 個(gè) OSD 進(jìn)程。

        MON:MON通過保存一系列集群狀態(tài) map 來監(jiān)視集群的組件,使用 map 保存集群的狀態(tài),為了防止單點(diǎn)故障,因此 monitor 的服務(wù)器需要奇數(shù)臺(大于等于 3 臺),如果出現(xiàn)意見分歧,采用投票機(jī)制,少數(shù)服從多數(shù)。

        MDS:全稱 Ceph Metadata Server,元數(shù)據(jù)服務(wù)器,只有 Ceph FS 需要它。

        Object:Ceph 最底層的存儲單元是 Object 對象,每個(gè) Object 包含元數(shù)據(jù)和原始數(shù)據(jù)。

        PG:全稱 Placement Grouops,是一個(gè)邏輯的概念,一個(gè)PG包含多個(gè)OSD。引入PG這一層其實(shí)是為了更好的分配數(shù)據(jù)和定位數(shù)據(jù)。

        RADOS:全稱Reliable Autonomic Distributed Object Store,是Ceph集群的精華,可靠自主分布式對象存儲,它是 Ceph 存儲的基礎(chǔ),保證一切都以對象形式存儲。

        Libradio:Librados是Rados提供庫,因?yàn)镽ADOS是協(xié)議很難直接訪問,因此上層的RBD、RGW和CephFS都是通過librados訪問的,目前僅提供PHP、Ruby、Java、Python、C和C++支持。

        CRUSH:是Ceph使用的數(shù)據(jù)分布算法,類似一致性哈希,讓數(shù)據(jù)分配到預(yù)期的地方。

        RBD:全稱 RADOS block device,它是 RADOS 塊設(shè)備,對外提供塊存儲服務(wù)。

        RGW:全稱 RADOS gateway,RADOS網(wǎng)關(guān),提供對象存儲,接口與 S3 和 Swift 兼容。

        CephFS:提供文件系統(tǒng)級別的存儲。

五、Ceph 部署

       1、Ceph拓?fù)浣Y(jié)構(gòu)

       深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

       2、服務(wù)器規(guī)劃

        深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

       3、服務(wù)器環(huán)境準(zhǔn)備

            a、配置主機(jī)名、IP地址解析,分別在 6 臺服務(wù)器中執(zhí)行以下命令:

    [root@ceph-a ~]# echo -e "192.168.20.144 ceph-a" >> /etc/hosts
    [root@ceph-a ~]# echo -e "192.168.20.145 ceph-b" >> /etc/hosts
    [root@ceph-a ~]# echo -e "192.168.20.146 ceph-c" >> /etc/hosts
    [root@ceph-a ~]# echo -e "192.168.20.147 ceph-d" >> /etc/hosts
    [root@ceph-a ~]# echo -e "192.168.20.148 ceph-e" >> /etc/hosts
    [root@ceph-a ~]# echo -e "192.168.20.149 ceph-f" >> /etc/hosts

            b、配置免密登陸


              掃描服務(wù)器 A 到 F的密鑰,其目的主要是避免在進(jìn)行 ssh 連接或者在后面執(zhí)行 ceph 類命令出現(xiàn) yes/no 的交互,在 Ceph-A 中執(zhí)行以下命令:

    [root@ceph-a ~]# for i in {a..f}; do ssh-keyscan ceph-$i >/root/.ssh/known_hosts; done

              如下圖:

              深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

              在 Ceph-A 生成私鑰,在 Ceph-A 中執(zhí)行以下命令:

    [root@ceph-a ~]# ssh-keygen -f /root/.ssh/id_rsa -N ''

              如圖:

              深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

              說明:-f 參數(shù)指定私鑰文件路徑, -N 參數(shù)聲明該過程為非交互式,也就是不用我們手動按回車鍵等

              將私鑰文件拷貝到 Ceph-B 到 Ceph-F 服務(wù)器中,執(zhí)行以下命令:

    [root@ceph-a ~]# for i in {b..f}; do ssh-copy-id ceph-$i; done

            c、配置 NTP 網(wǎng)絡(luò)時(shí)間同步服務(wù)

              在 6 臺服務(wù)器中安裝 chrony 軟件包,在服務(wù)器 A 執(zhí)行以下命令即可:

    [root@ceph-a ~]# for i in {a..f}; do ssh ceph-$i yum -y install chrony ; done

              配置 Ceph-A 為 NTP 服務(wù)器:

    [root@ceph-a ~]# vim /etc/chrony.conf

             深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

            如圖,修改圖中的三個(gè)部分

            ①、注釋掉默認(rèn)的 NTP 服務(wù)器,添加國內(nèi)的 NTP 服務(wù)器,這里添加的是北京郵電大學(xué)的 NTP 服務(wù)器。

            ②、允許 192.168.20.0/24 網(wǎng)段進(jìn)行時(shí)間同步。

            ③、本地時(shí)間服務(wù)器層級,取消注釋即可。

            配置 Ceph-B 到 Ceph-F 服務(wù)器通過 Ceph-A 進(jìn)行時(shí)間同步

    [root@ceph-b ~]# vim /etc/chrony.conf

            深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

            如圖,將圖中紅框內(nèi)(也就是剛才配置的 Ceph-A)的 NTP 服務(wù)器添加進(jìn)去即可,其他沒用的注釋。

            保存并退出,并將改配置文件復(fù)制到 Ceph-C 到 Ceph-F 中:

     [root@ceph-b ~]# for i in {c..f}; do scp /etc/chrony.conf ceph-$i:/etc/; done

            重啟 Ceph-A 到 Ceph-F 的 chrony 服務(wù),在 Ceph-A 中執(zhí)行以下命令:

    [root@ceph-a ~]# for i in {a..f}; do ssh ceph-$i systemctl restart chronyd; done

            同步 Ceph-A 的時(shí)間

    [root@ceph-a ~]# ntpdate ntp.sjtu.edu.cn

            深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

            同步 Ceph-B 到 Ceph-F 的時(shí)間,在 Ceph-A 中執(zhí)行即可:

    [root@ceph-a ~]# for i in {b..f}; do ssh ceph-$i ntpdate 192.168.20.144; done

            深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)


       4、配置 yum 源

         之前我們有部署本地 yum 倉庫,這里,我們使用之前配置的 yum 倉庫。

         移除系統(tǒng)自帶的 repo 文件,編輯 /etc/yum.repos.d/localhost.repo 文件,將下面內(nèi)容添加到該文件中:

    [Centos-Base]
   name=Centos-Base-Ceph
   baseurl=http://192.168.20.138
   enable=1
   gpgcheck=1
   priority=2
   type=rpm-md
   gpgkey=http://192.168.20.138/ceph-key/release.asc

        清空元數(shù)據(jù)緩存并重建

     [root@ceph-a ~]# yum clean all
     [root@ceph-a ~]# yum makecache

       5、安裝 Ceph 服務(wù),這里將 Ceph-A 做為 admin 管理端

      a、在 Ceph-A 中安裝 ceph-deploy

     [root@ceph-a ~]# yum -y install ceph-deploy

          b、在 Ceph-A 中創(chuàng)建 ceph 的工作目錄并進(jìn)入

     [root@ceph-a ~]# mkdir /etc/ceph && cd /etc/ceph

          c、Ceph-A 到 Ceph-C 中創(chuàng)建集群節(jié)點(diǎn)配置文件,Ceph-D 到 Ceph-F 服務(wù)器暫有他用,以下操作,均不涉及在內(nèi)。

     [root@ceph-a ~]# ceph-deploy new ceph-{a..c}

          如圖:

          深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

          d、在 Ceph-A 到 Ceph-C 三個(gè)節(jié)點(diǎn)中安裝 ceph 軟件包

     [root@ceph-a ceph]# ceph-deploy install ceph-{a..c}

          如圖:

          深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

          e、初始化 mon 服務(wù)

     [root@ceph-a ceph]# ceph-deploy mon create-initial

          如圖:

          深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

          f、創(chuàng)建 OSD 設(shè)備

             在服務(wù)器規(guī)劃中,我們一共規(guī)劃了 4 塊硬盤,其中 sda 用作系統(tǒng)盤,那么還剩下 sdb、sdc、sdd 三塊硬盤,這里,我們將 sdb 硬盤做為日志盤,而 sdc 和 sdd 做為數(shù)據(jù)盤。

             ①、將 Ceph-A 到 Ceph-C 的 sdb 硬盤格式化為gpt格式

     [root@ceph-a ~]# for i in {a..c}; do ssh ceph-$i parted /dev/sdb mklabel gpt; done

                 說明:如果這里這條命令有報(bào)錯(cuò),則需要把此命令拆分成下面兩條命令,然后分別到 Ceph-A、Ceph-B、Ceph-C中單獨(dú)執(zhí)行。

     parted /dev/sdb 
     mklabel gpt

             ②、給硬盤 sdb 創(chuàng)建分區(qū)

     [root@ceph-a ~]# for i in {a..c}; do ssh ceph-$i parted /dev/sdb mkpart primary 1M 50%; done
     [root@ceph-a ~]# for i in {a..c}; do ssh ceph-$i parted /dev/sdb mkpart primary 50% 100%; done

                 分區(qū)成功與否,可以使用 lsblk 命令進(jìn)行查看:

         [root@ceph-a ~]# lsblk

                如圖:

                深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

             ③、為分區(qū) sdb1 和 sdb2 分配屬主屬組為 ceph

        [root@ceph-a ~]# for i in {a..c}; do ssh ceph-$i chown ceph.ceph /dev/sdb?; done

               注意:此處有可能會出現(xiàn)下面的錯(cuò)誤

        [ceph-a][ERROR  ]admin_socket:exception getting command descriptions:[Errno 2]No such file or directory

               解決方案如下:

        編輯 ceph.conf ,在最下面加入如下行:
        public_network = 192.168.20.0/24
        保存并退出,再執(zhí)行以下命令,將配置文件覆蓋推送到三臺服務(wù)器節(jié)點(diǎn):
        [root@ceph-a ceph]# ceph-deploy --overwrite-conf config push ceph-a ceph-b ceph-c

             ④、此時(shí),我們可以查看一下 ceph 狀態(tài),使用命令 ceph health 或者 ceph -s


        [root@ceph-a ceph]# ceph health

               正常情況下會輸出 HEALTH_OK ,如果不是,有可能會有以下情況

        ceph:health_warn clock skew detected on mon

               出現(xiàn)此錯(cuò)誤,說明我們的服務(wù)器時(shí)間同步有問題,我們可以先進(jìn)行時(shí)間同步

        [root@ceph-a ~]# for i in {b..f}; do ssh ceph-$i ntpdate 192.168.20.144; done

               如果時(shí)間同步后,還是沒有解決,則使用以下解決辦法:

        [root@ceph-a ceph]# vim ceph.conf
        在global字段下添加:
        mon clock drift allowed = 2
        mon clock drift warn backoff = 30    
        2、向需要同步的 mon 節(jié)點(diǎn)推送配置文件:
        [root@ceph-a ceph]# ceph-deploy --overwrite-conf config push ceph-a ceph-b ceph-c
        這里是向Ceph-A、Ceph-B、Ceph-C推送,也可以后跟其它不連續(xù)節(jié)點(diǎn)
        3. 重啟 mon 服務(wù)(centos7環(huán)境下)
        [root@ceph-a ceph]# for i in {a..c}; do ssh ceph-$i systemctl restart ceph-mon.target; done
        4.驗(yàn)證:
        [root@ceph-a ceph]# ceph health
        顯示 OK ,就說明正常了

                使用 ceph -s 查看狀態(tài)時(shí),也有可能會出現(xiàn)下面情況:

                如圖:

                深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

                如圖紅框中所示,no active mgr,這種情況,需要我們手動創(chuàng)建管理進(jìn)程,解決方案如下

     [root@ceph-a ceph]# ceph-deploy mgr create ceph-{a..c}

                再次查看狀態(tài),如下圖

                深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

                發(fā)現(xiàn)變成了application not enabled on 1 pool(s),這種情況,我們要執(zhí)行

     [root@ceph-a ceph]# ceph osd pool application enable cephrbd image

               cephrbd:為我們手動創(chuàng)建的 pool

               image:為我們手動創(chuàng)建的鏡像


               再次查看狀態(tài)

               深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

               發(fā)現(xiàn)已經(jīng)變成 OK ,表示正常


             ⑤、初始化 sdc、sdd 硬盤,清空硬盤數(shù)據(jù)

        [root@ceph-a ceph]# for i in {a..c}; do ceph-deploy disk zap ceph-$i /dev/sdc; done
        [root@ceph-a ceph]# for i in {a..c}; do ceph-deploy disk zap ceph-$i /dev/sdd; done

               如圖:

               深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

               注意:在 13.2.0 之前的版本中,應(yīng)使用以下命令:

        [root@ceph-a ceph]# for i in {a..c}; do ceph-deploy disk zap ceph-$i:/dev/sdc ceph-$i:/dev/sdd; done

               但是上面的命令在本例 13.2.2 版本不適合,否則,會有下面的報(bào)錯(cuò),這個(gè)坑,花了好長時(shí)間,才發(fā)現(xiàn)是命令格式錯(cuò)誤(官方文檔也一樣,不是最新版的,很多地方并不適用于最新版)


               深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

             ⑥、創(chuàng)建 OSD 存儲空間,這里把 sdb1 做為 sdc 的日志盤,把 sdb2 做為 sdd 的日志盤


         [root@ceph-a ceph]# for i in {a..c}; do ceph-deploy osd create --data /dev/sdc --journal /dev/sdb1 ceph-$i; done
         [root@ceph-a ceph]# for i in {a..c}; do ceph-deploy osd create --data /dev/sdd --journal /dev/sdb2 ceph-$i; done

                 如圖:

                 深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

                 --data:指定數(shù)據(jù)盤

                 --journal:指定日志盤

                 此處也存在命令格式問題,如果是 13.2.0 之前的版本,則使用下面命令:

         [root@ceph-a ceph]# for i in {a..c}; do ceph-deploy osd create ceph-$i:sdc:/dev/sdb1; done
         [root@ceph-a ceph]# for i in {a..c}; do ceph-deploy osd create ceph-$i:sdc:/dev/sdb1; done

                如果在本例中使用上面命令,則會報(bào)以下錯(cuò)誤,如圖

                深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

       經(jīng)過上述步驟,我們的 Ceph 算是安裝完成,下面,我們簡單的說下 Ceph 應(yīng)用,更詳細(xì)的應(yīng)用后期章節(jié)再進(jìn)行解析。


六、使用 RBD(RADOS 塊設(shè)備)

       1、首先,我們了解一下 Ceph 的存儲方式,Ceph 共支持三種存儲方式:

          a、塊存儲,這也是使用最多的存儲方式。

          b、CephFS:這種存儲方式了解就行,不建議在生產(chǎn)環(huán)境中使用,因?yàn)檫€不夠成熟。

          c、對象存儲:該存儲方式也是了解就行,現(xiàn)階段還不夠成熟穩(wěn)定。僅支持 OpenStack Swift 和 Amazon S3 兩種接口,后期有需要,我們再講解。

       2、其次,我們了解一下什么是 ceph 塊存儲:

          a、Ceph 塊設(shè)備也叫做 RADOS 設(shè)備,即:RADOS block device(RBD)。

          b、RBD 驅(qū)動已經(jīng)很好的集成在 Linux 內(nèi)核中。

          c、RBD 提供了企業(yè)功能,如快照、COW克隆等等。

          d、RBD 還支持內(nèi)存緩存,從而能夠大大提高性能。

          e、Linux 內(nèi)核可以直接房訪問 Ceph 塊存儲。

          f、KVM 可用借助于 librdb 訪問。

       3、使用 RBD

          ①、查看存儲池

    [root@ceph-a ceph]# ceph osd lspools

            一般來說,都會有一個(gè)默認(rèn)的 0 號存儲池,但是呢,在小弟在這里查看的時(shí)候,卻沒有默認(rèn)的 0 號存儲池,不知道是不是官方已將其移除,還需后續(xù)繼續(xù)觀察。


          ②、創(chuàng)建 ceph OSD 存儲池

    [root@ceph-a ~]# ceph osd pool create cephrbd 512

             如圖:

             深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

             這里,cephrbd 是存儲池的名稱。

                  ● 通常在創(chuàng)建pool之前,需要覆蓋默認(rèn)的 pg_num,官方推薦:

                  ● 若少于5個(gè)OSD, 設(shè)置 pg_num 為128。

                  ● 5~10個(gè)OSD,設(shè)置 pg_num 為512。

                  ● 10~50個(gè)OSD,設(shè)置 pg_num 為4096。

                  ● 超過50個(gè)OSD,可以參考 pgcalc 計(jì)算。

          ③、創(chuàng)建名為 image 的鏡像,大小為10G

    [root@ceph-a ~]# rbd create cephrbd/image --image-feature layering --size 10G

             cephrbd/image:表示在存儲池 cephrbd 中創(chuàng)建 image 的鏡像

             --image-feature:該選項(xiàng)指定使用特性,不用全部開啟。我們的需求僅需要使用快照、分層存儲等特性,開啟layering即可


          ④、查看 cephrbd 存儲池中是否有鏡像存在

    [root@ceph-a ~]# rbd ls cephrbd

             如圖:

               深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)


          ⑤、查看鏡像信息

    [root@ceph-a ~]# rbd info cephrbd/image

             如圖:

             深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

          ⑥、編寫 UDEV 規(guī)則,使得 sdb1和 sdb2 重啟后,屬組屬主任然是 ceph

       [root@ceph-a ~]# vim /etc/udev/rules.d/87-cephdisk.rules
       ACTION=="add",KERNEL=="sdb?",OWNER="ceph",GROUP="ceph"

             將規(guī)則拷貝到 Ceph-B 和 Ceph-C

       [root@ceph-a ~]# for i in {b..c}; do scp /etc/udev/rules.d/87-cephdisk.rules ceph-$i:/etc/udev/rules.d/; done

        4、鏡像操作

   ①、擴(kuò)容容量

       [root@ceph-a ~]# rbd resize --size 15G cephrbd/image

             將 image 鏡像擴(kuò)容到15G

             深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

   ②、縮小容量

       [root@ceph-a ~]# rbd resize --size 11G cephrbd/image --allow-shrink

              將image 鏡像容量縮小至11G


          深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)


        ③、刪除鏡像


    [root@ceph-f ceph]# rbd rm cephrbd/demo-img

        5、使用 Ceph 客戶端

          在這里,我們將 Ceph-F 服務(wù)器做為 Ceph 客戶端,并將之前創(chuàng)建的鏡像 image 映射到 Ceph-F 做為磁盤使用。


          a、在 Ceph-F 安裝 Ceph 客戶端軟件

    [root@ceph-f ~]# yum -y install ceph-common

          b、將 Ceph-A 的 ceph.conf 和 ceph.client.admin.keyring 拷貝到 Ceph-F

    [root@ceph-a ceph]# scp ceph.c* ceph-f:/etc/ceph

             深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

             ceph.client.admin.keyring  是 client.admin 用戶的密鑰文件

          c、查看狀態(tài)

    [root@ceph-f ~]# ceph -s

深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

             深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

          d、映射鏡像到本地

    [root@ceph-f ceph]# rbd map cephrbd/image

           深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

         e、查看映射磁盤的信息

    [root@ceph-f ceph]# rbd showmapped

           深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

         f、格式化、掛載 /dev/rbd0

           ①、格式化 /dev/rbd0

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

             深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

           ②、將 /dev/rbd0 掛載到 /image,并添加開機(jī)自動掛載

    [root@ceph-f ceph]# mkdir /image
    [root@ceph-f ceph]# mount /dev/rbd0 /image
    [root@ceph-f ceph]# echo -e "/dev/rbd0 /image ext4 defaults 0 0" >> /etc/fstab

         g、往 /image 中寫入數(shù)據(jù),并查看數(shù)據(jù)是否寫入成功

    [root@ceph-f ceph]# echo "hello world" >/image/log.txt
    [root@ceph-f ceph]# cat /image/log.txt

         h、創(chuàng)建鏡像快照,為 image 鏡像創(chuàng)建 image-sn1 的快照

    [root@ceph-f ceph]# rbd snap create cephrbd/image --snap image-sn1

         i、查看 image 快照

    [root@ceph-f ceph]# rbd snap ls cephrbd/image

深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)           深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

         j、刪除鏡像快照

    [root@ceph-f ceph]# rbd snap remove cephrbd/image@image-sn1

         k、鏡像快照操作

           ①、通過快照進(jìn)行數(shù)據(jù)恢復(fù)

              刪除 /iamge/log.txt 文件

    [root@ceph-f ceph]# rm -rf /image/log.txt

              卸載掛載點(diǎn)

     [root@ceph-f ceph]# umount /dev/rbd0

             使用 image-sn1 還原快照

    [root@ceph-f ceph]# rbd snap rollback cephrbd/image --snap image-sn1

             再掛載 /dev/rbd0,查看文件是否存在

    [root@ceph-f ceph]# mount /dev/rbd0 /image
    [root@ceph-f ceph]# ll /image/

           ②、快照克隆

             如果你想從快照恢復(fù)出一個(gè)新的鏡像,則可以使用快照克隆

             注意:克隆前,需要對快照進(jìn)行<保護(hù)>(protect)操作,被保護(hù)的快照無法刪除,取消保護(hù)(unprotect)

    [root@ceph-f ceph]# rbd snap protect cephrbd/image --snap image-sn1

             嘗試刪除剛才保護(hù)的快照

    [root@ceph-f ceph]# rbd snap remove cephrbd/image@image-sn1

             深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)


深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)            如上圖,快照無法刪除

            克隆 image-sn1 快照,克隆的名稱為 image-clone

    [root@ceph-f ceph]# rbd clone cephrbd/image --snap image-sn1 cephrbd/image-clone --image-feature layering

           查看克隆快照的狀態(tài)

    [root@ceph-f ceph]# rbd info cephrbd/image-clone

深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)           深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

           紅框中內(nèi)容說明是:池 cephrbd 的鏡像 image 的快照 image-sn1 的克隆

         ③、合并克隆文件

    [root@ceph-f ceph]# rbd flatten cephrbd/image-clone

            深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

           查看合并后的信息

    [root@ceph-f ceph]# rbd info cephrbd/image-clone

深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)           深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

           由上圖,我們發(fā)現(xiàn)它已經(jīng)變?yōu)橐粋€(gè)獨(dú)立的鏡像了

           查看 cephrbd 池中的鏡像

    [root@ceph-f ceph]# rbd ls cephrbd

深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)           深入淺出分布式文件存儲系統(tǒng)之 Ceph 的實(shí)現(xiàn)

         ④、取消映射

      [root@ceph-f ceph]# rbd unmap /dev/rbd/cephrbd/image

        關(guān)于 Ceph 更多的應(yīng)用,小弟會在后期文章中進(jìn)行細(xì)述,今天,我們就到此結(jié)束。

         關(guān)于 Ceph 塊設(shè)備的應(yīng)用,請參閱小弟的另外一篇博文:https://blog.51cto.com/4746316/2330070

      關(guān)于 CephFS 文件系統(tǒng)的應(yīng)用,請參閱小弟的另外一篇博文:https://blog.51cto.com/4746316/2330186

         關(guān)于 Ceph 對象存儲,請參閱小弟的另外一篇博文:https://blog.51cto.com/4746316/2330455

七、Ceph 部署總結(jié)

      Ceph 的部署,總體來說還是比較簡單,雖然說,看似簡單,但是越簡單的東西,我們更加需要重視,因?yàn)槲覀冋J(rèn)為越簡單的地方,才是我們在日常運(yùn)維中越容易踩坑的地方。就比如,上面部署過程中,遇到的幾個(gè)問題,就連官方文檔中都沒有體現(xiàn)出來,導(dǎo)致小弟在填坑時(shí)花了不少心思,但好歹還是找出問題所在了。


另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

標(biāo)題名稱:深入淺出分布式文件存儲系統(tǒng)之Ceph的實(shí)現(xiàn)-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://m.rwnh.cn/article2/ehdoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站收錄、品牌網(wǎng)站設(shè)計(jì)網(wǎng)站維護(hù)電子商務(wù)、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
晴隆县| 潞西市| 大方县| 武定县| 黄浦区| 射洪县| 南开区| 莆田市| 平湖市| 南陵县| 湖北省| 肥乡县| 宁河县| 汝城县| 成安县| 栖霞市| 肥东县| 柞水县| 雷州市| 大安市| 静海县| 合山市| 泰兴市| 泗阳县| 台南县| 乌拉特前旗| 阿坝| 安达市| 齐齐哈尔市| 龙江县| 武安市| 定西市| 济源市| 都昌县| 罗山县| 桑植县| 麟游县| 邢台县| 唐山市| 都江堰市| 罗田县|