先上服务器信息(你懂得)

[root@node ~]# cat /etc/redhat-release
CentOS release 6.6 (Final)
[root@node ~]# uname -r
2.6.32-504.el6.x86_64
[root@node ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:AD:E7:36
inet addr:192.168.221.130 Bcast:192.168.221.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fead:e736/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:186222 errors:0 dropped:0 overruns:0 frame:0
TX packets:25234 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:233390875 (222.5 MiB) TX bytes:7363625 (7.0 MiB) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

  

我们先看一下关于LUN理解,这里引用一段通俗易懂的话解释一下:

LUN的全称是Logical Unit Number,也就是逻辑单元号。我们知道SCSI总线上可挂接的设备数量是有限的,一般为6个或者15个,我们可以用target ID(也有称为SCSI ID的)来描述这些设备,设备只要一加入系统,就有一个代号,我们在区别设备的时候,只要说几号几号就ok了。

而实际上我们需要用来描述的对象,是远远超过该数字的,于是我们引进了lun的概念,也就是说lun id的作用就是扩充了target id。每个target下都可以有多个lun device,我们通常简称lun device为lun,这样就可以说每个设备的描述就有原来的target X变成target x lun y了,那么显而易见的,我们描述设备的能力增强了。就好比,以前你给别人邮寄东西,写地址的时候,可以写:

xx市人民大街54号 xxx(收)

但是自从高楼大厦越来越多,你不得不这么写:

xx市人民大街54号xx大厦518室 xxx (收)

所以我们可以总结一下,LUN就是我们为了使用和描述更多设备及对象而引进的一个方法而已,一点也没什么特别的地方。

LUN ID不等于某个设备,只是个号码而已,不代表任何实体属性,在我们的实际环境里,我们碰到的LUN可能是磁盘空间,可能是磁带机,或者是media changer等等。

LUN的神秘之处(相对于一些新手来说)在于,它很多时候不是什么可见的实体,而是一些虚拟的对象。比如一个阵列柜,主机那边看作是一个target device,那为了某些特殊需要,我们要将磁盘阵列柜的磁盘空间划分成若干个小的单元给主机来用,于是就产生了一些什么逻辑驱动器的说法,也就是比target device级别更低的逻辑对象,我们习惯于把这些更小的磁盘资源称之为LUN0,LUN1,LUN2……什么的。而操作系统的机制使然,操作系统识别的最小存储对象级别就是LUN Device,这是一个逻辑对象,所以很多时候被称之为Logical Device。

再来一盘理解

LUN是逻辑单元号,它与iSCSI存储服务器共享。iSCSI 目标器通过TCP/IP网络共享它的物理驱动器给发起程序(initiator)。这些来自一个大型存储(SAN:Storage Area Network)的驱动器集合称作LUN。在真实环境中LUN是在LVM中定义的,因为它可以按需扩展。

为什么使用LUN

LUN用于存储,SAN存储大多数由LUN的集群来组成存储池,LUN由目标器的几块物理驱动器组成。我们可以使用LUN作为系统物理驱动器来安装操作系统,LUN可以用在集群、虚拟服务器、SAN中。在虚拟服务器中使用LUN的主要用途是作为操作系统的存储。LUN的性能和可靠性根据在创建目标存储服务器时所使用的驱动器决定。

1.列出所有分区列表

[root@node ~]# fdisk -l

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d8676 Device Boot Start End Blocks Id System Disk /dev/sdc: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00012d5d Device Boot Start End Blocks Id System Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0009c78c Device Boot Start End Blocks Id System
/dev/sda1 * 1 4463 35840000 83 Linux
/dev/sda2 4463 5222 6102016 82 Linux swap / Solaris

2.使用/dev/sdb创建LVM

[root@node ~]# fdisk -cu /dev/sdb                                               //-c代表关闭DOS兼容模式 -u 于列出分区表时给出扇区而不是柱面的大小

Command (m for help): n                                                         //输入n创建新分区
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1 //给创建的分区一个分区号
First sector (2048-41943039, default 2048): //使用默认,按回车
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): //使用默认,按回车
Using default value 41943039 Command (m for help): t //改变分区类型,输入t
Selected partition 1 //选择分区
Hex code (type L to list codes): 8e //设置LVM,看下表
Changed system type of partition 1 to 8e (Linux LVM) Command (m for help): l //l查看所有文件系统类型 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx
5 Extended 42 SFS 86 NTFS volume set da Non-FS data
6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt
9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access
a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary
16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT
1e Hidden W95 FAT1 Command (m for help): p //列出分区表 Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 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: 0x000d8676 Device Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 8e Linux LVM Command (m for help): w //输入w写入设置
The partition table has been altered! Calling ioctl() to re-read partition table.
Syncing disks.

reboot,重启一下

查看/dev/sdb信息

[root@node ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
213 heads, 34 sectors/track, 5791 cylinders
Units = cylinders of 7242 * 512 = 3707904 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d8676 Device Boot Start End Blocks Id System
/dev/sdb1 1 5792 20970496 8e Linux LVM

3.为LUN创建逻辑卷

[root@node ~]# pvcreate /dev/sdb1                                              //pvcreate命令创建物理卷
-bash: pvcreate: command not found //没有找到命令
[root@node ~]# yum install lvm2 //安装lvm
[root@node ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
[root@node ~]# vgcreate vg_iscsi /dev/sdb1 //用iSCSI的名字创建卷组来区分这个卷组。
Volume group "vg_iscsi" successfully created
[root@node ~]# lvcreate -L 5G -n lv_iscsi vg_iscsi //定义了4个逻辑卷
Logical volume "lv_iscsi" created.
[root@node ~]# lvcreate -L 5G -n lv_iscsi-1 vg_iscsi //因此在我的iSCSI target上就会有4个LUN
Logical volume "lv_iscsi-1" created.
[root@node ~]# lvcreate -L 5G -n lv_iscsi-2 vg_iscsi
Logical volume "lv_iscsi-2" created.
[root@node ~]# lvcreate -L 5G -n lv_iscsi-3 vg_iscsi
Volume group "vg_iscsi" has insufficient free space (1279 extents): 1280 required.
[root@node ~]# lvcreate -L 4G -n lv_iscsi-3 vg_iscsi
Logical volume "lv_iscsi-3" created.
[root@node ~]# pvs                                                   //列出物理卷
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg_iscsi lvm2 a-- 20.00g 1020.00m
[root@node ~]# vgs //列出卷组
VG #PV #LV #SN Attr VSize VFree
vg_iscsi 1 4 0 wz--n- 20.00g 1020.00m
[root@node ~]# lvs //列出逻辑卷
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_iscsi vg_iscsi -wi-a----- 5.00g
lv_iscsi-1 vg_iscsi -wi-a----- 5.00g
lv_iscsi-2 vg_iscsi -wi-a----- 5.00g
lv_iscsi-3 vg_iscsi -wi-a----- 4.00g

4.在Target中定义LUN

通过以上步骤,我们已经创建了逻辑卷并准备使用LUN,现在我们在Target配置中定义LUN,有这样做它才能用在客户机中(发起程序)。

VIM打开Target配置文件/etc/tgt/targets.conf

追加以下内容到该配置文件。

<target iqn.2015-09.com.node:tgt1>
backing-store /dev/vg_iscsi/lv_iscsi
</target>
<target iqn.2015-09.com.node:tgt1>
backing-store /dev/vg_iscsi/lv_iscsi-1
</target>
<target iqn.2015-09.com.node:tgt1>
backing-store /dev/vg_iscsi/lv_iscsi-2
</target>
<target iqn.2015-09.com.node:tgt1>
backing-store /dev/vg_iscsi/lv_iscsi-3
</target>
注释:
iSCSI有一套自己的共享target文件名的定义,基本上通过iSCSI共享出来的target文件名都是以iqn(iSCSI Qualified Name,iSCSI合格名称),iqn后面的格式如下: iqn.yyyy-mm.<翻转域名>:identifier 年 月 target名称
我的机器是www.node.com,翻转域名就是com.node   其实,com.node中,node的名字可以随便起。。。。。。。

重载tgt服务配置

[root@node ~]# /etc/init.d/tgtd reload
Updating SCSI target daemon configuration: [确定]

验证当前可用的LUN

[root@node ~]# tgt-admin --show
Target 1: iqn.2015-09.com.node:tgt1 //我们的Target
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller //默认的LUN 0是保留的
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
LUN: 1 //第一个LUN
Type: disk //磁盘
SCSI ID: IET 00010001
SCSI SN: beaf11
Size: 5369 MB, Block size: 512 //容量
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/vg_iscsi/lv_iscsi //磁盘实际所在的文件名
Backing store flags:
LUN: 2
Type: disk
SCSI ID: IET 00010002
SCSI SN: beaf12
Size: 5369 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/vg_iscsi/lv_iscsi-1
Backing store flags:
LUN: 3
Type: disk
SCSI ID: IET 00010003
SCSI SN: beaf13
Size: 5369 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/vg_iscsi/lv_iscsi-2
Backing store flags:
LUN: 4
Type: disk
SCSI ID: IET 00010004
SCSI SN: beaf14
Size: 4295 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/vg_iscsi/lv_iscsi-3
Backing store flags:
Account information: //额外的账户信息
ACL information: //额外的权限限制
ALL

OK,至此,LUN篇结束。

参考:

linux中国:https://linux.cn/   我最喜欢的linux中文网站

使用iSCSI Target创建集中式安全存储(一):https://linux.cn/article-4971-1.html

鸟哥的LINUX私房菜--服务器架设篇

存储基础知识之——磁盘阵列原理及操作实战:

http://codefine.co/%E5%88%86%E7%B1%BB/%E8%BD%AF%E4%BB%B6%E6%8A%80%E6%9C%AF/%E5%AD%98%E5%82%A8/page/4/#post-1222

  

 

 

  

 

CentOS iSCSI服务器搭建------LUN篇的更多相关文章

  1. CentOS iSCSI服务器搭建------Target篇

    先上服务器信息(当然是我YY的服务器.哈哈) [root@node ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@node ...

  2. CentOS iSCSI服务器搭建------Initiator篇

    服务器信息: [root@initiator ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@initiator ~]# un ...

  3. Centos vsftpd服务器搭建

    Centos vsftpd服务器搭建 时间:2016-07-18 1.最为简单的vsftpd服务器搭建 1.安装vsftpd 1.yum 安装 yum install vsftpd 2.rpm文件安装 ...

  4. centos dhcp 服务器搭建 多vlan

    centos dhcp 服务器搭建   多vlan centos 6.5   版本     /etc/dhcp/dhcpd.conf         服务器配置文件 /etc/rc.d/init.d/ ...

  5. iSCSI 服务器搭建

    一.简介 SCSI(Small Computer System Interface),小型计算机系统接口,是一种用于计算机及其周边设备之间(硬盘.软驱.光驱.打印机.扫描仪等)系统级接口的独立处理器标 ...

  6. centos svn服务器搭建

    1.安装svnyum install subversion查看安装目录rpm -ql subversion 查看yum安装subversion的位置 2.创建仓库创建版本库目录mkdir -p /va ...

  7. CentOS SVN 服务器搭建

    源码目录:/home/user/project 工程名:project 工程目录:/source/svn/project 访问地址:svn://ip/project 一. 安装svn yum inst ...

  8. linux centos ftp服务器搭建

    原文参考 步骤一:构建vsftpd服务器 1)使用yum安装vsftpd软件包yum -y install vsftpdrpm -q vsftpd #确认安装成功,显示vsftpd对应版本 vsftp ...

  9. Centos 7服务器搭建MySQL(mariadb)服务

    1.下载并安装MySQL yum install mariadb mariadb-server -y 2.启动MySQL systemctl start mariadb 3.对mariadb进行初始化 ...

随机推荐

  1. Gauge安装

    Gauge系列推荐:https://blog.csdn.net/column/details/20089.html Gauge是一种轻量级的跨平台测试自动化工具,可以以业务语言编写测试用例. 安装 下 ...

  2. CLR 完全介绍

    From: http://msdn.microsoft.com/zh-cn/magazine/cc164193.aspx http://msdn.microsoft.com/en-us/magazin ...

  3. asp.net core mvc视频A:笔记3-5.视图数据共享之TempData

    前几节讲的都是单页面数据共享,从本节开始讲跨页面数据共享 创建项目3.5,新建控制器 代码 控制器 设置TempData 另一个视图中读取TempData数据 运行 此时如果刷新页面,页面中的内容“张 ...

  4. linux命令的别名alias,unalias

    1. 别名 linux别名alias的作用: 1. 简化特别长得命令和參数 2. 对一些命令添加默认选项.提高安全性. 2. alias使用 [www@work sh]$ alias lm='ls - ...

  5. [译]GLUT教程 - 动画

    Lighthouse3d.com >> GLUT Tutorial >> Basics >> Animation 前面章节我们已经创建了一个白色三角形的窗体.还没到 ...

  6. rsync客户端命令使用简介

    rsync是linux下很流行的增量备份工具,也支持本地文件(夹)复制至远程,而且支持只传输增量部分,也是一个代码(程序)发布的好工具. 基本用法如下: rsync [一堆选项] 源文件(夹) 目标文 ...

  7. 【Github】之突然访问不了Github地址

    访问Github突然上不去了 解决办法: 一.修改hosts 1.打开Dns检测|Dns查询 - 站长工具2.在检测输入栏中输入http://github.com官网3.把检测列表里的TTL值最小的I ...

  8. mysql使用存储过程制造测试数据

    DELIMITER $$ DROP PROCEDURE IF EXISTS message_insert_procedure; CREATE PROCEDURE `test`.`message_ins ...

  9. 嵌入式驱动开发之sensor---sensor 图形传感器调试

    图像传感器(image sensor)复位顺序 1. 硬件复位寄存器:2. 软件复位寄存器:3. 设置时钟寄存器:4. 设置PLL倍频:5. 设置分辨率:6. 设置窗口控制:7. 设置输出顺序:8. ...

  10. 走进Struts2(五)— 值栈和OGNL

    值栈 1.值栈是什么? 简单说:就是相应每个请求对象的轻量级的内存数据中心. Struts2引入值栈最大的优点就是:在大多数情况下,用户根本无须关心值栈,无论它在哪里,不用管它里面有什么,仅仅须要去获 ...