栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

iscsi

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 < 
                       
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!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/844524.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号