OpenStack云計算平臺搭建與管理(openEuler)(微課版) 課件項目12 塊存儲服務(Cinder)安裝_第1頁
OpenStack云計算平臺搭建與管理(openEuler)(微課版) 課件項目12 塊存儲服務(Cinder)安裝_第2頁
OpenStack云計算平臺搭建與管理(openEuler)(微課版) 課件項目12 塊存儲服務(Cinder)安裝_第3頁
OpenStack云計算平臺搭建與管理(openEuler)(微課版) 課件項目12 塊存儲服務(Cinder)安裝_第4頁
OpenStack云計算平臺搭建與管理(openEuler)(微課版) 課件項目12 塊存儲服務(Cinder)安裝_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

課程OpenStack云計算平臺

搭建與管理項目12塊存儲服務(Cinder)安裝第21講安裝Cinder組件學習目標【知識目標】(1)了解Cinder的功能。(2)理解文件存儲、塊存儲與對象存儲。(3)了解Cinder的組件架構(gòu)。(4)了解Cinder的基本工作流程?!炯寄苣繕恕浚?)能夠安裝與配置Cinder組件。(2)能夠初始化Cinder服務。(3)能夠用命令檢驗Cinder服務。(4)能用命令和Dashboard兩種方式創(chuàng)建卷。引例描述

OpenStack云計算平臺現(xiàn)在已經(jīng)可以用來創(chuàng)建云主機并為云主機連上網(wǎng)絡了。小王高興地看著這段時間的成果,非常滿意,果然堅持才能出成績啊!此時,小王突然想到,如果用戶在使用OpenStack云計算平臺的過程中,由于產(chǎn)生的數(shù)據(jù)太多導致Glance創(chuàng)建系統(tǒng)盤的空間不夠了怎么辦?而且Glance創(chuàng)建的系統(tǒng)盤的數(shù)據(jù)在銷毀云主機的時候會同時被銷毀,能不能有一個額外的硬盤來專門存放數(shù)據(jù),即使云主機被銷毀了該磁盤也能保存呢?項目陳述

用戶的重要數(shù)據(jù)是存放在存儲設備中的,最常見的存儲設備就是硬盤。小王通過調(diào)研了解到,Cinder也是OpenStack云計算平臺的核心項目之一,負責為云計算平臺提供“塊存儲”服務,云主機中的硬盤就是一個“塊存儲”設備。因此,為了達到給云主機增加硬盤的目的,需要為OpenStack云計算平臺安裝Cinder組件。

本項目將在控制節(jié)點和計算節(jié)點為OpenStack云計算平臺安裝Cinder組件。

Cinder是OpenStack中提供塊存儲服務的組件,主要功能是為虛擬機實例提供虛擬磁盤管理服務。Cinder的前身是Nova中的“nova-volume”組件,OpenStackF版以后其從Nova中被剝離出來,成為一個獨立的OpenStack組件。Ciinder的基本概念

文件存儲依靠文件系統(tǒng)來存儲文件。文件直接存儲在文件系統(tǒng)中,通過FTP、網(wǎng)絡文件系統(tǒng)(NetworkFileSystem,NFS)等服務進行訪問。它的特點是使用簡單、兼容性好,但響應速度和存儲容量一般。Cinder的基本概念——文件存儲

塊存儲中的塊顧名思義就是存儲系統(tǒng)采用的一整塊存儲設備,如一塊硬盤。塊存儲技術(shù)通常是指是將裸磁盤空間整個映射給主機使用的技術(shù)。因此塊存儲可以虛擬出整塊硬盤給云主機使用,對云主機的操作系統(tǒng)來說這就是掛載的物理硬盤。它的特點是響應速度極快,同時具有高穩(wěn)定性和可靠性,但受硬件容量限制,導致其容量不大。Cinder的基本概念——塊存儲

對象存儲以對象(封裝)的形式管理數(shù)據(jù)。對象數(shù)據(jù)可以分為兩個部分,一部分是數(shù)據(jù),存儲于對象存儲服務器中;另一部分是對應的元數(shù)據(jù),存儲于元數(shù)據(jù)服務器中。數(shù)據(jù)通常是無結(jié)構(gòu)的數(shù)據(jù),例如,圖片、視頻或文檔等。而元數(shù)據(jù)則指的是對數(shù)據(jù)的相關描述,例如,圖片的大小、文檔的擁有者、數(shù)據(jù)存儲的位置信息等。當需要訪問某個對象時,先查詢元數(shù)據(jù)服務器獲得具體位置信息,然后從對象存儲服務器中獲得具體數(shù)據(jù)。對象存儲主要用于分布式存儲,其存儲容量巨大,但速度較慢。Cinder的基本概念——對象存儲Cinder的組件架構(gòu)在塊存儲中,裸硬盤通常被稱為卷(Volume),Cinder的任務就是管理卷,包括卷的創(chuàng)建、刪除等操作。Cinder的組件架構(gòu)模塊功能介紹cinder-api該模塊用于接收和響應外部請求,也是外部可用于管理Cinder的唯一入口cinder-volume該模塊是Cinder項目中對卷進行管理的模塊cinder-scheduler該模塊負責通過調(diào)度算法從多個存儲節(jié)點服務器中選擇最合適的節(jié)點來創(chuàng)建卷volume-provider該模塊負責通過驅(qū)動調(diào)用具體的卷管理系統(tǒng)實現(xiàn)對卷的具體操作。它支持多種卷管理系統(tǒng),包括LVM、NFS、Ceph等volume-backup該模塊為卷提供備份服務Cinder各個模塊分工合作的大致流程如下(注意模塊之間的通信都是通過消息隊列傳遞的)。第1步,“cinder-api”接收到用戶通過管理界面或命令行發(fā)起的卷創(chuàng)建請求后,完成必要處理后將其發(fā)送到消息隊列中。第2步,“cinder-scheduler”從消息隊列獲得請求和數(shù)據(jù)以后,從若干存儲節(jié)點中選出一個能存放該卷的節(jié)點。然后又將信息發(fā)送到消息隊列。第3步,“cinder-volume”從消息隊列獲取請求后,通過“volume-provider”調(diào)用具體的卷管理系統(tǒng)在存儲設備上創(chuàng)建卷。Cinder的基本工作流程項目實施在控制節(jié)點安裝與配置Cinder——安裝Cinder軟件包[root@controller~]#

yum-yinstallopenstack-cinder安裝的“openstack-cinder”軟件包里包括“cinder-api”和“cinder-scheduler”模塊。安裝“openstack-cinder”軟件包時,和安裝其他OpenStack核心組件時一樣,會自動創(chuàng)建名為“cinder”的Linux系統(tǒng)用戶和同名的用戶組。在控制節(jié)點安裝與配置Cinder——創(chuàng)建Cinder的數(shù)據(jù)庫并授權(quán)第1步,用下面的方法進入MariaDB數(shù)據(jù)庫服務器。[root@controller~]#mysql-uroot-p000000第2步,新建“cinder”數(shù)據(jù)庫。MariaDB[(none)]>CREATEDATABASEcinder;第3步,給用戶授權(quán)使用新建數(shù)據(jù)庫。MariaDB[(none)]>GRANTALLPRIVILEGESONcinder.*TO'cinder'@'localhost'IDENTIFIEDBY'000000';MariaDB[(none)]>GRANTALLPRIVILEGESONcinder.*TO'cinder'@'%'IDENTIFIEDBY'000000';安裝與配置Cinder——創(chuàng)建Cinder的數(shù)據(jù)庫并授權(quán)檢查授權(quán)情況[root@controller~]#mysql-ucinder-p000000[root@controller~]#mysql-ucinder-p000000-hcontroller都要能進入數(shù)據(jù)庫,并且用“showdatabases;”都能看到cinder數(shù)據(jù)庫。在控制節(jié)點安裝與配置Cinder——修改Cinder配置文件(1)將配置文件去掉注釋和空行第1步,備份配置文件。[root@controller~]#

cp/etc/cinder/cinder.conf/etc/cinder/cinder.bak第2步,去掉所有注釋和空行,生成新的配置文件。[root@controller~]#grep-Ev'^$|#'/etc/cinder/cinder.bak>/etc/cinder/cinder.conf這里的正則表達式“^$|#”的具體含義為:匹配空行(“^$”,其中“^”是一行的開頭,“$”是一行的結(jié)尾),或者(符號“|”表示或者)匹配第一個字符為“#”的行。結(jié)合反向匹配參數(shù)“-v”,最終匹配的是所有不為空和不以注釋符號“#”開頭的行。在控制節(jié)點安裝與配置Cinder——修改Cinder配置文件(2)編輯新的配置文件第1步,打開配置文件進行編輯。#vi/etc/cinder/cinder.confproject_domain_name=Defaultuser_domain_name=Defaultproject_name=projectusername=cinderpassword=000000第2步,修改“[database]”部分,實現(xiàn)與數(shù)據(jù)庫“cinder”連接。[database]connection=mysql+pymysql://cinder:000000@controller/cinder第3步,修改“[DEFAULT]”與“[keystone_authtoken]”部分,實現(xiàn)與Keystone交互。[DEFAULT]auth_strategy=keystone[keystone_authtoken]auth_url=http://controller:5000memcached_servers=controller:11211auth_type=password在控制節(jié)點安裝與配置Cinder——修改Cinder配置文件第4步,修改“[oslo_concurrency]”部分,配置鎖路徑。[oslo_concurrency]lock_path=/var/lib/cinder/tmp第5步,修改“[DEFAULT]”部分,實現(xiàn)與消息隊列的連接。[DEFAULT]transport_url=rabbit://rabbitmq:000000@controller:5672在控制節(jié)點安裝與配置Cinder——修改Nova配置文件Nova位于OpenStack云計算平臺的核心位置,通常需要通過它和其他組件進行交互。這里需要設置Cinder與Nova的交互。[root@controller~]#vi/etc/nova/nova.conf修改“[cinder]”部分,增加如下的集群名。[cinder]os_region_name=RegionOne在控制節(jié)點安裝與配置Cinder——初始化Cinder的數(shù)據(jù)庫[root@controller~]#

sucinder-s/bin/sh-c"cinder-managedbsync"Deprecated:Option"logdir"fromgroup"DEFAULT"isdeprecated.Useoption"log-dir"fromgroup"DEFAULT".Cinder組件初始化——創(chuàng)建Cinder用戶并分配角色第1步,導入環(huán)境變量模擬登錄。[root@controller~]#.admin-login第2步,在OpenStack云計算平臺中創(chuàng)建用戶“cinder”。#openstackusercreate--domaindefault--password000000cinder第3步,給用戶“cinder”分配“admin”角色#openstackroleadd--projectproject--usercinderadminCinder組件初始化——創(chuàng)建Cinder服務及端點(1)創(chuàng)建服務OpenStack(Train版)Cinder支持的卷是第3版本。[root@controller~]#openstackservicecreate--namecinderv3volumev3(2)創(chuàng)建計算服務端點OpenStack組件的服務端點有3種,分別對應Admin用戶(admin)、內(nèi)部組件(internal)、公眾用戶(public)服務的地址。第1步,創(chuàng)建公眾用戶訪問的服務端點。#openstackendpointcreate--regionRegionOnevolumev3publichttp://controller:8776/v3/%\(project_id\)s第2步,創(chuàng)建內(nèi)部組件訪問的服務端點。#openstackendpointcreate--regionRegionOnevolumev3internalhttp://controller:8776/v3/%\(project_id\)s第3步,創(chuàng)建Admin用戶訪問端點。#openstackendpointcreate--regionRegionOnevolumev3adminhttp://controller:8776/v3/%\(project_id\)sCinder組件初始化——啟動Cinder服務第1步,重啟Nova服務。#systemctlrestartopenstack-nova-api第2步,設置“cinder-api”和“cinder-scheduler”模塊開機啟動。#systemctlenableopenstack-cinder-apiopenstack-cinder-scheduler第3步,立即啟動Cinder服務。#

systemctlstartopenstack-cinder-apiopenstack-cinder-scheduler檢測控制節(jié)點的Cinder服務1.查看端口占用情況Cinder服務會占用8776端口,通過查看這個端口是否啟用,可以判斷Cinder服務是否已經(jīng)運行。[root@controller~]#netstat-nutpl|grep8776tcp00:8776:*LISTEN16661/python22.查看存儲服務列表[root@controller~]#openstackvolumeservicelist+----------------------+--------------+---------+-----------+--------+-------------------------------------------+|Binary|Host |Zone|Status|State|UpdatedAt|+----------------------+--------------+---------+-----------+--------+-------------------------------------------+|cinder-scheduler|controller|nova|enabled|up|2021-10-13T04:14:33.000000|+----------------------+--------------+---------+------------+-------+--------------------------------------------+如獲得“cinder-scheduler”在控制節(jié)點的模塊處于開啟(up)狀態(tài),則表示服務正常。搭建存儲節(jié)點通常存儲節(jié)點會采用獨立的服務器,但這樣OpenStack云計算平臺就至少需要3臺服務器才能搭建。所以本小節(jié)任務采用計算節(jié)點來代替存儲節(jié)點,以實現(xiàn)搭建雙節(jié)點OpenStack云計算平臺的目標。搭建存儲節(jié)點——為計算節(jié)點增加硬盤搭建存儲節(jié)點——為計算節(jié)點增加硬盤搭建存儲節(jié)點——為計算節(jié)點增加硬盤搭建存儲節(jié)點——創(chuàng)建卷組邏輯卷管理(LogicalVolumeManager,LVM)是Linux環(huán)境下對磁盤分區(qū)進行管理的一種機制,它可以將幾塊磁盤(也稱物理卷)組合起來形成一個存儲池或者卷組(VolumeGroup)。LVM可以每次從卷組中劃分出不同大小的邏輯卷(LogicalVolume)創(chuàng)建新的邏輯設備。Cinder可以使用LVM來實現(xiàn)塊設備(卷)的管理。搭建存儲節(jié)點——創(chuàng)建卷組(1)查看系統(tǒng)硬盤掛載情況通過“l(fā)sblk”命令可以看到系統(tǒng)中所有硬盤(塊設備)的掛載信息。[root@compute~]#lsblkNAME

MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda

8:0 0 100G 0 disk├─sda1

8:1 0 1G

0 part /boot└─sda2

8:2 0 98G 0 part├─centos-root

253:0 0 90G 0 lvm

/└─centos-swap 253:1 0 8G

0 lvm

[SWAP]sdb

8:16 0 20G 0 disksr0

11:0 1 973M 0 rom從結(jié)果中可以看到剛新添加的硬盤名為“sdb”,還沒有進行分區(qū)和掛載。該硬盤在Linux中的對應文件為“/dev/sdb”。搭建存儲節(jié)點——創(chuàng)建卷組(2)創(chuàng)建LVM物理卷組卷組是若干個物理卷組成的一個整體,對于用戶來說,卷組就是一個大的磁盤,便于重新劃分使用。第1步,將硬盤初始化為物理卷。通過“pvcreate”命令將物理硬盤初始化為物理卷,以便LVM使用。[root@compute~]#pvcreate/dev/sdbPhysicalvolume"/dev/sdb"successfullycreated.搭建存儲節(jié)點——創(chuàng)建卷組第2步,將物理卷歸并為卷組。LVM卷組的創(chuàng)建命令為“vgcreate”,它的用法如下。vgcreate<卷組名><物理卷1><物理卷2>……由于本項目只創(chuàng)建了一個物理卷,因此用下面的方法用該卷生成卷組,卷組取名為“cinder-volumes”。[root@compute~]#vgcreatecinder-volumes/dev/sdbVolumegroup"cinder-volumes"successfullycreated搭建存儲節(jié)點——創(chuàng)建卷組第3步,配置LVM卷組掃描的設備。首先,打開LVM的配置文件。[root@compute~]#vi/etc/lvm/lvm.conf然后,修改配置文件的“devices”部分,添加一個接受“/dev/sdb”磁盤并拒絕其他設備的過濾器。devices{filter=["a/sdb/","r/.*/"]……}代碼中“a”表示接受,“r”表示拒絕。搭建存儲節(jié)點——安裝和配置存儲節(jié)點(1)安裝Cinder相關軟件包用如下方法在計算節(jié)點安裝Cinder相關軟件包。[root@compute~]#yum-yinstallopenstack-cindertargetclipython-keystone這個安裝命令共安裝了3個軟件包“openstack-cinder”“targetcli”“python-keystone”。其中“openstack-cinder”是Cinder的軟件包;“targetcli”是一個命令行工具,用于管理Linux的存儲資源;“python-keystone”是與Keystone的連接插件。搭建存儲節(jié)點——安裝和配置存儲節(jié)點(2)將配置文件去掉注釋和空行第1步,備份配置文件。[root@compute~]#cp/etc/cinder/cinder.conf/etc/cinder/cinder.bak第2步,去掉所有注釋和空行,生成新的配置文件。[root@compute~]#grep-Ev'^$|#'/etc/cinder/cinder.bak>/etc/cinder/cinder.conf搭建存儲節(jié)點——安裝和配置存儲節(jié)點(3)編輯新的配置文件第1步,打開配置文件進行編輯。#vi/etc/cinder/cinder.confuser_domain_name=Defaultproject_name=projectusername=cinderpassword=000000第2步,修改“[database]”部分,實現(xiàn)與數(shù)據(jù)庫“cinder”連接。[database]connection=mysql+pymysql://cinder:000000@controller/cinder第3步,[DEFAULT][keystone_authtoken]部分,實現(xiàn)與Keystone交互。[DEFAULT]auth_strategy=keystone[keystone_authtoken]auth_url=http://controller:5000memcached_servers=controller:11211auth_type=passwordproject_domain_name=Default搭建存儲節(jié)點——安裝和配置存儲節(jié)點第4步,修改“[oslo_concurrency]”部分,配置鎖路徑。[oslo_concurrency]lock_path=/var/lib/cinder/tmp第5步,修改“[DEFAULT]”部分,實現(xiàn)與消息隊列和Glance的連接。[DEFAULT]transport_url=rabbit://rabbitmq:000000@controller:5672glance_api_servers=http://controller:9292第6步,修改“[DEFAULT]”部分,并增加“[lvm]”部分以設置LVM。[DEFAULT]enabled_backends=lvm[lvm]volume_driver=cinder.volume.drivers.lvm.LVMVolumeDrivervolume_group=cinder-volumestarget_protocol=iscsitarget_helper=lioadm配置文件中“volume_group”的值應和“創(chuàng)建LVM物理卷組”部分創(chuàng)建的卷組名一致。存儲節(jié)點啟動Cinder服務由于本項目是利用計算節(jié)點充當存儲節(jié)點,因此在計算節(jié)點操作。首先,設置開機啟動服務。[root@compute~]#systemctlenableopenstack-cinder-volumetarget然后,立即啟動服務。[root@compute~]#systemctlstartopenstack-cinder-volumetarget檢驗Cinder服務1.查看存儲服務列表在控制節(jié)點用以下代碼查看Cinder服務中各個模塊的服務狀態(tài)。[root@controller~]#

openstackvolumeservicelist+------------------------------+------------------------+---------+------------------+-----------+---------------------------------------------+|Binary

|Host

|Zone|Status

|State |UpdatedAt

|+------------------------------+------------------------+--------+-------------------+-----------+----------------------------------------------+|cinder-scheduler |controller |nova|enabled |up |2021-10-16T16:54:46.000000 ||cinder-volume |compute@lvm

|nova|enabled |up |2021-10-16T16:54:45.000000 |+------------------------------+------------------------+---------+-------------------+-----------+---------------------------------------------+可以看到,在控制節(jié)點能夠發(fā)現(xiàn)“cinder-volume”“cinder-scheduler”兩個模塊的狀態(tài)(State)是啟動(up)。檢驗Cinder服務2.通過Dashboard查看卷概況用Dashboard登錄OpenStack后,如果Cinder服務正常,就可以看到在左側(cè)導航欄中會出現(xiàn)【卷】選項,另外在【概況】中可以看到“卷”“卷快照”“卷存儲”這3個餅圖用Cinder創(chuàng)建卷1.使用命令模式創(chuàng)建卷第1步,在控制節(jié)點發(fā)起命令,創(chuàng)建一個8GB的卷,取名為“volume1”。[root@controller~]#openstackvolumecreate--size8volume1第2步,查看卷列表。[root@controller~]#openstackvolumelist

+-----------------------------------

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論