0%

Ubuntu安装IPSAN

参考文章

IPSAN的定义就不讲了,主要讲一下搭建环境。IPSAN主要包括两种node:

  • initiator:可以理解为客户端
  • target:可以理解为服务器端

实际上也不存在客户端服务器端的理解。target端主要是把磁盘share出来给其他设备用的。initiator相当于用来映射target端的磁盘到本地的。

安装及配置target端

服务器准备(ip: 192.168.0.100)

服务器需要有两块磁盘,如果使用虚拟机环境,则特别简单

  • 第一块硬盘用来安装系统,大小40G就够了
  • 第二块硬盘用来通过IPSAN来share,按需来创建,最小2G

安装软件包

在Ubuntu上安装target端很简单,主要是安装tgt软件包

1
2
3
4
5
# 升级软件包
$ apt update -y
$ apt upgrade -y
# 安装tgt
$ apt install tgt -y

默认状况下,安装完毕后,tgt服务就应该已经正常运行了。当然,可以确认是否已经运行正常

1
$ systemctl status tgt

配置

安装完成后,一般情况是没有这个文件的,需要自己创建一个。创建配置文件/etc/tgt/conf.d/iscsi.conf

1
2
3
4
5
6
<target abc.id123.testsite.xyz:lun1>
backing-store /dev/sdb
initiator-address 192.168.0.0/16
incominguser test password
outgoinguser test password
</target>

配置说明

  1. target后面为节点名称,随便写
  2. backing-store,即将要share出去的磁盘
  3. initiator-address,即可以允许连接的IP地址或地址范围
  4. incominguser,入的用户名密码(我的理解是写权限)
  5. outgoinguser,出的用户名密码(我的理解是读权限)

检查配置

1
$ systemctl restart tgt
  • 查看状态
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
$ tgtadm --mode target --op show
Target abc.id123.testsite.xyz:lun1
System information:
Driver: iscsi
State: ready
I_T nexus information:
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
SWP: No
Thin-provisioning: No
Backing store type: null
Backing store path: None
Backing store flags:
LUN: 1
Type: disk
SCSI ID: IET 00010001
SCSI SN: beaf11
Size: 2146 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
SWP: No
Thin-provisioning: No
Backing store type: rdwr
Backing store path: /dev/sdb
Backing store flags:
Account information:
test
test (outgoing)
ACL information:
192.168.0.0/16

安装及配置initiator

如果你只是想创建一个IPSAN共享存储出去,那么不需要安装initiator。本例则同样通过另外一台Ubuntu服务器来连接target端

安装及配置initiator(192.168.0.200)

  • 安装open-iscsi软件包
1
$ apt-get install open-iscsi -y
  • 探测target端
1
2
$ iscsiadm -m discovery -t st -p 192.168.0.100
192.168.0.100:3260,1 abc.id123.testsite.xyz:lun1
  • 修改配置文件

探测完成后,将会在/etc/iscsi/nodes/目录和/etc/iscsi/send_targets/目录下看到对应的target

1
2
3
4
5
6
7
8
$ ls -l /etc/iscsi/nodes/abc.id123.testsite.xyz\:lun1/192.168.0.100\,3260\,1/ 
total 4
-rw------- 1 root root 1840 Nov 8 13:17 default

$ ls -l /etc/iscsi/send_targets/192.168.0.100,3260/
total 8
lrwxrwxrwx 1 root root 66 Nov 8 13:17 abc.id123.testsite.xyz:lun1,192.168.0.100,3260,1,default -> /etc/iscsi/nodes/abc.id123.testsite.xyz:lun1/192.168.0.100,3260,1
-rw------- 1 root root 547 Nov 8 13:17 st_config

修改default文件,增加CHAP的配置(认证相关)

vim /etc/iscsi/nodes/abc.id123.testsite.xyz\:lun1/192.168.0.100\,3260\,1/default,新增如下内容

1
2
3
4
5
6
node.session.auth.authmethod = CHAP
node.session.auth.username = test
node.session.auth.password = password
node.session.auth.username_in = test
node.session.auth.password_in = password
node.startup = automatic

验证

  • 重启服务
1
$ systemctl restart open-iscsi
  • 检查是否映射完成
1
2
3
4
5
6
7
8
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
└─sda2 8:2 0 39.5G 0 part /
sdb 8:16 0 120G 0 disk
└─sdb1 8:17 0 120G 0 part
sr0 11:0 1 1024M 0 rom

其中的sdb即为通过IPSAN连接的磁盘。可以以本地磁盘的方式进行访问

更多内容

可以参看这篇文章来创建多台target,创建LVM并share出去一组成IPSAN存储设备组