运维iSCSI部署使用练习
iSCSI部署使用练习
主机名称 | 操作系统 | ip地址 |
---|---|---|
iSCSI服务端 | centos8 | 192.168.226.130 |
iSCSI客户端 | centos8 | 192.168.226.131 |
iSCSI服务端
添加四块硬盘
启动虚拟机系统,使用mdadm命令创建RAID磁盘阵列
[root@localhost q]# 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 20G 0 disk
sdc 8:32 0 20G 0 disk
sdd 8:48 0 20G 0 disk
sde 8:64 0 20G 0 disk
sr0 11:0 1 9.3G 0 rom /run/media/q/CentOS-8-4-2105-x86_64-dvd
[root@localhost q]# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
配置iSCSI服务
安装iSCSI的交换式配置工具
dnf install -y targetcli
配置iSCSI服务端共享资源
[root@localhost q]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.53
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> 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]
/> cd /backstores/block
/backstores/block> create disk0 /dev/md0
Created block storage object disk0 using /dev/md0.
/backstores/block> cd /
/> ls
o- / ............................................................................ [...]
o- backstores ................................................................. [...]
| o- block ..................................................... [Storage Objects: 1]
| | o- disk0 ............................ [/dev/md0 (40.0GiB) write-thru deactivated]
| | o- alua ...................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp .......................... [ALUA state: Active/optimized]
| o- fileio .................................................... [Storage Objects: 0]
| o- pscsi ..................................................... [Storage Objects: 0]
| o- ramdisk ................................................... [Storage Objects: 0]
o- iscsi ............................................................... [Targets: 0]
o- loopback ............................................................ [Targets: 0]
/>
创建iSCSI target名称及配置共享资源
/> cd /iscsi
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.929dffeccbb5.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> ls
o- iscsi ................................................................. [Targets: 1]
o- iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.929dffeccbb5 ............ [TPGs: 1]
o- tpg1 .................................................... [no-gen-acls, no-auth]
o- acls ............................................................... [ACLs: 0]
o- luns ............................................................... [LUNs: 0]
o- portals ......................................................... [Portals: 1]
o- 0.0.0.0:3260 .......................................................... [OK]
/iscsi>
#系统在生成这个target名称后,还会在/iscsi参数目录中创建一个与其字符串同名的新“目录”用来存放共享资源。我们需要把前面加入到 iSCSI 共享资源池中的硬盘设备添加到这个新目录中,这样用户在登录iSCSI服务端后,即可默认使用这硬盘设备提供的共享存储资源了。
/iscsi> cd iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.929dffeccbb5/
/iscsi/iqn.20....929dffeccbb5> cd tpg1/luns
/iscsi/iqn.20...bb5/tpg1/luns> create /backstores/block/disk0
Created LUN 0.
设置访问控制列表(ACL)
/iscsi/iqn.20...bb5/tpg1/luns> cd ..
/iscsi/iqn.20...ffeccbb5/tpg1> cd acls
/iscsi/iqn.20...bb5/tpg1/acls> create iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.929dffeccbb5:client
Created Node ACL for iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.929dffeccbb5:client
Created mapped LUN 0.
设置iSCSI服务端的监听IP地址和端口号
/iscsi/iqn.20...bb5/tpg1/acls> cd ../portals/
/iscsi/iqn.20.../tpg1/portals> ls
o- portals ............................................................... [Portals: 1]
o- 0.0.0.0:3260 ................................................................ [OK]
/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260
Deleted network portal 0.0.0.0:3260
#继续进行设置,使系统使用服务器IP地址192.168.10.10的3260端口向外提供 iSCSI共享存储资源服务:
/iscsi/iqn.20.../tpg1/portals> create 192.168.226.130
Using default IP port 3260
Created network portal 192.168.226.130:3260.
在参数文件配置妥当后,浏览刚刚配置的信息,确保上述提到的“目录”都已经填写了正确的内容。
#在确认信息无误后输入 exit命令退出配置。注意,千万不要习惯性地按Ctrl+C组合键结束进程,这样不会保存配置文件,我们的工作也就白费了
关闭防火墙
systemctl stop firewalld
iSCSI客户端
安装iSCSI的交换式配置工具
dnf install iscsi-initiator-utils
编辑文件
cd
vim /etc/iscsi/initiatorname.iscsi
#把服务端的访问控制列表名称填进来
InitiatorName=iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.929dffeccbb5:client
#重启客户端iscsid服务程序
systemctl restart iscsid
systemctl enable iscsid
扫描并发现可用的存储资源
iSCSI客户端访问并使用共享存储资源的步骤很简单,只需要记住刘造老师的一个小口诀“先发现,再登录,最后挂载并使用”。iscsiadm是用于管理、查询、插入、更新或删除 iSCSI数据库配置文件的命令行工具,用户需要先使用这个工具扫描发现远程 iSCSI服务端,然后查看找到的服务端上有哪些可用的共享存储资源。其中,-m discovery参数的目的是扫描并发现可用的存储资源,-t st参数为执行扫描操作的类型,-p 192.168.226.130参数为iSCSI服务端的P地址:
[root@localhost ~]# iscsiadm -m discovery -t st -p 192.168.226.130
192.168.226.130:3260,1 iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0a6658300a70
登录
在使用iscsiadm命令发现了远程服务器上可用的存储资源后,接下来准备登录 iSCSI服务端。其中,-m node参数为将客户端所在主机作为一台节点服务器,-T参数为要使用的存储资源(大家可以直接复制前面命令中扫描发现的结果,以免录入错误),-p 192.168.226.130参数依然为对方iSCSI服务端的I地址。最后使用–login或-1参数进行登录验证。
[root@localhost ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0a6658300a70 -p 192.168.226.130 --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0a6658300a70, portal: 192.168.226.130,3260]
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0a6658300a70, portal: 192.168.226.130,3260] successful.
在 iSCSI客户端成功登录之后,会在客户端主机上多出一块名为/ldev/sdb 的设备文件。
[root@localhost ~]# 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 40G 0 disk
sr0 11:0 1 9.3G 0 rom /run/media/g/CentOS-8-4-2105-x86_64-dvd
直接格式化并挂载使用
[root@localhost ~]# mkfs.xfs /dev/sdb
log stripe unit (524288 bytes) is too large (maximum is 256KiB)
log stripe unit adjusted to 32KiB
meta-data=/dev/sdb isize=512 agcount=16, agsize=654720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=10475520, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=5120, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mkdir /iscsi
[root@localhost ~# mount /dev/sdb /iscsi/
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 362M 0 362M 0% /dev
tmpfs 392M 0 392M 0% /dev/shm
tmpfs 392M 12M 380M 3% /run
tmpfs 392M 0 392M 0% /sys/fs/cgroup
/dev/mapper/cl-root 17G 4.5G 13G 26% /
/dev/sda1 1014M 242M 773M 24% /boot
tmpfs 79M 4.6M 74M 6% /run/user/1000
/dev/sr0 9.3G 9.3G 0 100% /run/media/g/CentOS-8-4-2105-x86_64-dvd
/dev/sdb 40G 319M 40G 1% /iscsi
#blkid命令用于查看设备的名称、文件系统及UUID。可以使用管道符进行过滤,只显示与/dev/sdb设备相关的信息:
[root@localhost ~]# blkid | grep /dev/sdb
/dev/sdb: UUID="03d7e757-0fc5-4d86-98c9-49562e5731a4" BLOCK_SIZE="512" TYPE="xfs"
#由于/devlsdb是一块网络存储设备,而iSCSI协议是基于TCP/IP网络传输数据的,因此必须在/etc/fstab配置文件中添加上_netdev参数,表示当系统联网后再进行挂载操作,以免系统开机时间过长或开机失败:
vim /etc/fstab
#如果我们不再需要使用iSCSI共享设备资源了,可以用iscsiadm命令的-u参数将其设备卸载:
[root@localhost ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0a6658300a70 -u
Logging out of session [sid: 1, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0a6658300a70, portal: 192.168.226.130,3260]
Logout of [sid: 1, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0a6658300a70, portal: 192.168.226.130,3260] successful.
Windows客户端
运行 iSCSI发起程序
在 Windows 10操作系统中已经默认安装了iSCSl客户端程序,我们只需在控制面板中找到“系统和安全”标签,然后单击“管理工具”,进入到“管理工具”页面后即可看到“iSCSI发起程序”图标。双击该图标,在第一次运行 iSCSI发起程序时,系统会提示“Microsoft iSCSI服务端未运行”,单击“是”按钮即可自动启动并运行iSCSI发起程序,如图所示
扫描发现 iSCSI服务端上可用的存储资源
不论是Windows 系统还是 Linux系统,要想使用iSCSl 共享存储资源,都必须先进行扫描发现操作。运行 iSCSI发起程序后在“目标”选项卡的“目标”文本框中写入 iSCSI服务端的IP地址,然后单击“快速连接”按钮,如图所示。
在弹出的“快速连接”对话框中可看到共享的硬盘存储资源,此时显示“无法登录到目标”属于正常情况,单击“完成”按钮即可,如图所示。
准备连接iSCSI服务端的共享存储资源
由于在 iSCSI服务端程序上设置了ACL,使得只有客户端名称与ACL策略中的名称保持一致时才能使用远程存储资源,因此首先需要在“配置”选项卡中单击“更改”按钮(见下图),随后在修改界面写入 iSCSI服务器配置过的ACL策略名称(见图),最后重新返回到 iSCSl 发起程序的“目标”界面(见图)。
访问 iSCSI远程共享存储资源
右键单击桌面上的“计算机”图标,打开计算机管理程序,如图所示。
然后开始对磁盘进行初始化操作,由于过于简单就不做描述了
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!