Linux配置iSCSI存储

1、基础知识
1.1 存储相关
    直接存储(DAS):例如本机上的磁盘,就是属于直接存储设备。
    存储区域网络(SAN):来自网络内的其他存储设备提供的磁盘。Iscsi就是属于该方式。
    网络文件系统(NAS):直接提供文件系统,可以立即使用。
        
1.2 ISCSI相关基础
    iscsi target:存储设备端,服务器端的设备,为其他服务器提供“磁盘”。
    Iscsi initiator:使用target提供“磁盘”的客户端。
            
2、ISCSI服务器端安装配置
2.1、实验环境
[root@test2 ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
 
192.168.110.167作为target,initiator为192.168.110.166
        
2.2、target安装与配置
(1)安装软件包:
 #scsi-target-utils
 #perl-Config-General-2.44-1.el6.noarch.rpm
 
[root@test ~]# rpm -qa |grep scsi-target-utils
scsi-target-utils-1.0.24-18.el6.x86_64
[root@test ~]# rpm -qa |grep perl-Config-General
perl-Config-General-2.52-1.el6.noarch
[root@test ~]#
 
(2) 主要配置文件及命令:
    /etc/tgt/target.conf        主要配置文件
    /usr/sbin/tgt-admin         在线查询、删除target等功能命令
    /usr/sbin/tgtd                  主要提供iSCSI target服务的主程序
    
  iSCSI是对应透明的,以下几种方式可以作为“磁盘”分享出去给initiator使用:
(1)大型文件[dd]命令生成(2)磁盘阵列、磁盘或者磁盘分区等真实磁盘   (3)使用LVM中的逻辑卷
              
(3)启动服务
 [root@test ~]# service tgtd restart
 
[root@test ~]# chkconfig tgtd on
 
 
(4)使用fdisk创建一个500M分区/dev/sdc1,或者在文件系统上创建一个镜像文件。
[root@test ~]# fdisk -l
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
[root@test ~]# fdisk /dev/sdb  分一个500M的分区
[root@test ~]# partprobe
 
              
编辑/etc/tgt/target.conf,并设置iSCSI  Qualified  Name(IQN)
    <target    iqn.2018-09.com.example:server.target1>
        backing-store        /dev/sdc1
        write-cache   on    #开启写缓存
        initiator-address     192.168.110.167#客户端访问控制
    </target>                    
保存并推出,重启服务后生效。
                   
注意开启服务: 
[root@test ~]# service  tgtd restart
                   
查看target信息:tgt-admin  --show
                   
(5)相关参数解释
    SCSI的target名称的命名方式:
    iqn.yyyy-mm.<reversed domain name>[:identifier]
    其含义:
    iqn表示“iSCSI Qualified Name”,简称iqn。yyyy-mm表示“年-月”。reversed domain name表示倒过来的域名。identifier是识别名称。
 
    几个常用的参数含义如下:
    backing-store:虚拟设备,与之对应的是direct-store(实际设备),设定的时候,如果把整块磁盘全部拿来使用可以使用配置direct-store,
    反之使用backing-store,这里使用backing-store,计划在今后的生产环境中使用LVM逻辑卷,那么这里的配置还是应该使用backing-store。
                        
    initiator-address:用户端地址,可以用来限制initiator的来源IP。
                        
    incominguser:用户名与密码,可以设定initiator使用账户密码才可以使用对应target               
 
 
3、iSCSI客户端配置
3.1安装客户端软件包
   [root@test2 ~]# yum   install   iscsi-initiator-utils*        - y
        
[root@test2 ~]# rpm -qa |grep iscsi-initiator
iscsi-initiator-utils-devel-6.2.0.873-27.el6_9.x86_64
iscsi-initiator-utils-6.2.0.873-27.el6_9.x86_64
[root@test2 ~]#
 
3.2启动服务并添加开机启动
   # [root@test2 ~]# /etc/init.d/iscsi start
   #[root@test2 ~]#chkconfig   iscsi    on
            
3.3 发现iSCSI   server的共享分区
[root@test2 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.110.166 --discover
            
登录到iSCSI server共享的分区:
[root@test2 ~]#    iscsiadm --mode node --targetname iqn.2018-09.com.example:server.target1 --portal 192.168.110.166:3260 --login
Logging in to [iface: default, target: iqn.2018-09.com.example:server.target1, portal: 192.168.110.166,3260] (multiple)
Login to [iface: default, target: iqn.2018-09.com.example:server.target1, portal: 192.168.110.166,3260] successful.
 
 
使用fdisk -l查看多出来的分区/dev/sdb
[root@test2 ~]# fdisk -l
Disk /dev/sdb: 534 MB, 534610944 bytes
17 heads, 60 sectors/track, 1023 cylinders
Units = cylinders of 1020 * 512 = 522240 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
            
3.4 格式化分区,挂载到本地
若要实现开机自动启动,在fstab中添加记录,定要添加_netdevc    参数。
如果提示没有分区表,fdisk  /dev/sdb   x--w,再创建分区。mkfs.ext4  /dev/sdb1
永久挂载:vim  /etc/fstab    UUID挂载
/dev/sdb1        /mnt/iscsi        ext4        defaults,_netdev        0  0
 
查看UUID:
[root@test2 ~]# blkid
/dev/mapper/vg_test2-lv_root: UUID="c62019fc-8335-46bf-98b7-65a0a9f5d561" TYPE="ext4"
/dev/sda1: UUID="b689f648-44ce-404e-aa9f-22816e5222cc" TYPE="ext4"
/dev/sda2: UUID="3xXzPi-VHr2-OhgM-beof-zBiF-wZcA-zNDEUY" TYPE="LVM2_member"
/dev/mapper/vg_test2-lv_swap: UUID="ae4f90ff-65a0-4815-9202-c584e0b78e19" TYPE="swap"
/dev/mapper/vg_test2-lv_home: UUID="16ed060a-0747-4145-8114-0739dbf5cf03" TYPE="ext4"
 
            
 
3.5 [root@test2 ~]# man iscsiadm
EXAMPLES
      Discover targets at a given IP address:
 
            iscsiadm --mode discoverydb --type sendtargets --portal 192.168.1.10 --discover
 
       Login, must use a node record id found by the discovery:
 
            iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --login
 
       Logout:
 
            iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --logout
 
       List node records:
 
            iscsiadm --mode node
 
       Display all data for a given node record:
 
            iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260
 
FILES
       /etc/iscsi/iscsid.conf
              The configuration file read by iscsid and iscsiadm on startup.
 
       /etc/iscsi/initiatorname.iscsi
              The file containing the iSCSI InitiatorName and InitiatorAlias read by  iscsid  and  iscsiadm  on   startup.
           

posted on 2019-09-01 15:50  春风亭牛二哥  阅读(6148)  评论(0编辑  收藏  举报

导航