Ceph 塊設備實戰

          在上一期博文中,咱們已經成功部署了 Ceph 集羣,而且咱們也掌握了相關 Ceph 的應用。今天,咱們就來重點講下 Ceph 塊設備在實際環境中的應用-------將 Ceph 存儲系統提供的鏡像作爲虛擬機的硬盤來安裝虛擬機系統。vim


1、前提centos

          在今天這個大數據時代,咱們大部分企業中,天天產生的數據大小,均可能會是一個天文數字。顯然,隨着數據量的激增,咱們現有的服務器將沒法知足實際的需求,咱們不可能爲了增長一塊硬盤而重裝 RAID ,也不可能無限制的購買服務器,每一個服務器作成單獨的 RAID ,再從新開始寫數據,那怎麼辦呢?固然,有需求,咱們就有方案,咱們選擇分佈式存儲。將全部數據所有寫到分佈式存儲系統中,就能夠完美解決咱們目前所遇到尷尬。bash

2、使用 Ceph 塊設備服務器

          以前,咱們已經有了 Ceph 集羣,如今,咱們直接使用現有的集羣環境便可,關於集羣的部署,可參考小弟的另一篇博文 :http://www.javashuo.com/article/p-ghmqdwwp-cq.htmldom

一、拓撲分佈式

image.png

二、建立名爲 vm-image 的鏡像,大小爲50Gide

①、建立鏡像大數據

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

②、查看鏡像ui

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

clipboard

或者centos7

[root@ceph-a ceph]# qemu-img info rbd:cephrbd/vm-image

clipboard[6]

此命令格式爲:qemu info 協議:池/鏡像

三、將物理主機作爲 Ceph 集羣的客戶端,安裝客戶端軟件包,並將 Ceph 的配置文件拷貝到物理主機中。


[root@localhost ~]# yum -y install ceph-common
[root@ceph-a ceph]# scp /etc/ceph/ceph.c* root@192.168.20.151:/etc/ceph/

四、建立一臺 kvm  虛擬機,取名爲 mycentos7 ,等嚮導結束後,強制關機。

五、導出咱們剛纔建立的 mycentos7 虛擬機的聲明文件,再將此虛擬機刪除。

[root@localhost opt]# virsh dumpxml mycentos7 >/opt/centos.xml
[root@localhost opt]# virsh undefine mycentos7

六、關於虛擬機使用 Ceph 的鏡像,首先須要 Ceph 的認證,而認證方式就是先生成虛擬機的 secret ,再將 secret 與 Ceph 帳戶進行映射。

①、編寫 Ceph 帳戶信息文件,建立臨時 secret.xml 文件,帳戶信息文件的模板可在官方文檔中找到。

[root@localhost opt]# vim secret.xml

內容以下:

<secret ephemeral='no' private='no'>
    <usage type='ceph'>
        <name>client.admin secret</name>
    </usage>
</secret>

②、生成 secret.xml 文件

[root@localhost opt]# virsh secret-define --file secret.xml

image

secret 爲:93eb11ed-2367-44cd-85ef-56810d4186e6

③、查看 secret

[root@localhost opt]# virsh secret-list

image

七、將虛擬機的 secret 與 Ceph 管理員用戶進行關聯

①、查看 Ceph 管理員密鑰

[root@localhost opt]# cat /etc/ceph/ceph.client.admin.keyring

clipboard[8]

管理員密鑰爲:AQBBhQ9cJh/tDxAAzdcwBz3QZzPsCfWbQE0qjg==

②、關聯 secret 和 Ceph 管理員

[root@localhost opt]# virsh secret-set-value --secret 93eb11ed-2367-44cd-85ef-56810d4186e6 --base64 AQBBhQ9cJh/tDxAAzdcwBz3QZzPsCfWbQE0qjg==

image

八、修改虛擬機的配置文件 centos.xml,將 Ceph 管理員信息寫入到該文件中,並指定虛擬機磁盤使用 Ceph 鏡像。

[root@localhost opt]# vim centos.xml

clipboard[10]

如上圖,找到紅框區域,編輯黃顏色框區域的內容爲途中樣式。或者修改問如下內容,

<disk type='network' device='disk'>
    <driver name='qemu' type='raw'/>
    <auth username='admin'>
        <secret type='ceph' uuid='93eb11ed-2367-44cd-85ef-56810d4186e6'/>
    </auth>
    <source protocol='rbd' name='cephrbd/vm-image'>
        <host name='192.168.20.144' port='6789'/>
    </source>
    <target dev='vda' bus='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>

注意:device='disk',是使用磁盤,device='cdrom',是使用光盤,別搞錯。disk type 字段修改成 network,driver type 字段修改成 raw,添加 auth 部分,uuid 須要根據本身的實際狀況來填寫,添加 source 部分,name 字段須要根據本身建立的池和鏡像來填寫,host name 和 port 字段須要寫本身 Ceph 集羣的 ceph-mon 的地址和端口。可使用 netstat –tpnl 來查看

九、利用 xml 文件來生成虛擬機

[root@localhost opt]# virsh define centos.xml

clipboard[12]

十、打開虛擬機管理器,操做虛擬機

[root@localhost opt]# virt-manager

①、打開並運行虛擬機,以下圖:

29

②、當咱們運行虛擬機後,發現虛擬機界面提示:no bootable device,這時候,咱們單擊虛擬機界面左上角的燈泡狀的圖標。以下圖:

clipboard[14]

③、選擇引導選項,在右邊引導設備順序中,選擇 IDE CDROM1 並勾選, 再單擊向上的箭頭⇧,以下圖:

clipboard[16]

④、確認 IDE CDROM1 已經上移至第一位時,單擊 應用 ,以下圖:

clipboard[18]

⑤、再左邊選擇 IDE CDROM1 ,單擊右邊的 鏈接 ,以下圖:

clipboard[20]

⑥、彈出選擇介質對話框後,咱們單擊 瀏覽 ,以下圖:

clipboard[22]

⑦、彈出選擇存儲卷後,咱們找到本身上的光盤鏡像(這裏爲:CentOS-7-x86_64-Everything-1804.iso),並單擊 選擇卷 ,以下圖:

clipboard[24]

⑧、回到選擇介質對話框,單擊 肯定 ,以下圖:

clipboard[26]

⑨、最後,咱們將虛擬機強制關機後在開機,就會進入系統安裝界面(對於系統的安裝過程,咱們就再也不進行說明了),以下圖:

clipboard[28]

到此爲止,咱們的 Ceph 塊設備的實戰算是優勢眉目,後續深層次的發揮還得咱們繼續努力。


關於 Ceph 集羣的實現,請參閱小弟的另一篇博文:http://www.javashuo.com/article/p-ghmqdwwp-cq.html
關於 CephFS 文件系統的應用,請參閱小弟的另一篇博文:http://www.javashuo.com/article/p-clfsvaka-x.html
關於 Ceph 對象存儲,請參閱小弟的另一篇博文:http://www.javashuo.com/article/p-kxntrolu-gc.html

3、總結

開始,咱們在部署 Ceph 集羣的時候,感受時很麻煩,有時候甚至會很頭疼,尤爲是遇到錯的時候,可是,當咱們開始應用時,是否是感受很簡單,頗有樂趣?就是這樣,知識就是這麼有趣,當咱們經歷完苦澀後就會嚐到甜頭。

相關文章
相關標籤/搜索