CentOS 7下搭建iSCSI服务器并配置访问控制

需积分: 26 5 下载量 182 浏览量 更新于2024-08-05 收藏 17KB DOCX 举报
本文将详细介绍如何在Linux系统中搭建iSCSI(Intelligent Storage Control Protocol)服务器,以及如何通过两台虚拟机,一台作为iSCSI服务端(target端)和另一台作为iSCSI客户端(initiator端),实现存储资源共享。我们以CentOS 7操作系统为例进行演示。 首先,为了确保系统环境的稳定性和兼容性,我们需要更新yum源并清理缓存。在`/etc/yum.repos.d/`目录下,备份默认的`CentOS-Base.repo`文件,然后下载阿里云的EPEL(Extra Packages for Enterprise Linux)仓库,以便安装必要的iSCSI工具: ```bash mv CentOS-Base.repo CentOS-Base.repo.bak wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo yum clean all yum makecache ``` 接下来,配置目标端(target端)的环境。由于我们要开启iSCSI服务,首先需要关闭iptables防火墙和SELinux,以避免不必要的安全限制: ```bash systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 ``` 确认SELinux已被禁用: ```bash getenforce ``` 确认输出为"Disabled"。接着,编辑`/etc/sysconfig/selinux`文件,将SELinux设置为disabled状态。 在硬件准备阶段,我们需要检查磁盘分区,并创建一个用于存储的主分区。这里以`/dev/sdb`为例,划分出4GB空间: ```bash fdisk /dev/sdb ``` 创建分区`sdb1`后,更新分区表: ```bash partprobe ``` 安装必要的iSCSI服务软件包: ```bash yum install yscsi-target-utils targetcli -y ``` 现在,我们可以使用`targetcli`命令行工具来配置iSCSI服务。首先,创建后端存储: ```bash targetcli /> backstores/block create name=nsd dev=/dev/sdb1 ``` 接着,创建一个新的iSCSI target,指定IQN(iSCSI Qualified Name)格式: ```bash /> iscsi/create iqn.2019-01.com.example:node21 ``` 创建逻辑单元(LUN)以映射到后端存储: ```bash /> iscsi/iqn.2019-01.com.example:node21/tpg1/luns create backstores/block/nsd ``` 最后,设置访问控制列表(ACL),允许特定客户端访问此LUN,使用它们声称的名字: ```bash /> iscsi/iqn.2019-01.com.example:node21/tpg1/acls add name=<客户端名称> lun=1 type=1 ``` 重复此步骤,为其他可能的客户端添加相应的访问权限。 在客户端(initiator端,如client50)上,需要配置网络设置以连接到iSCSI服务器,并使用`iscsiadm`工具发起连接和映射LUN。具体操作根据客户端的具体配置可能会有所不同,但一般步骤包括发现iSCSI服务器、登录、映射LUN等。 本文详细介绍了在Linux系统中搭建iSCSI服务器的步骤,包括软件安装、配置后端存储、创建目标、设置LUN以及客户端的连接和访问控制。通过这个过程,你可以实现在两台虚拟机之间共享存储资源,增强了系统的灵活性和扩展性。