- 安装 TGT
安装完成后,启动 TGT 服务:
# service tgtd start
如果想在系统启动时自动启动 TGT 服务,可以使用如下命令:
# chkconfig tgtd on
如果想确认 TGT 服务是否启动,可以用 # service tgtd status 查看服务状态;当然,也可以查询 TGT 服务占用的端口:
# netstat -anlpt | grep 3260
其中,3260 是 TGT 服务的监听端口。结果如下:
- 使用 TGT
1、创建 Target
# tgtadm --lld iscsi --mode target --op new --tid 2 --targetname iqn.2012-12.com.example:server.target
2、查询 Target
# tgtadm --lld iscsi --mode target --op show
该命令查询所有的 Target,结果如下:
上述命令查询的是所有 Target 的信息(Target 1 没有列出)。可以看出,Target 2 中已经有一个序号为 0 的 LUN 了,该 LUN 是管理用的,由 tgtadm 自动创建。
如果要查询某个 Target 的详细信息,可以使用 --tid <id> 选项:
# tgtadm --lld iscsi --mode target --op show --tid 2
3、添加 LUN
创建 Target 之后,需要向其分配存储空间(即 LUN)和 LUN 号。LUN 可以是磁盘、分区或者文件,LUN 号必须是自然数。这里用文件作为 LUN。
(1) 创建用作 LUN 的文件
# dd if=/dev/zero of=/home/lun.bin count=0 obs=1 seek=1G
(2) 添加 LUN
# tgtadm --lld iscsi --mode logicalunit --op new --tid 2 --lun 1 --backing-store /home/lun.bin
添加 LUN 后的 Target 2 如下,可以看到刚才添加的 LUN 1:
# tgtadm --lld iscsi --mode target --op show
4、访问控制
为 Target 分配了 LUN 后,需要配置访问控制才可以使用。可以设置所有用户都能访问,也可以设置基于IP/IP段或用户名验证的访问权限。
注意:访问控制是 Target 的一个特性,只能给 Target 添加访问控制,而对单独的 LUN 则无法添加访问控制。
(1) 任意访问权限
# tgtadm --lld iscsi --mode target --op bind --tid 2 -I all
# tgtadm --lld iscsi --mode target --op show
(2) 删除访问权限
# tgtadm --lld iscsi --mode target --op unbind --tid 2 -I all
(3) 基于 IP 的权限
添加两个 IP 的访问权限:
# tgtadm --lld iscsi --mode target --op bind --tid 2 -I 192.168.1.10
# tgtadm --lld iscsi --mode target --op bind --tid 2 -I 192.168.2.10
再添加一个 IP 段的访问权限:
# tgtadm --lld iscsi --mode target --op bind --tid 2 -I 192.168.3.0/24
查看 Target 2 的信息:
# tgtadm --lld iscsi --mode target --op show
5、删除 LUN
# tgtadm --lld iscsi --mode logicalunit --op delete --tid 2 --lun 1
查看 Target 2 的信息:
# tgtadm --lld iscsi --mode target --op show
6、删除 Target
# tgtadm --lld iscsi --mode target --op delete --tid 2
TGT 的主要管理功能介绍的差不多了,如果想要使用其他功能,还是查 tgtadm 的帮助吧。