Nuove funzionalità e modifiche in UEK R6U3
Di seguito sono riportate le principali nuove funzioni e modifiche incluse in Unbreakable Enterprise Kernel Release 6 Update 3 (UEK R6U3).
Versione kernel
UEK R6U3 utilizza la versione 5.4.17-2136 e la build del kernel UEK R6, che include correzioni di sicurezza e bug, nonché aggiornamenti dei driver.
Funzionalità kernel core
UEK R6U3 fornisce funzionalità kernel di base equivalenti a UEK R6, ma viene aggiornato al tag di release mainline upstream kernel v5.4.83 e include correzioni di bug LTS a monte, con patch aggiuntive per migliorare le funzionalità esistenti e fornire correzioni di bug minori e miglioramenti alla sicurezza. Tutte le modifiche chiave sono specifiche della funzionalità richiesta per Oracle Database e per altri software Oracle.
Protocollo di comunicazione WireGuard
Il protocollo di comunicazione WireGuard utilizza reti private virtuali crittografate (VPN) passando il traffico sul protocollo UDP (User Datagram Protocol).
WireGuard, che è stato abilitato in UEK R6 come funzione di anteprima della tecnologia da UEK R6U1, è completamente supportato in UEK R6U3.
WireGuard è una sostituzione sicura, facile da usare e più veloce per i protocolli di tunneling legacy IPsec e OpenVPN. La funzione utilizza protocolli e algoritmi di crittografia comprovati per proteggere i dati. Sebbene IPsec rimanga lo standard per la comunicazione di rete sicura, WireGuard è più semplice da configurare e distribuire. In confronto, la sua configurazione è paragonata all'impostazione di SSH. Questi sono alcuni dei motivi per cui gli amministratori stanno scegliendo di costruire nuove reti con la crittografia più moderna che WireGuard utilizza.
WireGuard utilizza la crittografia a chiave pubblica per l'identificazione e la crittografia, mentre OpenVPN utilizza i certificati per queste attività. Con WireGuard, la generazione e la gestione delle chiavi sicure vengono gestite in background.
WireGuard utilizza una modalità server/client per la configurazione e la distribuzione. Si noti che è possibile configurare e distribuire WireGuard su reti IPv4 e IPv6.
Per configurare e distribuire WireGuard, il pacchetto wireguard-tools deve essere installato sul server e sui sistemi client, il che consente la comunicazione tra entrambi gli host.
È possibile verificare l'installazione del pacchetto wireguard-tools usando il seguente comando:
$ rpm -qa | grep wireguard
È possibile verificare la presenza del modulo kernel wireguard nel sistema utilizzando il seguente comando:
$ modinfo wireguard
Per ulteriori informazioni e istruzioni dettagliate, vedere Oracle Linux: Configuring Virtual Private Networks.
Capacità di riduzione vmemmap per le pagine HugeTLB aggiunte
Questa release include un miglioramento che consente di liberare alcune pagine vmemmap (pagine di strutture di pagine di struttura) associate a ciascuna hugetlbpage. Rimuovendo le strutture di pagina ridondanti per le pagine HugeTLB, la memoria può essere restituita all'allocatore degli amici per altri usi.
Per abilitare questa funzione, eseguire il boot del sistema utilizzando l'opzione hugetlb_free_vmemmap=on. Quando attivato, durante il boot vengono visualizzati messaggi simili ai seguenti:
HugeTLB: can free 4094 vmemmap pages for hugepages-1048576kB HugeTLB: can free 6 vmemmap pages for hugepages-2048kB
io_uring struttura I/O asincrona
In questa release è stata eseguita un'ulteriore integrazione della struttura di I/O asincrono io_uring (AIO). io_uring è un'interfaccia kernel Linux che fornisce anelli di coda di invio e completamento, che vengono quindi condivisi tra il kernel e lo spazio utente per evitare copie.
Oltre alle funzioni più consolidate che sono state aggiunte al framework io_uring in questa release, UEK R6U3 include anche la nuova modalità di I/O polled (IORING_SETUP_IOPOLL), che fornisce le seguenti funzionalità:
-
Operazioni di controllo dei file standard:
FALLOCATE,OPENAT2,STATX,MADVISE,FADVISEeTEE. -
Operazioni su Socket: messaggi
ACCEPT,CONNECT,SEND(2)eRECV(2) eEPOLL_CTL. -
Capacità di condivisione di
io-wq workqueue(IORING_SETUP_ATTACH_WQ) da un altro anello. -
Aggiunta della chiamata
IORING_REGISTER_PROBEper sondare e ricevere informazioni sulle funzioni supportate dalla strutturaio_uringnel kernel. -
Inclusione della chiamata
SPLICE(2). -
Inclusione della chiamata
IORING_REGISTER_RESTRICTIONS, che consente all'applicazione di concedere l'accesso ai propri descrittori di file tramite applicazioni o guest non attendibili. -
chiamata
IORING_OP_PROVIDE_BUFFERS, che utilizza l'infrastruttura di registrazione del buffer per consentire il passaggio di unaddr/lenassociato a un ID buffer e a un ID gruppo buffer. -
IORING_BUFFER_SELECTsupporto per le chiamate vectored read,RING_OP_READVeIORING_OP_READVMSG.
kabi_whitelist Pacchetto rinominato kabi_stablelist
Il pacchetto kabi_whitelist è stato rinominato kabi_stablelist. Questa modifica è stata apportata in conformità all'impegno di Oracle di sostituire un linguaggio problematico e potenzialmente offensivo.
Una ridenominazione simile è già stata eseguita nella release Oracle Linux 8.
Virtualizzazione nidificata sulla piattaforma AMD
La funzionalità di virtualizzazione nidificata sulla piattaforma AMD a 64 bit (x86_64) è stata migliorata in questa release grazie all'implementazione di un ampio numero di correzioni per la stabilità.
Miglioramenti NVMe
Per adattarsi ai cambiamenti degli standard NVMe e man mano che la tecnologia continua a evolversi e a cambiare, vengono apportati continui miglioramenti alla funzione Non-Volatile Memory Express (NVMe). Rispetto ai protocolli legacy, NVMe offre funzionalità avanzate per l'accesso ai supporti di storage ad alta velocità.
Insieme a diverse correzioni di bug, questa release introduce la funzione NVMe Target Passthru. La funzione Passthru di destinazione consente di esportare un intero controller NVMe tramite la specifica NVM Express over Fabrics (NVMe-oF). Quando esportati in questo modo, rispetto all'esportazione di ogni spazio di nomi come dispositivo a blocchi, tutti i comandi NVMe vengono passati al controller specificato non modificati, inclusi sia i comandi amministrativi che i comandi VUC ( Vendor Unique Commands). Una destinazione passthru espone tutti gli spazi di nomi di un determinato dispositivo all'host remoto.
Introdotti nuovi tracepoint RDMAIP
Nelle release precedenti, il modulo kernel resilient_rdmaip utilizzava direttamente la funzione trace_printk() per il debug della propria infrastruttura, con conseguente avviso di avvio sull'uso di trace_printk() e della memoria non rilevante per il modulo kernel resilient_rdmaip.
UEK R6U3 introduce nuovi tracepoint che sostituiscono l'uso di trace_printk() per il debug dell'infrastruttura del modulo kernel resilient_rdmaip.
Ciascuno dei seguenti nuovi tracepoint corrisponde ai tre livelli di debug supportati dai messaggi di debug RDMA resilienti:
-
trace_rdma_debug_l1 -
trace_rdma_debug_l2 -
trace_rdma_debug_l3
Miglioramento sicuro all'avvio
In questa release, Secure Boot è stato modificato per controllare anche il portachiavi della piattaforma, che include l'elenco MOK (Machine Owner Key). Questo miglioramento consente il caricamento di moduli con firma di chiavi di terze parti e personalizzate ogni volta che è abilitato l'avvio sicuro.
Implementazione di vDPA su Mellanox ConnectX-6Dx per Oracle Linux
In questa release è stata migliorata la struttura Virtual Data Path Acceleration (vDPA) sulla scheda di rete Mellanox ConnectX-6Dx. Il framework vDPA supporta tecnologie emergenti come Single Root I/O Virtualization (SR-IOV) Virtual Function e Mellanox SubFunction, fornendo un livello di astrazione e traduzione in cima. vDPA utilizza il layout ad anello Virtio e inserisce un singolo driver Virtio standard nel guest, che viene disaccoppiato dall'implementazione del fornitore.
In UEK R6U3, notevoli miglioramenti vDPA includono l'API dello strumento di gestione vDPA per l'orchestrazione e la configurazione, il supporto vDPA SubFunction (SF) per bypassare il limite imposto dalla specifica PCIe sul numero di funzioni virtuali (VF) per funzione fisica (PF) che può essere creata e il supporto del driver Mellanox mlx5_vdpa per la mappatura del campanello.
Miglioramenti delle prestazioni vhost e vhost-scsi
In questa release sono stati introdotti alcuni miglioramenti delle prestazioni relativi allo storage a blocchi per i moduli vhost e vhost-scsi. In particolare, sono stati apportati miglioramenti al kernel per aumentare le operazioni IOPS (operazioni di input/output al secondo) per un dispositivo SCSI vhost su dm-multipath.
Inoltre, è stato apportato un miglioramento per consentire a Qemu di creare più thread operativi vhost e mapparli a un dispositivo SCSI guest diverso virtqueues.
Criterio predefinito architettura misurazione integrità
Il sottosistema IMA (Integrity Measurement Architecture), che è presente nel kernel Linux dalla release 2.6.30 a monte, gestisce un elenco di hash di file sensibili su un sistema. Queste informazioni possono impedire il caricamento di file o file binari che non corrispondono a questi hash. La funzione IMA consente di mantenere l'integrità del sistema e può essere utilizzata anche per impedire modifiche ai file di importanza critica del sistema. Un criterio IMA predefinito è impostato in UEK R6U3 ed è anche riportato in un aggiornamento errato per UEK R6U2. La politica aggiornata può essere esaminata in /sys/kernel/security/ima/policy:
measure func=KEXEC_KERNEL_CHECK measure func=MODULE_CHECK
Il criterio predefinito misura l'immagine kexec e tutti i file binari del modulo kernel. Si noti che, sebbene questo criterio predefinito consenta la misurazione di questi elementi, non definisce alcun criterio di valutazione.
Funzioni anteprima tecnologia
Diverse caratteristiche sono in fase di indagine e in corso di sviluppo per il rilascio all'interno di UEK R6. Le seguenti funzionalità sono disponibili in UEK R6U3 come anteprima tecnologica.
-
Pianificazione core
La funzione di pianificazione della memoria centrale abilitata nel kernel limita l'esecuzione contemporanea di task sicuri su memorie centrali CPU che condividono risorse di computazione. Questa funzione riduce alcune categorie di bug del processore 'core shared cache' che potrebbero causare perdite di dati e altre vulnerabilità correlate. La programmazione di base è stata abilitata in UEK R6 come funzione di anteprima tecnologica da UEK R6U1. Questa funzione è in fase di sviluppo attivo.
-
Copia lato server NFS v4.2
La funzionalità di copia lato server (SSC) NFS v4.2 è backportata dal kernel a monte ed è disponibile in UEK R6 come anteprima tecnologica da UEK R6U1. La funzione di copia lato server fornisce meccanismi che consentono a un client NFS di copiare i dati di file su un server o tra due server, senza che questi vengano trasmessi avanti e indietro sulla rete tramite il client NFS.
Funzioni non valide
Le seguenti funzioni non sono più valide in questa release di UEK R6.
Modulo kernel oracleasm non più valido
Il modulo del kernel oracleasm è obsoleto in questa release. Si noti che, sebbene il modulo continui a essere supportato in UEK R6U3, potrebbe essere rimosso nelle prossime release di UEK.
DRBD non più valido
Il modulo kernel DRBD (Distributed Replicated Block Device) e il pacchetto drbd-utils associato non sono più validi per UEK R6U3. Il modulo del kernel DRBD è stato introdotto come anteprima tecnologica in UEK R4 e continua ad essere abilitato in UEK R5 e UEK R6. Questo modulo e il pacchetto drbd-utils, tuttavia, potrebbero essere rimossi nelle prossime release dell'UEK.
Driver Cisco fnic 1.6 non supportato
Cisco non supporta più il driver HBA Cisco FCoE (fnic 1.6) proveniente dal kernel upstream e disponibile nella maggior parte dei kernel, tra cui UEK R5, UEK R6 e UEK R7. Cisco fornisce un driver UCS Linux completamente supportato (versione 2.0.0.83 e successive) testato e compatibile con Oracle Linux, con UEK R5 e versioni successive UEK, nella pagina di download del software Cisco. Il pacchetto driver include funzionalità non disponibili nel modulo driver attualmente incluso, come il supporto NVMe e il supporto multi-queue.
I clienti che utilizzano Oracle Linux sui server Cisco devono installare il pacchetto driver Cisco per ricevere correzioni dei driver, aggiornamenti dei driver, nuovo supporto hardware e nuovo supporto alle funzionalità. Contatta Cisco per maggiori informazioni sulle soluzioni per i driver su Oracle Linux.
Aggiornamenti driver
Unbreakable Enterprise Kernel Release 6 supporta un gran numero di dispositivi hardware. In stretta collaborazione con i fornitori di hardware e storage, Oracle ha aggiornato diversi driver dispositivo dalle versioni di mainline Linux 5.4.
Un elenco completo dei moduli driver inclusi nell'ultimo aggiornamento di UEK R6 insieme alle informazioni sulla versione è fornito nell'appendice in Driver Modules in Unbreakable Enterprise Kernel Release 6 (x86_64).
Le seguenti nuove funzionalità sono note nei driver spediti con UEK R6U3:
-
Driver di rete Broadcom BCM573xx
Il driver di rete Broadcom BCM573xx,
bnxt_en, viene aggiornato alla versione 1.10.2 in questa release. Un gran numero di patch a monte e fornite dal fornitore sono incluse per risolvere vari bug e fornire funzionalità e aggiornamenti più recenti. In particolare, la funzionalità PTP è abilitata e sono stati inclusi diversi miglioramenti per RoCE. -
Driver HBA Cisco FCoE
Il driver HBA Cisco FCoE,
fnic, viene aggiornato alla versione 1.6.0.53 in questa release. Sono incluse diverse patch a monte per risolvere vari bug. -
Driver Intel Ethernet Connection E800 Series Linux
Il driver Intel Ethernet Connection E800 Series Linux,
ice, continua a generare report come versione 0.8.2-k in questa release, ma include un gran numero di patch fornite dal fornitore. Questo driver viene testato sulle ultime schede di interfaccia di rete da 25 GbE e 100 GbE E810. -
Driver SCSI Broadcom Emulex LightPulse Fibre Channel
Il driver Broadcom Emulex LightPulse Fibre Channel SCSI,
lpfc, viene aggiornato alla versione 12.8.0.10, con patch e correzioni di bug fornite dal fornitore. Sono stati inoltre applicati diversi aggiornamenti alle patch al driver di trasporto Fibre Channel NVMe,nvme-fcper migliorare le funzionalità e risolvere i problemi identificati dal fornitore. -
Driver per adattatori di rete Microsoft Azure
Il driver Microsoft Azure Network Adapter,
mana, è incluso in questa release. Le patch a monte e fornite dal fornitore sono incluse e il driver è destinato all'uso su Oracle Linux 8. -
Driver del dispositivo MPI3 Storage Controller
Il driver del dispositivo MPI3 Storage Controller,
mpi3mr, è incluso in questa release alla versione 00.255.45.01. Sono incluse patch a monte e fornite dal fornitore e il driver è destinato a supportare la prossima generazione di dispositivi controller HBA e RAID 96XX di Broadcom. -
Modulo Core QLogic FastLinQ 4xxxx
Il modulo Core QLogic FastLinQ 4xxxx,
qed, viene aggiornato alla versione 8.37.0.20 e include molte patch aggiuntive fornite dal fornitore, incluse le patch per il firmware della versione 8.42.2.0. -
Driver Ethernet QLogic FastLinQ 4xxxx
Il driver Ethernet QLogic FastLinQ 4xxxx,
qede, viene aggiornato alla versione 8.37.0.20 e include ulteriori patch fornite dal fornitore. -
Modulo QLogic FastLinQ 4xxxx FCoE
Il modulo QLogic FastLinQ 4xxxx FCoE,
qedf, viene aggiornato alla versione 8.42.3.0 e include patch fornite dal fornitore per aggiornare questo driver in linea con le modifiche a monte. -
Modulo iSCSI QLogic FastLinQ 4xxxx
Il modulo iSCSI QLogic FastLinQ 4xxxx,
qedi, viene aggiornato alla versione 8.37.0.20 e include patch fornite dal fornitore per aggiornare questo driver in linea con le modifiche a monte. -
Driver HBA Fibre Channel QLogic
Il driver HBA QLogic Fibre Channel,
qla2xxx, viene aggiornato alla versione 10.02.00.106-k e include diverse patch fornite dal fornitore. -
Driver per controller Microsemi Smart Family
Il driver Microsemi Smart Family Controller,
smartpqi, viene aggiornato alla versione 2.1.8-045 e include diverse patch a monte. -
driver pvpanic
Il driver
pvpanic, utilizzato per attivare gli eventi all'interno di libvirtd nel caso in cui una virtual machine guest incontri un kernel panic, viene aggiornato per includere un componente PCI per abilitare questa funzionalità sulle piattaforme Arm (aarch64). In precedenza, il driver funzionava solo come un dispositivo bus ISA, che ne limitava l'uso alle piattaforme x86.