Root USB corrupted

Hello!

Recently, my rockstor stopped loading. File rdsosreport.txt will be applied.

It seems that the root partition (/dev/sda3) on my USB flash is corrupted.
Partially I managed to restore content of this partition with the help of a btrfs restore command, so I can use it for future recovering of my rockstor instance,

Tell me, please, how can I reproduce or copy the new USB flash stick so as not to reinstall my rockstor instance from the scratch?

Is it possible to upload file rdsosreport.txt or I should paste it as new comment?

Anyway it is most important part in my opinion.

[   73.970689] gandalf kernel: xor: using function: prefetch64-sse (7952.000 MB/sec)
[   73.986624] gandalf kernel: Btrfs loaded, crc32c=crc32c-generic
[   73.988361] gandalf kernel: BTRFS: device label rockstor_rockstor devid 1 transid 1799663 /dev/sda3
[   73.990767] gandalf kernel: BTRFS info (device sda3): disk space caching is enabled
[   74.021592] gandalf kernel: BTRFS warning (device sda3): log replay required on RO media
[   74.036734] gandalf kernel: BTRFS error (device sda3): open_ctree failed
[   74.042718] gandalf mount[998]: mount: /dev/sda3: can't read superblock
[   74.045779] gandalf systemd[1]: sysroot.mount mount process exited, code=exited status=32
[   74.046170] gandalf systemd[1]: Failed to mount /sysroot.
[   74.046479] gandalf systemd[1]: Dependency failed for Initrd Root File System.
[   74.046821] gandalf systemd[1]: Dependency failed for Reload Configuration from the Real Root.
[   74.047194] gandalf systemd[1]: Job initrd-parse-etc.service/start failed with result 'dependency'.
[   74.047492] gandalf systemd[1]: Triggering OnFailure= dependencies of initrd-parse-etc.service.
[   74.047756] gandalf systemd[1]: Job initrd-root-fs.target/start failed with result 'dependency'.
[   74.048053] gandalf systemd[1]: Triggering OnFailure= dependencies of initrd-root-fs.target.
[   74.048370] gandalf systemd[1]: Unit sysroot.mount entered failed state.

@oivanenko Welcome to the Rockstor community.

As you say it looks like the root filesystem has an issue. Btrfs will go read only in the event of an issue.

The simplest route back to functionality would be a re-install and pool import. Taking care to disconnect all data drives prior to re-installing: just in case. And only reconnecting them once all updates have been applied (post update channel selection); also best not to reconnect whilst machine is power up.

The following howto should help: Reinstalling Rockstor, note the Data Import section at the end.

I realise you asked for a non re-install option but they are way more complicated, plus you could always use a different system drive for the re-install, there by preserving the original install just in case it has some data on it, which is usually not the case anyway: unless you created any important shares on the system disk that is.

Hope that helps and do keep in mind that Rockstor can currently become confused is two system disks are attached simultaneously, as they usaually have the same label and so it ‘blends’ (in the UI only) both rockstor_rockstor labels into the same pool. But you should be able to use the new system to attempt a repair on the old system but you would be better off using something like an openSUSE tumbleweed live boot usb for that as it will contain the latest kernel and btrfs. And in that vein I’ll link to their btrfs page which has a subsection:
https://en.opensuse.org/SDB:BTRFS
“How to repair a broken/unmountable btrfs filesystem”
so if you fancied you could attempt a repair of this system disk’s sda3 btrfs. But make sure you disconnect all data drives prior to doing anything as you could easily damage accidentally, with a simply typo, your data pool.

So I say initially try the re-install on another system disk and see how that goes, remembering that it can take quite some time for all the updates to apply and rebooting in the middle of them has been reported to break some installs.

Let us know how you get on.

Hi, Philip!

Many thanks for your help! I reinstalled the rockstor to different USB stick, everything seems to be working.

I have one small question, the message “blk_update_request: I/O error, dev fd0, sector 0” displayed on the screen constantly. This message displayed for old (now it is corrupted) USB stick too. Do you know what it can mean? Should I be worried about this?

Hello, @oivanenko

The “dev fd0” in that message is with regards to a floppy disk drive. If you don’t have a floppy disk drive, likely another device got labelled as a floppy drive by the kernel by mistake.

Likely if you run the following, you will see the floppy driver being loaded:

sudo lsmod | grep floppy

You can disable the floppy module by running the following:

echo “blacklist floppy” | sudo tee /etc/modprobe.d/blacklist-floppy.conf
echo “install floppy /bin/false” | sudo tee -a /etc/modprobe.d/blacklist-floppy.conf
sudo dracut -f

Then reboot. This will prevent the floppy device driver module from being loaded.

1 Like

Hi, Jason!

Indeed. Thank you, I will try your action plan!