Automazione del deployment del sistema operativo in Dell BOSS: tecniche per i diversi sistemi operativi
Summary: Questo articolo fornisce informazioni sulle schede Dell PCIe BOSS (Boot Optimized Storage Solution). Fornisce inoltre istruzioni per l'installazione di Windows, Red Hat, SuSE, Ubuntu e le distribuzioni Linux correlate su queste schede. ...
Instructions
Il dispositivo Dell BOSS (Boot Optimized Storage Solution) è una scheda PCIe dedicata che supporta due unità SSD M.2, con configurazione RAID 1 predefinita. È progettato per essere l'unità di avvio del sistema operativo, liberando tutte le altre unità da utilizzare come dispositivi cache o di storage dei dati. Si tratta di un modo semplice per garantire che gli alloggiamenti delle unità principali possano essere completamente utilizzati per attività più importanti rispetto all'avvio del sistema operativo.
Tuttavia, poiché la scheda BOSS è soggetta alla normale enumerazione dei dispositivi, è possibile che un'altra unità di avvio venga visualizzata come prima periferica nell'ordine di avvio del BIOS. Questo può causare problemi durante il deployment del sistema operativo in modo programmatico.
Le seguenti informazioni mostrano come etichettare o identificare la scheda Dell BOSS per garantire che il sistema operativo sia installato su di essa. La ricerca e l'utilizzo del "nome descrittivo", ad esempio DELLBOSS VD, è il modo corretto per garantire che il sistema operativo sia installato su BOSS. Ogni sistema operativo può trovare e utilizzare la scheda BOSS con i vari metodi descritti in questo articolo.Importante:
Mostra tutti | Nascondi tutti
Identificazione del dispositivo BOSS nel sistema operativo Linux
I dispositivi BOSS contengono la stringa DELLBOSS nella proprietà Model del dispositivo. Questa può essere utilizzato per identificarlo, come illustrato in questo esempio:
# cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: DELLBOSS VD Rev: MV.R Type: Direct-Access ANSI SCSI revision: 05 Host: scsi2 Channel: 00 Id: 00 Lun: 00 Vendor: Marvell Model: Console Rev: 1.01 Type: Processor ANSI SCSI revision: 05
I sistemi operativi basati su Linux utilizzano udev per creare collegamenti simbolici in /dev/disk/by-id/ che possono essere utilizzati per individuare un dispositivo BOSS come mostrato di seguito:
# ls -l /dev/disk/by-id/ total 0 lrwxrwxrwx. 1 root root 9 Jan 13 15:02 ata-DELLBOSS_VD_6668c813b78a0010 -> ../../sda
Questa proprietà può essere utilizzata negli script di installazione automatizzata per rilevare la presenza di una scheda BOSS e indicare al programma di installazione di utilizzarla per l'installazione.
Installazione interattiva di Red Hat Enterprise Linux e dei prodotti derivati (CentOS, Scientific Linux, Fedora)
Durante l'esecuzione di un'installazione interattiva, l'utente ha l'opportunità di scegliere il dispositivo BOSS come dispositivo di installazione o di avvio primario. Il dispositivo BOSS viene visualizzato come ATA DELLBOSS VD, come mostrato nel diagramma riportato di seguito. Scegliendo il dispositivo VD ATA DELLBOSS, il programma di installazione posiziona i file del sistema operativo sul dispositivo BOSS lasciando intatte le altre unità.Figura 1. Destinazione di installazione
Figura 1: Destinazione installazione
Installazione automatizzata di Red Hat Enterprise Linux e dei prodotti derivati
Per l'installazione automatizzata (avvio), è possibile utilizzare uno script di preinstallazione per garantire che il programma di installazione posizioni il sistema operativo sull'unità corretta. Il seguente script identifica il dispositivo BOSS cercando i dispositivi con il campo del modello contenente DELLBOSS. Indica al programma di installazione di utilizzare esclusivamente il dispositivo, ignorando tutti gli altri dispositivi di storage disponibili al programma di installazione.
ks.cfg: %include /tmp/bootdisk.cfg %pre # Use DELLBOSS device for OS install if present. BOSS_DEV=$(find /dev -name "*DELLBOSS*" -printf %P"\n" | \ egrep -v -e part -e scsi| head -1) if [ -n "$BOSS_DEV" ]; then echo ignoredisk --only-use="$BOSS_DEV" > /tmp/bootdisk.cfg fi %end
Ecco un esempio /tmp/bootdisk.cfg che contiene il nome del dispositivo BOSS che il programma di installazione deve utilizzare.
# cat /tmp/bootdisk.cfg ignoredisk --only-use=disk/by-id/ata-DELLBOSS_VD_6668c813b78a0010
Installazione interattiva di SUSE e dei prodotti derivati
Le installazioni interattive dei sistemi operativi basati su SUSE non elencano le etichette dei dispositivi, ma solo i nomi dei dispositivi. Di conseguenza, l'utente deve passare a una console di testo per ottenere il nome del dispositivo BOSS.
Figura 2: Partizione consigliata.
Nella schermata Suggested Partitioning , scegliere Guided Setup.
Figura 3: Selezione del disco rigido Consente
di passare a una console premendo CTRL+ALT+F2. Al prompt dei comandi, inserire il seguente comando per visualizzare il nome del dispositivo SCSI del dispositivo BOSS da utilizzare per l'installazione.Nota:
chvt 7 Il comando esce dalla console:
# lsscsi| grep DELLBOSS # chvt 7
Figura 4. lsscsi
Nella schermata Select Hard Disk, selezionare il nome del dispositivo SCSI dalla schermata lsscsi l'output del comando precedente, assicurandosi che tutti gli altri dispositivi non siano selezionati.
Continuare con l'installazione. Ciò garantisce che il sistema operativo sia installato sul dispositivo BOSS.
Installazione di SUSE e dei prodotti derivati
- Per le installazioni automatizzate, è possibile aggiungere quanto segue a autoyast.xml:
autoyast.xml:
##Sample pre-script section in the autoyast file to extract the device name for BOSS device. <pre-scripts config:type="list"> <script> <feedback config:type="boolean">true</feedback> <debug config:type="boolean">false</debug> <filename>pre.sh</filename> <interpreter>shell</interpreter> <source><![CDATA[ # Use DELLBOSS device for OS install if present. DEV=$(find /dev -name "*DELLBOSS*" | egrep -v -e part -e scsi| head -1) if [ -n "$DEV" ]; then BOSS_DEV=$(basename $(readlink $DEV)) sed -e "s/@ROOT_DEVICE@/$BOSS_DEV/" /tmp/profile/autoinst.xml >/tmp/profile/modified.xml cp /tmp/profile/modified.xml /tmp/profile/autoinst.xml fi ]]> </source> </script> </pre-scripts> ###Sample autoyast partitioning section with ROOT device variable that needs to be replaced by the BOSS device found in the pre-script section above. <partitioning config:type="list"> <drive> <device>/dev/@ROOT_DEVICE@</device> <disklabel>gpt</disklabel> <enable_snapshots config:type="boolean">true</enable_snapshots> <initialize config:type="boolean">true</initialize> <partitions config:type="list"> <partition> <create config:type="boolean">true</create> <crypt_fs config:type="boolean">false</crypt_fs> <filesystem config:type="symbol">vfat</filesystem> <format config:type="boolean">true</format> <fstopt>umask=0002,utf8=true</fstopt> <loop_fs config:type="boolean">false</loop_fs> <mount>/boot/efi</mount> <mountby config:type="symbol">uuid</mountby> <partition_id config:type="integer">259</partition_id> <partition_nr config:type="integer">1</partition_nr> <resize config:type="boolean">false</resize> <size>155352576</size> </partition> </partitions> </drive> </partitioning>
Installazione interattiva di Ubuntu
Figura 5. Metodo di partizione disco
Figura 6. Partizione disco
Installazione automatizzata di Ubuntu
ks.cfg: %include /tmp/bootdisk.cfg %pre # Use DELLBOSS device for OS install if present. BOSS_DEV=$(readlink -f $(find /dev -name "*DELLBOSS*" | \ egrep -v -e part -e scsi| head -1)) if [ -n "$BOSS_DEV" ]; then echo ignoredisk --only-use="$BOSS_DEV" > /tmp/bootdisk.cfg fi %end
Installazione interattiva di VMware ESXi
Figura 7. Programma di installazione di ESXi
Installazione automatizzata di VMware ESXi
Per ESXi è un po' diverso; il programma di installazione è in grado di rilevare l'unità BOSS, quindi lo script di avvio è di una sola riga.
install --overwritevmfs --firstdisk="DELLBOSS VD"
Installazione interattiva di Microsoft Windows
Assicurarsi che il sistema operativo sia installato sulla scheda BOSS può risultare difficile in un server con molti dischi. In questo esempio, la scheda BOSS è il disco 6, ma ciò non è immediatamente evidente in Disk Management. Il sistema operativo è già stato completamente installato in questa schermata.) La scheda BOSS non è identificata al livello superiore, ma può essere identificata cliccando con il pulsante destro del mouse su Disk 6 e selezionando Properties.
Figure 8 - Disk Management
Figura 9. Visualizzazione delle proprietà di Dell BOSS
Inoltre, il processo di installazione standard di Windows con WinPE crea alcune problematiche. PowerShell non è disponibile in WinPE per impostazione predefinita (anche se può essere aggiunto) e sono disponibili solo strumenti specifici da utilizzare per identificare la scheda BOSS. Non vi è alcun identificatore per la scheda BOSS nelle schermate di installazione standard, come mostrato nelle schermate riportate di seguito.
Conoscere le dimensioni della scheda BOSS è utile per dirigere correttamente l'installazione sulla scheda. Per essere certi, visualizzare una finestra del prompt dei comandi in WinPE utilizzando Maiusc-F10.
Nelle seguenti schermate, il disco 6 non può essere esplicitamente identificato come scheda BOSS. Questo esempio ha sei unità, ma alcuni server ne hanno molte di più.
Figura 10: Selezione del disco di Windows Figura
11: Selezione del disco di Windows
Figura 12. Selezione del disco di Windows
L'interfaccia della riga di comando fornisce una soluzione. Per aprire un prompt dei comandi, premere Maiusc-F10 in WinPE in qualsiasi momento durante l'installazione di Windows.
1. l'unico problema con Diskpart è la necessità di selezionare un disco prima di eseguire detail disk, come mostrato di seguito. Per questo bisogna avere un'idea del disco da selezionare. Anche in questo caso, conoscere le dimensioni del dispositivo BOSS M.2 è importante. Se si seleziona l'unità corretta, viene visualizzato VD DELLBOSS:
Figura 13 - Diskpart2. Diskpart
2. Esistono diversi modi per identificare la scheda BOSS utilizzando PowerShell. Tuttavia, PowerShell non è disponibile in WinPE per impostazione predefinita, pertanto non è utile a meno che non sia stato aggiunto o il sistema operativo non sia stato completamente installato.Figura 14. PowerShell non disponibile in WinPE 3.
Figura 14: PowerShell non è disponibile in WinPE
3. L'interfaccia a riga di comando di WMIC (Windows Management Instrumentation Command line-interface) può essere utile per scegliere con sicurezza il dispositivo Dell BOSS. WMIC è disponibile nell'intero sistema operativo e in WinPE.
Utilizzare i seguenti comandi per identificare la scheda BOSS:
WMIC Diskdrive get model, name
Figura 15. Output di WMIC
Utilizzando WMIC, è possibile collegare la posizione del disco rigido al nome DELLBOSS VD. (Tornare a PHYSICALDRIVE6 ).
Installazione automatica di Microsoft Windows
Una volta che la posizione fisica è nota utilizzando uno dei metodi di cui sopra (Diskpart o WMIC), in uno script è possibile utilizzare quanto segue:
Diskpart SELECT DISK=<disk location path> command to select each drive.
Ad esempio:
SELECT DISK=PCIROOT(0)#PCI(0100)#ATA(C00T00L00)
Nell'esempio del server precedente, il comando è:
SELECT DISK=PCIROOT(3A)#PCI(0000)#PCI(0000)#ATA(C00T00L00)
Di seguito è riportato un semplice esempio per la formattazione di un'unità.
Creazione di un file non vuotodiskpart.txt), utilizzando il percorso mostrato sopra:
SELECT DISK=PCIROOT(3A)#PCI(0000)#PCI(0000)#ATA(C00T00L00) CLEAN CREATE PART PRI SELECT PART 1 ACTIVE ASSIGN FORMAT FS=NTFS QUICK EXIT
Creare lo script di installazione del sistema operativo o il file batch e aggiungere la riga riportata di seguito:
DISKPART /s diskpart.txt
Identificazione della scheda BOSS utilizzando PowerShell, WMI e il Registro di sistema.
PowerShell
In Windows, PowerShell può visualizzare il "nome descrittivo" (DELLBOSS VD) utilizzando il Get-Disk o Get-PhysicalDisk come mostrato di seguito. Questo esempio mostra che la scheda BOSS non è sempre enumerata come disco 0. Qui viene visualizzata come disco 12:
Figura 16 - Output di Get-Disk di PowerShell Get-Disk Output
Figura 17. Output di Get-PhysicalDisk di PowerShell
Figura 18: Powershell Get-PhysicalDisk Output filtrato
WMI Hierarcy
Questo è tutt'altro che il metodo più semplice, ma puoi usare il WbemTest per identificare la scheda BOSS attraversando la gerarchia WMI.
- Avviare lo strumento digitando
wbemtestal prompt dei comandi. - Connessione a
root\cimv2Namespace. - Cliccare su Enum Classes, selezionare Recursive, quindi cliccare su OK per aprire l'elenco delle classi.
- Doppio clic
Win32_DiskDriveCliccare due volte su Win32_DiskDrive, quindi cliccare su Instances per elencare tutte le unità nel sistema - Cliccare due volte su ciascun dispositivo elencato e controllare la relativa proprietà Caption.
Figura 19. WBEMTEST Schermata dell'applicazione PowerShell
La Get-WmiObject cmdlet fornisce un modo più semplice per visualizzare le stesse informazioni:
Figura 20: Powershell Get-WmiObject Output
Percorso del Registro di sistema
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port #\Scsi Bus #\Target Id #\Logical Unit Id #\Identifier
Figura 21. Registro di sistema di Windows
Comandi RACADM per l'identificazione e l'installazione fuori banda
Il supporto Dell crea un'immagine ISO in tempo reale contenente racadm e gli altri strumenti necessari. I clienti possono utilizzare questo ISO per effettuare l'avvio in Linux ed eseguire le attività racadm. Cliccare qui per ulteriori informazioni.
Di seguito sono riportati alcuni snippet di uno script utilizzato per il deployment in BOSS utilizzando i comandi RACADM:
# Identify
##Get the list of all AHCI controllers and grab the BOSS controller.
racadm storage get controllers | grep -i ahci > /tmp/all_ctrls.txt
for ctrl in `cat /tmp/all_ctrls.txt`;do if [[ `racadm storage get controllers:$ctrl -p Name | grep -i boss` ]];then boss_ctrl=$ctrl;fi;done
# Configure RAID
##BOSS SSD drives are of form factor M.2. Capture the m.2 for factor physical disks
racadm storage get pdisks > /tmp/all_disks.txt
racadm storage get pdisks:$disk -p FormFactor | grep -i 'm.2'
##Create a VD (raid 1) on the two BOSS PDs
racadm storage createvd:$boss_ctrl -rl r1 -name boss_ssd -pdkey:${boss_disks[0]},${boss_disks[1]}
# Change boot order in bios to boot from.
racadm set BIOS.BootSettings.HddSeq <AHCI controller> && /opt/dell/srvadmin/sbin/racadm set BIOS.BootSettings.HddFailover Enabled