如何在 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 目录下找到它们。

  1. # ll /dev/disk/by-id
  2. total 0
  3. lrwxrwxrwx 1 root root 10 Jul 9 17:52 scsi-60a98000486e542d4f5a2f47694d684b -> ../../sdah
  4. lrwxrwxrwx 1 root root 9 Jul 9 17:52 scsi-60a98000486e542d4f5a2f47694d684c -> ../../sdw
  5. .
  6. .
  7. lrwxrwxrwx 1 root root 10 Jul 9 17:52 scsi-60a98000486e542d4f5a2f47694d684d -> ../../sdjk
  8. lrwxrwxrwx 1 root root 10 Jul 9 17:52 scsi-60a98000486e542d4f5a2f47694d684e -> ../../sdaa
  9. lrwxrwxrwx 1 root root 9 Jul 9 17:52 scsi-60a98000486e542d4f5a2f47694d684f -> ../../sdh

另外,如果你已经用 multipath 配置了它们,那么可以用 multipath 命令找到。

`multipath 主要是配置到 Oracle 数据库服务器中,以提高性能。

# multipath -ll60a98000486e542d4f5a2f47694d684b dm-37 NETAPP,LUN C-Modesize=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 主机设备,如下所示:

  1. # 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 编号

运行下面的命令来查找系统中所有的主机总线编号:

  1. # ls /sys/class/scsi_host
  2. 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 循环用一条命令进行扫描。

  1. # 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

  1. # yum install -y sg3_utils

对于 RHEL/CentOS 8 和 Fedora 系统,使用 dnf 命令安装 sg3_utils。

# dnf install -y sg3_utils

现在你可以使用 rescan-scsi-bus.sh 脚本重新扫描 LUN。

  1. # ./rescan-scsi-bus.sh

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

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

(0)

相关推荐

  • CentOS 磁盘在线扩容

    场景介绍: 操作系统Centos7.x 系统有一块vdisk,容量为20G,共分为3个区(swap和boot分区为标准分区xfs文件系统,根分区为LVM分区,xfs文件系统) 业务需求:在VM系统不关 ...

  • 编程语言Linux上磁盘热插拔是什么意思?

    首先获取scsi设备的信息. [root@server2 ~]# lsscsi [2:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda [4:0:0: ...

  • 在 Linux 上运行你最喜欢的 Windows 应用程序 | Linux 中国

    原创 (译)郑 Linux中国 6天前   导读:WINE 是一个开源项目,它可以协助很多 Windows 应用程序在 Linux 上运行,就好像它们是原生程序一样. 本文字数:2118,阅读时长大约 ...

  • (2条消息) 如何在CentOS 7 Linux上安装Tex Live?

    The LaTex packages in CentOS 7 Linux is not sufficient enough. I would like to Install Tex Live such ...

  • 技术|入门:如何在 Kali Linux 上安装 SSH 服务

    介绍 目的 我们的目的是 Kali Linux 上安装 SSH(安全 shell). 要求 你需要有特权访问你的 Kali Linux 安装或者 Live 系统. 困难程度 很容易! 惯例 # - 给 ...

  • 如何在 Kali Linux 上安装 SSH 服务 | 《Linux就该这么学》

    目的 我们的目的是 Kali Linux 上安装 SSH(安全 shell). 要求 你需要有特权访问你的 Kali Linux 安装或者 Live 系统. 困难程度 很容易! 惯例 #- 给定命令需 ...

  • ubuntu 如何在linux上制作服务器

    这听起来很愚蠢,但我必须制作一个网络服务器作为我在大学的操作系统课程项目.我很困惑如何处理它,如何开始阅读文章,但无法选择是否使用 apache 使托管我的文件的服务器出现在我的笔记本电脑中,这是否应 ...

  • 如何在 Linux 上运行 Windows 的应用?

    不少朋友在用 Linux 系统,尤其是程序员群体.虽然 Linux 系统安全.稳定,但图像界面及其应用程序使用体验很差. 相比而言,Windows 系统的用户图形界面交互体验更受欢迎,并且还具备各种各 ...

  • 技术|如何在 Linux 上安装设备驱动程序

    学习 Linux 设备驱动如何工作,并知道如何使用它们. 对于一个熟悉 Windows 或者 MacOS 的人,想要切换到 Linux,它们都会面临一个艰巨的问题就是怎么安装和配置设备驱动.这是可以理 ...

  • 如何在Linux上创建,列出和删除Docker容器

    本篇文章介绍的内容是关于在Linux机器上创建,列出和删除docker容器,下面我们来看具体的内容. 1.启动Docker容器 使用下面的命令启动新的Docker容器.这将启动一个新的容器,并为你提供 ...

  • 关于如何在VMware上安装Puppy Linux

    这2天,看到网上说Puppy Linux4.1不错,心里痒痒,自己也试了一把. 我是个linux菜鸟,对linux 不怎么了解,怕搞坏我的windows开发环境, 所以就在VMware5.5 上装, ...