Talos multipath.

This commit is contained in:
2026-06-22 20:40:06 -05:00
parent 0b9ac4dc74
commit dcfb6825e8
2 changed files with 70 additions and 13 deletions

View File

@@ -0,0 +1,28 @@
apiVersion: v1alpha1
kind: ExtensionServiceConfig
name: multipathd
configFiles:
- content: |
# Your multipathd configuration content here
defaults {
user_friendly_names yes
find_multipaths yes
}
blacklist {
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^(hd|sda|sd[a-z])[0-9]*" # Adjust to blacklist local disks
devnode "^cciss!.*"
}
devices {
device {
vendor "PURE"
product "FlashArray"
path_grouping_policy multibus
path_selector "queue-length 0"
path_checker tur
no_path_retry 0
rr_min_io 1
dev_loss_tmo 30
}
}
mountPath: /etc/multipath.conf

View File

@@ -8,9 +8,9 @@
# talhelper gencommand apply --extra-flags="--insecure" | bash # talhelper gencommand apply --extra-flags="--insecure" | bash
# talhelper gencommand bootstrap | bash # talhelper gencommand bootstrap | bash
# ───────────────────────────────────────────────────────────────────────────── # ─────────────────────────────────────────────────────────────────────────────
---
clusterName: fastpass clusterName: fastpass
talosVersion: v1.13.2 talosVersion: v1.13.5
kubernetesVersion: v1.32.3 kubernetesVersion: v1.32.3
# VIP floats across control plane nodes — all kubectl/talosctl traffic lands here # VIP floats across control plane nodes — all kubectl/talosctl traffic lands here
@@ -120,6 +120,7 @@ worker:
- siderolabs/qemu-guest-agent - siderolabs/qemu-guest-agent
- siderolabs/util-linux-tools - siderolabs/util-linux-tools
- siderolabs/iscsi-tools - siderolabs/iscsi-tools
- siderolabs/multipath-tools
patches: patches:
- |- - |-
@@ -154,23 +155,51 @@ worker:
sysctls: sysctls:
net.ipv4.conf.all.arp_announce: "2" net.ipv4.conf.all.arp_announce: "2"
net.ipv4.conf.all.arp_ignore: "1" net.ipv4.conf.all.arp_ignore: "1"
- |- - |-
apiVersion: v1alpha1 apiVersion: v1alpha1
kind: ExtensionServiceConfig kind: ExtensionServiceConfig
name: multipath-tools name: multipathd
configFiles: configFiles:
- content: | - content: |-
# Your multipath.conf content here # Pure Storage FlashArray multipath configuration
# Configured via ExtensionServiceConfig for multipathd system service
defaults { defaults {
user_friendly_names yes polling_interval 10
path_selector "round-robin 0"
path_grouping_policy group_by_prio
path_checker tur
prio alua
failback immediate
user_friendly_names no
find_multipaths yes
fast_io_fail_tmo 10
dev_loss_tmo 600
no_path_retry 0
}
devices {
device {
vendor "PURE"
product "FlashArray"
path_selector "round-robin 0"
path_grouping_policy group_by_prio
prio alua
path_checker tur
fast_io_fail_tmo 10
user_friendly_names no
no_path_retry 0
hardware_handler "1 alua"
dev_loss_tmo 600
failback immediate
}
}
blacklist {
# Exclude Portworx PXD devices from multipathing
devnode "^pxd[0-9]*"
devnode "^pxd.*"
} }
mountPath: /etc/multipath.conf mountPath: /etc/multipath.conf
environment:
- ARGS=-f /etc/multipath.conf
# Note: ExtensionServices run with host access by design,
# effectively privileged for system tasks.
# ─── Nodes ─────────────────────────────────────────────────────────────────── # ─── Nodes ───────────────────────────────────────────────────────────────────
nodes: nodes: