现在的位置: 首页 > 教程分享 > 正文

Linux下搭建配置iSCSI服务器

2017年06月12日 教程分享 ⁄ 共 3028字 ⁄ 字号 暂无评论

iSCSI全称Internet Small Computer System Interface,即因特网小型计算机系统接口,可以选择一台大硬盘的服务器搭建iSCSI服务端,客户端通过网络,远程挂载服务器上的某块物理硬盘,对新硬盘进行分区、格式化操作后,便可像本地硬盘一样进行存储数据。

实验说明

花郎是使用VMware虚拟机做实验,两台主机的操作系统均为CentOS 6.5;一台是主机A(Wanghualang-A),IP地址为192.168.168.68,作为iSCSI服务端(target)。另一台是主机B(Wanghualang-B),IP地址为192.168.168.69,作为iSCSI客户端(initiator);最终实现B机开机自动挂载远程硬盘。

服务端篇

第一步 安装软件

安装scsi-target-utils软件包,并确保安装成功;

  1. [root@Wanghualang-A ~]# yum -y install scsi-target-utils  
  2. [root@Wanghualang-A ~]# rpm -qa | grep scsi-target-utils  

第二步 准备磁盘

在虚拟机里添加一块新硬盘,这里就以默认的/dev/sdb作为共享盘;

  1. [root@Wanghualang-A ~]# fdisk -l  

第三步 配置服务

配置服务有两种方法,一种是通过命令部署,另一种是通过修改配置文件实现,这里先通过修改配置文件来实现。

  1. [root@Wanghualang-A ~]# vim /etc/tgt/targets.conf  

找到“default-driver iscsi”后,再它下一行输入以下内容,注意空格:


backing-store /dev/sdb
lun 10
vendor_id Wanghualang.Com
initiator-address 192.168.168.69
incominguser wanghualang 123456

参数说明

  • target:定义存储的名称,比如“iqn.2017-05.com.wanghualang:iSCSI1”;
  • backing-store:定义挂载的硬盘,比如/dev/sdb就是虚拟机最新添加的硬盘;
  • lun:定义设备逻辑单元号,一般为一个数字,默认是0,后面的编号自动按顺序分配;
  • vendor_id:定义厂家信息,比如“Wanghualang.Com”,该项目写不写都行;
  • initiator-address:指定连接IP地址,即限定某个IP地址才能连接,该项目写不写都行;
  • incominguser:连接存储的用户名、密码,即要连接指定存储必须通过密码验证,该项目写不写都行。

第四步 禁用防火墙、SElinux

为了省事,建议禁用防火墙、SElinux。

  1. [root@Wanghualang-A ~]# service iptables stop  
  2. [root@Wanghualang-A ~]# service ip6tables stop  
  3. [root@Wanghualang-A ~]# chkconfig iptables off  
  4. [root@Wanghualang-A ~]# chkconfig ip6tables off  
  5. [root@Wanghualang-A ~]# setenforce 0  

第五步 启动服务

启动tgtd服务,并设置开机启动;

  1. [root@Wanghualang-A ~]# service tgtd start  
  2. [root@Wanghualang-A ~]# chkconfig tgtd on  

服务启动后,可以通过下面的命令,查看iSCSI详细信息;

  1. [root@Wanghualang-A ~]# tgtadm --lld iscsi --op show --mode target  

客户端篇

第一步 安装软件

安装iscsi-initiator-utils软件包,并确保安装成功!注意,客户端是安装iscsi-initiator-utils,而不是scsi-target-utils;

  1. [root@Wanghualang-B ~]# yum -y install iscsi-initiator-utils  
  2. [root@Wanghualang-B ~]# rpm -qa | grep iscsi-initiator-utils  

第二步 发现存储

在网络上搜寻发现一下刚才创建的iSCSI目标;

  1. [root@Wanghualang-B ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.168.68 --discover  

第三步 配置连接

在服务端篇中,iSCSI服务端的连接是需要验证用户名、密码,要挂载这种带密码验证的网络存储,需要先编辑initiator配置文件,即iSCSI客户端配置文件。

  1. [root@Wanghualang-B ~]# vim /etc/iscsi/iscsid.conf  

在56行找到“node.session.auth.authmethod”,取消注释;在60行找到“node.session.auth.username”,取消注释,等号右边编辑用户名,即wanghualang;在60行找到“node.session.auth.password”,取消注释,等号右边编辑密码,即123456;修改完毕后,重启iscsi服务;

  1. [root@Wanghualang-B ~]# service iscsi restart  

第四步 挂载存储

  1. [root@Wanghualang-B ~]# iscsiadm --mode node --targetname iqn.2017-06.com.wanghualang:iSCSI1 --portal 192.168.168.68:3260 --login  

顺便说一下如何卸载存储:

  1. [root@Wanghualang-B ~]# iscsiadm --mode node --targetname iqn.2017-06.com.wanghualang:iSCSI1 --portal 192.168.168.68 -u  

第五步 格式化磁盘

成功挂载iSCSI存储后,本地就会多出一个硬盘,比如/dev/sdb,必须进行分区、格式化后才能正常使用,分区相关操作不细说了,不是本文重点;

  1. [root@Wanghualang-B ~]# fdisk /dev/sdb  

第六步 新建目录

创建挂载目录,配置开机挂载。注意,网络上的硬盘,在生产环境下,建议使用UUID的方式来挂载,而不要使用设备名,这个自行研究吧;

  1. [root@Wanghualang-B ~]# mkdir /mnt/iSCSI  
  2. [root@Wanghualang-B ~]# echo "/dev/sdb1 /mnt/iSCSI ext4 defaults,_netdev 0 0" >> /etc/fstab  
  3. [root@Wanghualang-B ~]# mount -a  

第七步 测试挂载

  1. [root@Wanghualang-B ~]# df -h  
  2. [root@Wanghualang-B ~]# touch /mnt/iSCSI/Wanghualang.txt  

给我留言

留言无头像?

×