CentOS 7下搭建iSCSI服务器并配置访问控制
需积分: 26 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以及客户端的连接和访问控制。通过这个过程,你可以实现在两台虚拟机之间共享存储资源,增强了系统的灵活性和扩展性。
2013-09-12 上传
2009-05-30 上传
2023-06-28 上传
2023-04-11 上传
2021-11-17 上传
2014-01-02 上传
点击了解资源详情
点击了解资源详情
2023-06-07 上传
2023-06-07 上传
*蜡笔小金刚*
- 粉丝: 127
- 资源: 2
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析