Hello Giovanni,

Giovanni Biscuolo <g...@xelera.eu> ezt írta (időpont: 2019. szept. 4., Sze,
16:36):

> Hi Guix!
>
> Yesterday I had to physically replace a failed disk on milano-guix-1
> (one of Guix build machines), that disk was part of a BTRFS RAID10
> multi disk array and now the machine is unbootable
>

Sorry to hear that.


> The BTRFS RAID10 array was made of 6 disks and was running well, some
> days ago Christopher Baines found that the 5th disk (/dev/sde) of that
> array failed and was able to remount it in degraded mode in order to
> re-balance the array and go on working without data loss
>
> Unfortunately I was not able to perform a "btrfs replace..."  since
> adding a new disk (we have spare slots) was not detected by the
> kernel... HP ProLiant Smart Array is not so smart after all (aka bye bye
> hot swapping of disks) :-S...
>
> So I had to reboot the server and enter the config tool, added the new
> drive as a new Smart Array logical volume (RAID0 with 1 drive) [1] and
> removed the failed logical volume
>
> The problem now is that the boot process stops when trying to mount the
> BTRFS filesystem, the error is:
>
> --8<---------------cut here---------------start------------->8---
> BTRFS error (device sda3): devid 5 uuid [omissis] is missing
> --8<---------------cut here---------------end--------------->8---
>
> ([omissis] means I'm not copying the exact uuid, sda3 is the first block
> device in the BTRFS pool)
>
> All I get now is the guix rescue environment prompt, that I do not know
> how to use: I'm not able to boot with BRTFS in degraded mode :-S
>
> Christopher suggested I might be able to at least mount the filesystem
> with the degraded option in the guix rescue environment, which might be
> something like:
>
> --8<---------------cut here---------------start------------->8---
>          (mkdir "/mnt/broken-root")
>          (mount "/dev/sda3" "/mnt/broken-root" "btrfs" 0 "degraded")
> --8<---------------cut here---------------end--------------->8---
>
> but we do not know how to proceed from there.
>

I don't know what would work from here, but here are a few ideas:
1. somehow hack the degraded root option into the bootloader config, like
here:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1229456
2. try to switch_root, using /bin/sh as init, and try to fix the bootloader
config from there.
3. see what the original script is doing, either by having a look at how it
is composed:
see for example: gnu/system.scm:
operating-system-default-essential-services,
gnu/services.scm: %boot-service and most prominently:
gnu/services/shepherd.scm: shepherd-boot-gexp

Wdyt?


> Obviously I have no way now to reconfigure guix, the only idea I got is
> to boot from an USB rescue disk (e.g. grml) and try to do a "btrfs
> replace..." from there: that should fix the BTRFS array and should allow
> a mount in non-degraded mode, so the next Guix boot should succeed
>
> That machine is physically far away from me and I should collect as much
> info as possible before I go there to test for a solution (no remote
> serial console unfortunately)
>
> I'm searching the web for a solution, any hint will be greatly
> appreciated :-)
>
> Meanwhile milano-guix-1 build machine is offline... :-(
>
> Thank you for your attention, Gio'
>
>
>
>
> [1] AFAIU that is the only way to present a single disk to the OS and
> let the OS manage it as part of a **software** RAID pool (hardware RAID
> is not an option)
>
> --
> Giovanni Biscuolo
>
> Xelera IT Infrastructures
>

Best regards,
g_bor

-- 
OpenPGP Key Fingerprint: 7988:3B9F:7D6A:4DBF:3719:0367:2506:A96C:CF63:0B21

Reply via email to