fix(smart v0.1.15): contrôleur NVMe + règle udev disk group
Cause racine : smartctl -a -j /dev/nvme0n1 (namespace) retourne exit 4 et omet smart_status car les commandes admin échouent via le namespace. Solution : utiliser /dev/nvme0 (contrôleur) accessible grâce à la règle udev SUBSYSTEM==nvme GROUP=disk. - smart.rs : scan /sys/class/nvme/ pour les contrôleurs (nvme0, nvme1) au lieu de /sys/block/ pour les namespaces (nvme0n1) - deploy/99-nanometrics-smart.rules : udev rule KERNEL==nvme* GROUP=disk - deploy/install.sh : déploie la règle udev + udevadm trigger Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
# Nanometrics: accès groupe disk aux contrôleurs NVMe pour SMART
|
||||
# Sans cette règle, /dev/nvme0 est crw------- root root (root only),
|
||||
# ce qui empêche smartctl d'exécuter les commandes admin et omet smart_status du JSON.
|
||||
KERNEL=="nvme[0-9]*", SUBSYSTEM=="nvme", GROUP="disk", MODE="0660"
|
||||
@@ -45,6 +45,17 @@ else
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# ── 2. Règle udev NVMe (accès SMART pour le groupe disk) ──────────────────────
|
||||
UDEV_RULE="/etc/udev/rules.d/99-nanometrics-smart.rules"
|
||||
cat > "$UDEV_RULE" << 'UDEVRULE'
|
||||
# Nanometrics: accès groupe disk aux contrôleurs NVMe pour SMART
|
||||
KERNEL=="nvme[0-9]*", SUBSYSTEM=="nvme", GROUP="disk", MODE="0660"
|
||||
UDEVRULE
|
||||
udevadm control --reload-rules
|
||||
udevadm trigger --subsystem-match=nvme 2>/dev/null || true
|
||||
ok "Règle udev NVMe installée ($UDEV_RULE)"
|
||||
echo ""
|
||||
|
||||
# ── 3. Détection de l'architecture ────────────────────────────────────────────
|
||||
ARCH="$(uname -m)"
|
||||
case "$ARCH" in
|
||||
|
||||
Reference in New Issue
Block a user