scstadmin & iscsiadm

配置target

target的名字是可以自定义的
1. 创建target
scstadmin -add_target -driver iscsi
:自定义的target name,一般的格式是iqn.yyyy-mm.:identifier, iqn.年年-月.单位网域名的反转写法 :这个分享的 target 名称
2. 激活target
scstadmin -enable_target -driver iscsi

创建镜像

  1. 创建块设备镜像
    rbd create --size /例如:rbd create –size 2048 foo
    `rbd create scstimage -size 2042 -p pbd 在ceph cluster 上创建块设备镜像
  2. 罗列块设备映像
    rbd ls
    rbd map scstimage 把image映射成块设备
  3. 查看镜像信息
    rbd info /
    例如:
    rbd info foo
  4. 调整块设备映像大小
    rbd resize --size 2048 foo (to increase)
    rbd resize --size 2048 foo --allow-shrink (to decrease)
  5. 删除块设备映像
    rbd rm / l例如:rbd rm foo
  6. 映射块设备
    rbd map / --id 例如:rbd map rbd/foo
  7. 查看以映射块设备
    rbd showmapped

使用块设备

  1. 创建并挂载文件系统
    mkfs.ext3 <映射的块设备>例如:mkfs.ext3 /dev/rbd0
  2. 检测块设备
    使用 dd 指令例如:dd if=/dev/zero of=/mnt/ceph-disk0/file0 count=100 bs=1M

分配lun

  1. 创建lun
    scstadmin -open_dev -handler vdisk_blockio -attributes filename=
    DEV_NAME: 设备名称(/dev/vdb1)
    IMAGE_NAME_FILE_PATH:块设备镜像映射成的块设备路径
    例如:
    scstadmin -open_dev rbd_vsan1 -handler vdisk_blockio -attributes filename=/dev/rbd/rbd/scstimage
  2. lun 加入target端
    scstadmin -add_lun< LUN_NO > -driver iscsi -target -device
    LUN_NO :lun 号,这个号必须在这个机器唯一
    TARET_NAME :刚刚创建的 target 的名称
    DEV_NAME :块设备镜像名称
    执行这个指令要求先创建块设备镜像
    例如:
    scstadmin -add_lun 0 -driver iscsi -target? iqn.2016-08.com -device rbd_vsan1

写入配置文件

scstadmin -write_config /etc/scst.conf执行这一指令的作用是将上面执行命令作为配置写入到配置文件中

scstadmin

  1. 从./iscsi-scst/etc/目录下拷贝配置文件scst.conf到/etc目录下,当然你也可以自己在/etc目录下新建一个scst.conf文件,/etc/init./scst脚本会在启动的时候加载并检查scst.conf文件
  2. scstadmin -check_config /etc/scst.conf 测试配置文件是否正确,然后使用scstadim -config /etc/scst.conf加载配置文件
  3. 可能出现以下错误
[root@localhost ~]# scstadmin -check_config/etc/scst.conf
Collecting current configuration: done.
-> Checking configuration file '/etc/scst.conf'for errors.
       ->WARNING: No TARGET_DRIVER section defined. No target drivers will beconfigured.
       ->WARNING: No HANDLER section defined. Only physical media will be configured fortargets.
FATAL: No target drivers orhandlers defined, aborting!
       ->Done, 1 errors found.
All done.

以上的错误提示告诉我们,没有定义“drivers”或“handlers”
解决:
修改scst.conf文件,在其中增加关于HANDLER定义

HANDLER vdisk_fileio{
}

SCST增加一个TARGET,并将定义写入/etc/scst.conf文件
4. scstadmin --list_target 检验一下是否有新添加的TARGET。
这几行是关于TARGET的定义内容

TARGET iqn.2012.2013.edu.cuc.storagelab.mpx.target {        
       enabled 0
     }
  1. 向scst中添加设备
    scstadmin -open_dev disk01 -handler vdisk_fileio -attributes filename=/dev/vdb1,nv_cacge
  2. 执行上面的指令后需要写入配置文件
    scstadmin -write_config /etc/scst.conf
    此时的配置文件cat /etc/scst.config
#Automatically generated by SCST Configurator v2.0.0.

HANDLERvdisk_fileio {
       DEVICE disk01 {
              t10_dev_id "disk01b8ceed65"
              usn b8ceed65
              filename /dev/vdb1
              nv_cache 1
       }
}

TARGET_DRIVERiscsi {
       enabled 1
       TARGETiqn.2012.2013.edu.cuc.storagelab.mpx.target {
              rel_tgt_id 1
              enabled 1
       }
}
  1. 为设备指定TARGET,并分配LUN号
    scstadmin -add_lun 0 -driver iscsi -target iqn.2012.2013.edu.cuc.storagelab.mpx.target-device disk01
  2. scstadmin-write_config /etc/scst.conf
    cat /etc/scst.conf
[root@localhost~]# cat /etc/scst.conf

#Automatically generated by SCST Configurator v2.0.0.

HANDLERvdisk_fileio {
       DEVICE disk01 {
              t10_dev_id "disk01b8ceed65"
              usn b8ceed65
              filename /dev/sdb4
              nv_cache 1
       }
}

TARGET_DRIVERiscsi {
       enabled 1
       TARGETiqn.2012.2013.edu.cuc.storagelab.mpx.target {
              rel_tgt_id 1
              enabled 1
              LUN 0 disk01
       }
}

initiator端 配置

iscsi initiator的配置
1. 查找target
iscsiadm -m discovery -t st -p
例如:
iscsiadm -m discovery -t st -p 172.24.8.29
TARGET_IP:要连接 target 的 ip
2. 连接target
iscsiadm -m node -T -p :3260 -l
TATGET_NAME:刚刚查询出来的所要连接的 target 名称
TARGET_IP:要连接 target 的 ip
3. 退出target
iscsiadm -m node -T -p :3260 -u
4. 查看已连接的target
iscsiadm -m session
5. 储上的Target下新挂载了一个SAN资源,如何在服务器上连接并识别?
iscsiadm -m session -R 刷新iscsi session以识别新的资源
6. target端的lun映射的块设备
lsscsi
7. 断开所有targets的连接
iscsiadm -m node --logoutall=all
例如:
iscsiadm -m node -T iqn.2016-01.com.yhc:rbdtarget -p 172.24.8.29:3260 -l

通过iscsiadm -m node -t sendtargets命令发现Target以后,在/var/lib/iscsi/nodes目录下会生成一个或多个以目的服务器上的Target名命名的文件夹,文件夹中有一个文件。此文件中是initiator登录target要使用到的配置参数,可以通过更改此参数文件来配置登录到每个Target的CHAP认证信息。

iscsi认证

登入需验证码的节点
1. 开启认证
iscsiadm -m node -T {TARGET_NAME} -p {TARGET_IP}:{PORT,default:3260} -o update --name=node.session.auth.authmethod --value=CHAP
2. 添加用户
iscsiadm -m node -T {TARGET_NAME} -P {TARGET_IP}:{PORT, default:3260} -o update --name=node.session.auth.username --value={USERNAME}
3. 添加密码
iscsiadm -m node -T {TARGET_NAME} -P {TARGET_IP}:{PORT, default:3260} -o update --name=node.session.auth.password --value={PASSWORD} #强制至少12个字符

多路径配置

https://yq.aliyun.com/articles/313849

Q&A

你可能感兴趣的:(scst)