cinder挂载卷的过程原理
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.给虚拟机挂载三个云硬盘作为硬盘

2.创建pv
pv create /dev/vdc /dev/vdd /dev/vde
pvscan查看
3.创建vg

-s表示最小的块的大小

“zhou”VG创建成功,包含三块硬盘
注:vgextend vg名 硬盘名 扩展VG ( vgreduce减少)
4.创建 lv
lvcreate -L 20G -n lvname vgname
pvs;lvs;vgs;

后续就是对lv的处理 格式化后可以使用
服务端安装
yum install scsi-target-utils
vim/etc/tgt/targets.conf

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

- iSCSI 采取限定名 (iqn.2014-07.com.tecmint:tgt1).
- 名称随便你
- 用于确定目标名, 这是这台服务器中的第一个目标
- LVM共享特定的LUN,backstore 通过fdisk -l查看磁盘路径
service tgtd start
- #tgtadm --mode target --op show
tgt-admin --show

上面的命令会列出可用LUN的下面这些信息
- iSCSI 限定名
- iSCSI 已经准备好
- 默认LUN 0被控制器所保留
- LUN 1是我们定义的目标器
- 这里我为每个LUN都定义了4GB
- 在线: 是的,这就是可以使用的LUN
initiar端
1.发现
iscsiadm -m discovery --type sendtargets --portal IP

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已经挂载到物理主机上了,接下来就是挂载到虚拟机。

端口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挂载到虚拟机上。


目的: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报文封装)

遇到问题小记
问题描述:SCSI服务器端与客户端可相互ping通,但当iSCSI客户端discover scsi-targets时,报错 No route to host 防火墙 iptables的原因 关掉firewalld
cinder挂载卷的过程原理的更多相关文章
- cinder 挂载卷和 iSCSI原理
LVM名称介绍 PV:物理磁盘 VG:卷组,多个PV可以组成一个VG,一个VG可以划分成多个LV(逻辑卷). PP:物理区块,将一个VG逻辑的划分成连续的小块. LP:逻辑区块,若干个PP组成一个LP ...
- cinder侧挂载卷流程分析
cinder侧挂载卷流程分析,存储类型以lvm+iscsi的方式为分析基础cinder侧主要调用了三个接口1)reserve_volume: 把volume的状态改为attaching,阻止其它节点执 ...
- Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)
Linux LVM逻辑卷配置过程详解 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据, ...
- OpenStack 对接 Ceph 环境可以创建卷但不能挂载卷的问题
问题 环境:Nova.Cinder.Glance 都对接了 Ceph RBD 后端存储. 以往的操作包括上传镜像.创建卷.挂载卷都是一切正常的,但突然出现了无法挂载卷的问题,而且还是因为 Ceph 客 ...
- 疑难杂症——解决 Cinder 僵尸卷问题
目录 目录 问题描述 问题解决 最后 问题描述 Cinder 的僵尸卷一般是因为操作不当导致分配的卷无法正常使用且无法正常分离或删除. 问题解决 解决僵尸卷问题的思路类似解决 Linux 系统中的僵尸 ...
- Linux系统LVM逻辑卷创建过程以及自动化脚本
转至:https://cloud.tencent.com/developer/article/1068328 Linux系统LVM逻辑卷创建过程以及自动化脚本 2018-03-21阅读 6300 ...
- Web APi之过滤器执行过程原理解析【二】(十一)
前言 上一节我们详细讲解了过滤器的创建过程以及粗略的介绍了五种过滤器,用此五种过滤器对实现对执行Action方法各个时期的拦截非常重要.这一节我们简单将讲述在Action方法上.控制器上.全局上以及授 ...
- 彻底理解MapReduce shuffle过程原理
彻底理解MapReduce shuffle过程原理 MapReduce的Shuffle过程介绍 Shuffle的本义是洗牌.混洗,把一组有一定规则的数据尽量转换成一组无规则的数据,越随机越好.MapR ...
- MySQL 储存过程-原理、语法、函数详细说明
Mysql储存过程是一组为了完成特定功能的SQL语句集,经过编译之后存储在数据库中,当需要使用该组SQL语句时用户只需要通过指定储存过程的名字并给定参数就可以调用执行它了,简而言之就是一组已经写好的命 ...
随机推荐
- FTP经典常用命令
FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令. 熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍 ...
- appium 'WebDriver' object has no attribute 'keyevent'
这个问题是我自己犯二了,开头应该是from appium import webdriver,写成了from selenium import webdriver,也可以运行,就是不能使用appium中独 ...
- 2016.6.20 eclipse中的jsp文件的字体大小在哪里修改
刚打开eclipse的时候,觉得jsp文件的字体太小了.于是去修改字体,但是colors and fonts里的字体选项太多了,不知道哪一个是. 试了几个后发现,是structured text ed ...
- 接口性能测试方案 白皮书 V1.0
一. 性能测试术语解释 1. 响应时间 响应时间即从应用系统发出请求开始,到客户端接收到最后一个字节数据为止所消耗的时间.响应时间按软件的特点再可以细分,如对于一个 C/S 软件的响应时间可以细分为网 ...
- 微信小程序-上传多张图片加进度条(支持预览、删除)
2018-12-24 详情示例见:https://www.cnblogs.com/cisum/p/9564898.html 2018-12-29 组件下载见:https://www.cnblogs.c ...
- android开发系列之视频断点续传
今天在这篇博客里面,我想说说自己在这几天遇到的一个棘手的问题,就是视频断点续传的问题.其实这在我们开发中是一个很常见的应用场景,比如视频.音频.pdf等相关的文档.如果之前没有接触过的话,你也许会被这 ...
- javascript关闭弹出窗体时刷新父窗体和居中显示弹出窗
居中显示用到了moveTO()方法: 关闭弹出窗时刷新父窗体用到了window.opener方法: 父窗体代码例如以下: <%@ Page Language="C#" Aut ...
- CentOS6下基于Nginx搭建mp4/flv流媒体服务器
CentOS6下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 1.先添加几个RPM下载源 1.1)安装RPMforge的CentOS6源 [roo ...
- mongo的时间类型,erlang中对其的处理
需求:要想在一个调度中,从mongo中查出大于一个时间戳的所有的数据总和. 这个需求很简单,一个是scheduler,还有另一个就是查出来大于某个时间戳的总和,比如大于每天0点时间点的和. 需要注意的 ...
- 14-redis运维常用命令
一:运维常用的server端命令 TIME 查看时间戳与微秒数 DBSIZE 查看当前库中的key数量 BGREWRITEAOF 后台进程重写AOF BGSAVE 后台保存rdb快照 ...