在 iSCSI Target 服务器中使用LVM创建和设置LUN(二)
LUN是逻辑单元号,它与iSCSI存储服务器共享。iSCSI 目标器通过TCP/IP网络共享它的物理驱动器给发起程序(initiator)。这些来自一个大型存储(SAN:Storage Area Network)的驱动器集合称作LUN。在真实环境中LUN是在LVM中定义的,因为它可以按需扩展。
在目标器中使用 LVM 创建 LUN
为什么使用LUN?
LUN用于存储,SAN存储大多数由LUN的集群来组成存储池,LUN由目标器的几块物理驱动器组成。我们可以使用LUN作为系统物理驱动器来安装操作系统,LUN可以用在集群、虚拟服务器、SAN中。在虚拟服务器中使用LUN的主要用途是作为操作系统的存储。LUN的性能和可靠性根据在创建目标存储服务器时所使用的驱动器决定。
前置阅读
要了解创建iSCSI 目标器,点击下面的链接。
主服务器设置
系统信息和网络设置部分与前文的iSCSI 目标器相同 - 我们在相同的服务器上定义LUN。
- 操作系统 – CentOS 6.5 (Final)
- iSCSI 目标器 IP – 192.168.0.200
- 使用的端口 : TCP 860, 3260
- 配置文件 : /etc/tgt/targets.conf
在iSCSI 目标器使用LVM创建LUN
首先,用fdisk -l命令找出驱动器的列表,这会列出系统中所有分区的列表。
- # fdisk -l
上面的命令只会给出基本系统的驱动器信息。为了得到存储设备的信息,使用下面的命令来得到存储设备的列表。
- # fdisk -l /dev/vda && fdisk -l /dev/sda
列出存储设备
注意:这里vda是虚拟机硬盘,因为我使用的是虚拟机来用于演示,/dev/sda 是额外加入的存储。
第一步: 创建用于LUN的LVM驱动器
我们使用/dev/sda驱动器来创建LVM。
- # fdisk -l /dev/sda
列出LVM驱动器
现在让我们使用如下fdisk命令列出驱动器分区。
- # fdisk -cu /dev/sda
- 选项 ‘-c’ 关闭DOS兼容模式。
- 选项 ‘-u’ 用于列出分区表时给出扇区而不是柱面的大小。
使用n创建新的分区。
- Command (m for help): n
使用p创建主分区。
- Command action
- e extended
- p primary partition (1-4)
给我们创建的分区一个分区号。
- Partition number (1-4): 1
到这里,我们就要设置LVM驱动器了。因此,我们需要使用默认的设置来使用整个驱动器。
- First sector (2048-37748735, default 2048):
- Using default value 2048
- Last sector, +sectors or +size{K,M,G} (2048-37748735, default 37748735):
- Using default value 37748735
选择分区的类型,这里我们要设置LVM,因此使用8e。使用l列出所有的类型。
- Command (m for help): t
选择想要改变类型的分区。
- Selected partition 1
- Hex code (type L to list codes): 8e
- Changed system type of partition 1 to 8e (Linux LVM)
在改变完类型之后,通过打印(p)选项来列出分区表。
- Command (m for help): p
- Disk /dev/sda: 19.3 GB, 19327352832 bytes
- 255 heads, 63 sectors/track, 2349 cylinders, total 37748736 sectors
- Units = sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disk identifier: 0x9fae99c8
- Device Boot Start End Blocks Id System
- /dev/sda1 2048 37748735 18873344 8e Linux LVM
使用w写入设置并退出fdisk工具,重启系统使设置生效。
作为参考,我下面附上了截图来给你在创建LVM驱动器时一个明确的指导。
创建LVM分区
系统重启后,使用fdisk命令列出分区表。
- # fdisk -l /dev/sda
验证LVM分区
第二步: 为LUN创建逻辑卷
现在我们使用‘pvcreate’命令创建物理卷。
- # pvcreate /dev/sda1
用iSCSI的名字创建卷组来区分这个卷组。
- # vgcreate vg_iscsi /dev/sda1
这里我定义了4个逻辑卷,因此在我的iSCSI target上就会有4个LUN。
- # lvcreate -L 4G -n lv_iscsi vg_iscsi
- # lvcreate -L 4G -n lv_iscsi-1 vg_iscsi
- # lvcreate -L 4G -n lv_iscsi-2 vg_iscsi
- # lvcreate -L 4G -n lv_iscsi-3 vg_iscsi
列出物理卷、卷组和逻辑卷确定。
- # pvs && vgs && lvs
- # lvs
为了更好地理解上面的命令,我在下面包含了截图作为参考。
创建LVM逻辑卷
验证LVM逻辑卷
第三步: 在目标器中定义LUN
我们已经创建了逻辑卷并准备使用LUN,现在我们在目标器配置中定义LUN,只有这样做它才能用在客户机中(发起程序)。
用你选择的编辑器打开位于‘/etc/tgt/targets.conf’的目标器配置文件。
- # vim /etc/tgt/targets.conf
追加下面的target配置文件中的定义。保存并关闭文件。
- <target iqn.2014-07.com.tecmint:tgt1>
- backing-store /dev/vg_iscsi/lv_iscsi
- </target>
- <target iqn.2014-07.com.tecmint:tgt1>
- backing-store /dev/vg_iscsi/lv_iscsi-1
- </target>
- <target iqn.2014-07.com.tecmint:tgt1>
- backing-store /dev/vg_iscsi/lv_iscsi-2
- </target>
- <target iqn.2014-07.com.tecmint:tgt1>
- backing-store /dev/vg_iscsi/lv_iscsi-3
- </target
在target中配置LUN
上图的解释:
- iSCSI 采取限定名 (iqn.2014-07.com.tecmint:tgt1).
- 名称随便你
- 用于确定目标名, 这是这台服务器中的第一个目标
- LVM共享特定的LUN。
接下来使用下面的命令重载tgd服务配置。
- # /etc/init.d/tgtd reload
重载配置
接下来使用下面的命令验证可用的LUN。
- # tgtadm --mode target --op show
列出可用LUN
LUN信息
上面的命令会列出可用LUN的下面这些信息
- iSCSI 限定名
- iSCSI 已经准备好
- 默认LUN 0被控制器所保留
- LUN 1是我们定义的目标器
- 这里我为每个LUN都定义了4GB
- 在线: 是的,这就是可以使用的LUN
现在我们已经使用LVM为目标器定义了LUN,这可扩展并且支持很多特性,如快照。我们将会在第三部分了解如何用目标器授权,并且本地挂载远程存储。
在 iSCSI Target 服务器中使用LVM创建和设置LUN(二)的更多相关文章
- 在Delphi中如何动态创建dbf数据库(二)?
unit Form_ToChangCSVforDBFU; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics ...
- 使用iSCSI Target创建集中式安全存储(一)
iSCSI 是一种块级别的协议,用于通过TCP/IP网络共享原始存储设备,可以用已经存在的IP和以太网如网卡.交换机.路由器等通过iSCSI协议共享和访问存储.iSCSI target是一种由远程iS ...
- iscsi target 之LIO配置
LIO 配置 现在主流Linux都可以设置iSCSI,如STGT/TGT.LIO Target等.Linux-IO(LIO)Target是当前Linux标准的iSCSI target的开源实现,包含在 ...
- 悄摸直播(二)—— 播流器实现(拉取rtmp服务器中的数据流,播放直播画面)
悄摸直播 -- JavaCV实现本机摄像头画面远程直播 播流器 一.功能说明 从rtmp服务器中获取视频流数据 + 展示直播画面 二.代码实现 /** * 播流器 * @param inputPath ...
- 关于window服务器中新建的普通用户无法登录远程桌面
今天在公司服务器中为客户创建了一个普通用户 user5201351 并设置好了密码, 发给客户后,反映使用我们创建的用户不能通过远程桌面进行登录 查询资料后才知道,在windows中,需要将用户加入 ...
- Linux服务器中创建Oracle数据库实例
紧接上篇,在Linux服务器已经完成对Oracle数据库软件的安装后,接下来要创建Oracle实例,看图说话: [su – oracle echo $DISPLAY export DISPLAY=10 ...
- node.js中express模块创建服务器和http模块客户端发请求
首先下载express模块,命令行输入 npm install express 1.node.js中express模块创建服务端 在js代码同文件位置新建一个文件夹(www_root),里面存放网页文 ...
- node.js中net模块创建服务器和客户端(TCP)
node.js中net模块创建服务器和客户端 1.node.js中net模块创建服务器(net.createServer) // 将net模块 引入进来 var net = require(" ...
- Laravel中我们登录服务器通过 Tinker 手动创建后台管理用户
Laravel中我们可以登录到服务器通过 Tinker 手动创建后台用户 laravel中tinker命令的作用是用来调试laravel,可以打印变量或对象信息,显示函数代码,对数据库写入和查询数据. ...
随机推荐
- Python调用Webservice
使用Python调用webservice 推荐使用 suds包 该包一般在Python2.x python3各种麻烦 略过 实例 import suds # webservice url url ...
- JavaWeb项目中使用ajax上传文件
1.jsp $("#cxsc").click(function(){ var bankId = $("#bankId").val(); var formdata ...
- Python数据分析-Numpy数值计算
Numpy介绍: NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. NumPy的主要功能: 1)ndarray,一个多维数组结构,高效且节省空间 2)无需循环对整组 ...
- Linux静态ip设置及一些网络设置
网络服务配置文件 /etc/sysconfig/network 网络接口配置文件 /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME 修改IP永久生 ...
- android系统联系人分组特效实现(1)---分组导航和挤压动画
1.打开activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andr ...
- jQuery对象转化为DOM对象
jQuery库本质上还是JavaScript代码,它只是对JavaScript语言进行包装处理,为的是提供更好更方便快捷的DOM处理与开发中经常使用的功能.我们使用jQuery的同时也能混合JavaS ...
- Python函数参数中的冒号与箭头
在一些Python的工程项目中,我们会看到函数参数中会有冒号,有的函数后面会跟着一个箭头,你可能会疑惑,这些都是什么东西? 其实函数参数中的冒号是参数的类型建议符,告诉程序员希望传入的实参的类型.函数 ...
- BZOJ 1483:[HNOI2009]梦幻布丁(链表+启发式合并)
[HNOI2009]梦幻布丁 Description N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一 ...
- BZOJ2631 tree 【LCT】
题目 一棵n个点的树,每个点的初始权值为1.对于这棵树有q个操作,每个操作为以下四种操作之一: + u v c:将u到v的路径上的点的权值都加上自然数c: - u1 v1 u2 v2:将树中原有的边( ...
- h5 Visibility API总结
最近活动中的小游戏,有涉及页面隐藏或app后台运行时候,暂停游戏的功能,使用了h5的Visibility API,在此总结如下: 两个属性 document.hidden (Read only) 如果 ...