Gris Ge
2015-06-12 05:20:36 UTC
Hi Tony,
About the Pool.STATUS_OK we discussed:
* Nstor is always Pool.STATUS_UNKNOWN
* Targetd is always Pool.STATUS_UNKNOWN
* HP is Pool.STATUS_OTHER or STATUS_OK
* SMI-S:
No standard or vendor documentation mentioned possible
combination of OperationalStatus values.
In SNIA Lab, Got HP 3par and Fujitsu DX80S2 only set
DEGRADED value(I cannot tell the reason why they degraded).
The plugin code only handle OK, Degraded, Error in vendor
provided combinations.
I got no hardware to test about grow, reconstruction and etc
right now.
* User cases and plugin implantation:
* RAID degraded, no rebuild.
* ONTAP -- Pool.STATUS_DEGRADE
* MegaRAID -- Pool.STATUS_DEGRADE
* RAID degraded by one disk failure and rebuilding.
* ONTAP -- Pool.STATUS_RECONSTRUCTING
* MegaRAID -- Pool.STATUS_RECONSTRUCTING
* RAID failed (like: two disk failure in RAID 5)
* ONTAP -- Pool.STATUS_ERROR
* MegaRAID -- Pool.STATUS_ERROR
* Verifying RAID integrity.
* ONTAP -- Pool.STATUS_OK
Currently plugin has no idea about it. Need to use
'aggr-mediascrub-list-info' command
* MegaRAID -- Pool.STATUS_OK
Currently plugin has no idea about it. Need to use
'/c0/v1 show cc' command
* Expected -- Pool.STATUS_VERIFYING
* Growing RAID by adding more disks.
* ONTAP -- Pool.STATUS_GROW
* MegaRAID -- Pool.STATUS_OK
Currently plugin has no idea about it. Need to use
'/c0/v1 show migrate' command.
* Creating pool.
* ONTAP -- Pool.STATUS_INITIALIZING
* MegaRAID -- Need test. No idea.
* Pool disabled.
* ONTAP -- Pool.STATUS_STOPPED
* MegaRAID -- Not allowed.
============
Summery:
1. Only SMI-S might(never seen) have multiple status.
2. For degraded rebuilding:
It could express as
Pool.STATUS_RECONSTRUCTING|Pool.STATUS_DEGRADE
But reconstructing always mean degraded, so no need to
have multiple status.
3. For RAID grow:
It could be:
Pool.STATUS_OK | Pool.STATUS_GROW
Online grow
Pool.STATUS_STOPPED | Pool.STATUS_GROW
Offline grow
But we could introduced Pool.STATUS_OFFLINE_GROW also
to keep status as single status.
No existing plugins support offline grow.
So base on above information, I would suggest:
* Keep Pool.status as bit map, but documented that only single status
value will be used right now. Change SMI-S plugin to reflect this.
(Patch is coming soon).
* Pool.STATUS_OK -- everything is OK.
* Pool.STATUS_DEGRADE -- data accessible but lose redundancy.
* Pool.STATUS_ERROR -- data lose or data unavailable.
* Pool.STATUS_RECONSTRUCTING -- data accessible but lose redundancy
and rebuilding data.
* Pool.STATUS_STOPPED -- admin or some task disabled data access.
* Pool.STATUS_INITIALIZING -- pool creating, data not accessible.
* Pool.STATUS_GROW -- pool is expanding, data is accessible.
Performance might be impacted(status_info could indicate whether
performance impacted or not).
* Pool.STATUS_OTHER -- vendor expansion, check status_info.
* Pool.STATUS_VERIFYING -- Running data integrity check. Performance
is impacted. Data is still accessible.
Any comments?
About the Pool.STATUS_OK we discussed:
* Nstor is always Pool.STATUS_UNKNOWN
* Targetd is always Pool.STATUS_UNKNOWN
* HP is Pool.STATUS_OTHER or STATUS_OK
* SMI-S:
No standard or vendor documentation mentioned possible
combination of OperationalStatus values.
In SNIA Lab, Got HP 3par and Fujitsu DX80S2 only set
DEGRADED value(I cannot tell the reason why they degraded).
The plugin code only handle OK, Degraded, Error in vendor
provided combinations.
I got no hardware to test about grow, reconstruction and etc
right now.
* User cases and plugin implantation:
* RAID degraded, no rebuild.
* ONTAP -- Pool.STATUS_DEGRADE
* MegaRAID -- Pool.STATUS_DEGRADE
* RAID degraded by one disk failure and rebuilding.
* ONTAP -- Pool.STATUS_RECONSTRUCTING
* MegaRAID -- Pool.STATUS_RECONSTRUCTING
* RAID failed (like: two disk failure in RAID 5)
* ONTAP -- Pool.STATUS_ERROR
* MegaRAID -- Pool.STATUS_ERROR
* Verifying RAID integrity.
* ONTAP -- Pool.STATUS_OK
Currently plugin has no idea about it. Need to use
'aggr-mediascrub-list-info' command
* MegaRAID -- Pool.STATUS_OK
Currently plugin has no idea about it. Need to use
'/c0/v1 show cc' command
* Expected -- Pool.STATUS_VERIFYING
* Growing RAID by adding more disks.
* ONTAP -- Pool.STATUS_GROW
* MegaRAID -- Pool.STATUS_OK
Currently plugin has no idea about it. Need to use
'/c0/v1 show migrate' command.
* Creating pool.
* ONTAP -- Pool.STATUS_INITIALIZING
* MegaRAID -- Need test. No idea.
* Pool disabled.
* ONTAP -- Pool.STATUS_STOPPED
* MegaRAID -- Not allowed.
============
Summery:
1. Only SMI-S might(never seen) have multiple status.
2. For degraded rebuilding:
It could express as
Pool.STATUS_RECONSTRUCTING|Pool.STATUS_DEGRADE
But reconstructing always mean degraded, so no need to
have multiple status.
3. For RAID grow:
It could be:
Pool.STATUS_OK | Pool.STATUS_GROW
Online grow
Pool.STATUS_STOPPED | Pool.STATUS_GROW
Offline grow
But we could introduced Pool.STATUS_OFFLINE_GROW also
to keep status as single status.
No existing plugins support offline grow.
So base on above information, I would suggest:
* Keep Pool.status as bit map, but documented that only single status
value will be used right now. Change SMI-S plugin to reflect this.
(Patch is coming soon).
* Pool.STATUS_OK -- everything is OK.
* Pool.STATUS_DEGRADE -- data accessible but lose redundancy.
* Pool.STATUS_ERROR -- data lose or data unavailable.
* Pool.STATUS_RECONSTRUCTING -- data accessible but lose redundancy
and rebuilding data.
* Pool.STATUS_STOPPED -- admin or some task disabled data access.
* Pool.STATUS_INITIALIZING -- pool creating, data not accessible.
* Pool.STATUS_GROW -- pool is expanding, data is accessible.
Performance might be impacted(status_info could indicate whether
performance impacted or not).
* Pool.STATUS_OTHER -- vendor expansion, check status_info.
* Pool.STATUS_VERIFYING -- Running data integrity check. Performance
is impacted. Data is still accessible.
Any comments?
--
Gris Ge
Gris Ge