在Linux和Windows上查看 块存储的WWN号

在底层块存储上创建一个LUN后,会有一个全球唯一标识符 WWN用来识别这块硬盘,当你将这块硬盘挂载到服务器时,如果你这时需要扩容,但是服务器上有多块容量一样大的磁盘,这个时间就需要要出磁盘对应的WWN号了,然后在底层存储扩容。

下面将介绍Linux和Windows分别如何查看磁盘的wwn号

1. Linux

在linux系统查看比较简单,假设你不知道系统中那块盘是物理LUN直接输入如下命令:

lsscsi --scsi_id -s -g

复制代码
[0:0:0:0]    disk    VMware   Virtual disk     2.0   /dev/sda   -  /dev/sg0    107GB
[0:0:1:0]    disk    VMware   Virtual disk     2.0   /dev/sdb   -  /dev/sg1    562GB
[0:0:2:0]    disk    VMware   Virtual disk     2.0   /dev/sdc   -  /dev/sg2   1.07TB
[0:0:3:0]    disk    EMC      Invista          6200  /dev/sdd   36000144000000010e00e0d0d1db7b2c9  /dev/sg3   1.29TB
[3:0:0:0]    cd/dvd  NECVMWar VMware SATA CD00 1.00  /dev/sr0   -  /dev/sg4
  • lsscsi: 列出所有 SCSI 设备的基础信息
  • --scsi_id:输出所有物理LUN的 wwn/Serial Number
  • -s:显示设备的容量大小
  • -g:字符设备路径(底层调试用)

可以看出设备/dev/sdd就是一个物理LUN设备,36000144000000010e00e0d0d1db7b2c9 就是WWN号,输出信息描述如下:

  • [0:0:3:0]:SCSI 总线地址(host:channel:target:lun)
  • disk:设备类型
  • EMC/Invista:厂商 / 型号
  • 6200:SCSI 设备的固件版本号
  • /dev/sdd:块设备路径(数据读写用)
  • 36000144000000010e00e0d0d1db7b2c9 :wwn号
  • /dev/sg3:字符设备路径(底层调试用)

如果你知道哪块盘是物理LUN可以使用指定设备路径:
udevadm info --query=all --name=/dev/sdd | grep -w ID_SERIAL

复制代码
 E: ID_SERIAL=36000144000000010e00e0d0d1db7b2c9

2. Windows

如果你想查看所有设备的WWN,如下

powershell执行

Get-PhysicalDisk | select FriendlyName,UniqueId,@{Name='SizeGB'; Expression={[math]::Round($_.Size/1GB,2)}}

复制代码
FriendlyName        UniqueId                         SizeGB
------------        --------                         ------
EMC Invista         6000144000000010E00E0D0D1DB7AD61 1740.8
VMware Virtual disk 6000C292EE2FBBCAB535BEA8370249BB    100
EMC Invista         6000144000000010E00E0D0D1DB7B3E5    200
  • Get-PhysicalDisk: PowerShell 专用于获取本地所有物理磁盘的基础信息(包括机械盘、SSD、FC/SAS 存储 LUN 等),是查询物理磁盘的 "入口命令",不会包含逻辑卷 / 动态卷的抽象信息,只对应物理硬件。
  • select: 全称是 Select-Object,作用是筛选 / 提取指定字段,只保留你关心的信息
  • Name='SizeGB': 重新定义字段名称
  • $_.Size:获取管道传入的字节大小
  • 1GB:换算成GB
  • 2:小数点保留2位

在显示wwn的同时显示盘符:

不支持查看动态卷

Get-PhysicalDisk | ForEach-Object { $pd = $_; $_ | Get-Disk | Get-Partition | Get-Volume | Where-Object DriveLetter | Select-Object @{n='PhysicalFriendlyName';e={$pd.FriendlyName}}, @{n='UniqueId';e={$pd.UniqueId}}, DriveLetter, @{n='VolumeSizeGB';e={[math]::Round($_.Size/1GB,2)}} }

复制代码
PhysicalFriendlyName UniqueId                         DriveLetter VolumeSizeGB
-------------------- --------                         ----------- ------------
EMC Invista          6000144000000010E00E0D0D1DB7AD61           D      2764.67
VMware Virtual disk  6000C292EE2FBBCAB535BEA8370249BB           C        99.45
EMC Invista          6000144000000010E00E0D0D1DB7B3E5           T       199.87

两次输出中6000144000000010E00E0D0D1DB7AD61对应的磁盘的大小不一致,这时因为底层块存储在置备物理LUN时使用的是thin 瘦置备模式,会动态调整物理LUN的大小,第二次输出是调整过的输出的是磁盘管理器卷的容量。

相关推荐
江华森1 小时前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森1 小时前
Matplotlib 数据绘图基础入门
运维
江华森1 小时前
NumPy 数值计算基础入门
运维
乘云数字DATABUFF4 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--6 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森6 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜7 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB8 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
zzzzzz3109 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode9 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏