Liunx就该这么学--第17章 服务器篇- 使用iSCSI服务部署网络存储--学习笔记
iSCSI技术实现了物理硬盘设备与TCP/IP网络协议的相互结合,使得用户可以通过互联网方便地访问远程机房提供的共享存储资源。
当前的硬盘接口类型主要有IDE、SCSI和SATA这3种。
- IDE 是一种成熟稳定、价格便宜的并行传输接口。
- SATA 是一种传输速度更快、数据校验更完整的串行传输接口。
- SCSI 是一种用于计算机和硬盘、光驱等设备之间系统级接口的通用标准,具有系统资源占用率低、转速高、传输速度快等优点。
创建RAID磁盘阵列
首先在虚拟机中添加4块新硬盘,用于创建RAID 5磁盘阵列和备份盘
启动虚拟机系统,使用mdadm命令创建RAID磁盘阵列。
- -Cv参数 为创建阵列并显示过程,
- /dev/md0 为生成的阵列组名称,
- -n 3参数 为创建RAID 5磁盘阵列所需的硬盘个数,
- -l 5参数 为RAID磁盘阵列的级别,
- -x 1参数 为磁盘阵列的备份盘个数。在命令后面要逐一写上使用的硬盘名称
使用mdadm -D命令来查看设备的详细信息
配置iSCSI服务器端
iSCSI技术在工作形式上分为服务端(target)与客户端(initiator)。
iSCSI服务端即用于存放硬盘存储资源的服务器,它作为前面创建的RAID磁盘阵列的存储端,能够为用户提供可用的存储资源。
iSCSI客户端则是用户使用的软件,用于访问远程服务端的存储资源
配置好Yum软件仓库后安装iSCSI服务端程序以及配置命令工具。通过在yum命令的后面添加-y参数,在安装过程中就不需要再进行手动确认了
安装完成后启动iSCSI的服务端程序targetd,然后把这个服务程序加入到开机启动项中,以便下次在服务器重启后依然能够为用户提供iSCSI共享存储资源服务:
执行targetcli命令后就能看到交互式的配置界面
targetcli 是用于管理iSCSI服务端存储资源的专用配置命令,它能够提供类似于fdisk命令的交互式配置功能.
利用ls查看目录参数的结构,
使用cd切换到不同的目录中。
/backstores/block是iSCSI服务端配置共享设备的位置。我们需要把刚刚创建的RAID 5磁盘阵列md0文件加入到配置共享设备的“资源池”中,并将该文件重新命名为disk0,这样用户就不会知道是由服务器中的哪块硬盘来提供共享存储资源,而只会看到一个名为disk0的存储设备。
创建iSCSI target名称及配置共享资源。iSCSI target名称是由系统自动生成的,这是一串用于描述共享资源的唯一字符串。稍后用户在扫描iSCSI服务端时即可看到这个字符串,因此我们不需要记住它。系统在生成这个target名称后,还会在/iscsi参数目录中创建一个与其字符串同名的新“目录”用来存放共享资源。我们需要把前面加入到iSCSI共享资源池中的硬盘设备添加到这个新目录中,这样用户在登录iSCSI服务端后,即可默认使用这硬盘设备提供的共享存储资源了。
设置访问控制列表(ACL)。iSCSI协议是通过客户端名称进行验证的,也就是说,用户在访问存储共享资源时不需要输入密码,只要iSCSI客户端的名称与服务端中设置的访问控制列表中某一名称条目一致即可,因此需要在iSCSI服务端的配置文件中写入一串能够验证用户信息的名称。acls参数目录用于存放能够访问iSCSI服务端共享存储资源的客户端名称。刘遄老师推荐在刚刚系统生成的iSCSI target后面追加上类似于:client的参数,这样既能保证客户端的名称具有唯一性,又非常便于管理和阅读:
设置iSCSI服务端的监听IP地址和端口号。位于生产环境中的服务器上可能有多块网卡,那么到底是由哪个网卡或IP地址对外提供共享存储资源呢?这就需要我们在配置文件中手动定义iSCSI服务端的信息,即在portals参数目录中写上服务器的IP地址。接下来将由系统自动开启服务器192.168.10.10的3260端口将向外提供iSCSI共享存储资源服务:
配置妥当后检查配置信息,重启iSCSI服务端程序并配置防火墙策略。在参数文件配置妥当后,可以浏览刚刚配置的信息,确保与下面的信息基本一致。在确认信息无误后输入exit命令来退出配置。注意,千万不要习惯性地按Ctrl + C组合键结束进程,这样不会保存配置文件,我们的工作也就白费了。最后重启iSCSI服务端程序,再设置firewalld防火墙策略,使其放行3260/tcp端口号的流量。
重新进入交互式界面进行重新配置。
服务器端已经配置完毕!!!
配置linux客户端,使用linux客户端进行访问
配置Linux客户端(192.168.0.157)
登录到客户端192.168.0.152,
使用windows进行访问
配置Windows客户端(192.168.0.150)
切换至服务器,将自动生成的名称复制后,添加到更改后的发起程序的名称中