如何在 Linux 上扫描/检测新的 LUN 和 SCSI 磁盘
当 Linux 系统连接到 SAN(存储区域网络)后,你需要重新扫描 iSCSI 服务以发现新的 LUN。
要做到这一点,你必须向存储团队提供 Linux 主机的 WWN 号和所需的 LUN 大小。
这篇文章将帮助你查找 Linux 主机的 WWN 号。
当存储团队将 LUN 与给定的 Linux 主机进行了映射,他们将为你提供新的 LUN 详细信息。
LUN 在存储术语中被称为 LUN 的串行十六进制。
你需要扫描 SCSI 主机来寻找存储团队分配的新 LUN。
这可以通过两种方式进行,扫描每个 scsi 主机设备或运行 rescan-scsi-bus.sh 脚本来检测新磁盘。
扫描后可以在 /dev/disk/by-id 目录下找到它们。
# ll /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root 10 Jul 9 17:52 scsi-60a98000486e542d4f5a2f47694d684b -> ../../sdah
lrwxrwxrwx 1 root root 9 Jul 9 17:52 scsi-60a98000486e542d4f5a2f47694d684c -> ../../sdw
.
.
lrwxrwxrwx 1 root root 10 Jul 9 17:52 scsi-60a98000486e542d4f5a2f47694d684d -> ../../sdjk
lrwxrwxrwx 1 root root 10 Jul 9 17:52 scsi-60a98000486e542d4f5a2f47694d684e -> ../../sdaa
lrwxrwxrwx 1 root root 9 Jul 9 17:52 scsi-60a98000486e542d4f5a2f47694d684f -> ../../sdh
另外,如果你已经用 multipath 配置了它们,那么可以用 multipath 命令找到。
`multipath 主要是配置到 Oracle 数据库服务器中,以提高性能。
# multipath -ll
60a98000486e542d4f5a2f47694d684b dm-37 NETAPP,LUN C-Mode
size=512G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw
|-+- policy='round-robin 0' prio=50 status=active
| |- 1:0:4:18 sdoe 128:416 active ready running
| |- 0:0:4:18 sdpq 131:256 active ready running
| |- 0:0:5:18 sdsr 135:496 active ready running
| `- 1:0:5:18 sdsq 135:480 active ready running
`-+- policy='round-robin 0' prio=10 status=enabled
|- 1:0:1:18 sdfw 131:32 active ready running
|- 1:0:0:18 sdci 69:96 active ready running
|- 0:0:1:18 sdbz 68:208 active ready running
|- 0:0:0:18 sds 65:32 active ready running
|- 1:0:3:18 sdmd 69:336 active ready running
|- 1:0:2:18 sdjj 8:464 active ready running
|- 0:0:3:34 sdjt 65:368 active ready running
`- 0:0:2:34 sdgi 131:224 active ready running
这个过程适用于基于 Red Hat 6.x、7.x 和 8.x(RHEL - Red Hat Enterprise Linux)的系统,如 CentOS 和 Oracle Linux。
方法 1:如何使用 /sys 类文件在 Linux 上扫描新的 LUN 和 SCSI 磁盘
sysfs 文件系统是一个伪文件系统,它为内核数据结构提供了一个接口。
sysfs 下的文件提供了关于设备、内核模块、文件系统和其他内核组件的信息。
sysfs 文件系统通常被挂载在 /sys。通常,它是由系统自动挂载的。
你可以使用 echo 命令来扫描每个 SCSI 主机设备,如下所示:
# echo "- - -" > /sys/class/scsi_host/host[n]/scan
当你运行上面的重新扫描所有的命令时,三个破折号(- – -)指的是通配符选项。这些值如下:
# echo "c t l" > /sys/class/scsi_host/host[n]/scan
这里:
c:HBA 上的通道t:SCSI 目标 IDl:LUN IDn:HBA 编号
运行下面的命令来查找系统中所有的主机总线编号:
# ls /sys/class/scsi_host
host0 host1 host2
得到主机总线编号后,运行以下命令来发现新的磁盘:
# echo "- - -" > /sys/class/scsi_host/host0/scan
# echo "- - -" > /sys/class/scsi_host/host1/scan
# echo "- - -" > /sys/class/scsi_host/host2/scan
另外,还可以用 for 循环用一条命令进行扫描。
# for host in ls /sys/class/scsi_host/;do echo "- - -" >/sys/class/scsi_host/${host}/scan; done
你可以使用文章开头提到的 ls 命令来检查它们。
# ls /dev/disk/by-id | grep -i "serial-hex of LUN"
方法 2:如何使用 rescan-scsi-bus.sh 脚本在 Linux 上扫描新的 LUN 和 SCSI 磁盘
确保你已经安装了 sg3_utils 包来使用这个脚本。否则,运行以下命令来安装它。
对于 RHEL/CentOS 6/7 系统,使用 yum 命令安装 sg3_utils。
# yum install -y sg3_utils
对于 RHEL/CentOS 8 和 Fedora 系统,使用 dnf 命令安装 sg3_utils。
# dnf install -y sg3_utils
现在你可以使用 rescan-scsi-bus.sh 脚本重新扫描 LUN。
# ./rescan-scsi-bus.sh
转载自:
https://linux.cn/article-12820-1.html
https://www.2daygeek.com/scan-detect-luns-scsi-disks-on-redhat-centos-oracle-linux/
如何在 Linux 上扫描/检测新的 LUN 和 SCSI 磁盘的更多相关文章
- 如何在Linux上清理内存缓存、缓冲与交换空间
如何在Linux上清理内存缓存.缓冲与交换空间 与其他类型的操作系统一样,GNU/Linux已经有效的实现了内存管理,甚至更加优秀.但是如果任何进程正在吃光你的内存,并且你想清理它,Linux提供了一 ...
- 如何在 Linux 上安装应用程序
如何在 Linux 上安装应用程序 编译自:https://opensource.com/article/18/1/how-install-apps-linux作者: Seth Kenlon原创:LC ...
- 如何在Linux上创建,列出和删除Docker容器
本篇文章介绍的内容是关于在Linux机器上创建,列出和删除docker容器,下面我们来看具体的内容. 1.启动Docker容器 使用下面的命令启动新的Docker容器.这将启动一个新的容器,并为你提供 ...
- 如何在Linux上通过grub添加内核参数
转自Linux中国 我们可以在linux内核启动时为其提供各种各样的参数.这些参数可以自定义内核默认的行为,或者通知内核关于硬件的配置信息.内核参数应在内核启动时通过引导装载程序,如GRUB或LILO ...
- 如何在Linux上使用VIM进行.Net Core开发
对于在Linux上开发.Net Core的程序员来说, 似乎都缺少一个好的IDE. Windows上有Visual Studio, Mac上有Visual Studio for Mac, 难道Linu ...
- 如何在 Linux 上复制文件/文件夹到远程系统?
从一个服务器复制文件到另一个服务器,或者从本地到远程复制是 Linux 管理员的日常任务之一. 我觉得不会有人不同意,因为无论在哪里这都是你的日常操作之一.有很多办法都能处理这个任务,我们试着加以概括 ...
- springboot打成的jar包如何在Linux上持久运行
一.首先说说在没有springboot的时候,项目是如何部署的? 1.动态web项目 动态web项目部署很方便,基本上上传文件到服务器的tomcat里面的webapps文件夹下即可完成部署.当然了,这 ...
- 如何在 Linux 上设置密码策略
https://linux.cn/article-2518-1.html 用户帐号管理是系统管理员最重要的工作之一.而密码安全是系统安全中最受关注的一块.在本教程中,我将为大家介绍如何在 Linux ...
- [转帖]如何在Linux上使用命令行查看硬件信息
如何在Linux上使用命令行查看硬件信息 时间:2016-01-13 作者:admin 分类:新手入门 阅读:126次 http://embeddedlinux.org.cn/emb-linux/ ...
- 关于如何在Linux上使用Nugix反向代理部署net core3.1项目
本文意在教大家如何在Linux上部署net core web项目,本人通过实践已经成功可以通过外网访问我部署在阿里云服务器上的站点. 一:需要用到的东西如下: 1:一个基于net core框架下的we ...
随机推荐
- flask-基础篇03 RESTful
一.起步: Flask-RESTful 是用于快速构建REST API 的Flask扩展 1.安装RESTful pip install flask-restful 2.Hello World示例 f ...
- TCP和UDP协议之间的区别与原理
一.TCP和UDP协议之间的区别 TCP是基于连接的,而UDP是基于非连接的. TCP传输数据稳定可靠,适用于对网络通讯质量要求较高的场景,需要准确无误的传输给对方,比如,传输文件,发送邮件,浏览网页 ...
- 关于vCenter6.7 导出的ovf 不能导入vCenter6.5/6.0的问题
正常从6.7导出ovf文件,包含四个文件. 编辑ovf文件,删除下面五条条目, 导入6.5时, 只用 ovf 和 vmdk 这两个文件导入 ,即可!
- jquery 去除兄弟节点的class
function chooseCategory(dicCode,obj){ $(obj).siblings('a').removeClass("active"); $(obj).a ...
- ubuntu 20.04使用kubeadm安装k8s集群
本文主要用于记录,步骤参考了:https://blog.csdn.net/weixin_44559544/article/details/123381441 一.设备相关准备 1.修改节点主机名,这样 ...
- 【当年笔记】Collection集合部分
集合继承关系图 1)Vector 特点:线程安全,消耗偏大 2)ArrayList 特点:基于数组实现,随机访问某个元素效率高.集和头尾之间包括头插入删除操作效率较低,因为插入元素后,其他元素要后移. ...
- Kubernetes-yaml详解
目录: Yaml语法格式 查看api资源版本标签 deployment模板 service模板 查询帮助和格式指令 Pod模板 写 yaml太累怎么办 yaml文件的学习 方法 deployment. ...
- 视频直播系统源码,java 随机验证码 、10 分钟有效
视频直播系统源码,java 随机验证码 .10 分钟有效 1.首先创建一个vo类存放我们验证码相关信息. import lombok.AllArgsConstructor;import lombok. ...
- 在输入shell命令的list_namespace时,报 :org.apache.hadoop.hbase.PleaseHoldException: Master is initializing。
今天弄了一下午这个问题,弄到了将近十点,终于解决了,终于解决这个问题了,感谢旭旭大佬相助,不再报错了. 本来今天中午,我已经弄好了,结果我午睡了一下再看就报错了,哎.今天本来已经绝望了,后来问了一下大 ...
- [vsCode]Visual Studio Code环境变量不同步
很奇怪的事情,在设置好Path环境变量后,powershell正常了, 但是vscode不正常 解决方法竟然是: 确认{在PowerShell运行正常}后,关闭{vsCode},进入{管理员模式的Po ...