cinder掛載卷的過程原理


clipboard

LVM名稱介紹

PV:物理磁盤

VG:卷組,多個PV可以組成一個VG,一個VG可以划分成多個LV(邏輯卷)。

PP:物理區塊,將一個VG邏輯的划分成連續的小塊。

LP:邏輯區塊,若干個PP組成一個LP,多個PP組成一個LP,類似於raid0;一個LP映射多個PP鏡像,類似於raid1。

LV:由VG划分,若干連續LP組成一個LV(對應OS層的分區

LVM創建到掛載到物理機再到虛機實驗

需要安裝 lvm2

yum install lvm2

1.給虛擬機掛載三個雲硬盤作為硬盤

a7bc0613-c24f-4979-a5b0-dc0899a37ba8

2.創建pv

pv create /dev/vdc /dev/vdd /dev/vde

pvscan查看

3.創建vg

1861020d-8155-48a0-9266-ddefe9c49a25

-s表示最小的塊的大小

e8348990-d2e5-4bff-91c6-cf4ec874e82e

“zhou”VG創建成功,包含三塊硬盤

注:vgextend vg名  硬盤名  擴展VG  ( vgreduce減少)

4.創建 lv

lvcreate -L 20G -n lvname vgname

8e37bc38-9ef8-4fe7-bdc9-710563b4f7b7

pvs;lvs;vgs;

e2257fe9-7af7-4b32-b383-f044e3c27ef2

后續就是對lv的處理 格式化后可以使用

服務端安裝

yum install scsi-target-utils

vim/etc/tgt/targets.conf

6b5b0b807bfc44439e255a2bfdb12e5c

  1. <targetiqn.2014-07.com.tecmint:tgt1>
  2.     backing-store /dev/vg_iscsi/lv_iscsi
  3.     backing-store /dev/vg_iscsi/lv_iscsi
  4. </target>

143fe6d1-4050-4c48-b642-219f0453204a

  1. iSCSI 采取限定名 (iqn.2014-07.com.tecmint:tgt1).
  2. 名稱隨便你
  3. 用於確定目標名, 這是這台服務器中的第一個目標
  4. LVM共享特定的LUN,backstore 通過fdisk -l查看磁盤路徑

service tgtd start

  1. #tgtadm --mode target --op show

tgt-admin --show

2516ecae-72f0-4d9a-af6a-6987e9a9f88d

上面的命令會列出可用LUN的下面這些信息

  1. iSCSI 限定名
  2. iSCSI 已經准備好
  3. 默認LUN 0被控制器所保留
  4. LUN 1是我們定義的目標器
  5. 這里我為每個LUN都定義了4GB
  6. 在線: 是的,這就是可以使用的LUN

initiar端

1.發現

iscsiadm -m discovery --type sendtargets --portal IP

378782e46a464ce6a7c93fd8c9f2d5f7

2.登陸scsi,掛載到物理機

命令:iscsiadm -m node -T <target-name> -p <ip-address>:<port> --login(執行發現之后自動登陸)

#iscsiadm -m node -T iqn.2016-07.com.zmg:tgt2 -p 10.133.47.139:3260 --login

可以看到lun已經掛載到物理主機上了,接下來就是掛載到虛擬機。

3a150979-e233-4ec6-adc9-b07a7e5e9779

端口scsi  iscsiadm -m node -T [target-name] -p [ip-address] –u 

fdisk可以看到disk已經出現在host上

3.掛載到虛擬機

將這個disk attach到虛擬機上,使用libvirt實現

root:~#

virsh attach-disk instance-0000000b --source /dev/mapper/cinder--volumes-xxxxx --target vdc

Disk attached successfully

ssh到虛擬機里面,發現又多了一個disk

總結:LVM創建lv,然后把邏輯卷定義為iscsi存儲的目標設備target,會有LUN ID,然后客戶端initiator端發現目標設備

,然后登陸鏈接目標設備,掛載為物理機的磁盤,然后通過libvirt driver掛載到虛擬機上。

a414f3ac-ad83-4965-82cd-fe0de8f58379

9af534f2-5ab5-421d-b353-eb96b6a84fc9

目的:iscsi是為了將存儲設備通過ip網絡連接在一起,使數據存儲不受地域限制。

工作原理:

iscsi的協議自頂向下一共可以分為三層:

1。scsi層:根據客戶端發出的請求建立 scsi cdb(命令和數據塊),並傳給iscsi層。同時接收來自iscsi層的cdb(命令描述塊),並向應用返回數據。

2。iscsi層:對sicsi cdb進行封裝,以便能夠在基於tcp/ip協議的網絡上進行傳輸,完成scsi到tcp/ip的協議映射。這一層是iscsi協議的核心層。(ISCSI協議封裝SCSI報文為ip數據包)

3。tcp/ip層:對IP報文進行路由和轉發,並且提供端到端的透明可靠的傳輸.(TCP/IP報文封裝)

9b56c760-c62b-48ba-a1c9-995fc092fa19

遇到問題小記
問題描述:SCSI服務器端與客戶端可相互ping通,但當iSCSI客戶端discover scsi-targets時,報錯 No route to host 防火牆 iptables的原因 關掉firewalld


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM