Linux下搭建iSCSI共享存储
转至:https://www.linuxidc.com/Linux/2016-09/135655.htm
Linux下搭建iSCSI共享存储
拓扑:
实验步骤:
--------------------------------------------------------------
配置iscsi server:
方案1:(命令行配置,立即有效,重启无效)
1、在target上添加两块磁盘设备,sdb,sdc
2、安装程序包、启动服务
# yum install -y scsi-target-utils
# service tgtd start
3、创建target
# tgtadm --lld /dev/sdb --mode target --op new --tid 1 --targetname iqn.2015-01.com.liaobin:i1.c2
4、创建lun
# tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store /dev/sdb
# tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 2 --backing-store /dev/sdc
# tgtadm --lld iscsi --mode logicalunit --op delete --tid 1 --lun 1 #删除lun的方法
5、授权
# tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address 192.168.191.0/24 #限制只有192.168.191.0的网段可访问
6、查看已经定义的信息
# tgtadm --lld iscsi --mode target --op show
方案2:(配置文件中定义,重启有效)
1、编辑/etc/tgt/targets.conf
<target iqn.2015-01.com.liaobin:i1.c2>
backing-store /dev/sdb
backing-store /dev/sdc
initiator-address 192.168.191.0/24
</target>
2、重启tgtd服务;
# service tgtd restart
--------------------------------------------------------------
配置iscsi客户端initiator(节点1,2都需进行如下操作):
1、安装程序包
# yum install -y iscsi-initiator-utils
2、配置initiator的名字(配置文档:/etc/iscsi/initiatorname.iscsi)
# echo "InitiatorName=`iscsi-iname -p iqn.2015-01.com.liaobin`" > /etc/iscsi/initiatorname.iscsi (使用iscsi-iname命令生成随机数)
3、启动服务
# service iscsi start
# service iscsid start
4、使用iscsiadm实现target的发现
基本格式:iscsiadm -m discovery -d # -t sendtargets -p IP[:PORT]
# iscsiadm -m discovery -d 3 -t sendtargets -p 192.168.191.113:3260
#发现target -m模式 -d调试级别 -t类型(sendtargets可简写为st)-p服务端IP
5、登入,登出
基本格式:iscsiadm -m node [ -d debug_level ] [ [ -T targetname -p ip:port -I ifaceN ] [ -l | -u | -R | -s] ] [ [ -o operation ]
# iscsiadm -m node -d 1 -T iqn.2015-01.com.liaobin:i1.c2 -p 192.168.191.113:3260 -l #登入
# iscsiadm -m node -d 1 -T iqn.2015-01.com.liaobin:i1.c2 -p 192.168.191.113:3260 -u #登出
# iscsiadm -m node -d 1 -T iqn.2015-01.com.liaobin:i1.c2 -p 192.168.191.113:3260 -o delete #删除指定条目
--------------------------------------------------------------
测试:
(节点上1操作)
1、查看有无磁盘设备
# fdisk -l #查看是否多出sdb,sdc,若有则说明登入成功,可分区并挂载使用
2、新建分区
# fdisk /dev/sdc #创建一个新分区
3、格式化文件系统
# mke2fs -t ext4 /dev/sdc1
4、挂载
# mount /dev/sdc1 /mnt #创建文件系统,并挂载到/mnt
5、创建一个测试文件,切换到另一个initiator节点挂载/dev/sdc1查看文件是否存在
# touch test.txt ; echo "this is test line"> test.txt
(节点2上操作)
1、查看有无磁盘设备,且挂载使用
# fdisk -l
2、直接挂载刚才节点1创建了文件系统的分区/dev/sdc1
# mount /dev/sdc1 /mnt
3、切换到/mnt目录下查看文件是否正常
# cd /mnt;ls
# cat test.txt
显示正常,说明创建iscsi共享存储成功,测试完成。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?