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
Boot off the vanilla, original Rockstor ISO.
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
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’, ‘’]
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.
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.