scstadmin & iscsiadm

本文详细介绍了如何配置SCST靶机,包括创建target、镜像、块设备、LUN,以及写入配置文件。同时,文章还涵盖了iscsi initiator端的配置,如连接target、认证以及多路径配置的相关步骤。内容详实,适合系统管理员参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置target

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

创建镜像

  1. 创建块设备镜像
    rbd create --size <megebytes> <pool_name>/<image_name>例如:rbd create –size 2048 foo
    `rbd create scstimage -size 2042 -p pbd 在ceph cluster 上创建块设备镜像
  2. 罗列块设备映像
    rbd ls
    rbd map scstimage 把image映射成块设备
  3. 查看镜像信息
    rbd info <pool_name>/<image_name>
    例如:
    rbd info foo
  4. 调整块设备映像大小
    rbd resize --size 2048 foo (to increase)
    rbd resize --size 2048 foo --allow-shrink (to decrease)
  5. 删除块设备映像
    rbd rm <image_name>/<pool_Name> l例如:rbd rm foo
  6. 映射块设备
    rbd map <pool_name>/<IMAGE_NAME> --id <user_name>例如: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 <DEV_NAME> -handler vdisk_blockio -attributes filename=<IMAGE_NAME_FILE_PATH>
    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 <TARET_NAME> -device <DEV_NAME>
    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 <TARGET_IP>
例如:
iscsiadm -m discovery -t st -p 172.24.8.29
TARGET_IP:要连接 target 的 ip
2. 连接target
iscsiadm -m node -T <TATGET_NAME> -p <TARGET_IP>:3260 -l
TATGET_NAME:刚刚查询出来的所要连接的 target 名称
TARGET_IP:要连接 target 的 ip
3. 退出target
iscsiadm -m node -T <TARGET_NAME> -p <TARGET_IP>: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

### iSCSI 存储配置中的 `iscsiadm` 命令 `iscsiadm` 是用于管理 iSCSI 发起程序 (initiator) 和目标设备 (target) 的命令行工具。它允许管理员发现、登录和注销 iSCSI 设备,以及管理和维护会话状态。 以下是关于如何使用 `iscsiadm` 命令的一些常见操作: #### 安装 Open-iSCSI 软件包 为了能够运行 `iscsiadm` 命令,必须先安装 Open-iSCSI 软件包。可以通过以下方式完成安装: ```bash yum install iscsi-initiator-utils -y # 对于基于 RHEL/CentOS 的系统 apt-get install open-iscsi -y # 对于 Debian/Ubuntu 系统 ``` #### 使用 `iscsiadm` 进行基本操作 1. **查找可用的目标设备** 可以通过指定 IP 地址来扫描网络上的 iSCSI 目标设备。 ```bash iscsiadm -m discovery -t st -p &lt;TARGET_IP&gt; ``` 此处 `-m discovery` 表示执行发现模式,`-t st` 指定发送启动器到目标的标准 TCP 数据包,而 `&lt;TARGET_IP&gt;` 替换为目标存储服务器的实际地址[^1]。 2. **登录到目标设备** 登录到已发现的 iSCSI 目标设备以便访问其 LUN(逻辑单元号)。可以按如下方式进行: ```bash iscsiadm -m node -T &lt;TargetName&gt; -p &lt;TARGET_IP&gt;:&lt;PORT&gt; --login ``` 参数解释: - `-m node`: 表示节点管理模式; - `-T &lt;TargetName&gt;`: 提供具体的目标名称; - `-p &lt;TARGET_IP&gt;:&lt;PORT&gt;`: 指定目标设备的 IP 地址及其端口号,默认为 3260。 3. **查看当前会话的状态** 若要检查当前活动的 iSCSI 会话列表,则可运行下面这条指令: ```bash iscsiadm -m session ``` 4. **从目标设备登出** 当不再需要连接某个特定的目标时,可通过此方法安全退出该链接关系: ```bash iscsiadm -m node -T &lt;TargetName&gt; -p &lt;TARGET_IP&gt;:&lt;PORT&gt; --logout ``` 5. **更新现有记录的信息** 如果某些设置发生了变化或者想要重新同步本地缓存的数据至远程主机上的话,那么就可以利用这个功能来进行刷新动作了。 ```bash iscsiadm -m node -o update -n node.startup -v automatic ``` 以上就是有关于Linux环境下运用`iscsiadm`命令实现iSCSI存储配置的主要内容介绍。 ```python def example_iscsiadm_usage(): target_ip = &#39;192.168.1.1&#39; port = &#39;3260&#39; discover_command = f&#39;iscsiadm -m discovery -t st -p {target_ip}&#39; login_command = f&#39;iscsiadm -m node -T TargetNameExample -p {target_ip}:{port} --login&#39; logout_command = f&#39;iscsiadm -m node -T TargetNameExample -p {target_ip}:{port} --logout&#39; return { &#39;discover&#39;: discover_command, &#39;login&#39;: login_command, &#39;logout&#39;: logout_command } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值