配色: 字号:
从ESXi 主机卸载 LUN 或分离数据存储设备
2017-05-10 | 阅:  转:  |  分享 
  
获取要移除的LUN的NAAID

在vSphereClient中,可从数据存储的“属性”窗口查看此信息。



在ESX主机上,请运行以下命令:



#esxclistoragevmfsextentlist



您会看到类似以下内容的输出:



VolumeNameVMFSUUIDExtentNumberDeviceNamePartition

--------------------------------------------------------------------------------------------------------

datastore14de4cb24-4cff750f-85f5-0019b9f1ecf60naa.6001c230d8abfe000ff76c198ddbc13e3

Storage24c5fbff6-f4069088-af4f-0019b9f1ecf40naa.6001c230d8abfe000ff76c2e7384fc9a1

Storage44c5fc023-ea0d4203-8517-0019b9f1ecf40naa.6001c230d8abfe000ff76c51486715db1

LUN014e414917-a8d75514-6bae-0019b9f1ecf40naa.60a98000572d54724a346557335067511



记下该数据存储的NAAID,以便稍后在该步骤中使用此信息。



注意:您也可以运行esxclistoragefilesystemlist命令,该命令可列出ESXi主机识别出的所有文件系统。



使用vSphereClient卸载LUN

要使用vSphereClient分离存储设备,请参见vSphere5.0StorageGuide中的“分离存储设备”部分。



警告:必须先使用文档中记录的方法成功卸载数据存储,然后才能完成下面所述的步骤。有关详细信息,请参见vSphere5.0StorageGuide中的“卸载VMFS或NFS数据存储”部分。



要使用vSphereClient从ESXi5.0主机卸载LUN,请执行以下操作:



如果此LUN为RDM,请跳至步骤2。否则,在ESXi主机的“配置”选项卡中,单击存储。右键单击要移除的数据存储,然后单击卸载。



此时将显示“确认卸载数据存储”窗口。符合必备条件后,请单击确定。



注意:要在vSphereClient中从多个主机中卸载某一个数据存储,请单击主机和群集>数据存储和数据存储群集视图(Ctrl+Shift+D)。执行卸载任务,然后选择不应再访问要卸载的数据存储的相应主机。



单击设备视图(位于配置>存储):







右键单击此LUN的NAAID(如上所述),然后单击分离。此时将显示“确认卸载设备”窗口。符合必备条件后,请单击确定。此LUN将在“设备”的“操作状态”下显示为“已卸载”。



注意:必须按主机执行“分离”功能,该功能不会传播到vCenterServer中的其他主机。如果已将LUN提供给SAN上的启动器组或存储组,则必须在该SAN中对该启动器组中的每个主机执行“分离”功能,然后再从该组中取消该LUN的映射。如果不按此步骤进行操作,则会使该存储组中没有针对要取消映射的LUN执行“分离”操作的主机处于全部路径异常(APD)状态。



确认LUN是否成功分离。然后,该LUN便可安全地从SAN中取消提供。有关详细信息,请联系存储阵列供应商。

对可识别该LUN的所有ESXi主机执行重新扫描。该设备将自动从存储适配器中移除。



该设备一旦分离,便会处于已卸载状态,即使重新提供该设备也是如此(即,已分离状态是一种持久状态)。要使设备恢复联机状态,必须附加该设备。



如果要从ESXi主机中永久停用该设备,请从主机配置中手动移除NAA条目:



要列出永久分离的设备,请运行以下命令:



#esxclistoragecoredevicedetachedlist



您会看到类似以下内容的输出:



DeviceUIDState

-----------------------------------------

naa.50060160c46036df50060160c46036dfoff

naa.6006016094602800c8e3e1c5d3c8e011off



要从系统中永久移除设备配置信息,请运行以下命令:



#esxclistoragecoredevicedetachedremove-dNAA_ID



例如:



#esxclistoragecoredevicedetachedremove-dnaa.50060160c46036df50060160c46036df



使用命令行卸载LUN

要使用命令行从ESXi5.x/6.x主机卸载LUN,请执行以下操作:



如果此LUN为RDM,请跳至步骤4。否则,要获取已挂载到ESXi主机的所有数据存储列表,请运行以下命令:



#esxclistoragefilesystemlist



您会看到类似于以下内容的输出,其中会列出所有VMFS数据存储:



MountPointVolumeNameUUIDMountedTypeSizeFree

----------------------------------------------------------------------------------------------------------------------------------

/vmfs/volumes/4de4cb24-4cff750f-85f5-0019b9f1ecf6datastore14de4cb24-4cff750f-85f5-0019b9f1ecf6trueVMFS-514066017894494577360896

/vmfs/volumes/4c5fbff6-f4069088-af4f-0019b9f1ecf4Storage24c5fbff6-f4069088-af4f-0019b9f1ecf4trueVMFS-31460288880647968129024

/vmfs/volumes/4c5fc023-ea0d4203-8517-0019b9f1ecf4Storage44c5fc023-ea0d4203-8517-0019b9f1ecf4trueVMFS-3146028888064121057050624

/vmfs/volumes/4e414917-a8d75514-6bae-0019b9f1ecf4LUN014e414917-a8d75514-6bae-0019b9f1ecf4trueVMFS-51460288880644266131456



要查看希望移除的数据存储所在的LUN的唯一标识符,请运行以下命令:



#esxcfg-scsidevs-m



此命令将生成VMFS数据存储卷及其相关唯一标识符的列表。记下要卸载的数据存储的唯一标识符(NAA_ID),以便稍后使用。



有关esxcfg-scsidevs命令的详细信息,请参见IdentifyingdiskswhenworkingwithVMwareESX/ESXi(1014953)。



运行以下命令卸载数据存储:



#esxclistoragefilesystemunmount[-uUUID|-llabel|-ppath]



例如,使用以下命令之一卸载LUN01数据存储:



#esxclistoragefilesystemunmount-lLUN01

#esxclistoragefilesystemunmount-u4e414917-a8d75514-6bae-0019b9f1ecf4

#esxclistoragefilesystemunmount-p/vmfs/volumes/4e414917-a8d75514-6bae-0019b9f1ecf4



注意:如果尝试卸载的VMFS文件系统具有活动I/O或尚未满足卸载VMFS数据存储的必备条件,则会在VMkernel日志中显示如下错误:



WARNING:VC:637:unmountingopenedvolume(''4e414917-a8d75514-6bae-0019b9f1ecf4''''LUN01'')isnotallowed.

VC:802:UnmountVMFSvolumef5302824e414917a8d7551419006baef4ecf19b4100000:Busy



要验证数据存储是否已卸载,请运行以下命令:



#esxclistoragefilesystemlist



您会看到类似以下内容的输出:



MountPointVolumeNameUUIDMountedTypeSizeFree

----------------------------------------------------------------------------------------------------------------------------------

/vmfs/volumes/4de4cb24-4cff750f-85f5-0019b9f1ecf6datastore14de4cb24-4cff750f-85f5-0019b9f1ecf6trueVMFS-514066017894494577360896

/vmfs/volumes/4c5fbff6-f4069088-af4f-0019b9f1ecf4Storage24c5fbff6-f4069088-af4f-0019b9f1ecf4trueVMFS-31460288880647968129024

/vmfs/volumes/4c5fc023-ea0d4203-8517-0019b9f1ecf4Storage44c5fc023-ea0d4203-8517-0019b9f1ecf4trueVMFS-3146028888064121057050624

LUN014e414917-a8d75514-6bae-0019b9f1ecf4falseVMFS-unknownversion00



Mounted字段设置为false,Type字段设置为VMFS-unknownversion,并且MountPoint不存在。



注意:VMFS数据存储的已卸载状态不会受重新引导的影响。这是默认行为。如果需要临时卸载数据存储,可在unmount命令上附加--no-persist标记。



要分离设备/LUN,请运行以下命令:



#esxclistoragecoredeviceset--state=off-dNAA_ID



要验证设备是否处于脱机状态,请运行以下命令:



#esxclistoragecoredevicelist-dNAA_ID



您会看到类似于以下内容的输出,其中会显示磁盘的Status是否为off:



naa.60a98000572d54724a34655733506751

DisplayName:NETAPPFibreChannelDisk(naa.60a98000572d54724a34655733506751)

HasSettableDisplayName:true

Size:1048593

DeviceType:Direct-Access

MultipathPlugin:NMP

DevfsPath:/vmfs/devices/disks/naa.60a98000572d54724a34655733506751

Vendor:NETAPP

Model:LUN

Revision:7330

SCSILevel:4

IsPseudo:false

Status:off

IsRDMCapable:true

IsLocal:false

IsRemovable:false

IsSSD:false

IsOffline:false

IsPerenniallyReserved:false

ThinProvisioningStatus:yes

AttachedFilters:

VAAIStatus:unknown

OtherUIDs:vml.020000000060a98000572d54724a346557335067514c554e202020



在设备上运行partedUtilgetptbl命令可查看设备是否未找到。



例如:



#partedUtilgetptbl/vmfs/devices/disks/naa.60a98000572d54724a34655733506751



Error:Couldnotstatdevice/vmfs/devices/disks/naa.60a98000572d54724a34655733506751-Nosuchfileordirectory.

Unabletogetdevice/vmfs/devices/disks/naa.60a98000572d54724a34655733506751



如果要永久取消使用该设备,现在便可从SAN中取消提供LUN。有关详细信息,请联系您的存储团队、存储管理员或存储阵列供应商。

要重新扫描ESXi主机上的所有设备,请运行以下命令:



#esxclistoragecoreadapterrescan[-Avmhba#|--all]



设备将自动从存储适配器中移除。



注意:

必须对可识别已移除的LUN的所有主机运行重新扫描。

该设备一旦分离,便会处于已卸载状态,即使重新提供该设备也是如此(即,已分离状态是一种持久状态)。要使设备恢复联机,必须附加该设备。要通过命令行来执行该操作,请运行以下命令:



#esxclistoragecoredeviceset--state=on-dNAA_ID



如果要从ESXi主机中永久取消使用该设备(即,该LUN已破坏或将破坏),请运行以下命令,从主机配置中移除NAA条目:



要列出永久分离的设备,请运行以下命令:



#esxclistoragecoredevicedetachedlist



您会看到类似以下内容的输出:



DeviceUIDState

---------------------------------

naa.50060160c46036df50060160c46036dfoff

naa.6006016094602800c8e3e1c5d3c8e011off



要从系统中永久移除设备配置信息,请执行以下操作:



#esxclistoragecoredevicedetachedremove-dNAA_ID



例如:



#esxclistoragecoredevicedetachedremove-dnaa.50060160c46036df50060160c46036df



此时,对该设备配置的引用将从ESXi主机的配置中永久移除。



注意:如果分离但仍提供该设备(跳过步骤7),以上命令将无法从系统中永久移除该设备,且该设备会自动重新附加。您必须完成步骤7,才能永久移除该设备。



使用PowerCLI和vSphereSDKforPerl自动分离数据存储

可以使用PowerCLI脚本自动从多个主机中分离数据存储。



使用PowerCLI



要使用PowerCLI分离存储设备,请执行以下操作:



查看VMwareContributedSampleCodedisclaimer。

从AutomatingDatastore/StorageDeviceDetachmentinvSphere5下载PowerCLI脚本。



注意:此PowerCLI脚本按原样提供,并由相应社区提供支持。如果遇到与PowerCLI脚本有关的问题,请从VMwareCommunities论坛获得帮助。



使用以下命令导入脚本:



Import-Modulepath_to_script



确保已卸载目标数据存储。有关详细信息,请参见vSphere5.0StorageGuide中的“卸载VMFS或NFS数据存储”部分。

运行以下命令列出所有数据存储及其附加的主机:



Get-Datastore|Get-DatastoreMountInfo|SortDatastore,VMHost|FT–AutoSize



您会看到类似以下内容的输出:



DatastoreVMHostLunMountedState

------------------------------

IX2ISCSI01esx01.vmw.localnaa.5000144f52145699FalseAttached

IX2ISCSI01esx02.vmw.localnaa.5000144f52145699FalseAttached

IX2ISCSI01esx03.vmw.localnaa.5000144f52145699FalseAttached

LocalDatastoreesx01.vmw.localmpx.vmhba1:C0:T0:L0TrueAttached

LocalDatastoreesx02.vmw.localmpx.vmhba1:C0:T0:L0TrueAttached

esx04-Internal-150GBesx04.vmw.localt10.ATA_____GB0160EAPRR_____________________________WCAT25563003________TrueAttached

esx04-Internal-500GBesx04.vmw.localt10.ATA_____WDC_WD5000AAKS2D00V1A0________________________WD2DWMAWF0069467TrueAttached

esx03-Internal-150GBesx03.vmw.localt10.ATA_____GB0160EAPRR_____________________________WCAT25704089________TrueAttached

esx03-Internal-500GBesx03.vmw.localt10.ATA_____WDC_WD5000AAKS2D00YGA0________________________WD2DWCAS85034601TrueAttached



选择相应的数据存储,记下Datastore列下方的名称,然后确认所有主机的Mounted列的值均为False。

运行以下命令从所有主机中分离设备:



Get-Datastoredatastore_name|Detach-Datastore



其中datastore_name是在步骤3中记下的数据存储名称。



您会看到类似以下内容的输出:



DetachingLUNnaa.5000144f52145699fromhostesx01.vmw.local...

DetachingLUNnaa.5000144f52145699fromhostesx02.vmw.local...

DetachingLUNnaa.5000144f52145699fromhostesx03.vmw.local...



注意:Powercli命令Get-Datastoredatastore_name|Detach-Datastore只能分离由多个extent组成的数据存储的headextent(firstextent)。该步骤不适用于有multiextent的数据存储。



使用vSphereSDKforPerl



要使用Perl分离存储设备,请执行以下操作:



查看VMwareContributedSampleCodedisclaimer。

部署社区可支持的Perl脚本,该脚本位于VMwarevSphere博客AutomatingDatastore/StorageDeviceDetachmentinvSphere5中。



注意:继续操作前,请确保已卸载目标数据存储。有关详细信息,请参见vSphere5.0StorageGuide中的“卸载VMFS或NFS数据存储”部分。



运行以下命令列出所有数据存储及其附加的主机:



./lunManagement.pl--servervcenter_ip--usernameuser--operationlist



其中vcenter_ip是用于管理主机的vCenterServer的IP地址,user是具有管理权限的用户。



系统将提示您输入步骤3中使用的用户帐户的密码。如果输入的密码正确,则该脚本将生成如下输出:



Datastore:esx01-local-storage-1LUN:mpx.vmhba1:C0:T0:L0

esx01.vmw.localMOUNTEDATTACHED

Datastore:esx02-local-storage-1LUN:mpx.vmhba1:C0:T0:L0

esx02.vmw.localMOUNTEDATTACHED

Datastore:iSCSI-1LUN:naa.600144f0a33bc20000004e9772510001

esx01.vmw.localUNMOUNTEDATTACHED

esx02.vmw.localUNMOUNTEDATTACHED

Datastore:iSCSI-2LUN:naa.600144f0a33bc20000004e9772ee0002

esx01.vmw.localMOUNTEDATTACHED

esx02.vmw.localMOUNTEDATTACHED

Datastore:iSCSI-3LUN:naa.600144f0a33bc20000004e9773560003

esx01.vmw.localMOUNTEDATTACHED

esx02.vmw.localMOUNTEDATTACHED

Datastore:iSCSI-4LUN:naa.600144f0a33bc20000004e9773560004

esx01.vmw.localMOUNTEDATTACHED

esx02.vmw.localMOUNTEDATTACHED

Datastore:iSCSI-5LUN:naa.600144f0a33bc20000004e9773570005

esx01.vmw.localMOUNTEDATTACHED

esx02.vmw.localMOUNTEDATTACHED



检查相应数据存储名称和NAA值下方的UNMOUNTED关键字,确认已卸载要分离的数据存储。

运行以下命令从多个主机中分离设备:



./lunManagement.pl--servervcenter_ip--usernameuser--operationdetach--datastoredatastore



其中vcenter_ip为vCenterServer的IP地址,user为具有管理权限的用户,datastore为步骤4中确定的数据存储名称。



系统将提示您输入密码,并确认是否要执行该操作。输入正确的密码并确认警告信息后,该工具将生成如下输出:



DetachingLUN"0200000000600144f0a33bc20000004e9772510001434f4d535441"fromHost"esx01.vmw.local"...

SuccessfullydetachedLUN!

DetachingLUN"0200000000600144f0a33bc20000004e9772510001434f4d535441"fromHost"esx02.vmw.local"...

SuccessfullydetachedLUN!



注意:分离LUN后,便可在存储中取消提供该LUN。但是,如果在存储上取消提供LUN之前,运行了在ESXi主机中永久停用LUN的esxclistoragecoredevicedetachedremove-dNAA_ID命令,LUN会重新附加到主机,并且还必须再进行分离。
献花(0)
+1
(本文系忧郁_小刚首藏)