zoukankan      html  css  js  c++  java
  • cinder 挂载卷和 iSCSI原理

    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

  • 相关阅读:
    解决.net中access数据库连接相对路径问题
    .NET网站实例之文件上传与管理
    .NET网站实例之用户登录实例
    解决DataList控件无缝滚动图片
    【转帖】随机彩色验证码,点击刷新效果
    .NET实例之购物车系统
    .NET网站实例之投票系统
    网络模拟与抓包
    iOS开发中的SQLite知识总结
    关于ARC的一些说法
  • 原文地址:https://www.cnblogs.com/menkeyi/p/6932409.html
Copyright © 2011-2022 走看看