Linux下如何搭建SAN系统

Linux下如何搭建SAN系统,第1张

ipsan配置:

server端 192.168.1.20

安装包 scsi-target-utils #yum安装

vim /etc/tgt/targets.conf

<target iqn.2008-09.com.example:server.target1>

backing-store /dev/sda#你要共享的硬盘或分区

write-cache off

vendor_id xx #client配置udev时使用

product_id xx #client配置udev时使用

initiator-address 192.168.1.0/24 #访问列表

</target>

service tgtd start #开启服务

tgt-admin show #检查ipsan开启状态

client 192.168.1.11

安装包 iscsi-initiator-utils

service iscsid start #开启服务

iscsiadm -m discovery -t sendtargets -p 192.168.1.20:3260 #发现server端存储

iscsiadm -m node -T iqn.2008-09.com.example:server.target1 -l #挂在分区

fdisk -l #查看分区是否挂在成功

iscsiadm -m node -T iqn.2008-09.com.example:server.target1 -u #卸载分区

以上在redhat系系统可用,未配置udev。

先安装iSCSI initiator以及iscsiadm

iscsiadm是基于命令行的iscsi管理工具,提供了对iscsi节点、会话、连接以及发现记录的 *** 作。

iscsiadm的使用说明可以查看/usr/share/doc/iscsi-initiator-utils-6.2.0.742/README,也可以运行man iscsiadm或iscsiadm --help

#yum install iscsi-initiator-utils*

使用

下面来讲一下连接iscsi设备的步骤:

1 启动iscsi守护进程

#service iscsi start

默认情况下,系统启动后此进程会自动运行

2 发现目标

默认情况下,iscsi发起方和目标方之间通过端口3260连接。假设已知iscsi的目标方IP是192.168.1.1,运行下列命令:

#chkconfig iscsi on;chkconfig iscsi --list (查看ISCSI启动状态)

#iscsiadm -m discovery -t sendtargets -p 192.168.1.1:3260

此时找到拥有一个目标(target)

#192.168.1.1:3260,2 iqn.1995-03.com.dothill:01.array.00c0ff137675

3登入节点

以上面被发现的目标为例

# iscsiadm -m node –T iqn.1995-03.com.dothill:01.array.00c0ff137675 -p 192.168.1.1:3260 -l

其中iqn.1997-05.com.test:raid是目标名

如果要在系统启动时自动登入

# iscsiadm -m node –T iqn.1995-03.com.dothill:01.array.00c0ff137675 -p 192.168.1.1:3260 --op update -n node.startup -v automatic

登入节点后,运行

#fdisk –l

应该可以看到目标方的存储设备信息,如

Disk /dev/sdb: 3489.8 GB, 3489862254592 bytes

255 heads, 63 sectors/track, 424284 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

/dev/sdb即为连接的iscsi存储设备

登入需验证码的节点:

(1)开启认证

iscsiadm -m node -T [装置] -o update --name node.session.auth.authmethod --value=CHAP

*.使用-o同--op

(2)添加用户

iscsiadm -m node -T [装置] --op update --name node.session.auth.username --value=[用户名]

(3)添加密码

iscsiadm –m node –T [装置] –op update –name node.session.auth.password –value=[密码]

4 格式化设备

如欲将设备格式化为ext3文件系统,运行

# mkfs.ext4 /dev/sdb

5挂接设备

在/mnt下创建iscsi目录

#mkdir /mnt/iscsi

运行mount命令:

# mount /dev/sdb /mnt/iscsi

针对iscsi设备的特殊mount选项

运行df –h可以看到:

/dev/sdb 3.4T186M 3.4T 1% /mnt/iscsi

iscsi设备被成功挂接,可以当作常规存储设备使用了。

如果要在系统启动时自动挂接

编辑/etc/fstab

加入一行:

/dev/sdb /mnt/iscsi ext4 default 0 0

6 登出节点

首先解除挂接

#umount /mnt/iscsi

登出

# iscsiadm -m node –T iqn.1995-03.com.dothill:01.array.00c0ff137675 -p 192.168.1.1:3260 –u

在 iSCSI Target 服务器中使用LVM创建和设置LUN

为什么使用LUN?

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

前置阅读

要了解创建iSCSI 目标器,点击下面的链接。

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

主服务器设置

系统信息和网络设置部分与前文的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,default2048):

Usingdefault value 2048

Last sector,+sectors or+size{K,M,G}(2048-37748735,default37748735):

Usingdefault 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

DeviceBootStartEndBlocksIdSystem

/dev/sda1 204837748735188733448eLinux 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配置文件中的定义。保存并关闭文件。

<targetiqn.2014-07.com.tecmint:tgt1>

backing-store /dev/vg_iscsi/lv_iscsi

</target>

<targetiqn.2014-07.com.tecmint:tgt1>

backing-store /dev/vg_iscsi/lv_iscsi-1

</target>

<targetiqn.2014-07.com.tecmint:tgt1>

backing-store /dev/vg_iscsi/lv_iscsi-2

</target>

<targetiqn.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,这可扩展并且支持很多特性,如快照。我们将会在第三部分了解如何用目标器授权,并且本地挂载远程存储。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11377345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存