當前位置:首頁 » 存儲配置 » openstackiscsi存儲

openstackiscsi存儲

發布時間: 2023-01-12 00:11:19

⑴ iscsi共享存儲的簡單配置和應用

1、環境介紹
SCSI(Small Computer System Interface)是塊數據傳輸協議,在存儲行業廣泛應用,是存儲設備最基本的標准協議。從根本上說,iSCSI協議是一種利用IP網路來傳輸潛伏時間短的SCSI數據塊的方法,ISCSI使用 乙太網 協議傳送SCSI命令、響應和數據。ISCSI可以用我們已經熟悉和每天都在使用的乙太網來構建IP存儲區域網。通過這種方法,ISCSI克服了直接連接存儲的局限性,使我們可以跨不同 伺服器 共享存儲資源,並可以在不停機狀態下擴充存儲容量。
所需軟體與軟體結構
CentOS 將 tgt 的軟體名稱定義為 scsi-target-utils ,因此你得要使用 yum 去安裝他才行。至於用來作為 initiator 的軟體則是使用 linux-iscsi 的項目,該項目所提供的軟體名稱則為 iscsi-initiator-utils 。所以,總的來說,你需要的軟體有:
scsi-target-utils:用來將 Linux 系統模擬成為 iSCSI target 的功能;
iscsi-initiator-utils:掛載來自 target 的磁碟到 Linux 本機上。
那麼 scsi-target-utils 主要提供哪些檔案呢?基本上有底下幾個比較重要需要注意的:
/etc/tgt/targets.conf:主要配置文件,設定要分享的磁碟格式與哪幾顆;
/usr/sbin/tgt-admin:在線查詢、刪除 target 等功能的設定工具;
/usr/sbin/tgt-setup-lun:建立 target 以及設定分享的磁碟與可使用的
客戶端等工具軟體。
/usr/sbin/tgtadm:手動直接管理的管理員工具 (可使用配置文件取代);
/usr/sbin/tgtd:主要提供 iSCSI target 服務的主程序;
/usr/sbin/tgtimg:建置預計分享的映像文件裝置的工具 (以映像文件模擬磁碟);

這次的實驗結構

(sdx1、sdy1是物理的磁碟通過lun連接到target虛擬的共享塊,在客戶端掛載這個塊。這里我們添加一塊硬碟sdb,創建sdb1(400m)和sdb2(500m))

2、server端配置
添加一塊磁碟後
復查一下

安裝target並加入開機自啟動
yum install -y target*
systemctl start target
systemctl enable target

配置target的ctl將sdb1和sdb2共享出去
(一)、block關聯磁碟

(二)、創建target

(三)、創建lun關聯block和target

至此伺服器端就配置完了,詳細的配置可以到/etc/target/saveconfig.json修改

3、client端配置
(一)、安裝iscsi*
軟體包 iscsi-initiator-utils-6.2.0.873-29.el7.x86_64
軟體包 iscsi-initiator-utils-iscsiuio-6.2.0.873-29.el7.x86_64
[root@200 ~]# yum install -y iscsi*

(二)、加入開機自啟
[root@200 ~]# systemctl restart iscsid.service
[root@200 ~]# systemctl enable iscsid.service

(三)、做一個發現的操作,發現伺服器共享的target名字是什麼

(四)、查看發現的條目

(五)、修改客戶端的acl並登錄

註:這個自動載入過來的磁碟重啟之後是自動載入過來的

4、客戶端掛載iscsi的盤
格式化sdb和sdc

創建掛載點並掛載
[root@200 ~]# mkdir /sdb
[root@200 ~]# mkdir /sdc
註:如果需要實時同步的話需要使用gfs集群文件系統

5、總結
(一)、增加iscsi存儲

(1)發現iscsi存儲:iscsiadm
-m discovery -t st -p ISCSI_IP

(2)查看iscsi發現記錄:iscsiadm
-m node

(3)登錄iscsi存儲:iscsiadm
-m node -T LUN_NAME -p ISCSI_IP -l

(4)開機自動:
iscsiadm -m node –T LUN_NAME -p ISCSI_IP --op

update -n node.startup -v

automatic

(二)、刪除iscsi存儲

(1)登出iscsi存儲
iscsiadm -m node -T LUN_NAME -p ISCSI_IP -u

(2)對出iscsi所有登錄
iscsiadm -m node --logoutall=all

(3)刪除iscsi發現記錄:iscsiadm
-m node -o delete -T LUN_NAME -p ISCSI_IP

⑵ 伺服器iscsi存儲掛載初始化會刪除數據嗎

會刪除。
既然要使用iSCSI存儲技術為遠程用戶提供共享存儲資源,首先要保障用於存放資源的伺服器的穩定性與可用性,否則一旦在使用過程中出現故障,則維護的難度相較於本地硬碟設備要更加復雜、困難。iSCSI技術在工作形式上分為服務端(target)與客戶端(initiator)。iSCSI服務端即用於存放硬碟存儲資源的伺服器,它作為前面創建的RAID磁碟陣列的存儲端,能夠為用戶提供可用的存儲資源。iSCSI客戶端則是用戶使用的軟體,用於訪問遠程服務端的存儲資源。掛載iSCSI為本地磁碟的詳細步驟:1.首先登陸DSM,打開iSCSI Manager套件,點擊Target,再點擊新增;2.可以自行輸入target名稱方便區分,也可以使用默認名稱,點擊下一步。如果網路使用環境比較復雜的話,可以勾選啟用CHAP加密協議,輸入名稱和密碼以及確認密碼,家庭用戶一般不用啟用,啟用的話之後掛載也要輸入對應的CHAP密碼,這里先不勾選,以後需要加密時也可以再回來設置;3.默認選中新增,繼續點擊下一步;4.這里名稱可以自己取,也可以使用默認的。位置選擇用來存放數據的的存儲空間,總容量iSCSI盤的總容量,其他選項保持默認,點擊下一步;5.經過以上4個步驟後就創建好了iSCSI服務,在Target界面可以看到服務屬性。

⑶ OpenStack 之 虛擬化原理

一個KVM(kernel-based virtual machine)虛擬機在宿主機上就是一個 qemu-kvm進程,與其他Linux進程一樣被調用。 虛擬機的每個虛擬CPU則對應 qemu-kvm進程中的一個進程。 因此,虛擬CPU可以超過物理CPU的數量,叫CPU超配。

KVM通過內存虛擬化共享物理系統內存,動態分配給虛擬機。

為了在一台機器上運行多個虛擬機,KVM需要實現VA(虛擬內存) --> PA(物理內存) --> MA(機器內存)的轉換,其中虛擬機OS控制VA->PA的轉換,KVM負責PA->MA的映射。

KVM的虛擬化通過存儲池(Storage Pool)和卷(Volume)實現。 存儲池是宿主機可見的一片存儲空間,,可以分為多種類型。 卷是存儲池的一塊空間,卷在虛擬機眼中就是一塊硬碟。 不同類型的存儲池:

文件目錄是最常見的存儲池。 目錄是一個存儲池,默認是 /var/lib/libvirt/images/ 目錄里的一個文件就是一個卷。

使用文件做卷的優點:

KVM支持多種卷格式:

宿主機上的VG(Volume Group)中的LV(Logical Volume)作為虛擬磁碟分配給虛擬機使用,只能作為數據盤,不能作為啟動盤,因為它沒有MBR引導記錄。 這種情形,主機的VG就是存儲池,LV就是卷。

KVM還支持 iSCSI, Ceph等多種類型的存儲池。

假設宿主機有1塊物理網卡 en0 , 運行著一個虛擬機VM1。那問題是如何讓VM1訪問外網呢? a):將物理網卡直接分配給虛擬機,但這樣會導致宿主機和其他的虛擬機沒有網路連接了。 b):給虛擬機分配一個虛擬網卡 vnet0 , 通過Linux Bridge br0 將 en0和vnet0連接起來。這個是實際採用的方案。

Linux Bridge可以看做是物理介面和虛擬介面的轉發器。

如果添加虛擬機VM2,自然也給它分配虛擬網卡 vet0 , 這兩塊虛擬網卡都通過 br0 和en0通信,並且虛擬機之前是可以直接通信的。因此br0就充當了兩台虛擬機的出口網關。

沒有VLAN之前,連在同一交換機上的主機共享廣播域,獨占沖突域,相互之間可以直接通信。 VLAN 能夠將一個交換機的埠劃分為若干個組, 使得連接在同一組中埠的主機位於同一邏輯網路中,不同VLAN間通信需要經過三層路由。

VLAN是二層上的隔離,隔離廣播指的是二層乙太網廣播幀,和三層的IP廣播報文區別開來。

VLAN用VLAN ID 唯一標示組,范圍是 [1, 4096]。 支持VLAN的交換機因而具有兩種埠:access埠和trunk埠。 access口隸屬某一個組,只能把access口劃分給一個VLAN組,沒有顯式指定,默認在0號組。 trunk口允許不同的VLAN幀通過,通常是連接兩個交換機的埠模式。

eth0 是宿主機的物理網卡, eth0.10 是與它連接的子設備。

eth0.10就是VLAN設備,vlan id 是10。

eth0.10掛載在 brvlan10 的Linux Bridge上, 虛擬機VM1的虛擬網卡 vnet0 也掛載在 brvlan10上。

如此一來,vnet0, brvlan10 和 eth0.10 都接在VLAN10 的Access口上。而eth0充當trunk口。

如果再增加一個VLAN2

那麼VM2的三個虛擬介面都是接在VLAN 20 上的。對於新創建的虛擬機,只要為它創建一個VLAN組,並將其虛擬網卡放到這個組中,就能共享宿主機的物理網卡了。還有,一個物理網卡可以為多個虛擬網卡服務,而一個虛擬網卡則只能對應於一塊物理網卡。即一對多關系。

對LVM的網路虛擬化總結:

所以,Linux Bridge + Vlan 模擬了現實的二層交換機。

⑷ 如何基於openstack管理配置數據

OpenStack軟體包括許多不同的模塊,針對雲環境中各個方面:
Swift:對象存儲
Cinder:塊存儲
Nova:虛擬機計算
Neutron:網路
Horizon: 儀表盤
Keystone:認證服務
Glance:鏡像服務
Ceilometer:遙測
Heat:編排
Trove:資料庫即服務
隨著每一個OpenStack的代碼發布(目前是第九個版本,叫做IceHouse),新項目被創建或者從已有的項目上「分支」出來或者開一個全新的分支,包括用於裸機管理的Ironic以及會在OpenStack的Juno版本中發布的Sahara,用於彈性MapRece。
數據服務由以上的五個組件來提供。Swift是一個子項目,為OpenStack基礎架構提供對象存儲的功能。塊存儲由Cinder提供,使用標準的象iSCSI和NFS這樣的IP存儲協議。Glance為VM鏡像提供一個知識庫,使用底層的基本文件系統或者Swift作為存儲。Trove提供資料庫即服務 (DBaaS) 的能力,而Sahara提供彈性MapRece的功能,後者也被稱為Hadoop集群存儲。這篇文章,我們將著重講述Cinder和Swift這兩大主要的存儲平台。
Cinder塊存儲
塊存儲是虛擬基礎架構中必不可少的組件,是存儲虛擬機鏡像文件及虛擬機使用的數據的基礎。直到2012年OpenStack Folsom的發布才引入了Cinder,VM鏡像是短暫的,它們的存儲只維持在那台虛擬機的生命周期。Cinder提供對塊存儲的管理支持,通過使用iSCSI, 光纖通道或者NFS協議,以及若干私有協議提供後端連接,展現給計算層(Nova)。
Cinder介面提供了一些標准功能,允許創建和附加塊設備到虛擬機,如「創建卷」,「刪除卷」和「附加卷」。還有更多高級的功能,支持擴展容量的能力,快照和創建虛擬機鏡像克隆。
許多廠商在他們現有的硬體平台上提供對Cinder塊的支持,通過使用一個Cinder驅動將Cinder API轉換成廠商特定的硬體命令。提供Cinder支持的廠商包括了EMC(VMAX和VNX),惠普(3PAR StoreServ和StoreVirtual),日立數據系統,IBM(跨所有存儲平台),NetApp,Pure Storage和SolidFire。還有一些基於軟體的解決方案,比如EMC(ScaleIO)和Nexenta。
另外,許多軟體存儲實現,包括開源平台,都可以用於提供對Cinder的支持,這些軟體中包括紅帽的Ceph和GlusterFS。Ceph已經被集成到Linux內核中,使其成為最簡單的一種為OpenStack部署環境提供塊存儲的方法。
NFS的支持是在2013年OpenStack的第七個版本引入的,又叫Grizzly,盡管之前Folsom有提供「試驗性的」技術支持。在NFS的環境中,VM磁碟分區被當作單個的文件,這和在VMware ESXi虛擬程序或者微軟的Hyper-V的VHD所使用的方法相似。將VM磁碟分區封裝成文件可以實現類似快照和克隆這樣的功能。
存儲功能已引入Cinder的後續版本,之後一直被存儲廠商們支持。支持的各種廠商平台和功能的完整列表可以在OpenStack的關於OpenStack塊存儲驅動器的Wiki頁面找到。
Swift對象存儲
OpenStack中的對象存儲通過Swift來達成,Swift實現了分布在OpenStack的集群節點的橫向擴展的對象存儲。對象存儲將數據以二進制對象的方式存儲,沒有特別的格式要求。Swift使用簡單的類似PUT或GET(基於HTTP網路協議,也被稱為RESTful API)的命令對對象進行存取操作。
Swift架構被分割成一些邏輯服務,包括對象伺服器,代理伺服器,容器伺服器和帳戶伺服器,整個一起被稱作一個ring。數據同其他用於追蹤與每個存儲對象相關的元數據和管理數據訪問的組件一起存儲在對象伺服器上。
在Swift中使用zone的概念來管理數據的彈性。一個zone是一個ring的子部件,用於提供數據的一個拷貝,多個zone則用來存儲冗餘的數據拷貝,被稱為replica(默認最少3個)。Swift能用一個單獨的磁碟或者伺服器來代表一個zone,包括數據中心之間的數據地理分布。
同許多對象存儲一樣,Swift使用最終一致性的思想來實現數據的彈性。這意味著數據不是象塊存儲那樣以同步的方式在整個OpenStack集群里復制,而是在zone之間以一個後台任務的形式進行復制,這在系統高負載的情況下也許會掛起或者失敗。
與塊存儲的同步復制提供高級別的可靠性功能相比,最終一致性也許看起來會更具風險。但是,在可擴展性,性能和彈性中總是得做出取捨。最終一致性使得一個記錄歸檔比在一個基於塊存儲的系統更容易具備可擴展性,就Swift而言,代理伺服器會確保取得最近一次的數據拷貝,即便在該集群里的一些伺服器無法訪問的時候。
和所有的OpenStack項目一起,隨著每個版本的發布,Swift不斷被開發出新的功能和功能增強。OpenStack Grizzly引入了更細粒度的replica控制,允許ring能夠調整replica的數量。另外,通過基於對象伺服器的時間排序的思想,改善了對象讀取的性能。使得數據能夠通過最快響應速度的對象伺服器傳遞,這對於擴展到廣域網很重要。
由於Swift使用HTTP協議,這樣在OpenStack里使用第三方存儲方案,包括Cleversafe,Scality的產品或者類似於Amazon Web Service簡單存儲服務(S3)這樣的公有雲,進行對象存儲的做法會非常實用。
Swift還是Cinder?做出正確的選擇
很顯然Swift和Cinder為完全不同類型的數據需求服務。對象存儲(通過Swift)被設計成專門針對諸如媒體,鏡像和文件之類的對象型數據的高可擴展性存儲。這些系統的重點在於能夠大量擴展數據而不依賴於那些類似RAID的傳統存儲擁有的特性。但是,最終的一致性模型意味著Swift不適合存儲像虛擬機這樣的數據。
盡管Swift使用元數據來追蹤對象和他們的版本,對象存儲仍然需要額外的邏輯來追蹤所存的對象上的用戶元數據。這部分將需要用戶自己來構建到應用程序中去。
Cinder提供塊存儲組件來存儲持久化對象,比如虛擬機和定期在資料庫中更新的數據。塊存儲的功能可以在整個OpenStack集群中實現,通過一些商用組件,使用內置的工具,如伺服器邏輯盤管理器或者NFS,來傳輸存儲資源。另外,開源解決方案如Ceph的和GlusterFS,提供從OpenStack的主代碼中單獨打包OpenStack存儲模塊的能力,同時仍保留可以使用開源軟體的靈活性。
隨著Cinder的廣泛支持,現有的傳統存儲方案可以用到OpenStack部署環境中來提供存儲服務。當一個IT組織已經具備了這種技術並且硬體平台也到位的情況下,這也許是他們更願意採用的方式。現有的存儲平台技術已經很發達,並且支持一些存儲優化的高級功能,比如精簡配置,重復數據刪除和壓縮。許多現在還提供服務質量(比如HP的3PAR StoreServ和SolidFire的平台),讓它們適合在混合工作負載下而不是單純的用於OpenStack的部署。其結果帶來的一個顯著的益處就是,可以將「繁重」的任務卸載到一個外部存儲陣列。
在做出使用一個特定平台的決策中,系統架構師們需要權衡風險與使用OpenStack「」方案(仍然需要硬體)或者使用專屬硬體提供的功能所花費的成本。
OpenStack存儲備份
最後,我們應該考慮在OpenStack里備份數據的需求。備份OpenStack環境中的關鍵配置組件的具體細節已經有很好的文檔描述,但是備份在一個OpenStack集群里的數據被視為用戶自己的責任。備份可以通過使用外部存儲供應商來輕松實現,比如說,SolidFire提供將整個集群備份到AmazonS3或者Swift兼容的對象存儲中的功能。或者,用戶將需要查看現有的支持他們的OpenStack虛擬機管理程序的備份產品。
Raksha是一個新的項目提議,將備份即服務的功能集成到OpenStack的框架中。會同時支持完全及增量的虛擬機備份到一個Swift「端」,並能讓應用保持一致性。Raksha目前是一個獨立的項目,不屬於核心OpenStack框架。要將它集成到一般的類似VSphere和Hyper-V這樣的虛擬化平台中會需要花一些功夫,但是至少可以提供一個更整合的解決方案來對OpenStack環境中的數據進行保護。

⑸ iSCSI存儲連接的幾種方式

根據主機端HBA卡、網路交換機的不同,iSCSI設備與主機之間有三種連接方式。第一種:乙太網卡+initiator軟體方式。伺服器、工作站等主機使用標準的乙太網卡,通過乙太網線直接與乙太網交換機連接,iSCSI存儲也通過乙太網線連接到乙太網交換機上,或直接連接到主機的乙太網卡上。在主機上安裝Initiator軟體。安裝Initiator軟體後,Initiator軟體可以將乙太網卡虛擬為iSCSI卡,接受和發送iSCSI數據報文,從而實現主機和iSCSI設備之間的iSCSI協議和TCP/IP協議傳輸功能。這種方式由於採用普通的標准乙太網卡和乙太網交換機,無需額外配置適配器,因此硬體成本最低。缺點是進行ISCSI存儲連接中包文和TCP/IP包文轉換要點主機端的一部分資源。不過在低I/O和低帶寬性能要求的應用環境中和完全滿足數據訪問要求。目前很多最新版本的常用操作系統都提供免費的Initiator軟體,建立一個存儲系統除了存儲設備本身外,基本上不需要投入更多的資金來,因此在三種系統連接方式中其建設成本是最低的。第二種:硬體TOE網卡+initiator軟體方式。第一種方式由於採用普通乙太網卡和乙太網交換機,無需額外配置適配器,或專用的網路設備,因此硬體成本最低。

⑹ iscsi、cifs、nfs在存儲上的區別。

iscsi、cifs、nfs區別為:對象不同、環境不同、方式不同。

一、對象不同

1、iscsi:iscsi是針對數據塊存儲的。

2、cifs:cifs是針對共享文件存儲的。

3、nfs:nfs是針對共享文件存儲的。

二、環境不同

1、iscsi:iscsi主要應用在Windows環境下,適用於TCP/IP通訊協議。

2、cifs:cifs主要應用在NT/Windows環境下。

3、nfs:nfs主要應用在UNIX環境下,廣泛應用在FreeBSD、SCO、Solaris等等異構操作系統平台。

三、方式不同

1、iscsi:iscsi並不能用於在磁碟中存儲和管理數據,是通過TCP/IP網路傳輸文件時的文件組織格式和數據傳輸方式。

2、cifs:cifs讓協議運行於TCP/IP通信協議之上,讓Unix計算機可以在網路鄰居上被Windows計算機看到,並進一步傳遞存儲數據。

3、nfs:nfs能夠支持在不同類型的系統之間通過網路進行文件共享存儲。

⑺ centos7.2操作系統openstack對接iscsi存儲type必須iscsi開頭嗎

通/etc/services查看即: [root@centos-doxer ~]# grep -i iscsi /etc/services iscsi 860/tcp # iSCSI iscsi 860/udp # iSCSI iscsi-target 3260/tcp # iSCSI port iscsi-target 3260/udp # iSCSI port

⑻ OpenStack選用哪種後端存儲系統比較好

和openstack融合度較好的就是ceph,國內大多數雲環境都使用ceph作為openstack的唯一後端存儲。國內使用ceph開發出分布式存儲系統的廠商有深圳元核雲、北京xsky等,性能都還不錯的。

⑼ iscsi存儲伺服器為什麼不安全

其支持者通常都專注於其卓越的性價比,但是其成功的秘密卻是廣為人知的一些實施技巧:iSCSI使用標準的TCP/IP網路連接來傳輸「塊級」數據,所以即使幾乎沒有存儲經驗的網路管理員也感到十分輕松。
低級配置帶來的災難
假設你為一家中小型企業工作,並且有幾台Windows伺服器,你想將其連接到iSCSI SAN上。這些伺服器都是全新的,並擁有四個板載的1Gbps網卡,但是僅有一個網卡連接到了一台交換機,一台低端的不可管理的的千兆交換機。
乍一看,似乎你能夠將SAN插入到交換機中,並為其分配IP地址,在伺服器上安裝微軟的iSCSI initiator,並配置它使其連接到SAN,好象可以高枕無憂了。實際上,你能夠從伺服器上載入SAN存儲器,而且它還可以湊合著運行—只要你並不設法調整它。然而,如果你將實際的負載加到SAN卷上,很快就會發現這種設計的不足之處。
以這種方式連接iSCSI存儲器存在著幾個問題。你將沒有交換機或網卡的冗餘,SAN上沒有負載均衡,也沒有需要用來優化iSCSI通信流(通過交換機的)的特性,而且,最糟的可能是,存儲器將會與前端的客戶端通信爭奪帶寬。
正確建立iSCSI
在上面的情形中,缺失的元素是很明顯的:一台象樣的交換機。一台優良的交換機是iSCSI SAN的關鍵部分。確實,任何千兆交換機都可用於iSCSI,但是採用低廉的不可管理的交換機會使你遺漏一些重要的特性。

熱點內容
上傳收費視頻 發布:2025-07-23 11:31:39 瀏覽:874
java讓線程停止 發布:2025-07-23 11:15:56 瀏覽:95
疊盒子演算法 發布:2025-07-23 11:15:46 瀏覽:728
輿情指數演算法 發布:2025-07-23 10:45:33 瀏覽:451
javacomparable 發布:2025-07-23 10:38:31 瀏覽:604
linux出現次數 發布:2025-07-23 10:36:04 瀏覽:310
下料演算法 發布:2025-07-23 10:30:51 瀏覽:683
atmega加密 發布:2025-07-23 10:30:03 瀏覽:650
php資料庫系統 發布:2025-07-23 10:20:08 瀏覽:104
sqltranslate 發布:2025-07-23 10:05:40 瀏覽:532