1. 程式人生 > >Openstack儲存總結之:使用Ceph叢集作為後端統一儲存

Openstack儲存總結之:使用Ceph叢集作為後端統一儲存



前提條件

一個可以正常執行的Ceph叢集,該叢集採用ceph-deploy建立,dataprovider為管理節點,包括三個MON,四個MON 以及Openstack叢集,其中Openstack叢集假設Cinder,Glance都是安裝在叫做controllernode的節點上,computernode,networknode分別為計算以及網路節點

建立Pool

在dataprovider上建立幾個Pool

ceph osd pool create volumes 32
ceph osd pool create images 32
ceph osd pool create backups 32
ceph osd pool create vms 32

配置Ceph Client

在glance節點執行下面的命令

sudo yum install python-ceph

nova-compute,cinder-backup,cinder-volume節點,執行下面的命令:

sudo yum install ceph

在controller,computenode上建立leadorceph使用者
sudo useradd -d /home/leadorceph -m leadorceph
sudo passwd leadorceph
echo "leadorceph  ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/leadorceph
sudo chmod 0440 /etc/sudoers.d/leadorceph

使用leadorceph使用者的身份執行sudo visudo命令,然後修改Defaults requiretty 為Defaults:ceph !requiretty
在dataprovider 上設定無密碼登陸
ssh-copy-id [email protected]
ssh-copy-id [email protected]


配置授權

在dataprovider節點上執行下面的命令
ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images'
ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'
ceph auth get-or-create client.cinder-backup mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=backups'

ceph auth get-or-create client.glance | ssh controllernode sudo tee /etc/ceph/ceph.client.glance.keyring
ssh controllernode sudo chown glance:glance /etc/ceph/ceph.client.glance.keyring
ceph auth get-or-create client.cinder | ssh controllernode  sudo tee /etc/ceph/ceph.client.cinder.keyring
ssh controllernode  sudo chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring
ceph auth get-or-create client.cinder-backup | ssh controllernode  sudo tee /etc/ceph/ceph.client.cinder-backup.keyring
ssh controllernode  sudo chown cinder:cinder /etc/ceph/ceph.client.cinder-backup.keyring

ceph auth get-key client.cinder | ssh computenode tee client.cinder.key


在computenode上執行下面的操作

切換使用者su leadorceph
uuidgen
上面命令的輸出為78f475b1-846f-47ba-8145-9f305de5c516
cat > secret.xml <<EOF
<secret ephemeral='no' private='no'>
  <uuid>78f475b1-846f-47ba-8145-9f305de5c516</uuid>
  <usage type='ceph'>
    <name>client.cinder secret</name>
  </usage>
</secret>
EOF
sudo virsh secret-define --file secret.xml
sudo virsh secret-set-value --secret 78f475b1-846f-47ba-8145-9f305de5c516 --base64 $(cat client.cinder.key) && rm client.cinder.key secret.xml

配置glance

在controller節點,切換到root使用者
編輯 /etc/glance/glance-api.conf 檔案中的 [DEFAULT]:
default_store = rbd
rbd_store_user = glance
rbd_store_pool = images
rbd_store_chunk_size = 8

配置cinder


在/etc/cinder/cinder.conf中新增下面的內容:
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_pool = volumes
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_flatten_volume_from_snapshot = false
rbd_max_clone_depth = 5
rbd_store_chunk_size = 4
rados_connect_timeout = -1
glance_api_version = 2

rbd_user = cinder


rbd_secret_uuid = 78f475b1-846f-47ba-8145-9f305de5c516

配置cinder backup

backup_driver = cinder.backup.drivers.ceph
backup_ceph_conf = /etc/ceph/ceph.conf
backup_ceph_user = cinder-backup
backup_ceph_chunk_size = 134217728
backup_ceph_pool = backups
backup_ceph_stripe_unit = 0
backup_ceph_stripe_count = 0
restore_discard_excess_bytes = true


配置VM掛載的許可權

在 /etc/nova/nova.conf中新增以下內容
rbd_user = cinder

rbd_secret_uuid = 78f475b1-846f-47ba-8145-9f305de5c516

編輯computenode 上的ceph配置
[client]
    rbd cache = true
    rbd cache writethrough until flush = true
    admin socket = /var/run/ceph/$cluster-$type.$id.$pid.$cctid.asok

H以及I版本的改動
computernode 的/etc/nova/nova.conf 檔案新增下面的內容:
libvirt_images_type = rbd
libvirt_images_rbd_pool = vms
libvirt_images_rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_user = cinder
rbd_secret_uuid = 78f475b1-846f-47ba-8145-9f305de5c516
libvirt_inject_password = false
libvirt_inject_key = false
libvirt_inject_partition = -2
libvirt_live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST"

重啟服務

sudo service openstack-glance-api restart
sudo service openstack-nova-compute restart
sudo service openstack-cinder-volume restart
sudo service openstack-cinder-backup restart

驗證

建立硬碟,映象後,在dadaprovider節點檢視rados pool的狀況
rados -p images ls
rados -p volumes ls


相關推薦

Openstack儲存總結使用Ceph叢集作為統一儲存

 前提條件 一個可以正常執行的Ceph叢集,該叢集採用ceph-deploy建立,dataprovider為管理節點,包括三個MON,四個MON 以及Openstack叢集,其中Openstack叢集假設Cinder,Glance都是安裝在叫做controllernod

OpenStack 網路總結理解GRE隧道的工作流程

文章背景 Openstack的網路配置複雜多樣,本文講述的流程只符合以下場景: 網路型別為GRE隧道 單獨的網路控制節點; 流程介紹 下面是簡單的流程圖 下面是各個部分包含的PORT   下面章節的名稱中會包含圖中關鍵點的編號 計算節點:例項網路 (A,B,C)  所有發出的資料包都是從例

Ceph實踐總結Centos 下RBD塊裝置客戶的配置

    如果客戶端需要重啟,需要將掛載目錄先解除安裝,重啟之後再重新執行rbd map,以及mount 的操作,否則系統在重啟的過程中會被卡在"Umounting file system"這個操作上。解除安裝命令如下:

叢集基礎04(部署ceph實驗環境、部署ceph叢集、建立Ceph儲存、塊儲存應用、掛載Ceph檔案系統、建立物件儲存伺服器)

目錄 前言: 前言: Ceph簡介 Ceph是一個統一的分散式儲存系統,設計初衷是提供較好的效能、可靠性和可擴充套件性。 Ceph專案最早起源於Sage就讀博士期間的工作(最早的成果於2004年

Mysql的儲存引擎MERGE儲存引擎

Merge是基於MyISAM儲存引擎的表,所以Merge儲存引擎也叫做MGR_MyISAM儲存引擎,作用是將一組MyISAM儲存引擎的表聚合成一張表。 Merge中要聚合的MyISAM表的列和索引必須有相同的定義及順序。 建立MERGE儲存引擎的表 建立兩個基於MyIS

Mysql的儲存引擎MEMORY儲存引擎

MEMORY儲存引擎 Memory儲存的表就是記憶體表。實際的資料儲存在記憶體中,磁碟中只有表結構定義檔案。 Mysql服務單獨給memory儲存引擎的表分配記憶體空間,而且表一直持有這些記憶體空間(即使刪除資料也不釋放記憶體),直到有drop、alter、create

Memcached使用總結Memcache知識點梳理

操作流程:1、檢查客戶端的請求資料是否在memcached中,如有,直接把請求資料返回,不再對資料庫進行任何操作,路徑操作為①②③⑦。2、如果請求的資料不在memcached中,就去查資料庫,把從資料庫中獲取的資料返回給客戶端,同時把資料快取一份到memcached中(memcached客戶端不負責,需要程式

Openstack Cinder使用NetApp NFS作為存儲

backward for except parse ont secure snapshot 管理員 類型 公司使用NetApp FS8020 R6作為測試環境NFS存儲使用。正好有機會測一下OpenStack的Cinder跟NetApp存儲集成。 說明: 1.OpenSta

Openstack使用NFS作為存儲

修改配置 數據庫 消息隊列 enable vim pat 消息 ash poi 續:Openstack塊存儲cinder安裝配置 接上使用ISCSI作為後端存儲,使用NFS作為後端存儲配置 參考官方文檔:https://wiki.openstack.org/wiki/How

Openstack cinder 使用nfs 作為存儲

ssh 添加 sync mkf SDR exp show 類型 yum 實驗環境 network 存儲節點controller nfs 客戶端 1、在network節點上添加一個新的硬盤例如/dev/sdbmkfs.xfs /dev/sdbyum -y instal

java作為vue結合datatables分頁

官網:  英文:https://datatables.net/  中文:http://www.datatables.club/ 引入datatables的CSS和JS檔案 css: <link href="statics/css/dat

作業系統儲存管理分段式與段頁式虛擬儲存系統

分段式虛擬儲存系統 分段式虛擬儲存系統把作業的所有分段的副本都存放在輔助儲存器中,當作業被排程投入執行時,首先把當前需要的一段或幾段裝入主存,在執行過程中訪問到不在主存的段時再把它們裝入。因此,在段表中必須說明哪些段已在主存,存放在什麼位置,段長是多少。哪些段

18.glance服務介紹及配置swift作為儲存

映象中的幾種狀態: active 映象已經在正確的上傳並可以使用了 saving 映象正在被上傳 queued 這個映象的ID已經被記錄了,但是映象並沒有真的上傳 killed 上傳失敗,完全不可用 glance主要的兩個服務: glance-api    

DPDK系列qemu-kvm網路的加速技術

一、前言在文章《DPDK系列之五:qemu-kvm網路簡介》中可以看到qemu-kvm為不同需求的虛擬機器提供了不同的網路方案,這些網路方案的效能最終都取決於位於宿主機上的網路backend的實現方式。本文對於不同的backend技術進行分析。轉載自https://blog.

CoreDNS配置kubernetes作為

err through 打印 system 啟動 默認 優勢 目前 rom 概述 coredns之所以如此名聲大噪,就是因為從kubernetes1.9開始引入,作為kubernetes內部服務發現的默認dns。毫無疑問kubernetes是coredns的後端之一,所以我

Odoo作為時如何返回數據給webapp、移動app

sudo odoo 後綴 earch view 移動端 數組 hle 存儲 轉載請註明原文地址:https://www.cnblogs.com/cnodoo/p/9307315.html 使用jinja2渲染的頁面,可以直接在調用template.render()

Airflow 中文文件初始化資料庫

如果您想對Airflow進行真正的試駕,您應該考慮設定一個真正的資料庫後端並切換到LocalExecutor。 由於Airflow是使用優秀的SqlAlchemy庫與其元資料進行互動而構建的,因此您應該能夠使用任何支援作為SqlAlchemy後端的資料庫後端。 我們建議使用MySQL或P

win7+Keras使用Tensorflow作為的安裝教程gpu版小白推薦

win7+Keras使用Tensorflow作為後端的安裝教程gpu版小白推薦 首先附上成功截圖 一、系統情況 二、安裝工具準備 三、tensorflow-gpu安裝 首先附上成功截圖 歡迎大家評論,若碰到了問題,可以直接評論,看

ubuntu下配置ProFtpd服務使用sqlite3作為使用者認證

個人機器需要開個檔案共享,Linux機器懶得配置SMB,就直接安裝了ProFtpd,以做FTP伺服器 Ubuntu安裝挺簡單,可使用就不那麼友好了,配合GAdmin-Proftpd,一樣不好用。 首先就卡在使用者上,預設ftp使用者等等都登入不進,各種認證失敗,麻煩死了 搜尋一下資料,可以支援Sqlit

構建vue專案配置介面服務資訊

背景 vue專案如何請求後端api? vue-cli腳手架生成的webpack標準模板專案 HTTP庫使用axios 一、開發環境跨域與API介面服務通訊 整體思路: 開發環境API介面請求baseURL為本地http://localhost:8080 為本地請求配置代理,代理目標伺服器