Thursday, 22 October
2015
Thu, 22 Oct
'15
9:10 a.m.
Hi Team,
I would like to share the possible approaches on supporting JBOD/HBA
disks:
Background:
HP SmartArray:
Only configured to HBA mode, all RAIDed volume will be purged,
all physical disks are exposed to OS directly without
any configure. User has to convert back to RAID mode before
making any config changes to the card.
LSI MegaRAID:
JBOD mode only expose 'unconfigred good' disks to OS, existing
RAIDed volumes are still functional. In JBOD mode, user
can still convert JBOD disks back to hidden RAIDed disk.
Only in JBOD mode, can user expose disks directly to OS.
LibstorageMgmt:
* Explicitly documented Volume can only came from Pool.
* Assuming(not documented) only volumes is OS accessible.
* I am intend to introduce new plugin -- SES to support SCSI
enclosure and new methods like 'disk_locate_led_on()',
'lsm.Client.fans()', 'lsm.Client.sensors()' and etc for
JBOD disk system which Ceph is using.
Options:
A):
`lsm.System.mode == lsm.System.MODE_HBA` indicate besides
checking lsm.Volume, lsm.Disk might also OS accessible.
Add `lsm.Disk.STATUS_HBA` to indicate disks are exposed to OS
directly.
Pros:
Minimum code required for HBA/JBOD disks.
Cons:
API user needs to do extra check on lsm.System.mode
and call lsm.Client.disks() also to check OS
accessible volume/disk.
B):
Create psudo lsm.Pool and lsm.Volume for each HBA/JBOD disk.
Pros:
No workflow change required no API user side.
Cons:
Need extra code to create psudo pool/volume.
I personally prefer option A).
Please kindly let me know you ideas.
Thank you very much.
Best regards.
--
Gris Ge