Unable to Configure Rockstor on Citrix XenSERVER

After originally being unable to install due to RockStor not being able to find /dev/sda, I followed summary by grizzly, to remove the forced /sda: Installation in a Xen VM - #20 by grizzly

  1. Boot off the vanilla, original Rockstor ISO.

  2. Choose Troubleshooting, press tab key on Install Rockstor in Basic Graphics Mode and change boot string to:
    vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=Rockstor\x203\x20x86_64 xdriver=vesa nomodeset quiet ip=dhcp

  3. Fill in the options as required, forcing BTFS during partition creation.


This allowed me to boot up; hoewever during configuration through I encountered the following trace:.

Traceback (most recent call last):
File “/opt/rockstor/src/rockstor/rest_framework_custom/generic_view.py”, line 41, in _handle_exception
yield
File “/opt/rockstor/src/rockstor/storageadmin/views/disk.py”, line 377, in post
return self._update_disk_state()
File “/opt/rockstor/eggs/Django-1.8.16-py2.7.egg/django/utils/decorators.py”, line 145, in inner
return func(*args, **kwargs)
File “/opt/rockstor/src/rockstor/storageadmin/views/disk.py”, line 322, in _update_disk_state
p.uuid = btrfs_uuid(dob.name)
File “/opt/rockstor/src/rockstor/fs/btrfs.py”, line 1055, in btrfs_uuid
[BTRFS, ‘filesystem’, ‘show’, ‘/dev/disk/by-id/%s’ % disk])
File “/opt/rockstor/src/rockstor/system/osi.py”, line 115, in run_command
raise CommandException(cmd, out, err, rc)
CommandException: Error running a command. cmd = /sbin/btrfs filesystem show /dev/disk/by-id/xvda2. rc = 1. stdout = [‘’]. stderr = [‘ERROR: not a valid btrfs filesystem: /dev/disk/by-id/xvda2’, ‘’]

Screenshot also Attached.

@Abbas_Syed Welcome to the Rockstor community.

I think this error is down to the system drive (xvda2) not having a by-id device name entry, which in turn is most likely down to that device not having a unique serial and so udev is unable to assign it a /dev/disk/by-id name. We have a minimum system requirement that all disks have a unique serial.

From our Minimum system requirements doc section:

“All drives must have unique serial numbers (real drives do); not all VM [*] systems default to this”

Try giving your system disk, and any others you intend to use with Rockstor via Xen, a unique serial.

This behaviour has since been improved with regard to user messaging via the following issue:

https://github.com/rockstor/rockstor-core/issues/1866

but the related update has yet to make it into the latest available iso.

Hope that helps and let us know how you get along (the forum thread you sighted has some info re device serials and Xen).

Thanks for the information and it does seem Xen has been creating UUID for these devices based on some sort of BIOS Serial…

As a work around for Xen users… could we use a loop back device… perhaps assign storage from the underlying centOS OS back via some loopback method or iSCSI from another VM… and force a Unique ID.

Assuming this compromise performance; however, should theoretically work…

[EDIT] loopback from same underlying storage may not work as RockStor scans all disks for unique identifier… but perhaps from another Host would work. Also, it should be known that the proper way to address this is likely by simply adding a Physical Raid Controller.