VNX: kernel.cpu.utilization.cpuutil ist 15 Minuten lang > 90

Oversigt: kernel.cpu.utilization.cpuutil ist 15 Minuten lang > 90.

Denne artikel gælder for Denne artikel gælder ikke for Denne artikel er ikke knyttet til et bestemt produkt. Det er ikke alle produktversioner, der er identificeret i denne artikel.

Symptomer

Heruntergestufte CIFS- und NFS-Performance und übermäßig hohe CPU-Auslastung auf den Datumsverschiebern über längere Zeiträume

Die Dateien /nas/log/sys_log werden mit den folgenden Warnmeldungen überflutet:

Oct 20 10:19:21 2016:CS_PLATFORM:PERFSTATS:NOTICE:3:::::nas_alerterd: Clearing event for policy: default:server_2:kernel.cpu.utilization.cpuutil is > 90 for 15 minutes due to value = 88
Oct 20 10:20:26 2016:CS_PLATFORM:PERFSTATS:NOTICE:3:::::nas_alerterd: Clearing event for policy: default:server_3:kernel.cpu.utilization.cpuutil is > 90 for 15 minutes due to value = 89
Oct 20 10:35:21 2016:CS_PLATFORM:PERFSTATS:WARNING:2:::::nas_alerterd: Raising event for policy: default:server_2:kernel.cpu.utilization.cpuutil is > 90 for 15 minutes. The last sample value was 94
Oct 20 10:48:26 2016:CS_PLATFORM:PERFSTATS:WARNING:2:::::nas_alerterd: Raising event for policy: default:server_3:kernel.cpu.utilization.cpuutil is > 90 for 15 minutes. The last sample value was 95
Oct 20 11:01:26 2016:CS_PLATFORM:PERFSTATS:NOTICE:3:::::nas_alerterd: Clearing event for policy: default:server_3:kernel.cpu.utilization.cpuutil is > 90 for 15 minutes due to value = 87
Oct 20 11:17:21 2016:CS_PLATFORM:PERFSTATS:NOTICE:3:::::nas_alerterd: Clearing event for policy: default:server_2:kernel.cpu.utilization.cpuutil is > 90 for 15 minutes due to value = 89
Oct 20 11:21:26 2016:CS_PLATFORM:PERFSTATS:WARNING:2:::::nas_alerterd: Raising event for policy: default:server_3:kernel.cpu.utilization.cpuutil is > 90 for 15 minutes. The last sample value was 96
[nasadmin@storage ~]$ server_sysstat server_2
server_2 :
threads runnable = 216
threads blocked = 6859
threads I/J/Z = 1
memory free(kB) = 6925375
cpu idle_% = 2 < ------- 98% utilized

[nasadmin@storage ~]$ server_sysstat server_3
server_3 :
threads runnable = 61
threads blocked = 6940
threads I/J/Z = 1
memory free(kB) = 6683987
cpu idle_% = 1 < ------- 99% utilized

 

Årsag

Eine allgemeine Systemkonfigurations- und Kapazitätsanalyse wurde durchgeführt, um zu bestimmen, welche Arten von Anforderungen (Anzahl der Replikationen, Deduplizierung, Prüfpunktzeitpläne usw.) für jeden Data Mover gestellt werden. Es wurde festgestellt, dass eine VMware-Anwendung namens Mirage für das Image-Management verwendet wird. Diese Software sicherte Tausende von Workstations in der Kundenumgebung auf CIFS- und NFS-Freigaben, indem mehrere kleine CVD-Dateien erstellt wurden.

In diesem Beispiel wurden 200 VMware Mirage-Sitzungen konfiguriert, die stündlich Snapshots von 4.000 Maschinen erstellen. Für einen Rechner ist eine CVD-Datei erforderlich, die wiederum 1,5 IOPS benötigt, damit der Snapshot abgeschlossen werden kann. Als die Backups ausgeführt wurden, war die Performance langsam und es kam zu einer enormen Latenz im Bereich von 626,78 KB pro ms auf der Mirage-Seite.

Ein Data Mover-Profil von server_2 wurde erfasst, wenn die CPU-Auslastung übermäßig hoch war und die VMware Mirage-Anwendung ausgeführt wurde. Das Profil wurde so konfiguriert, dass es 60 Sekunden lang ausgeführt wird:
Beispiel:

[nasadmin@storage ~]$ /nas/tools/profile_slot -slot 2 -method function -seconds 60 -output /root_vdm_3/FS_Backup_01/profile_slot2.out
Starting profile on slot 2 with the following params...
Slot = 2
Method = function
Seconds = 60
Ignorebounds = no
Frequency = 256
Outfile = /root_vdm_3/FS_Backup_01/profile_slot2.out
Profile started. Waiting for 60 seconds...
Profile stopped.
Profile output has been written to /root_vdm_3/FS_Backup_01/profile_slot2.out on server in slot 2.

Eine Analyse des Data Mover-Profils wurde abgeschlossen und es wurde festgestellt, dass der primäre Engpass, der den Großteil der CPU beanspruchte, ein SMB-Sicherheitsverschlüsselungsprozess namens "AES_encrypt" war. Dieser SMB-Prozess wird verwendet, um eine Ende-zu-Ende-Verschlüsselung für SMB-Daten bereitzustellen und Daten vor Lauschangriffen in nicht vertrauenswürdigen Netzwerken zu schützen.

[nasadmin@storage ~]$ more profile_slot2.out | grep -i aes
0.0% (          1 ) EVP_aes_128_cbc
0.0% (          2 ) aes_init_key
1.0% (        631 ) aes_cbc_cipher
0.0% (         16 ) private_AES_set_encrypt_key
44.8% (      27454 ) AES_encrypt < ---------------------
0.9% (        581 ) AES_cbc_encrypt
0.0% (          1 ) EVP_aes_128_cbc
0.8% (        123 ) aes_cbc_cipher
0.0% (          1 ) private_AES_set_encrypt_key
37.0% (       5676 ) AES_encrypt < ---------------------
0.8% (        128 ) AES_cbc_encrypt
0.0% (          1 ) aes_init_key
0.9% (        140 ) aes_cbc_cipher
0.0% (          3 ) private_AES_set_encrypt_key
47.1% (       7219 ) AES_encrypt < ---------------------
0.9% (        146 ) AES_cbc_encrypt
0.0% (          1 ) aes_init_key
1.3% (        204 ) aes_cbc_cipher
0.0% (          7 ) private_AES_set_encrypt_key
48.2% (       7388 ) AES_encrypt < ---------------------
0.9% (        151 ) AES_cbc_encrypt
1.0% (        164 ) aes_cbc_cipher
0.0% (          5 ) private_AES_set_encrypt_key
46.8% (       7171 ) AES_encrypt < ---------------------
1.0% (        156 ) AES_cbc_encrypt

 

Løsning

Es stehen zwei Optionen zur Verfügung:

Möglichkeit 1:
Nehmen Sie keine Änderungen vor, lassen Sie das maximale Protokoll für die SMB-Kommunikation bei SMB3 bleiben, ertragen Sie die hohe CPU und schlechte Leistung.

Möglichkeit 2:
Implementieren Sie einen Workaround, um das maximale Protokoll für die SMB-Kommunikation von SMB3 auf SMB2 zu übertragen. Der Hauptunterschied zwischen SMB3 und SMB2 ist "AES_Encrypt". Durch das Löschen des max. Protokolls auf SMB2 wird der Verschlüsselungsprozess und die CPU-Auslastung sinken und die Performance sollte sich verbessern.

So aktivieren Sie das SMB2-Protokoll auf dem Data Mover:

  1. Melden Sie sich bei der primären Control Station als "root"-Nutzer in PuTTY/SSH an.

  2. Fordern Sie vom Kunden die Erlaubnis an, den CIFS-Service auf dem Data Mover vorübergehend zu beenden. Dies führt zu einem kleinen Ausfall des CIFS-Zugriffs, während der CIFS-Service beendet wird. Daher muss er entsprechend mit dem Kunden geplant werden.

    server_setup server_x -P cifs -o stop
  3. Ändern Sie das max. Protokoll für die SMB-Kommunikation von SMB3 in SMB2:

    server_cifs server_x -add security=NT,dialect=SMB2
  4. Starten Sie den CIFS-Service neu:

    server_setup server_x -P cifs -o start
  5. Stellen Sie sicher, dass der CIFS-Service erfolgreich neu gestartet wurde und das max. Protokoll auf SMB2 eingestellt ist:

    server_cifs server_x

    Beispiel:

    [root@Bstorage]# server_cifs server_2
    server_2 :
    384 Cifs threads started
    Security mode = NT
    Max protocol = SMB2.1 < -----

 

Berørte produkter

VNX2 Series

Produkter

VNX2 Series
Artikelegenskaber
Artikelnummer: 000056854
Artikeltype: Solution
Senest ændret: 20 okt. 2025
Version:  5
Find svar på dine spørgsmål fra andre Dell-brugere
Supportservices
Kontrollér, om din enhed er dækket af supportservices.