HPE主机根据磁盘序列号或位置确定Naa号

1 篇文章 0 订阅
在部署vSAN群集时,文章介绍了如何通过HPE服务器上的Smart Storage Administrator CLI(SSACLI)工具,结合ESXi的自定义映像,获取磁盘的物理位置信息,特别是NAA ID,以便于正确配置磁盘组。通过Powershell脚本自动化这一过程,提高效率。
摘要由CSDN通过智能技术生成

在HPE服务器上部署vSAN群集时,遇到了一个问题。vSAN向导没有显示驱动器的物理托架号,因此我必须找出另一种方法来将显示的驱动器NAA ID与物理驱动器位置相关联。

出现在vSAN配置向导中的磁盘

出现在vSAN配置向导中的磁盘

在我的情况下,我希望将托架1、3和5中的驱动器放在磁盘组1中,将托架2、4和6中的驱动器放在磁盘组2中。要形象化此最终目标,请查看下图。

所需的磁盘组布局

所需的磁盘组布局

为了使该解决方案起作用,需要将ESXi与HPE ESXi映像一起安装  。HPE自定义映像包括Smart Storage Administrator CLI(SSACLI)实用程序,它是用于以编程方式在HPE服务器中标识驱动器位置的秘密工具。对于ESXi 6.5及更高版本,以下命令将返回物理驱动器信息:

/opt/smartstorageadmin/ssacli/bin/ssacli ctrl slot=0 pd all show detail

输出看起来像这样,每个驱动器都有一个条目。

physicaldrive 1I:1:4
Port:1I
Box:1
Bay:4
Status:OK
驱动器类型:未分配的驱动器
接口类型:固态SAS
大小:1.9 TB
暴露给OS的驱动器:True
Logical / Physical Block Size:512/4096
固件修订版:HPD2
序列号:–
WWID:58CE38EE2057D3C6
型号:HP MO001920JWFWU
当前温度(C):29
最高温度(C):30
剩余使用量:100.00%
开机时间:592
SSD Smart Trip磨损:虚假
PHY计数:2
PHY传输速率:12.0Gbps,未知的
驱动器身份验证状态:正常
运营商应用程序版本:11
运营商Bootloader版本:6
支持的Sanitize Erase:True
Sanitize估计的最大擦除时间:1分钟,10秒
不受限制的Sanitize支持:True
Shingled磁记录支持:无
驱动器唯一ID:58CE38EE2057D3C56193000858CE38EE

请注意突出显示的WWID值。我故意遗漏了最后一个字符。突出显示的字符串与显示在vSphere向导中的NAA ID相同,但减去最后一个字符。现在我们知道该示例中的驱动器属于托架4,并且是磁盘组2中的容量驱动器。类似于此示例,您现在可以使用其他驱动器的输出来标识每个NAA值的物理位置,并且将其分配给适合您的设计的磁盘组。

或者,您可以使用序列号(从此示例中删除)与您在iLO界面中找到的序列号匹配。

但是,登录到每个主机并运行命令可能会有些乏味。相反,我整理了一个快速的Powershell脚本,该脚本利用pytty连接工具  从指定的主机中提取该信息。您可以轻松地修改脚本以一次处理多个主机,也可以随意处理输出。

########## Define the below values ##########
$vmhost = "esx1"
$user = "root"
$Passwd = "password"
$PathToPlink = "C:\plink.exe"
######## DO NOT EDIT BELOW THIS LINE ########
$cmd = "/opt/smartstorageadmin/ssacli/bin/ssacli ctrl slot=0 pd all show detail"
$plink = "echo y | " + $PathToPlink + " " + "-ssh" + " " + "$user" + "@" + $vmhost + " " + "-pw" + " " + $Passwd + " " + '"' + $cmd + '"'
Connect-VIServer $vmhost -User $user -Password $Passwd
#Starts the ssh service on the host if it is not running
$sshstatus = Get-VMHostService  -VMHost $vmhost| Where-Object {$psitem.key -eq "tsm-ssh"}
if ($sshstatus.Running -eq $False) {
    Get-VMHostService | Where-Object {$psitem.key -eq "tsm-ssh"} | Start-VMHostService
    }
Write-Verbose -Message "Executing $cmd on $vmhost"
$cmdOutput = Invoke-Expression -command $plink
#If SSH was stopped on the host before running this script, this will put it back to a stopped state
if ($sshstatus.Running -eq $False) {
    Get-VMHostService | Where-Object {$psitem.key -eq "tsm-ssh"} | Stop-VMHostService -Confirm:$False
    }
$cmdOutput

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值