Rädda filer från kraschad VMFS-volym
publicerad 23 februari 2020 | lästid: 2 minuter

Plötsligt händer det som inte får hända: min primära lagringsenhet la sig på rygg och “dog”. Bidragande kan ha varit att jag tömde en av LUN:en på disk, raderade den gamla volymen tog ut de gamla diskarna och stoppade i dubbelt så stora diskar (2GB styck), vilket SAN:et enligt dokumentationen ska klara. Jag byggde en ny volym och började packa tillbaka data som skulle ligga på den. Det borde den väl klara?

Det gjorde det inte.

Den nya volymen la sig på rygg mitt under kopieringen av data från en tillfällig lagringsenhet till SAN:et. Givetvis ballade VMware också ur och efter omstart så såg det ut så här:

De två andra volymerna, båda med mindre diskar, gick utmärkt att montera i VMware och tömma på data men den stora volymen gick inte att komma åt. Jag testade en bunt olika kommandon och kom snart fram till att eftersom volymen inte hade fått ett UUID så kunde jag inte forcera en montering via kommandoradsläget i ESXi.

[root@vh02:/vmfs/volumes] esxcfg-scsidevs -l eui.22030001556fa704 Device Type: Direct-Access Size: 11444091 MB Display Name: Promise Fibre Channel Disk (eui.22030001556fa704) Multipath Plugin: NMP Console Device: /vmfs/devices/disks/eui.22030001556fa704 Devfs Path: /vmfs/devices/disks/eui.22030001556fa704 Vendor: Promise Model: VTrak E610f Revis: 0336 SCSI Level: 5 Is Pseudo: false Status: degraded Is RDM Capable: true Is Removable: false Is Local: false Is SSD: false Other Names: vml.01000000003439353334353230303030303030303030303030303030303841413643384544363733424546565472616b20 VAAI Status: unknown

Kort sagt, ESXi vägrade röra diskvolymen. Nu var goda råd dyra eftersom jag till varje pris var tvungen att få bort all data från volymen innan den la sig på rygg igen.

Jag installerade upp CentOS 7 på en server, anslöt den via fibre channel till SAN:et och jodå, volymen listades som en disk:

Disk /dev/sdb: 12000.0 GB, 11999999950848 bytes, 23437499904 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: gpt Disk identifier: EC06325E-4EF9-48D2-A139-A3A1898A77CC

Start End Size Type Name

1 2048 23437498367 10.9T unknown WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Eftersom volymen är formatterad med VMFS så kan inte Linux montera disken hur som helst, men via ett projekt som heter VMFS-Fuse så gick det faktiskt. Det finns två varianter av detta projekt - orginalet som är en äldre version och som inte klarar VMFS6 och en nyare som gör det.

Installera de dependencies som behövs för att VMFS-Fuse ska starta och sen är det bara att montera upp disken och hämta ut dina data på följande sätt där /dev/sdxx är FC-disken och /fc01 är mountpoint:

vmfs-fuse /dev/sdc1 /fc01/

Inte det roligaste projektet att behöva göra när man är helt sänkt av en influensa men det var ändå förhållandevis enkelt att lösa.