linux系统之iscsi存储服务

来源:互联网 发布:电脑usb端口怎么打开 编辑:程序博客网 时间:2024/06/06 16:56

一.ISCSI概述

  iscsi是直接对设备进行共享的服务。  SCSI(Internet SCSI) 支持从客户端 ( 发起端 ) 通过 IP 向远程服务器上的 iSCSI 存储设备 ( 目标 ) 发送 SCSI 命令。  iSCSI限定名称用于确定发起端和目标 , 并采用 iqn.yyyy-mm.{reverse domain}:label 的格式  默认情况下 , 网络通信是至 iSCSI 目标上的端口 3260/tcp 的明文端口。  iSCSI发起端:需要访问原始SAN存储的客户端。

  iSCSI目标:从iSCSI服务器提供的远程硬盘磁盘,或“目标门户”

  iSCSI目标门户:通过网络向发起端提供目标的服务器。

  IQN:“iSCSI限定名称”。每个发起端和目标需要唯一名称进行标识,最好的做法是使用一个在Internet上可能独一无二的名称。

iscsi示意图:

使用场景:

二.配置iscsi

1.服务端    yum install targetcli -y    fdisk /dev/vdb                ####创建分区+2G    partprob    ####同步分区表     targetcli     ls    /> /backstores/block create wrh:storage1 /dev/vdb1    Created block storage object wrh:storage1 using /dev/vdb1.    /> /iscsi create iqn.2017-12.com.example:storage1                   ###iscsi节点名称格式:iqn-type                   ###linux上格式:iqn.yyyy-mm.com.example:有意义的名称如主机名    Created target iqn.2017-12.com.example:storage1.    Created TPG 1.    /> /iscsi/iqn.2017-12.com.example:storage1/tpg1/acls create iqn.2017-12.com.example:wrhkey    Created Node ACL for iqn.2017-12.com.example:wrhkey                     ###创建key文件    /> /iscsi/iqn.2017-12.com.example:storage1/tpg1/luns create /backstores/block/wrh:storage1                         ###luns连接 共享名称和设备名称    Created LUN 0.    Created LUN 0->0 mapping in node ACL iqn.2017-12.com.example:wrhkey    /> /iscsi/iqn.2017-12.com.example:storage1/tpg1/portals create 172.25.254.150                     ###node节点    Using default IP port 3260    Created network portal 172.25.254.150:3260.   ls   exit    ####火墙策略加端口    firewall-cmd --permanent --add-port=3260/tcp    firewall-cmd --reload2.客户端    yum search iscsi    yum install iscsi-initiator-utils.x86_64    systemctl start iscsi    vim /etc/iscsi/initiatorname.iscsi     #InitiatorName=iqn.2017-12.com.example:wrhkey  #复制在服务端建的key    systemctl restart iscsi    iscsiadm -m discovery -t st -p 172.25.254.150  #-m动作 -t类型 st    iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.150 -l #-l登陆    fdisk -l    fdisk /dev/vdb     partprobe     mkfs.xfs /dev/vdb2    mount /dev/vdb2 /mnt/    df    cd /mnt/     touch textfile测试:

三.开机自动挂载网络设备/dev/vdb2

   blkid   /dev/vdb2: UUID="37e8b451-5840-49ab-8218-9d267dc398b3" TYPE="xfs"   vim /etc/fstab    #UUID="37e8b451-5840-49ab-8218-9d267dc398b3" /mnt  xfs defaults,_netdev 0 0    #用id是为了避免使用设备名发生漂移,_netdev是开机先开网络而不是先读此文件内容   #先poweroff然后再启动

 四.删除iscsi设备

 1.删除网络设备/dev/vdb2  iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.150 -u    #-u 退出登陆 暂时断开连接    iscsiadm -m node -T iqn.2017-12.com.example:storage1 -p 172.25.254.150 -o delete       #删除iscsi目标的本地记录,永久断开连接  fdisk -l  2.服务端:  #删除共享设备  targetcli  /> clearconfig confirm=true 

四.建立lvm设备(动态分配空间)

服务端:    创建逻辑卷lvm         pvcreate /dev/vdb1   #共享一个lv    vgcreate iscsi_vg /dev/vdb1  #共享一个vg    vgdisplay           #查看vg中的所有数据    lvcreate -l 511 -n iscsi_lv0 iscsi_vg    lvs         targetcli       ###进入iscsi目标交互式配置模式 /> /backstores/block create wrh:storage2 /dev/iscsi_vg/iscsi_lv0         ###和逻辑卷建立联系,把/dev/vg0/iscsi_storage用server1storage表示 /> /iscsi create iqn.2017-12.com.example:storage2              ##创建iqn服务的名称(每个发起端和目标需要唯一名称进行标识) /> /iscsi/iqn.2017-12.com.example:storage2/tpg1/acls create iqn.2017-12.com.example:key1 /> /iscsi/iqn.2017-12.com.example:storage2/tpg1/luns create /backstores/block/wrh:storage2            ##加密(默认情况下,网络通信是至iSCSI目标上的端口3260/tcp的明文) /> iscsi/iqn.2017-12.com.example:storage2/tpg1/portals create 172.25.254.150 /> exit      firewall-cmd --list-all   #客户端:    systemctl restart iscsid.service     systemctl restart iscsi    iscsiadm -m discovery -t st -p 172.25.254.150    iscsiadm -m node -T iqn.2017-12.com.example:storage2 -p 172.25.254.150 -l    fdisk -l#如果需要增大   在服务端再增加一块lvm分区/dev/vdb2   pvcreate /dev/vdb2   vgextend iscsi_vg /dev/vdb2   lvextend -L 1500M /dev/iscsi_vg/iscsi_lv0    lvs
原创粉丝点击