Live upgrade optimizations to reduce downtime
Techniques disclosed herein include receiving a request to perform an upgrade. The upgrade can comprise changes to firmware or software of the network interface card. Input/Output (I/O) traffic can be monitored on one or more paths between the network interface card and a storage device. The paths can have a path capacity comprising a bandwidth of Input/Output traffic. The spare Input/Output traffic capacity can be calculated based at least in part on the Input/Output traffic and the path capacity. Whether to remove a path can be determined based at least in part on the spare Input/Output traffic capacity. The upgrade can be performed with the path halted in accordance with a determination to remove the path. The upgrade can be performed with the path included in accordance with a determination to not remove the path.
1 . A computer-implemented method:
receiving, by a network interface card (NIC), a request to perform an upgrade, the upgrade comprising changes to software of the network interface card;
monitoring, by the network interface card, Input/Output (I/O) traffic on one or more paths between the network interface card and a storage device, each path of the one or more paths having a path capacity comprising a bandwidth of Input/Output traffic;
calculating, by the network interface card, a spare Input/Output traffic capacity for at least one path of the one or more paths between the network interface card and the storage device based at least in part on the Input/Output traffic and the path capacity, wherein the spare Input/Output traffic capacity is based at least in part on a number of a number of Input/Output operations;
determining, by the network interface card, whether to remove the at least one path of the one or more paths between the network interface card and the storage device based at least in part on the spare Input/Output traffic capacity; and
in accordance with a determination to remove the path, performing, by the network interface card, the upgrade with the at least one path removed; or
in accordance with a determination to not remove the at least one path, performing, by the network interface card, the upgrade with the at least one path included.
2 . The method of claim 1 , further comprising:
in accordance with performing the upgrade with the at least one path removed, restoring, by the network interface card, the at least one path after concluding the upgrade.
3 . The method of claim 1 , wherein the monitoring further comprises:
limiting, by the network interface card, the Input/Output traffic on at least one path of the one or more paths to a first threshold.
4 . The method of claim 1 , wherein the determining further comprises:
delaying, by the network interface card, the upgrade until the Input/Output traffic is below a second threshold.
5 . The method of claim 1 , wherein the at least one path is restored after the upgrade is completed.
6 . The method of claim 1 , wherein the monitoring further comprises:
assigning, by the network interface card, a priority to the at least one path of the one or more paths.
7 . The method of claim 6 , wherein determining whether to remove the at least one path is based at least in part on the priority for the at least one path.
8 . A system, comprising:
memory configured to store instructions; and
one or more processors configured to execute the instructions to at least:
receive a request to perform an upgrade, the upgrade comprising changes to software of a network interface card;
monitor Input/Output (I/O) traffic on one or more paths between the network interface card and a storage device, each path of the one or more paths having a path capacity comprising a bandwidth of Input/Output traffic;
calculate a spare Input/Output traffic capacity for at least one path of the one or more paths between the network interface card and the storage device based at least in part on the Input/Output traffic and the path capacity, wherein the spare Input/Output traffic capacity is based at least in part on a number of a number of Input/Output operations;
determine whether to remove a path of the one or more paths between the network interface card and the storage device, based at least in part on the spare Input/Output traffic capacity;
in accordance with a determination to remove the at least one path, perform the upgrade with the at least one path removed; and
in accordance with a determination to not remove the at least one path, perform the upgrade with the at least one path included.
9 . The system of claim 8 , further comprising:
in accordance with performing the upgrade with the at least one path removed, restoring the at least one path after concluding the upgrade.
10 . The system of claim 8 , wherein the monitoring further comprises:
limiting the Input/Output traffic on the at least one path of the one or more paths to a first threshold.
11 . The system of claim 8 , wherein the determining further comprises:
delaying the upgrade until the Input/Output traffic is below a second threshold.
12 . The system of claim 8 , wherein the at least one path is restored after the upgrade is completed.
13 . The system of claim 8 , wherein the monitoring further comprises:
assigning a priority to the at least one path of the one or more paths.
14 . The system of claim 13 , wherein determining whether to remove the at least one path is based at least in part on the priority for the at least one path.
15 . A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising one or more instructions that, when executed by one or more processors of a device, cause the device to perform operations comprising:
receiving a request to perform an upgrade, the upgrade comprising changes to software of a network interface card;
monitoring Input/Output (I/O) traffic on one or more paths between the network interface card and a storage device, each path of the one or more paths having a path capacity comprising a bandwidth of Input/Output traffic;
calculating a spare Input/Output traffic capacity for at least one path of the one or more paths between the network interface card and the storage device based at least in part on the Input/Output traffic and the path capacity, wherein the spare Input/Output traffic capacity is based at least in part on a number of a number of Input/Output operations;
determining whether to remove the at least one path of the one or more paths between the network interface card and the storage device, based at least in part on the spare Input/Output traffic capacity;
in accordance with a determination to remove the at least one path, performing the upgrade with the at least one path removed; and
in accordance with a determination to not remove the at least one path, performing the upgrade with the at least one path included.
16 . The non-transitory computer-readable medium of claim 15 , further comprising:
in accordance with performing the upgrade with the at least one path of the one or more paths halted, restoring the at least one path after concluding the upgrade.
17 . The non-transitory computer-readable medium of claim 15 , wherein the monitoring further comprises:
limiting the Input/Output traffic on he at least one path of the one or more paths to a first threshold.
18 . The non-transitory computer-readable medium of claim 15 , wherein the determining further comprises:
delaying the upgrade until the Input/Output traffic is below a second threshold.
19 . The non-transitory computer-readable medium of claim 15 , wherein the at least one path is restored after the upgrade is completed.
20 . The non-transitory computer-readable medium of claim 15 , wherein the monitoring further comprises:
assigning a priority to the at least one path of the one or more paths.