NVMf initiator persistent across boots

Max Gurtovoy maxg at mellanox.com
Wed Mar 7 04:47:52 PST 2018



On 3/5/2018 9:45 PM, Sagi Grimberg wrote:
> 
>> Hi all,
>>
>> Sorry for the delay, but I wanted to know if we had a progress for 
>> this topic. I want to add functionality that gives persistency for 
>> fabric devices not only across boots but also across adapter/device 
>> removals.
>> My idea is to add a flag --persist to "nvme connect" command. This 
>> command will add the created ctrls to a file 
>> (/etc/nvme-fabrics/persistent_ctrls for example).
>> And I want to add a udev rule that in case of ctrl removal, we'll run 
>> a script that try to periodicly connect to the target.
> Why not just add a periodic task to run nvme connect-all?
> -- 
> [Unit]
> Description=NVMf auto discovery service
> After=systemd-modules-load.service network-online.target
> 
> [Service]
> Type=oneshot
> ExecStart=/usr/bin/nvme connect-all
> StandardOutput=journal
> 
> [Timer]
> OnUnitActiveSec=1min
> 
> [Install]
> WantedBy=multi-user.target timers.target
> -- 
> 
> That would simply run nvme connect-all once every say minute.
> The only problem is that it relies on the kernel to fail
> duplicate subsystems. We could enforce that in nvme-cli for that
> matter though (we can compare against sysfs address and subsysnqn).

Yes, we can also add flag to nvme discover command to add the parameters 
to the discovery file in case they are not exist.


> 
> Johannes is probably one to know better than me if this is the
> correct way to go...

Johannes, any comment ?
 From what I tried, we need to create a .timer and .service files for 
systemd...



More information about the Linux-nvme mailing list