云计算 基础服务 iscsi 实现
gw: 提供安装源(yum)node05: 为node01提供数据备份业务:node01:iSCSI(Internet Small Computer System Interface),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术1) 数据传输对于用户来说是透明的, 用户在存储数据的时候, 就像是使用自己的本地硬盘2) 速度与稳定性受限于网
gw: 提供安装源(yum)
node05: 为node01提供数据备份业务:
node01:
iSCSI(Internet Small Computer System Interface),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术
1) 数据传输对于用户来说是透明的, 用户在存储数据的时候, 就像是使用自己的本地硬盘
2) 速度与稳定性受限于网络及提供共享服务的服务器性能
服务端(node05): target
添加1块磁盘2G空间
客户端(node01): initiator
服务器端:
1) 安装对应的软件包 并设置开机启动
[root@node05 ~]# yum install targetcli -y
[root@node05 ~]# systemctl start target
[root@node05 ~]# systemctl enable target
2) 对新加的磁盘进行分区
[root@node05 ~]# fdisk /dev/sdb <<EOF
n
p
1
w
EOF
# 查看分区结果
[root@node05 ~]# fdisk -l | grep sdb1
/dev/sdb1 2048 4194303 2096128 83 Linux
3) 进行相关配置
3.1 建立一个块存储 www.disk2G 可以自己命名
3.2 iqn.2021-01.cn.example.www:disk
命名在同一子网内确保是唯一,命名格式为:iqn.yyyy-mm.<主机名反写>:自定义名称
iqn. # iscsi限定名称
2019-05 # 时间 常用格式:yyyy-mm
cn.example.www # 反向域名
disk # 自定义标签名称 一般disk
# 进入交互模式
[root@node05 ~]# 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]
# 建立一个块存储 www.disk2G 注意名字
/> /backstores/block create www.disk2G /dev/sdb1 # 名字见名知义 对应的磁盘名称
Created block storage object www.disk2G using /dev/sdb1.
/> iscsi/ create iqn.2021-01.cn.example.www:disk #
Created target iqn.2021-01.cn.example.www:disk.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
# 创建ACL
/> iscsi/iqn.2021-01.cn.example.www:disk/tpg1/acls create iqn.2021-01.cn.example.www:nodes
Created Node ACL for iqn.2021-01.cn.example.www:nodes
# 绑定块设备 前面定义的名字 www.disk2G
/> iscsi/iqn.2021-01.cn.example.www:disk/tpg1/luns create /backstores/block/www.disk2G
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2021-01.cn.example.www:nodes
# 删除默认的IP和端口设置
/> iscsi/iqn.2021-01.cn.example.www:disk/tpg1/portals/ delete 0.0.0.0 3260
Deleted network portal 0.0.0.0:3260
# 添加本地IP地址和端口号
/> iscsi/iqn.2021-01.cn.example.www:disk/tpg1/portals create 10.15.200.105 3260 # 10.15.200.104
Using default IP port 3260
Created network portal 10.15.200.105:3260.
# 保存配置
/> saveconfig
Configuration saved to /etc/target/saveconfig.json
客户端:
[root@node01 ~]# yum -y install iscsi-initiator-utils
# 此处InitiatorName必须与服务端配置得ACL允许ISCSI客户机连接名称一致
[root@node01 ~]# vim /etc/iscsi/initiatorname.iscsi # 创建的ACL的名字
InitiatorName=iqn.2021-01.cn.example.www:nodes
[root@node01 ~]# systemctl enable iscsid
[root@node01 ~]# systemctl restart iscsid
# 查找ISCSI设备
[root@node01 ~]# iscsiadm -m discovery -t sendtargets -p node05 # node04
10.15.200.105:3260,1 iqn.2021-01.cn.example.www:disk
# 验证客户端存储是否已发现服务端target
[root@node01 ~]# ls /var/lib/iscsi/nodes/
iqn.2021-01.cn.example.www:disk
# 连接ISCSI设备
# -T:-target -l:Login -u:Logout
[root@node01 ~]# iscsiadm -m node -T iqn.2021-01.cn.example.www:disk -l
Logging in to [iface: default, target: iqn.2021-01.cn.example.www:disk]
Login to [iface: default, target: iqn.2021-01.cn.example.www:disk]] successful.
[root@node01 ~]# iscsiadm -m session -P 3 | grep Attached
Attached scsi disk sdb State: running
[root@node01 ~]# fdisk -l | grep sdb
Disk /dev/sdb: 2146 MB, 2146435072 bytes, 4192256 sectors
[root@node01 ~]# mkfs.xfs /dev/sdb
[root@node01 ~]# blkid /dev/sdb
/dev/sdb: UUID="bab4b5ba-49a9-467e-bd39-887d1b55628d" TYPE="xfs"
[root@node01 ~]# mkdir /backup
[root@node01 ~]# vim /etc/fstab
UUID=c0d2eb8f-7725-4d79-a3d7-925c084a4f97 /backup xfs _netdev 0 0
# mount all filesystems mentioned in fstab
[root@node01 ~]# mount -a
[root@node01 ~]# df -h | grep backup
/dev/sdb 2.0G 33M 2.0G 2% /backup
# 重启系统进行校验
[root@node01 ~]# init 6
[root@node01 ~]# df -h | grep backup
/dev/sdb 2.0G 33M 2.0G 2% /backup
[root@node01 ~]# mount -a # 出错 因为未挂载
mount: can't find UUID=bab4b5ba-49a9-467e-bd39-887d1b55628d
[root@node01 ~]# iscsiadm -m node -T iqn.2021-01.cn.example.www:disk -l # 重新登录
Logging in to [iface: default, target: iqn.2021-01.cn.example.www:disk
Login to [iface: default, target: iqn.2021-01.cn.example.www:disk,] successful.
[root@node01 ~]# mount -a # 重新挂载
[root@node01 ~]# df -h | grep backup
/dev/sdb 2.0G 33M 2.0G 2% /ba
# 恢复原装 将开机启动中的选项 注释或删除
[root@node01 ~]# /etc/fstab
# 卸载挂载点
[root@node01 ~]# umount /backup
# -u: 退出 (只有非挂载状态 才可以-u)
[root@node01 ~]# iscsiadm -m node -T iqn.2021-01.cn.example.www:disk -u
Logging out of session [sid: 1, target: iqn.2021-01.cn.example.www:disk, portal: 10.15.200.105,3260]
Logout of [sid: 1, target: iqn.2021-01.cn.example.www:disk, portal: 10.15.200.105,3260] successful.
[root@node01 ~]# systemctl stop iscsi
[root@node01 ~]# systemctl disable iscsi
# /backup挂载状态时 无法退出
iscsiadm: initiator reported error (28 - device or resource in use)
更多推荐
所有评论(0)