首页 > 代码库 > 网络存储服务器
网络存储服务器
源自《Linux 运维之道》丁一明编著 一书的总结
目前计算机领域的存储解决方案主要有直连存储(DAS)、存储区域网络(SAN)以及网络附加存储(NAS)三种。SAN(storage Area Network指是一整套存储网络的解决方案,采用光纤通道技术,SAN通过光纤交换机将服务器与存储设备连接在一起的网络整体环境)。NAS(network-Attached Storage)可以使用普通的网络环境,通过以太网交换机等设备连接服务器与存储设备。
iSCSI(Internet Small Computer System Interface)是典型的IP-SAN技术,基于因特网的SAN存储技术,该技术使得我们可以在基于IP协议的网络上传输SCSI命令,在iSCSI环境中,客户端发送SCSI命令给远程的SCSI存储设备,实现数据的存储与备份功能。iSCSI使用TCP860和3260端口通信。
LUN(Logical Unit Number)是设备的逻辑单元号,一般为数字,我们使用LUN来标志存储设备。IQN(iSCSI Qualified Name)为iSCSI合格名称,一般格式为iqn.yyyy-mm.<reversed domain name>:identifier,其中yyyy表示年,mm表示月,reversed domain name是域名的反写,identifier为标志名称。如:iSCSI服务器域名为www.example.com,则IQN全称可以写成iqn.2012-10.com.example.www:disk1。这种IQN的书写格式不是创建iSCSI服务必须遵守的,但是推荐使用这样的标准格式。
[root@localhost tcpcliserv]# yum -y install scsi-target-utils
[root@localhost tcpcliserv]# fdisk -cul |grep /dev/sd
Disk /dev/sda: 21.5 GB, 21474836480 bytes
/dev/sda1 * 2048 616447 307200 83 Linux
/dev/sda2 616448 37814271 18598912 83 Linux
/dev/sda3 37814272 41943039 2064384 82 Linux swap / Solaris
[root@localhost tcpcliserv]# gedit /etc/tgt/targets.conf
在default-driver iscsi一行添加内容:
<target iqn.2014-06.com.example:disk1>
backing-store /dev/sda2
lun 20
initiator-address 192.168.118.254
incominguser tom 123 #注意要一个空格就行了,空格多了不行!!!
</target>
第三个target定义了一个LUN,编号为20,共享设备为/dev/sda2,仅允许tom账户通过192.168.118.254访问该target。
开启服务器,并查看iSCSI的详细信息。
[root@localhost tcpcliserv]# fdisk -cul |grep /dev/sd
Disk /dev/sda: 21.5 GB, 21474836480 bytes
/dev/sda1 * 2048 616447 307200 83 Linux
/dev/sda2 616448 37814271 18598912 83 Linux
/dev/sda3 37814272 41943039 2064384 82 Linux swap / Solaris
[root@localhost tcpcliserv]# gedit /etc/tgt/targets.conf
[root@localhost tcpcliserv]# gedit /etc/tgt/targets.conf
[root@localhost tcpcliserv]# /etc/init.d/tgtd start
Starting SCSI target daemon: [ OK ]
Option incominguser has a missing value!
Check your config file for errors (target: iqn.2014-06.com.example:disk1)
[root@localhost tcpcliserv]# chkconfig tgtd on
[root@localhost tcpcliserv]# iptables -I INPUT -p tcp --dport 3260 -j ACCEPT
[root@localhost tcpcliserv]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
[root@localhost iscsi]# tgtadm --lld iscsi --op show --mode target
Target 1: iqn.2014-06.com.example:disk1
System information:
Driver: iscsi
State: ready
I_T nexus information:
I_T nexus: 2
Initiator: iqn.1993-08.org.debian:01:1a9432a6020
Connection: 0
IP Address: 192.168.118.254
LUN information:
LUN: 0
Type: controller
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:
Account information:
ACL information:
ALL
在unutu客户端登录
root@ubuntu:/home/tempal# sudo apt-get install open-iscsi open-iscsi-utils
root@ubuntu:/home/tempal# sudo iscsiadm -m discovery -t sendtargets -p 192.168.118.253
192.168.118.253:3260,1 iqn.2014-06.com.example:disk1
root@ubuntu:/home/tempal# iscsiadm -m node --targetname iqn.2014-06.com.example:disk1 -p 192.168.118.253 --login
Logging in to [iface: default, target: iqn.2014-06.com.example:disk1, portal: 192.168.118.253,3260]
Login to [iface: default, target: iqn.2014-06.com.example:disk1, portal: 192.168.118.253,3260]: successful