VNX: kernel.cpu.utilization.cpuutil se > 90 po dobu 15 minut.
Summary: kernel.cpu.utilization.cpuutil je > 90 po dobu 15 minut.
Symptoms
Snížený výkon CIFS, NFS a nadměrně vysoké využití procesoru při přesouvání data po delší dobu
Soubory /nas/log/sys_log jsou zahlceny následujícími výstrahami:
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
Cause
Byla dokončena celková konfigurace systému a analýza kapacity, s cílem určit, jaké typy požadavků (počet replikací, deduplikace, plány kontrolních bodů atd.) jsou kladeny na jednotlivé přenašeče dat. Bylo zjištěno, že pro správu bitových kopií se používá aplikace VMware s názvem Mirage. Tento software zálohoval tisíce pracovních stanic v prostředí zákazníka do sdílených složek CIFS, NFS vytvořením několika malých souborů CVD.
V tomto příkladu bylo nakonfigurováno 200 relací VMware Mirage, které pořídily hodinové snímky 4 000 počítačů. Jeden počítač vyžaduje jeden soubor CVD, který k dokončení snapshotu potřebuje 1,5 IOPS. Když byly zálohy spuštěné, výkon byl pomalý a na straně Mirage došlo k obrovské latenci v oblasti 626,78 KB za ms.
Profil server_2 přesunu dat byl zaznamenán, když bylo využití procesoru příliš vysoké a byla spuštěna aplikace VMware Mirage. Profil byl nakonfigurován tak, aby běžel po dobu 60 sekund:
Příklad:
[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.
Byla dokončena analýza profilu přenašeče dat a bylo zjištěno, že primárním úzkým hrdlem, které spotřebovává většinu procesoru, byl proces bezpečnostního šifrování SMB s názvem "AES_encrypt". Tento proces SMB se používá k zajištění kompletního šifrování dat SMB a chrání data před výskytem odposlechu v nedůvěryhodných sítích.
[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
Resolution
K dispozici jsou dvě možnosti:
Možnost 1:
Neprovádějte žádné změny, umožněte, aby maximální protokol pro komunikaci SMB zůstal na SMB3, vydržte vysoký procesor a špatný výkon.
Možnost 2:
Implementace zástupného řešení pro odstranění maximálního počtu protokolů pro komunikaci SMB z SMB3 na SMB2. Hlavní rozdíl mezi SMB3 a SMB2 je "AES_Encrypt". Přepnutím maximálního protokolu na SMB2 se upustí od procesu šifrování, klesne využití procesoru a výkon by se měl zlepšit.
Povolení protokolu SMB2 v přenašeči dat:
-
Přihlaste se k primární kontrolní stanici jako uživatel root v nástroji putty/SSH
-
Vyžádejte si od zákazníka oprávnění k dočasnému zastavení služby CIFS u přenašeče dat. To způsobí malý výpadek přístupu CIFS, když je služba CIFS zastavena, takže musí být naplánována odpovídajícím způsobem se zákazníkem.
server_setup server_x -P cifs -o stop
-
Změna maximálního počtu protokolů pro komunikaci SMB z SMB3 na SMB2:
server_cifs server_x -add security=NT,dialect=SMB2
-
Restartujte službu CIFS:
server_setup server_x -P cifs -o start
-
Ujistěte se, že se služba CIFS úspěšně restartovala a protokol max je nastaven na SMB2:
server_cifs server_x
Příklad:
[root@Bstorage]# server_cifs server_2 server_2 : 384 Cifs threads started Security mode = NT Max protocol = SMB2.1 < -----