首页 > 系统相关 >CentOS7配置iSCSI共享-tgtd

CentOS7配置iSCSI共享-tgtd

时间:2023-03-03 20:00:45浏览次数:63  
标签:iSCSI ISCSI tgtd CentOS7 磁盘 挂载 iscsi

作者:独笔孤行

官网:​​ ​​http://anyamaze.com​

公众号:云实战

前言

iSCSI又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN模拟成为本地的储存装置。iSCSI的实现方法主要有tgtd、LIO、SCST、IET等几种方式。

一、iSCSI存储简介

ISCSI 基于TCP/IP协议,将存储设备通过ISCSI target 功能,配置成可提供共享磁盘空间的服务端,再通过ISCSI initator功能,将服务端ISCSI磁盘映射到本地使用。

ISCSI 主要分为两部分,分别是:

  • ISCSI target :存储设备端,存放磁盘或RAID的设备,通过tgtd将Linux主机仿真成ISCSI target,提供其他主机使用的磁盘。
  • ISCSI initiator: 存储客户端,通常是普通服务器,安装iscsi initiator后,使用ISCSI target 提供磁盘空间。

角色

IP

系统

服务端

192.168.1.10

CentOS7.6

客户端

192.168.1.11

CentOS7.6

二、iSCSI服务端配置

1.关闭防火墙和selinux

systemctl stop firewalld
systemctl disable firewalld
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce 0

注意:必须关闭selinux,否则tgt服务无法启动

2.安装服务端

yum install epel-release -y
yum install scsi-target-utils –y

3.创建虚拟磁盘文件

mkdir -p /data/iscsi
truncate /data/iscsi/disk1 -s 10G
chmod 777 /data/iscsi/disk1

4.创建target

cat <<EOF > /etc/tgt/conf.d/disk1.conf 
<target iqn.2023-05.com.example:disk1>
backing-store /data/iscsi/disk1
scsi_id e087acc9-5ef0-4c01-87a7-b9c2e0598468
</target>
EOF

注意:其它详细配置规范和说明,可参考文件/etc/tgt/conf.d/sample.conf内容

5.启动服务

systemctl start tgtd
systemctl enable tgtd

注意:如果tgt服务无法启动,需检查selinux是否关闭

三、客户端配置

1.安装客户端

yum install iscsi-initiator-utils –y

2.映射iscsi

iscsiadm -m discovery -t st -p 192.168.1.10
iscsiadm -m node -T iqn.2023-03.org:disk1.test -p 192.168.1.10:3260 -l

3.检查iscsi映射磁盘

iscsiadm -m node
lsscsi
lsblk

CentOS7配置iSCSI共享-tgtd_tgtd

4.格式化iscsi并挂载使用

mkdir /data/sdc -p
mkfs.xfs /dev/sdc

5.配置/etc/fstab文件,设置开机后自动挂载,末尾写入如下内容

UUID=38c7beff-a88a-4a9b-b078-c2992600c5dd /data/sdc/ xfs defaults,_netdev 0 0

注意:挂载的时候一定要加_netdev参数,否则重启会卡住

_netdev是针对iscsi设备的特殊mount 选项,此挂载选择指示将在网络启动后挂载卷,在关闭网络前卸载掉卷。

建议通过文件系统UUID来挂载,防止盘符会变,可通过blkid /dev/sdc命令获取磁盘UUID

6.挂载磁盘

mount -a

注意:挂载失败,则说明/etc/fstab文件内容配置错误,需要进行检查

四、问题记录

问题复现步骤:

客户端通过iscsi映射磁盘后,格式化为xfs,并进行挂载,之后向挂载点用fio写入数据。

发现报错:

Tgt服务端报错:

Jun 28 13:25:50 node1 kernel: XFS: tgtd(30339) possible memory allocation deadlock size 524304 in kmem_realloc (mode:0x250)
Jun 28 13:25:52 node1 kernel: XFS: tgtd(30339) possible memory allocation deadlock size 524304 in kmem_realloc (mode:0x250)
Jun 28 13:25:54 node1 kernel: XFS: tgtd(30339) possible memory allocation deadlock size 524304 in kmem_realloc (mode:0x250)
Jun 28 13:25:56 node1 kernel: XFS: tgtd(30339) possible memory allocation deadlock size 524304 in kmem_realloc (mode:0x250)
Jun 28 13:25:58 node1 kernel: XFS: tgtd(30339) possible memory allocation deadlock size 524304 in kmem_realloc (mode:0x250)

解答1:是内核bug,需要升级为 kernel-3.10.0-1062.el7

**参考连接:**​​https://forums.centos.org/viewtopic.php?t=52412​


更多咨询,关注我们


CentOS7配置iSCSI共享-tgtd_iscsi_02

标签:iSCSI,ISCSI,tgtd,CentOS7,磁盘,挂载,iscsi
From: https://blog.51cto.com/u_9099998/6099106

相关文章

  • centos7升级 cmake
    一、删除旧版本cmake升级到最新版本前应事先删除旧版本内核。cmake-versionyumremove-ycmake二、安装需要的模块yuminstall-ylibxml2libxml2-develbzip2bzip2-d......
  • centos7.9编译安装libzip-1.9.2 和 cmake 3.23.0
    centos7.9编译安装libzip-1.9.2在编译安装php时系统会报configure:error:Packagerequirements(libzip>=0.11libzip!=1.3.1libzip!=…这是因为libzip版本过......
  • 【Dockerfile】nvm-git-node-centos7镜像
    #依赖centos环境FROMcentos:7#安装vim、git和nvm环境RUNyuminstall-ywget\&&mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.rep......
  • CentOS7 安装Chrome
    转载自:https://blog.csdn.net/ling1998/article/details/1239517261、权限若不是root权限,需要在root下执行为用户授权命令,我直接使用root登录2、下载[root@localhosts......
  • PHP8安装(centos7环境)
    一、事先安装的模块yuminstall-ybzip2-devellibcurl-devellibxml2-develsqlite-develonigurumaoniguruma-devellibxml2libxml2-develbzip2bzip2-devellibcurl......
  • OpenStack添加iscsi共享存储
    作者:独笔孤行官网:​​ ​​http://anyamaze.com​​公众号:云实战前言OpenStack支持多种类型后端存储,包括NFS、Ceph、GlusterFS、FC、iSCSI等。本次以iscsi存储为例讲解Op......
  • OpenStack添加iscsi共享存储
    作者:独笔孤行官网:​​ ​http://anyamaze.com​​公众号:云实战前言OpenStack支持多种类型后端存储,包括NFS、Ceph、GlusterFS、FC、iSCSI等。本次以iscsi存储为例讲解O......
  • 基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack
    基于centos7.5安装部署最新luminous版ceph集群部署整合openstack 转载SunnyZhang的IT世界2021-06-1011:17:48文章标签云计算Ceph分布式存储文章分类云计算阅读数37......
  • CentOS7加入AD域(winbind)
    作者:独笔孤行官网:​​ ​​http://anyamaze.com​​公众号:云实战前言AD域(ActiveDirectory)是Windows服务器的活动目录,在目录中可以收录公司的电脑账号,用户账号,组等信息,以......
  • 业界可用的基于centos7.9, gcc5.5, cmake3.10.3, boost1.63的docker镜像的dockerFile
    FROMcentos:7.9.2009#InstallbasicdependenciesRUNyum-yinstallgccgcc-c++\gdb\make\valgrind\vim\wget......