ISCSI服務端-客戶端基礎配置


iSCSI利用了TCP/IP的port 860 和 3260 作為溝通的渠道。透過兩部計算機之間利用iSCSI的協議來交換SCSI命令,讓計算機可以透過高速的局域網集線來把SAN模擬成為本地的儲存裝置。

服務器:Centos Linux 8.1.1911

iscsi target使用磁盤:/dec/sdb 5G

1、軟件安裝

服務器端:targetcli

yum install targetcli -y

客戶端:iscsi-initiator

yum install iscsi-initiator* –y

2、服務器端配置

targetcli 進入交互模式

target的名字規范:iqn.yyyy-mm.com.server.www:位置1.位置2

[root@filesystem ~]# targetcli
targetcli shell version 2.1.fb49
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.

/> /backstores/block create name=disk1 dev=/dev/sdb
Created block storage object disk1 using /dev/sdb.
/> /iscsi create iqn.2020-06.com.server.filesystem:house1.disk1
Created target iqn.2020-06.com.server.filesystem:house1.disk1.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/> /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/acls create iqn.2020-06.com.server.node2
Created Node ACL for iqn.2020-06.com.server.node2
/> /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/luns create /backstores/block/disk1
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2020-06.com.server.node2
/> /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/portals/ create 192.168.10.0 3260
Using default IP port 3260
Could not create NetworkPortal in configFS
/> /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/ set attribute authentication=0
Parameter authentication is now '0'.
/> /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/ set attribute generate_node_acls=0
Parameter generate_node_acls is now '0'.
/> saveconfig
Last 10 configs saved in /etc/target/backup/.
Configuration saved to /etc/target/saveconfig.json

/backstores/block create name=disk1 dev=/dev/sdb

定義一個本地的塊設備disk1

/iscsi create iqn.2020-06.com.server.filesystem:house1.disk1

定義一個target

/iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/luns create /backstores/block/disk1

在 iqn.2020-06.com.server.filesystem:house1.disk1 這個target里將之前的塊設備共享出去

/iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/acls create iqn.2020-06.com.server.node2

創建基於 iqn 的 acl:允許該名字的客戶端訪問本 iscsi 的 tagert

/iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/portals/ create 192.168.10.0 3260

定義 target 的入口(客戶使用什么 IP 和端口訪問) 默認定義了0.0.0.0 3260

/iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/ set attribute authentication=0

關閉帳號驗證

/iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/ set attribute generate_node_acls=0

使用自定義的 acl 實現節點訪問限制

查看配置

image

關閉防火牆

[root@filesystem ~]# systemctl stop firewalld
[root@filesystem ~]# systemctl disable firewalld
[root@filesystem ~]#

啟動服務,並設置開機自啟、關閉selinux

[root@filesystem ~]# systemctl enable target
Created symlink /etc/systemd/system/multi-user.target.wants/target.service → /usr/lib/systemd/system/target.service.
[root@filesystem ~]# systemctl start target
[root@filesystem ~]# setenforce 0
[root@filesystem ~]# getenforce
Permissive
[root@filesystem ~]#

永久關閉selinux

[root@filesystem ~]# vim /etc/selinux/config
[root@filesystem ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted


[root@filesystem ~]#

2、Linux客戶端連接

Centos 8.1.1911默認安裝有iscsi-initiator程序

修改客戶端連接的名稱

[root@node2 ~]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.com.redhat:b3de1b81d843
[root@node2 ~]# echo "InitiatorName=iqn.2020-06.com.server.node2" > /etc/iscsi/initiatorname.iscsi
[root@node2 ~]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2020-06.com.server.node2
[root@node2 ~]#

iscsiadmin是客戶端的命令

發現

[root@node2 ~]# iscsiadm -m discovery -t st -p 192.168.10.159
192.168.10.159:3260,1 iqn.2020-06.com.server.filesystem:house1.disk1
[root@node2 ~]#

登錄

[root@node2 ~]# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2020-06.com.server.filesystem:house1.disk1, portal: 192.168.10.159,3260]
Login to [iface: default, target: iqn.2020-06.com.server.filesystem:house1.disk1, portal: 192.168.10.159,3260] successful.
[root@node2 ~]# lsblk
NAME        MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda           8:0    0  20G  0 disk
├─sda1        8:1    0   1G  0 part /boot
└─sda2        8:2    0  19G  0 part
  ├─cl-root 253:0    0  17G  0 lvm  /
  └─cl-swap 253:1    0   2G  0 lvm  [SWAP]
sdb           8:16   0   5G  0 disk
sr0          11:0    1   7G  0 rom  /run/media/root/CentOS-8-1-1911-x86_64-dvd
[root@node2 ~]#

我們發現多了一個sdb,我們格式化掛載即可使用。

[root@node2 ~]# mkfs.ext4 /dev/sdb
mke2fs 1.44.6 (5-Mar-2019)
 /dev/sdb 有一個 ext4 文件系統
	創建於 Wed Jun  3 05:38:41 2020
創建含有 1310720 個塊(每塊 4k)和 327680 個inode的文件系統
文件系統UUID:104b7e23-cb76-4842-a969-29a9e7a198ce
超級塊的備份存儲於下列塊:
	32768, 98304, 163840, 229376, 294912, 819200, 884736

正在分配組表: 完成
正在寫入inode表: 完成
創建日志(16384 個塊)完成
寫入超級塊和文件系統賬戶統計信息: 已完成

[root@node2 ~]# ll /dev/sdb
brw-rw----. 1 root disk 8, 16 6月   3 05:40 /dev/sdb
[root@node2 ~]#

掛載使用

[root@node2 ~]#
[root@node2 ~]# mkdir /mnt/iscsi_mountdisk1
[root@node2 ~]# mount /dev/sdb /mnt/iscsi_mountdisk1/
[root@node2 ~]# cd /mnt/iscsi_mountdisk1/
[root@node2 iscsi_mountdisk1]# ls
lost+found
[root@node2 iscsi_mountdisk1]# echo "this is iscsi disk1" > readme.txt
[root@node2 iscsi_mountdisk1]# ls
lost+found  readme.txt

3、Windows客戶端

image

修改連接名稱,並進行發現

imageimage

連接目標並掛載

imageimage

image

格式化並使用

打開磁盤管理器

image

磁盤1紅框區域右鍵選擇新建簡單卷,然后一直默認下一步。

image

格式化完成打開我的電腦

image

多出來一塊5G的新建卷E,使用起來很方便。

思考:

一個target,如何讓多個客戶端進行連接使用,存儲文件時會沖突嗎?


讀書和健身總有一個在路上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM