找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2447|回复: 2

[讨论] 如何在Linux上扫描/检测新的LUN和SCSI磁盘

2

主题

10

帖子

10

积分

贫民

积分
10
hkbgp 发表于 2021-1-16 15:02:35 | 显示全部楼层 |阅读模式
当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-[color=#e2**]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
  • [color=#e2**]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。

回复

使用道具 举报

2

主题

10

帖子

10

积分

贫民

积分
10
hkbgp  楼主| 发表于 2021-1-16 15:05:42 | 显示全部楼层
方法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

主题

10

帖子

10

积分

贫民

积分
10
hkbgp  楼主| 发表于 2021-1-16 15:09:01 | 显示全部楼层
方法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
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表