Cómo hacer coincidir discos de Windows y discos virtuales de VMware
Intentar gestionar el tamaño de los discos de una máquina virtual o eliminarlos puede ser un verdadero dolor de cabeza, sobre todo cuando se trabaja con varios archivos VMDK idénticos o varias controladoras SCSI. A veces, la gran pregunta es: ¿qué disco virtual corresponde realmente al disco de Windows dentro de la máquina virtual? Una cosa es que los discos difieren en tamaño, por lo que es fácil de identificar, pero cuando se tiene una gran cantidad de archivos VMDK del mismo tamaño o varias controladoras SCSI, es una completa incógnita. Por eso, es fundamental que los discos de Windows coincidan con sus homólogos de VMware: evita equivocarse al expandir o contraer. Hacerlo correctamente puede ahorrar mucho tiempo y frustración. A continuación, se explica cómo determinar exactamente qué disco virtual dentro de VMware se alinea con qué disco en Windows, utilizando algunos métodos comunes. El objetivo es que coincidan según el UUID o el número de serie, que son únicos y pueden ayudar a verificar exactamente qué es qué.—
¿Cómo obtener el número de dispositivo SCSI en Windows y VMware?
Primero, si los discos solo están conectados por controladores SCSI, puedes intentar identificar el puerto del dispositivo en Windows. Abre la consola Administración de discos ( diskmgmt.msc) en Windows. En una de mis configuraciones, la información del controlador SCSI no es visible directamente (Windows solo muestra los discos, no sus ID de controlador), lo que hace que las cosas sean extrañas. Para encontrar los detalles, haz clic derecho en un disco, selecciona Propiedades y luego revisa el campo Ubicación en la pestaña General. Generalmente muestra algo como: – Ubicación: 160 (que es el puerto para el controlador SCSI 0) – ID de destino: 1 (el ID SCSI real) Combina esos y obtendrás una notación como SCSI(0:1). Ese es tu bus SCSI 0, destino 1, que debería coincidir con el disco virtual de VMware. Ahora, para verificar a través de VMware, abre la configuración de la máquina virtual en vSphere o vSphere Client. Encuentra el disco que tiene la misma designación SCSI(0:1) que acabas de encontrar en Windows. Normalmente, las controladoras SCSI habituales se numeran de forma diferente en VMware y Windows, así que lo mejor es hacer clic para ver si, por ejemplo, un disco etiquetado como «SCSI (0:1)» coincide con el dispositivo que identificó en Windows. Si configura varias controladoras SCSI (hasta 4 en VMware), resulta bastante complicado identificar manualmente la correcta. Además, los ID de las controladoras SCSI a veces varían según el entorno, así que no se preocupe si no coinciden exactamente a la primera.
¿Cómo hacer coincidir un disco de Windows con VMware VMDK por UUID/número de serie usando PowerShell?
Esta es la forma más «segura», pero requiere que VMware tenga EnableUUID=TRUEConfiguración habilitada en la configuración de la máquina virtual. De esta forma, el sistema operativo invitado Windows verá los UUID asignados a los discos. En algunas configuraciones, esto no está habilitado por defecto, lo que complica las cosas; sin embargo, si lo está, la coincidencia de discos por UUID se vuelve mucho más sencilla. Necesitará PowerShell, y probablemente ejecutarlo tanto dentro de Windows como en PowerCLI de VMware, para obtener información de ambos lados. Comience recopilando la información del disco en Windows. Dado que las versiones anteriores de Windows podrían carecer del módulo de almacenamiento, WMI es una buena alternativa. Este es un comando típico para obtener números de serie, información del controlador SCSI y capacidad del disco: powershell $DiskInfo = foreach ($disk in Get-WmiObject Win32_DiskDrive) { [pscustomobject]@{ DeviceID = $disk. DeviceID Caption = $disk. Caption CapacityGB = [math]::Round($disk. Size / 1GB, 0) SerialNumber = $disk. SerialNumber SCSIControllerNum = $disk.scsiport SCSIDeviceNum = $disk.scsitargetid } } $DiskInfo | Format-Table Esto vuelca los discos con sus números de serie e información del controlador, ¿genial, no? En mi experiencia, el número de serie a menudo parece una cadena de caracteres hexadecimales. A veces, no es sencillo, especialmente si el disco es virtual y el SerialNumber no está configurado explícitamente, pero vale la pena intentarlo. Para acceder a VMware, se conectará mediante PowerCLI a su host vCenter o ESXi. Aquí tiene un fragmento de ejemplo para obtener los detalles del VMDK: powershell Import-Module VMware. VimAutomation. Core connect-viserver your-vcenter-server $vmName = «YourVMName» $vmHardDisks = Get-VM -Name $vmName | Get-HardDisk $virtualDiskManager = Get-View -Id VirtualDiskManager-virtualDiskManager $disks = foreach ($disk in $vmHardDisks) { $uuid = ($disk. ExtensionData. Backing. Uuid | ForEach-Object { $_. Replace(‘ ‘, »).Replace(‘-‘, ») }) [PSCustomObject]@{ Path = $disk. Filename Name = $disk. Name SizeGB = $disk. CapacityGB UUID = $uuid } } $disks | Format-Table La idea aquí es: recopilamos el UUID de cada VMDK y su nombre de archivo/ruta. Estos UUID pueden luego cotejarse con los números de serie de los discos de Windows. Si su entorno VMware está configurado correctamente, los UUID deberían coincidir con los números de serie de los discos de Windows. Otro enfoque, si desea ser realmente sofisticado, es conectarse al sistema operativo invitado dentro de la máquina virtual a través de la red con PowerShell. Hay scripts que pueden conectarse remotamente, obtener la información del disco dentro de Windows y luego compararla por número de serie o UUID. De esta forma, puede verificar qué disco corresponde a cuál dentro de Windows, sin tener que adivinarlo manualmente. Aquí tiene un pequeño fragmento que muestra cómo obtener la información del disco de Windows remotamente: powershell # Asegúrese de tener acceso de administrador y WinRM configurado correctamente en la máquina virtual invitada Invoke-Command -ComputerName «YourVM» -ScriptBlock { Get-WmiObject Win32_DiskDrive | Select-Object DeviceID, SerialNumber, Model } Si puede hacer esto, es la forma más clara de comparar discos.especialmente cuando varios discos se ven iguales externamente.—
Resumen
Emparejar discos virtuales con discos de Windows no es precisamente intuitivo a primera vista, pero con un poco de experiencia con PowerShell y paciencia, se vuelve mucho más fácil. Si habilita los UUID en los discos de la máquina virtual y recopila la información de serie/UUID correctamente, podrá emparejar los discos con éxito. Normalmente, es cuestión de prueba y error y de referencias cruzadas de ID SCSI o UUID lo que finalmente lo hace todo funcionar. Tenga en cuenta que las configuraciones virtuales pueden ser extrañas y algunos entornos ocultan información o no exponen los UUID correctamente. Pero con estas herramientas, al menos se pueden eliminar la mayoría de las conjeturas.
Resumen
- Utilice Administración de discos para obtener números de dispositivos SCSI dentro de Windows
- Haga coincidir esos números con los identificadores del controlador SCSI de VMware VM
- Habilite los UUID en VMware para una mejor coincidencia
- Utilice scripts de PowerShell tanto dentro como fuera de la máquina virtual para comparar UUID y números de serie
- Conéctese remotamente a la máquina virtual para obtener información del disco si es necesario
Resumen
Con suerte, este enfoque simplificará la administración de discos. Al principio es un poco engorroso, pero una vez que todo se alinea, la administración de los discos VMware se vuelve mucho más fluida. Si esto soluciona la correspondencia de discos de una máquina virtual, entonces todo el esfuerzo habrá valido la pena. Crucemos los dedos para que esto ayude a evitar el caos de «cuál es cuál».