zoukankan      html  css  js  c++  java
  • iscsi

    7.4. Practice: Providing iSCSI Targets
    iSCSI Component Terminology:
    IQN
    target
    initiator
    login

    一、Providing iSCSI Targets
    1. 准备用于共享的分区或LVM
    [root@server0 ~]# ll /dev/vdb1
    brw-rw----. 1 root disk 253, 17 Apr 12 19:54 /dev/vdb1

    2. 配置共享
    [root@server0 ~]# yum -y install targetcli
    [root@server0 ~]# systemctl enable target
    [root@server0 ~]# systemctl start target
    [root@server0 ~]# firewall-cmd --permanent --add-port=3260/tcp
    [root@server0 ~]# firewall-cmd --reload


    [root@server0 ~]# targetcli
    /> ls
    o- / ................................................................................ [...]
    o- backstores ..................................................................... [...]
    | o- block ......................................................... [Storage Objects: 0]
    | o- fileio ........................................................ [Storage Objects: 0]
    | o- pscsi ......................................................... [Storage Objects: 0]
    | o- ramdisk ....................................................... [Storage Objects: 0]
    o- iscsi ................................................................... [Targets: 0]
    o- loopback ................................................................ [Targets: 0]

    /> /backstores/block create san1 /dev/vdb1
    Created block storage object san1 using /dev/vdb1.

    /> iscsi/ create iqn.2014-12.com.tianyun:server
    Created target iqn.2014-12.com.tianyun:server.
    Created TPG 1.

    /> ls
    o- / ................................................................................ [...]
    o- backstores ..................................................................... [...]
    | o- block ......................................................... [Storage Objects: 1]
    | | o- san1 ............................... [/dev/vdb1 (500.0MiB) write-thru deactivated]
    | o- fileio ........................................................ [Storage Objects: 0]
    | o- pscsi ......................................................... [Storage Objects: 0]
    | o- ramdisk ....................................................... [Storage Objects: 0]
    o- iscsi ................................................................... [Targets: 1]
    | o- iqn.2014-12.com.tianyun:server ........................................... [TPGs: 1]
    | o- tpg1 ...................................................... [no-gen-acls, no-auth]
    | o- acls ................................................................. [ACLs: 0]
    | o- luns ................................................................. [LUNs: 0]
    | o- portals ........................................................... [Portals: 0]
    o- loopback ................................................................ [Targets: 0]

    /> cd iscsi/iqn.2014-12.com.tianyun:server/tpg1/
    /iscsi/iqn.20...n:server/tpg1> ls
    o- tpg1 ............................................................ [no-gen-acls, no-auth]
    o- acls ....................................................................... [ACLs: 0]
    o- luns ....................................................................... [LUNs: 0]
    o- portals ................................................................. [Portals: 0]


    /iscsi/iqn.20...n:server/tpg1> acls/ create iqn.2014-12.com.tianyun:client1
    Created Node ACL for iqn.2014-12.com.tianyun:client1
    /iscsi/iqn.20...n:server/tpg1> ls
    o- tpg1 ............................................................ [no-gen-acls, no-auth]
    o- acls ....................................................................... [ACLs: 1]
    | o- iqn.2014-12.com.tianyun:client1 ................................... [Mapped LUNs: 0]
    o- luns ....................................................................... [LUNs: 0]
    o- portals ................................................................. [Portals: 0]


    /iscsi/iqn.20...n:server/tpg1> luns/ create /backstores/block/san1
    Created LUN 0.
    Created LUN 0->0 mapping in node ACL iqn.2014-12.com.tianyun:client1
    /iscsi/iqn.20...n:server/tpg1> ls
    o- tpg1 ............................................................ [no-gen-acls, no-auth]
    o- acls ....................................................................... [ACLs: 1]
    | o- iqn.2014-12.com.tianyun:client1 ................................... [Mapped LUNs: 1]
    | o- mapped_lun0 ............................................... [lun0 block/san1 (rw)]
    o- luns ....................................................................... [LUNs: 1]
    | o- lun0 ...................................................... [block/san1 (/dev/vdb1)]
    o- portals ................................................................. [Portals: 0]

    /iscsi/iqn.20...n:server/tpg1> portals/ create 172.25.0.11 3260
    Using default IP port 3260
    Created network portal 172.25.0.11:3260.

    /> saveconfig
    Last 10 configs saved in /etc/target/backup.
    Configuration saved to /etc/target/saveconfig.json

    二、Accessing iSCSI Storage
    1. 安装客户端软件包
    [root@desktop0 ~]# yum -y install iscsi*

    2. 设置授权客户端的iqn
    [root@desktop0 ~]# vim /etc/iscsi/initiatorname.iscsi
    InitiatorName=iqn.2014-12.com.tianyun:client1

    3. 重启iscsid
    [root@desktop0 ~]# systemctl restart iscsid
    [root@desktop0 ~]# systemctl enable iscsid

    4. 发现discovery
    [root@desktop0 ~]# iscsiadm -m discovery -t st -p server0
    172.25.0.11:3260,1 iqn.2014-12.com.tianyun:san1

    [root@desktop0 ~]# tree /var/lib/iscsi/
    /var/lib/iscsi/
    ├── ifaces
    ├── isns
    ├── nodes
    │   └── iqn.2014-12.com.tianyun:san1
    │   └── 172.25.0.11,3260,1
    │   └── default
    ├── send_targets
    │   └── server0,3260
    │   ├── iqn.2014-12.com.tianyun:san1,172.25.0.11,3260,1,default -> /var/lib/iscsi/nodes/iqn.2014-12.com.tianyun:san1/172.25.0.11,3260,1
    │   └── st_config
    ├── slp
    └── static

    5. login(认证并登录)
    方法一:登录指定的iqn
    [root@desktop0 ~]# iscsiadm -m node -T iqn.2014-12.com.tianyun:san1 -l

    方法二:登录所有发现的iqn
    [root@desktop0 ~]# systemctl restart iscsi

    [root@desktop0 ~]# fdisk -l
    [root@desktop0 ~]# pvcreate /dev/sda
    [root@desktop0 ~]# vgcreate sanvg /dev/sda
    [root@desktop0 ~]# lvcreate -l 100%FREE -n lv10 sanvg
    [root@desktop0 ~]# mkfs.xfs /dev/sanvg/lv10


    MultiPath多路径:
    =====================================================
    [root@desktop0 ~]# yum -y install device-mapper-multipath

    [root@desktop0 ~]# cp -rf /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc

    [root@desktop0 ~]# systemctl enable multipathd
    [root@desktop0 ~]# systemctl restart multipathd
    [root@desktop0 ~]# multipath -l
    mpatha (36001405a2bbc8a7d22c48c2bba40dac3) dm-0 LIO-ORG ,san1
    size=500M features='0' hwhandler='0' wp=rw
    |-+- policy='service-time 0' prio=0 status=active
    | `- 6:0:0:0 sdb 8:16 active undef running
    `-+- policy='service-time 0' prio=0 status=enabled
    `- 7:0:0:0 sda 8:0 active undef running

    [root@desktop0 ~]# ll /dev/mapper/mpatha
    lrwxrwxrwx. 1 root root 7 12月 27 12:25 /dev/mapper/mpatha -> ../dm-0


    使用非友好的名字:
    [root@desktop0 ~]# /lib/udev/scsi_id --whitelisted --device=/dev/sda
    36001405a2bbc8a7d22c48c2bba40dac3
    [root@desktop0 ~]# /lib/udev/scsi_id --whitelisted --device=/dev/sdb
    36001405a2bbc8a7d22c48c2bba40dac3


    [root@desktop0 ~]# vim /etc/multipath.conf
    defaults {
    user_friendly_names yes
    find_multipaths yes
    }

    multipaths {
    multipath {
    wwid 36001405a2bbc8a7d22c48c2bba40dac3
    alias san1
    }
    }

    [root@desktop0 ~]# systemctl restart multipathd
    [root@desktop0 ~]# multipath -ll
    san1 (36001405a2bbc8a7d22c48c2bba40dac3) dm-0 LIO-ORG ,san1
    size=500M features='0' hwhandler='0' wp=rw
    |-+- policy='service-time 0' prio=1 status=active
    | `- 6:0:0:0 sdb 8:16 active ready running
    `-+- policy='service-time 0' prio=1 status=enabled
    `- 7:0:0:0 sda 8:0 active ready running


    或使用round robin
    multipaths {
    multipath {
    path_grouping_policy multibus
    wwid 36001405a2bbc8a7d22c48c2bba40dac3
    alias san1
    }
    }

    [root@desktop0 ~]# multipath -ll
    san1 (36001405a2bbc8a7d22c48c2bba40dac3) dm-0 LIO-ORG ,san1
    size=500M features='0' hwhandler='0' wp=rw
    `-+- policy='service-time 0' prio=1 status=active
    |- 6:0:0:0 sdb 8:16 active ready running
    `- 7:0:0:0 sda 8:0 active ready running

    iscsi
    ==server iscsi target==
    a. 准备要通过iscsi共享的卷
    [root@server0 ~]# fdisk /dev/vdb //1G分区
    [root@server0 ~]# partprobe /dev/vdb
    [root@server0 ~]# ll /dev/vdb*
    brw-rw----. 1 root disk 253, 16 Jul 8 18:25 /dev/vdb
    brw-rw----. 1 root disk 253, 17 Jul 8 18:25 /dev/vdb1

    b. 安装并共享
    [root@server0 ~]# yum -y install targetcli
    [root@server0 ~]# systemctl enable target.service
    [root@server0 ~]# systemctl restart target.service
    [root@server0 ~]# targetcli
    /> ls
    o- / ..................................................................... [...]
    o- backstores .......................................................... [...]
    | o- block .............................................. [Storage Objects: 0]
    | o- fileio ............................................. [Storage Objects: 0]
    | o- pscsi .............................................. [Storage Objects: 0]
    | o- ramdisk ............................................ [Storage Objects: 0]
    o- iscsi ........................................................ [Targets: 0]
    o- loopback ..................................................... [Targets: 0]
    /> /backstores/block create san10 /dev/vdb1
    Created block storage object san10 using /dev/vdb1.

    /> /iscsi create iqn.2014-11.com.tianyun:server0
    Created target iqn.2014-11.com.tianyun:server0.
    Created TPG 1.

    /> ls
    o- / ..................................................................... [...]
    o- backstores .......................................................... [...]
    | o- block .............................................. [Storage Objects: 1]
    | | o- san10 ..................... [/dev/vdb1 (1.0GiB) write-thru deactivated]
    | o- fileio ............................................. [Storage Objects: 0]
    | o- pscsi .............................................. [Storage Objects: 0]
    | o- ramdisk ............................................ [Storage Objects: 0]
    o- iscsi ........................................................ [Targets: 1]
    | o- iqn.2014-11.com.tianyun:server0 ............................... [TPGs: 1]
    | o- tpg1 ........................................... [no-gen-acls, no-auth]
    | o- acls ...................................................... [ACLs: 0]
    | o- luns ...................................................... [LUNs: 0]
    | o- portals ................................................ [Portals: 0]
    o- loopback ..................................................... [Targets: 0]

    /> /iscsi/iqn.2014-11.com.tianyun:server0/tpg1/acls create iqn.2014-11.com.tianyun:client1
    Created Node ACL for iqn.2014-11.com.tianyun:client1

    /> /iscsi/iqn.2014-11.com.tianyun:server0/tpg1/luns create /backstores/block/san10
    Created LUN 0.
    Created LUN 0->0 mapping in node ACL iqn.2014-11.com.tianyun:client1

    /> /iscsi/iqn.2014-11.com.tianyun:server0/tpg1/portals create 172.25.0.11 3260 //本机IP
    Using default IP port 3260
    Created network portal 172.25.0.11:3260.

    /> saveconfig

    c. firewall
    [root@server0 ~]# firewall-cmd --permanent --add-port=3260/tcp
    [root@server0 ~]# firewall-cmd --reload


    ==desktop iscsi initiator==
    [root@desktop0 ~]# yum -y install iscsi*
    [root@desktop0 ~]# vim /etc/iscsi/initiatorname.iscsi //使用授权访问的IQN
    InitiatorName=iqn.2014-11.com.tianyun:client1

    [root@desktop0 ~]# systemctl enable iscsid
    [root@desktop0 ~]# systemctl restart iscsid

    [root@desktop0 ~]# iscsiadm -m discovery -t st -p server0 //发现 man iscsiadm (/EXAMPLES)
    172.25.0.11:3260,1 iqn.2014-11.com.tianyun:server0

    [root@desktop0 ~]# systemctl restart iscsi //login发现的所有iqn
    [root@desktop0 ~]# systemctl enable iscsi

    [root@desktop0 ~]# fdisk /dev/sda //对新设备分区
    [root@desktop0 ~]# partprobe /dev/sda
    [root@desktop0 ~]# ll /dev/sda*
    brw-rw----. 1 root disk 8, 0 Jul 8 18:50 /dev/sda
    brw-rw----. 1 root disk 8, 1 Jul 8 18:50 /dev/sda1
    [root@desktop0 ~]# mkfs.ext4 /dev/sda1
    [root@desktop0 ~]# mkdir /mnt/iscsidisk
    [root@desktop0 ~]# blkid /dev/sda1 //获得UUID
    /dev/sda1: UUID="ccff941d-43eb-4059-84c8-f53ccec08a78" TYPE="ext4"

    [root@desktop0 ~]# vim /etc/fstab
    UUID="ccff941d-43eb-4059-84c8-f53ccec08a78" /mnt/iscsidisk ext4 defaults,_netdev 0 0

    [root@desktop0 ~]# mount -a
    [root@desktop0 ~]# df
    /dev/sda1 487634 2318 455620 1% /mnt/iscsidisk

  • 相关阅读:
    汇编指令(它不区分大小写)
    汇编
    LINUX命令
    LInux 终端命令
    回文串的Manacher算法
    hdu3336 Counting the string kmp的next数组的应用
    hdu2203kmp匹配
    hdu2087kmp模板练习
    hdu1171kmp果题
    hdu1686kmp果题
  • 原文地址:https://www.cnblogs.com/xnb123/p/8515284.html
Copyright © 2011-2022 走看看