20201117使用iscsi部署网络存储

本文介绍了如何使用iSCSI技术部署网络存储,包括在Linux服务器端配置RAID10,设置target服务,以及在Linux和Windows客户端进行连接和挂载。详细步骤涵盖了从创建资源池、设置权限到客户端的发现、登陆和挂载。
摘要由CSDN通过智能技术生成

使用iscsi服务部署网络存储  Internet small computer system interface

1 介绍

Iscsi技术就是用网络来将其他位置共享的硬盘挂载到本机来和本机硬盘一样使用,且不限平台(windows linux),基础硬盘也不限接口(IDE SATA SCSI),便于集中管理和调配资源,实现夸区域存储资源共享,还可以在不停机的状态下扩展存储

缺点就是必然他要受到网络速度和稳定性的制约,也会有iscsi-HBA 卡来连接硬盘接口和光纤来提高稳定性和效率。

2 部署

2.1 为了提供共享硬盘稳定性,我们提供一块raid10而且实际情况一般也都是需要raid否则出现问题会导致很难排查

>>>mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde

-Cv 创建并显示过程  -n 指定磁盘个数 -l raid级别 -x 备份盘个数 最后的指定磁盘也可以使用通配符,我们有个现成的10,就用他

/dev/md10               10G  105M  9.9G   2% /media/raid10

2.2 查询到创建raid的UUID配置在fstab里,因为挂载到其他人机器上就不一定是sd几了,识别到的顺序不同则会名称不同,

服务端配置:服务名字和技术名字一点不沾边

安装管理工具 :yum install targetcli

服务名称是:服务端target 客户端 iscsi-initiator-utils.i686 在rhel8默认安装过,如果没有安装则需要去安装

[root@bogon ~]# systemctl start target

配置:

然后就可以直接使用[root@bogon ~]# targetcli 进行交互式的配置了基本命令和linux几乎一样,这个命令将iscsi管理映射到了一些目录中,将配置参数配置到目录最后生成一个配置的json比直接写json要容易的多

硬盘不能正在被占用,所以先去释放出来

[root@bogon ~]# vim /etc/fstab  注释掉挂载raid的配置

[root@bogon ~]# umount /dev/md10  卸载掉当前

第一步:创建资源池。     相当于给硬件设备做一个链接

第二步,创建一个用来共享的唯一标识符。他是随机的,唯一的字符串,标识符比较长,要复制名字的时候不要复制最后那个句号,他不是名称的一部分真实的名称其实就是地下这个文件夹的名字

第三步:进入tpg1/luns 将创建的资源池设备disk0设备和系统分配的名称进行绑定

第四步:通过portals设置服务网卡;portals下默认允许所有网卡都可以用3260来提供共享,如果需要则可以指定具体ip来限制网卡,我们这里有内外两个网卡,所以只在内网提供

第五步通过 acl来指定将共享设备给那个主机使用,设备名称:自己指定的变量名称 关键字还是create即可 提示创建节点成功,并且和luns里的映射对照成功

iqn.2003-01.org.linux-iscsi.bogon.x8664:sn.e09c99930a8c: studyiscsi

第六步,exit保存退出,会将上面的设置信息保存到一个json中,有兴趣可以看看json的格式

target 因为要常用,所以进行一个三连,还有防火墙放行,如果涉及到selinux那还需要四连

systemctl restart target

[root@bogon ~]# systemctl enable target

[root@bogon ~]# firewall-cmd --permanent --add-port=3260/tcp

[root@bogon ~]# firewall-cmd –reload

 

========== linux客户端的配置

客户端我们使用7来感受下,也是需要安装一下命令行工具

第一步:yum install iscsi-initiator-utils

第二步:服务已经默认安装好了[root@ogg_src1 ~]# systemctl status iscsid 编辑服务配置文件

>> [root@ogg_src1 ~]# vim /etc/iscsi/initiatorname.iscsi 把上面定义好的名字拿过来

>> InitiatorName= iqn.2003-01.org.linux-iscsi.bogon.x8664:sn.e09c99930a8c:studyiscsi

第三步启动服务

[root@ogg_src1 ~]# systemctl start iscsid

[root@ogg_src1 ~]# systemctl enable iscsid

=========== 挂载使用,需要用到iscsiadm 管理工具 发现-登陆-挂载

发现登陆之后,那就是正常的格式化mkfs.xfs /dev/sdf  挂载这里值得要说一下:由于下次识别的时候不一定还是sdf 我们挂载这类设备需要使用他的uuid blkid这个命令用来查看设备的名称文件系统和uuid

如果需要设置到/etc/fstab 格式就是:

UUID="840ab621-7f43-421f-b245-4affd38e6ecc"  /iscsi  xfs default,_netdev 0 0

需要说明的是:这是网络设备,需要增加_netdev来提示系统联网后在加载,否则容易造成开机时间过长和开机失败的情况

====== 不在使用的时候卸载 -u

[root@ogg_src1 ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.bogon.x8664:sn.e09c99930a8c -u

 

===== windows 客户端设置

系统默认已经安装了iscsi发起程序

1 :运行 iSCSI 发起程序。 Windows 7 操作系统中已经默认安装了 iSCSI 客户端
程序,我们只需在控制面板中找到系统和安全标签,然后单击管理工具(见图 17-3),
进入到管理工具页面后即可看到iSCSI 发起程序图标。 上面这一大堆直接搜索哪里输入就行,双击该图标。 在第一次运行 iSCSI发起程序时,提示Microsoft iSCSI 服务端未运行,单击需要等一会 iSCSI 发起程序自动打开

第二步,在目标输入服务端地址点击快速链接,选中需要链接的设备点击完成

第三,需要将发起程序的名称修改未和acl设置的名称相同才可以使用

 

然后返回目标页面点击连接,状态就会变成已连接,对于多路径感兴趣可以看下这个

https://blog.csdn.net/panfelix/article/details/39318675

第四,进入磁盘管理就会提示发现新硬盘

然后就是正常格式化,新建简单卷,操作完成就可以使用了

 

iSCSI 是一种存储协议,它允许计算机通过网络访问远程存储设备。在 Ubuntu 上,可以使用 iSCSI 服务来部署网络存储。 以下是在 Ubuntu 上部署 iSCSI 服务的步骤: 1.安装 iSCSI 服务 ```sudo apt-get update sudo apt-get install open-iscsi``` 2.配置 iSCSI 服务 在 iSCSI 服务安装完成后,需要进行一些配置才能使其正常工作。首先,需要编辑 iSCSI 配置文件 `/etc/iscsi/iscsid.conf`: ```sudo nano /etc/iscsi/iscsid.conf``` 在文件中找到以下两行并取消注释: ```node.startup = automatic node.session.auth.authmethod = CHAP``` 保存并关闭文件。 3.创建 iSCSI 盘 要创建 iSCSI 盘,需要使用 LVM(逻辑卷管理器)来创建一个物理卷。首先,使用以下命令查看可用的磁盘: ```sudo fdisk -l``` 然后,可以使用 `pvcreate` 命令将磁盘分区转换成物理卷: ```sudo pvcreate /dev/sdb``` 接下来,使用 `vgcreate` 命令创建一个卷组: ```sudo vgcreate my_volume_group /dev/sdb``` 最后,使用 `lvcreate` 命令创建一个逻辑卷: ```sudo lvcreate -L 10G -n my_logical_volume my_volume_group``` 4.配置 iSCSI 盘 要配置 iSCSI 盘,需要创建一个 iSCSI Target,该 Target 将 iSCSI 协议转换成 SCSI 协议。首先,使用以下命令编辑 iSCSI Target 配置文件 `/etc/tgt/conf.d/iscsi.conf`: ```sudo nano /etc/tgt/conf.d/iscsi.conf``` 在文件中添加以下内容: ``` <target iqn.2021-07.com.example:storage.disk1> backing-store /dev/my_volume_group/my_logical_volume initiator-address 192.168.1.100 incominguser my_username my_password </target> ``` 其中: - `iqn.2021-07.com.example:storage.disk1` 是 iSCSI 盘的唯一标识符。 - `backing-store` 指定了要映射的物理卷。 - `initiator-address` 指定了允许连接到 iSCSI 盘的 IP 地址。 - `incominguser` 指定了 CHAP 认证的用户名和密码。 保存并关闭文件。 5.启动 iSCSI 服务 使用以下命令启动 iSCSI 服务: ```sudo systemctl start iscsid sudo systemctl start tgt``` 6.连接 iSCSI使用以下命令连接 iSCSI 盘: ```sudo iscsiadm -m discovery -t sendtargets -p 192.168.1.200 sudo iscsiadm -m node --login``` 其中,`192.168.1.200` 是 iSCSI Target 的 IP 地址。 接下来,可以使用 `lsblk` 命令查看已连接的磁盘: ```sudo lsblk```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值