Hi,
This is about the case where initiator is using spdk.
For testing nvmeof/TCP failover (cold primary/backup) I am trying to use the following
timeout values but they don't seem to help:
{
"subsystems": [
{
"subsystem": "bdev",
"config": [
{
"method": "bdev_nvme_set_options", "params": {
"retry_count": 254,
"timeout_us": 255000000,
"keep_alive_timeout_ms": 255000,
"transport_retry_count": 254,
"bdev_retry_count": -1,
"nvme_adminq_poll_period_us": 100000,
"nvme_ioq_poll_period_us": 0,
In my test, when the IO has started, after some time, I am making the primary network path
to the nvme device (nvmeof + tcp) unavailable.
I expect the secondary path to become active and the IO must resume.
Without spdk (ie when I use the kernel drivers on linux), the path switchover on initiator
takes ~45 seconds and the IO resumes.
I suspect something wrong in the timeout values above when trying with spdk.
Could somebody please suggest more appropriate values for the above timeouts? And also
please point out if something else also need to be corrected above?
thanks
Jitendra
Show replies by date
Hi Jitendra,
When we use bdev_nvme_attach_controller with multipath="failover",
I/O path is recovered but I/O is failed immediately if I/O path error occurred.
Will you try using bdev_nvme_attach_controller with multipath="multipath"?
Please keep opts->bdev_retry_count to be -1 as you did.
P.S.,
multipath="multipath" is still under development, and your experiment is very
appreaciated if possible.
Thanks,
Shuhei
________________________________
差出人: lullajd(a)yahoo.com <lullajd(a)yahoo.com>
送信日時: 2021年11月12日 14:06
宛先: spdk(a)lists.01.org <spdk(a)lists.01.org>
件名: [SPDK] appropriate timeout values in bdev_nvme_set_options for failover tests
Hi,
This is about the case where initiator is using spdk.
For testing nvmeof/TCP failover (cold primary/backup) I am trying to use the following
timeout values but they don't seem to help:
{
"subsystems": [
{
"subsystem": "bdev",
"config": [
{
"method": "bdev_nvme_set_options", "params": {
"retry_count": 254,
"timeout_us": 255000000,
"keep_alive_timeout_ms": 255000,
"transport_retry_count": 254,
"bdev_retry_count": -1,
"nvme_adminq_poll_period_us": 100000,
"nvme_ioq_poll_period_us": 0,
In my test, when the IO has started, after some time, I am making the primary network path
to the nvme device (nvmeof + tcp) unavailable.
I expect the secondary path to become active and the IO must resume.
Without spdk (ie when I use the kernel drivers on linux), the path switchover on initiator
takes ~45 seconds and the IO resumes.
I suspect something wrong in the timeout values above when trying with spdk.
Could somebody please suggest more appropriate values for the above timeouts? And also
please point out if something else also need to be corrected above?
thanks
Jitendra
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org