首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在 Linux 上扫描/检测新的 LUN和SCSI 磁盘|Linux 中国

导读:当 Linux 系统连接到 SAN(存储区域网络)后,你需要重新扫描 iSCSI 服务以发现新的 LUN。

本文字数:3394,阅读时长大约:4分钟

https://linux.cn/article-12820-1.html

作者:Magesh Maruthamuthu

译者:geekpi

当 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 目标 ID

◈l:LUN ID

◈n: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

via:https://www.2daygeek.com/scan-detect-luns-scsi-disks-on-redhat-centos-oracle-linux/

作者:Magesh Maruthamuthu选题:lujun9972译者:geekpi校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201114A01B2200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券