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命令找出驱动器的列表,这会列出系统中所有分区的列表。

  1. # fdisk -l

上面的命令只会给出基本系统的驱动器信息。为了得到存储设备的信息,使用下面的命令来得到存储设备的列表。

  1. # fdisk -l /dev/vda && fdisk -l /dev/sda

列出存储设备

注意:这里vda是虚拟机硬盘,因为我使用的是虚拟机来用于演示,/dev/sda 是额外加入的存储。

第一步: 创建用于LUN的LVM驱动器

我们使用/dev/sda驱动器来创建LVM。

  1. # fdisk -l /dev/sda

列出LVM驱动器

现在让我们使用如下fdisk命令列出驱动器分区。

  1. # fdisk -cu /dev/sda
  • 选项 ‘-c’ 关闭DOS兼容模式。
  • 选项 ‘-u’ 用于列出分区表时给出扇区而不是柱面的大小。

使用n创建新的分区。

  1. Command (m for help): n

使用p创建主分区。

  1. Command action
  2. e extended
  3. p primary partition (1-4)

给我们创建的分区一个分区号。

  1. Partition number (1-4): 1

到这里,我们就要设置LVM驱动器了。因此,我们需要使用默认的设置来使用整个驱动器。

  1. First sector (2048-37748735, default 2048):
  2. Using default value 2048
  3. Last sector, +sectors or +size{K,M,G} (2048-37748735, default 37748735):
  4. Using default value 37748735

选择分区的类型,这里我们要设置LVM,因此使用8e。使用l列出所有的类型。

  1. Command (m for help): t

选择想要改变类型的分区。

  1. Selected partition 1
  2. Hex code (type L to list codes): 8e
  3. Changed system type of partition 1 to 8e (Linux LVM)

在改变完类型之后,通过打印(p)选项来列出分区表。

  1. Command (m for help): p
  2. Disk /dev/sda: 19.3 GB, 19327352832 bytes
  3. 255 heads, 63 sectors/track, 2349 cylinders, total 37748736 sectors
  4. Units = sectors of 1 * 512 = 512 bytes
  5. Sector size (logical/physical): 512 bytes / 512 bytes
  6. I/O size (minimum/optimal): 512 bytes / 512 bytes
  7. Disk identifier: 0x9fae99c8
  8. Device Boot Start End Blocks Id System
  9. /dev/sda1 2048 37748735 18873344 8e Linux LVM

使用w写入设置并退出fdisk工具,重启系统使设置生效。

作为参考,我下面附上了截图来给你在创建LVM驱动器时一个明确的指导。

创建LVM分区

系统重启后,使用fdisk命令列出分区表。

  1. # fdisk -l /dev/sda

验证LVM分区

第二步: 为LUN创建逻辑卷

现在我们使用‘pvcreate’命令创建物理卷。

  1. # pvcreate /dev/sda1

用iSCSI的名字创建卷组来区分这个卷组。

  1. # vgcreate vg_iscsi /dev/sda1

这里我定义了4个逻辑卷,因此在我的iSCSI target上就会有4个LUN。

  1. # lvcreate -L 4G -n lv_iscsi vg_iscsi
  2. # lvcreate -L 4G -n lv_iscsi-1 vg_iscsi
  3. # lvcreate -L 4G -n lv_iscsi-2 vg_iscsi
  4. # lvcreate -L 4G -n lv_iscsi-3 vg_iscsi

列出物理卷、卷组和逻辑卷确定。

  1. # pvs && vgs && lvs
  2. # lvs

为了更好地理解上面的命令,我在下面包含了截图作为参考。

创建LVM逻辑卷

验证LVM逻辑卷

第三步: 在目标器中定义LUN

我们已经创建了逻辑卷并准备使用LUN,现在我们在目标器配置中定义LUN,只有这样做它才能用在客户机中(发起程序)。

用你选择的编辑器打开位于‘/etc/tgt/targets.conf’的目标器配置文件。

  1. # vim /etc/tgt/targets.conf

追加下面的target配置文件中的定义。保存并关闭文件。

  1. <target iqn.2014-07.com.tecmint:tgt1>
  2. backing-store /dev/vg_iscsi/lv_iscsi
  3. </target>
  4. <target iqn.2014-07.com.tecmint:tgt1>
  5. backing-store /dev/vg_iscsi/lv_iscsi-1
  6. </target>
  7. <target iqn.2014-07.com.tecmint:tgt1>
  8. backing-store /dev/vg_iscsi/lv_iscsi-2
  9. </target>
  10. <target iqn.2014-07.com.tecmint:tgt1>
  11. backing-store /dev/vg_iscsi/lv_iscsi-3
  12. </target

在target中配置LUN

上图的解释:

  1. iSCSI 采取限定名 (iqn.2014-07.com.tecmint:tgt1).
  2. 名称随便你
  3. 用于确定目标名, 这是这台服务器中的第一个目标
  4. LVM共享特定的LUN。

接下来使用下面的命令重载tgd服务配置。

  1. # /etc/init.d/tgtd reload

重载配置

接下来使用下面的命令验证可用的LUN。

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

列出可用LUN

LUN信息

上面的命令会列出可用LUN的下面这些信息

  1. iSCSI 限定名
  2. iSCSI 已经准备好
  3. 默认LUN 0被控制器所保留
  4. LUN 1是我们定义的目标器
  5. 这里我为每个LUN都定义了4GB
  6. 在线: 是的,这就是可以使用的LUN

现在我们已经使用LVM为目标器定义了LUN,这可扩展并且支持很多特性,如快照。我们将会在第三部分了解如何用目标器授权,并且本地挂载远程存储。

在 iSCSI Target 服务器中使用LVM创建和设置LUN(二)的更多相关文章

  1. 在Delphi中如何动态创建dbf数据库(二)?

    unit Form_ToChangCSVforDBFU; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics ...

  2. 使用iSCSI Target创建集中式安全存储(一)

    iSCSI 是一种块级别的协议,用于通过TCP/IP网络共享原始存储设备,可以用已经存在的IP和以太网如网卡.交换机.路由器等通过iSCSI协议共享和访问存储.iSCSI target是一种由远程iS ...

  3. iscsi target 之LIO配置

    LIO 配置 现在主流Linux都可以设置iSCSI,如STGT/TGT.LIO Target等.Linux-IO(LIO)Target是当前Linux标准的iSCSI target的开源实现,包含在 ...

  4. 悄摸直播(二)—— 播流器实现(拉取rtmp服务器中的数据流,播放直播画面)

    悄摸直播 -- JavaCV实现本机摄像头画面远程直播 播流器 一.功能说明 从rtmp服务器中获取视频流数据 + 展示直播画面 二.代码实现 /** * 播流器 * @param inputPath ...

  5. 关于window服务器中新建的普通用户无法登录远程桌面

    今天在公司服务器中为客户创建了一个普通用户 user5201351  并设置好了密码, 发给客户后,反映使用我们创建的用户不能通过远程桌面进行登录 查询资料后才知道,在windows中,需要将用户加入 ...

  6. Linux服务器中创建Oracle数据库实例

    紧接上篇,在Linux服务器已经完成对Oracle数据库软件的安装后,接下来要创建Oracle实例,看图说话: [su – oracle echo $DISPLAY export DISPLAY=10 ...

  7. node.js中express模块创建服务器和http模块客户端发请求

    首先下载express模块,命令行输入 npm install express 1.node.js中express模块创建服务端 在js代码同文件位置新建一个文件夹(www_root),里面存放网页文 ...

  8. node.js中net模块创建服务器和客户端(TCP)

    node.js中net模块创建服务器和客户端 1.node.js中net模块创建服务器(net.createServer) // 将net模块 引入进来 var net = require(" ...

  9. Laravel中我们登录服务器通过 Tinker 手动创建后台管理用户

    Laravel中我们可以登录到服务器通过 Tinker 手动创建后台用户 laravel中tinker命令的作用是用来调试laravel,可以打印变量或对象信息,显示函数代码,对数据库写入和查询数据. ...

随机推荐

  1. 设置MySQL允许外网访问 费元星 feiyuanxing.com 站长

    1.修改配置文件sudo vim /etc/mysql/my.cnf把bind-address参数的值改成你的内/外网IP或0.0.0.0,或者直接注释掉这行. 2.登录数据库mysql -u roo ...

  2. 剑指Offer - 九度1387 - 斐波那契数列

    剑指Offer - 九度1387 - 斐波那契数列2013-11-24 03:08 题目描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项.斐波那契数列的定义如下: ...

  3. 孤荷凌寒自学python第三十六天文件内容的迭代操作

     孤荷凌寒自学python第三十六天python的文件操作对文件内容的迭代操作 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.os模块的其它文件操作方法补充 1 os.remove(文件 ...

  4. 想了一天的题目QAQ 毛线数列的最值

    #include <cstdio> #include <cstring> #include <cmath> #include <iostream> #i ...

  5. vue cli 3 & webpack-merge & webpack 3 & bug

    vue cli 3 & webpack-merge & webpack & bug bug webpack-merge & bug webpack-merge ??? ...

  6. 【bzoj2770】YY的Treap 权值线段树

    题目描述 志向远大的YY小朋友在学完快速排序之后决定学习平衡树,左思右想再加上SY的教唆,YY决定学习Treap.友爱教教父SY如砍瓜切菜般教会了YY小朋友Treap(一种平衡树,通过对每个节点随机分 ...

  7. Codeforces Round #389 (Div. 2) 752F(树的权值重心)

    题目大意 给定2k个队伍分别住在2k个城市里,需要设定若干个城市,然后选取2个队伍要在它们的最短路径上设一个城市作为休息站 要求设立最少的休息站,然后输出如何安排2个队伍 首先若干个其实就是在坑人,实 ...

  8. 雅礼集训 Day1 T1 养花

    养花 题目描述 小\(C\)在家种了\(n\)盆花,每盆花有一个艳丽度\(a_i\). 在接下来的\(m\)天中,每天早晨他会从一段编号连续的花中选择一盆摆放在客厅, 并在晚上放回. 同时每天有特定的 ...

  9. 白白的(baibaide)

    白白的(baibaide) 有一个长度为 $n$ 的序列 $a_1, a_2, \dots, a_n$,一开始每个位置都是白色.如果一个区间中每个位置都是白色,则称这是一个白白的区间.如果一个白白的区 ...

  10. Maven项目消除奇怪的红叉

    当项目截然无误,然则Eclipse总是出现红叉的时候,右键点击项目->Maven->Update Project-,进而纠正之.很简答的操作. 木头大哥所发的文章均基于自身实践,各位江湖好 ...