iscsi

// 首先在 SERVER 端操作
安装
yum -y install targetd targetcli

重启程序

 systemctl start target
systemctl enable target

设置防火墙

firewall-cmd --add-port=3260/tcp --permanent
firewall-cmd --reload
 firewall-cmd --list-ports

执行targetcli

yum install python-rtslib -y
targetcli

server端

1 、指定要发布的磁盘(块设备 LUN
/> /backstores/block create server0.disk1 /dev/sdc
2 、创建 iqn 名字即创建 ISCSI 对象。
/> /iscsi create iqn.2020-05.com.bdqn:disk1
3 、设置 ACL 即将 ISCSI 对象与客户端 IP 或主机名绑定
/> /iscsi/iqn.2020-05.com.bdqn:disk1/tpg1/acls create iqn.2020- 05.com.bdqn:client1
4 、创建 LUN 并绑定块
/> /iscsi/iqn.2020-05.com.bdqn:disk1/tpg1/luns create /backstores/block/server0.disk1
Client
1 、安装工具
yum -y install iscsi-initiator-utils
2 、给 initiator 命名
 vim /etc/iscsi/initiatorname.iscsi
3 、启动服务
systemctl start iscsi
systemctl enable iscsi
systemctl status iscsi
4 、发现存储
iscsiadm -m discovery -t st -p 192.168.1.60
5 、登录存储 / 连接 target
iscsiadm -m discovery -t st -p 192.168.1.60 -l
6 、验证 iscsi 连接,查看是否得到外界硬盘
lsscsi
// 然后就可以像操作本地磁盘一样来操作 iscsi 磁盘 了。
gdisk /dev/sdb
partprobe /dev/sdb
cat /proc/partitions
// 这里将 /dev/sdb1 分区挂载到 /mnt/iscsi 目录中使用。
 mkdir /mnt/iscsi
mkfs.xfs /dev/sdb1
 mount /dev/sdb1 /mnt/iscsi/
 mount | tail -1
df -hT /mnt/iscsi/
// 如果加入开机自动挂载,需要在挂载选项中添加 _netdev 选项
vim /etc/fstab
/dev/sdb1 /mnt/iscsi xfs defaults,_netdev 0 0
mount -a
再次提醒 :iscsi ,网络存储,经过网络,那么就必须要注意安全。这里注意是以防火墙来体现安全。
可以再开一台虚拟机。当做 iscsi 客户端,看看是否能够发现 iscsi 存储。
 yum install iscsi*
systemctl start iscsi
iscsiadm -m discovery -t st -p 192.168.1.60

 //0.0.0.0 是什么意思?是所以,所以我们把0.0.0.0改成 对应的客户端的IP就可以了。

targetcli
 systemctl restart target.service

 个时候,再用另一个台去访问就访问不到了。

iscsiadm -m discovery -t st -p 192.168.1.60
// 查看状态
systemctl status firewalld
// 查看开放端口
firewall-cmd --zone=public --list-ports
然后我们就要想,怎么能够添加只允许的客户端 IP 。使用防火墙富规则来实现
firewall-cmd --add-rich-rule='rule family=ipv4 source
firewall-cmd --reload
firewall-cmd --list-rich-rules
// 那么现在,我们的服务器同时有开启了 httpd 服务。那么如果没有设置的话,其他机器是无法访问的。
怎么设置才能够让其他机器访问到那?
systemctl start httpd
cat > /var/www/html/index.html <<EOF
curl 127.0.0.1
// 此时其他机器是访问不了的
[root@work ~]# curl 192.168.1.60 
curl: (7) Failed connect to 192.168.1.60:80; No route to host
// 好的我们来添加一下规则,说明一下,这里仅仅只是为了练习添加富规则,通常只是开启 80 端口即可
[root@server ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source 
address=192.168.1.200 port port=80 protocol=tcp accept' --permanent success
[root@server ~]# firewall-cmd --reload success
// 然后再用客户端,就可以访问了。
[root@work ~]# curl 192.168.1.60 
How are you ? 
I'm fine!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值