首页 > 系统相关 >Linux 挂载 IP SAN

Linux 挂载 IP SAN

时间:2023-12-28 15:06:59浏览次数:39  
标签:node fs SAN -- IP mount Linux iscsi target


CentOS 7 挂载 IP SAN

环境描述

IP SAN为Dell EQL PS4100,创建卷名称ODB01,分别设置指定IP允许访问和CHAP账户访问。

IP SAN对外服务IP:10.3.6.10

CentOS 1908 7.7:10.3.5.121

1. 安装iSCSI initiator和iscsiadm

iscsiadm是基于命令行的iscsi管理工具,提供了对iscsi节点、会话、连接以及发现记录的操作。

yum install -y iscsi-initiator-utils
cat /etc/iscsi/initiatorname.iscsi  #配置文件
systemctl enable iscsi
systemctl start iscsi
systemctl status iscsi
ss -tnl
iscsiadm是个模式化的工具,其模式可通过-m或--mode选项指定,常见的模式有discovery、node、fw、session、host、iface几个,
如果没有额外指定其它选项,则discovery和node会显示其相关的所有记录;session用于显示所有的活动会话和连接,fw显示所有的启动固件值,
host显示所有的iSCSI主机,iface显示/var/lib/iscsi/ifaces目录中的所有ifaces设定。

iscsiadm命令参数如下:
iscsiadm -m discovery [ -d debug_level ] [ -P printlevel ] [ -I iface -t type -p ip:port [ -l ] ]
iscsiadm -m node [ -d debug_level ] [ -P printlevel ] [ -L all,manual,automatic ] [ -U all,manual,automatic ] [ [ -T tar-getname -p ip:port -I iface ] [ -l | -u | -R | -s] ] [ [ -o operation ]


-d, --debug=debug_level   显示debug信息,级别为0-8;
-l, --login
-t, --type=type  这里可以使用的类型为sendtargets(可简写为st)、slp、fw和 isns,此选项仅用于discovery模式,且目前仅支持st、fw和isns;其中st表示允许每个iSCSI target发送一个可用target列表给initiator;
-p, --portal=ip[:port]  指定target服务的IP和端口;
-m, --mode op  可用的mode有discovery, node, fw, host iface 和 session
-T, --targetname=targetname  用于指定target的名字
-u, --logout
-o, --op=OPEARTION:指定针对discoverydb数据库的操作,其仅能为new、delete、update、show和nonpersistent其中之一;
-I, --interface=[iface]:指定执行操作的iSCSI接口,这些接口定义在/var/lib/iscsi/ifaces中;

2.发现目标

默认情况下,iscsi发起方和目标方之间通过端口3260连接。假设已知iscsi的目标方IP是10.3.6.10,运行下列命令:

iscsiadm -m discovery -t sendtargets -p 10.3.6.10:3260  #省略如下
iscsiadm -m discovery -t st -p 10.3.6.10
#这里发现两个卷,分别是EQL上定义的odb01和odb02
10.3.6.10:3260,1 iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01
10.3.6.10:3260,1 iqn.2001-05.com.equallogic:4-771816-f4c8bdc2b-db40053bc665dd3a-odb02

3. 登入节点

以上面被发现的目标为例

iscsiadm -m node –T iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01 -p 10.3.6.10:3260 -l
# 其中iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01是目标名

Logging in to [iface: default, target: iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01, portal: 10.3.6.10,3260] (multiple)
Logging in to [iface: default, target: iqn.2001-05.com.equallogic:4-771816-f4c8bdc2b-db40053bc665dd3a-odb02, portal: 10.3.6.10,3260] (multiple)
Login to [iface: default, target: iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01, portal: 10.3.6.10,3260] successful.
Login to [iface: default, target: iqn.2001-05.com.equallogic:4-771816-f4c8bdc2b-db40053bc665dd3a-odb02, portal: 10.3.6.10,3260] successful.

如果要在系统启动时自动登入

iscsiadm -m node –T iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01 -p 10.3.6.10:3260 --op update -n node.startup -v automatic
退出target会话或卸载iscsi设备(例如退出ipsan-node01节点的target会话):
# iscsiadm -m node -T node -T iqn.2018-02.com.node01.san:1 -p 192.168.10.17 -u

删除target条目的记录(例如退出ipsan-node01节点的target条目的记录):
# iscsiadm -m node -T node -T iqn.2018-02.com.node01.san:1 -p 192.168.10.17 -o delete

特别注意:
在客户端删除了之前discovery发现的可用的target条目,则重启或重启服务后将不会自动进行重连接。
# ls /var/lib/iscsi/send_targets/
# ls /var/lib/iscsi/
# rm -rf /var/lib/iscsi/*
# ls /var/lib/iscsi/

登入需验证码的节点:

(1)开启认证
iscsiadm -m node -T [iSCSI目标名称] -o update --name node.session.auth.authmethod --value=CHAP
#使用-等于--op
#[iSCSI目标名称]即iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01
(2)添加用户
iscsiadm -m node -T [iSCSI目标名称] --op update --name node.session.auth.username --value=[用户名]
(3)添加密码
iscsiadm –m node –T [iSCSI目标名称] –op update –name node.session.auth.password –value=[密码]

4. 查看分区

fdisk -l /dev/sd[a-z] //或者直接使用命令"fdisk -l"

Disk /dev/sdb: 107.4 GB, 107379425280 bytes, 209725440 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdc: 107.4 GB, 107379425280 bytes, 209725440 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

5. 格式化设备

mkfs.xfs /dev/sdb

如欲将设备格式化为ext4文件系统,运行

mkfs.ext4 /dev/sdb

使用LVM分区

参看其他文章

6. 挂接设备

这里挂载为/opt目录

mkdir /opt

运行mount命令:

mount /dev/sdb /opt

针对iscsi设备的特殊mount选项

运行df –h可以看到:

/dev/sdb                 100G   33M  100G   1% /opt

iscsi设备被成功挂接,可以当作常规存储设备使用了。

如果要在系统启动时自动挂接

编辑/etc/fstab

加入一行:

/dev/sdb /opt                    xfs    defaults        0 0

重启测试无效!

创建自己的systemd服务

Step1:编写属于自己的unit文件,命令为mount-fs.service,整个文件如下:

echo '
[Unit]
Description=mount-fs Service
#等待网络启动,等待iscsi服务启动
After=network.target network.service NetworkManager.service iscsi.service

[Service]
Type=oneshot
ExecStart=/bin/bash /root/mount-fs.sh
StandardOutput=syslog
StandardError=inherit

[Install]
WantedBy=multi-user.target
' > /usr/lib/systemd/system/mount-fs.service

Step2:将上述的文件拷贝到RHEL 7系统中/usr/lib/systemd/system/*目录下

Step3:编写unit文件中ExecStart=/bin/bash /root/mount-fs.sh所定义的mount-fs.sh文件,将其放在定义的目录当中,此文件是服务的执行主体。文件内容如下:

echo '
#!/bin/bash
mount /dev/sdb /opt
' > /root/mount-fs.sh

Step4:将mount-fs.service注册到系统当中执行命令:

systemctl enable mount-fs.service

输出:

Created symlink from /etc/systemd/system/multi-user.target.wants/mount-fs.service to /usr/lib/systemd/system/mount-fs.service.

输出表明,注册的过程实际上就是将服务链接到/etc/systemd/system/目录下。

取消服务

systemctl disable mount-fs.service
rm -f /usr/lib/systemd/system/mount-fs.service
rm -f /root/mount-fs.sh
如果磁盘之前有过扩容,想让扩容后的磁盘生效,则需要先重启服务器,umount掉挂载的文件夹(umount dir_name),执行

e2fsck -f /dev/sdb   # 诊治数据磁盘,返回磁盘信息
resize2fs /dev/sdb   # 重置数据磁盘大小

之后再重新进行上述的mount,不用担心,重新mount 数据不会丢失

7. 登出节点

首先解除挂接

umount /opt

登出

iscsiadm -m node –T iqn.2001-05.com.equallogic:4-771816-cd88bdc2b-49e0053bc635dd3a-odb01 -p 10.3.6.10:3260 –u


标签:node,fs,SAN,--,IP,mount,Linux,iscsi,target
From: https://blog.51cto.com/u_15647075/9014924

相关文章

  • 使用Linux背后的Shell概念和shebang的正确用法
    1.Shell的作用:解释执行用户输入的命令或程序等用户输入一条命令,shell就解释一条键盘输入命令,Linux给予响应的方式,称之为交互式 2.shebang:指的是现在文本文件中的第一行前两个字符,即#! 3.初步编写shell脚本:3.1vim脚本名.sh:创建脚本,并进入脚本编辑 ......
  • CLIP 对比预训练 + 文字图像相似度:离奇调查,如何训练视觉大模型?
    CLIP:如何训练视觉大模型?对比预训练图像编码器文本编码器最大的亮点:zero-shot图像分类 CLIP论文地址:https://arxiv.org/pdf/2103.00020.pdfCLIP=对比学习+预训练+文字图像相似度。对比预训练传统方法训练视觉模型的方式通常是使用有监督学习方法,需要收集大量图像和对应标签......
  • linux命令查询开启的端口
    1.netstat命令:查询显示网络连接、路由表和网络接口等信息。使用以下命令可以查看当前开启的端口netstat-tuln该命令会列出所有TCP和UDP协议的监听端口。其中,-t参数表示显示TCP协议,-u表示显示UDP协议,-l表示只显示监听状态的端口,-n表示以数字形式显示端口号。2.ss命令:......
  • 【干货】Linux运维人员必备的实用工具!
    对于Linux运维人员来讲,工具是必不可少的,因为一款好的工具不仅可以保证服务器正常运行,还可以帮助我们排除故障,那么Linux运维人员必备的实用工具有哪些?本文为大家详细介绍一下。1、Nethogs:查询进程占用带宽情况Nethogs是一个终端下的网络流量监控工具,它的特别之处在于可......
  • IpcMain模块
    方法IpcMain模块有以下方法来侦听事件:ipcMain.on(channel,listener)channel stringlistener Functionevent IpcMainEvent...args any[]监听channel,当新消息到达,将通过listener(event,args…)调用listener。......
  • typeScript中map和filter的用法
    首先,这两个方法map()和filter()都是对调用他们的数组进行遍历。那么在项目中,什么情况下使用map(),又在什么情况下使用filter()呢?1、map()的使用方法:arr.map((item,index,array)=>{……})2、filter()的使用方法:arr.filter((item,index,array)=>{……})都是将函数写在方法的......
  • 克魔助手:方便查看iPhone应用实时日志和奔溃日志工具
    ​ 克魔助手:方便查看iPhone应用实时日志和奔溃日志工具查看iosapp运行日志摘要本文介绍了一款名为克魔助手的iOS应用日志查看工具,该工具可以方便地查看iPhone设备上应用和系统运行时的实时日志和奔溃日志。同时还提供了奔溃日志分析查看模块,可以对苹果奔溃日志进行符号化、......
  • HTML学习第七天:JavaScript进阶与事件处理
    在今天的HTML学习中,我进一步深入了JavaScript的学习,特别是事件处理方面。早上,我回顾了昨天学习的JavaScript基础知识,并进行了一些练习,以加深自己的理解。然后,我开始学习事件处理。事件处理是JavaScript中非常重要的一部分,它允许我们响应用户的各种操作,如点击、滑动、键盘输入等。我......
  • Windows系统中Run对话框输入URL和IP地址的区别
    Windows系统中Run对话框输入URL和IP地址的区别在Windows系统中,我们可以通过Run对话框快速执行一些命令或者打开一些应用程序。当我们在Run对话框中输入URL(比如//www.baidu.com)和IP地址(比如\192.168.3.194)时,两者有一些区别。本篇博客将详细探讨这些区别。1.URL和IP地址的基本概......
  • Linux shell编程学习笔记36:read命令
     *更新日志 *2023-12-181.根据[美]威廉·肖特斯(Willian shotts)所著《Linux命令行大全(第2版)》            更新了-e、-i、-r选项的说明           2.更新了2.8的实例,增加了gif动图           3.补充......