The Dell Boot Optimized Storage Solution (BOSS) device is a discrete PCIe card that supports two M.2 SSD drives, defaulting to a RAID 1 configuration. It is designed to be the operating system boot drive, freeing up all other drives for use as either cache or data storage devices. It is a simple way to ensure that the main drive bays can be fully used for more important tasks than operating-system booting.
However, because the BOSS card is subject to normal device enumeration, it is possible that a different boot device will show up as the first device in the BIOS boot order. This can cause problems when deploying the operating system in a programmatic way.
The following information shows how to tag or identify the Dell BOSS card in order to ensure that the operating system is installed on it. Searching for and using the "friendly name" - for example, DELLBOSS VD - is the proper way to ensure the operating system is installed to the BOSS. Each operating system can find and use the BOSS card with the various methods detailed in this article.
Important: The following examples use DELLBOSS VD as the name of the BOSS card. However, some newer BOSS card versions may use other names, such as Dell BOSS-N1. The card's name should be obvious when performing an interactive installation, but the automated-installation scripts below must be adjusted as needed. It may be necessary to perform the initial steps of an interactive installation to determine the card's name prior to performing an automated installation.
BOSS devices contain the string DELLBOSS in the device’s Model property. This can be used to identify it, as seen in this example:
# 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
Linux-based operating systems use udev to create symbolic links in /dev/disk/by-id/ that can be used to locate a BOSS device as shown below:
# ls -l /dev/disk/by-id/ total 0 lrwxrwxrwx. 1 root root 9 Jan 13 15:02 ata-DELLBOSS_VD_6668c813b78a0010 -> ../../sda
This property can be used in automated-installation scripts to detect the presence of a BOSS card and instruct the installer to use it for installation.
For automated (kickstart) installation, a preinstall script can be used to ensure that the installer places the operating system on the correct drive. The following script identifies the BOSS device by searching for devices with the model field containing DELLBOSS. It instructs the installer to use the device exclusively, ignoring all other storage devices available to the installer.
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
Here is a sample /tmp/bootdisk.cfg that contains the device name of the BOSS device that the installer should use.
# cat /tmp/bootdisk.cfg ignoredisk --only-use=disk/by-id/ata-DELLBOSS_VD_6668c813b78a0010
Interactive installs of SUSE-based operating systems do not list the labels of devices, only their device names. As a result, the user must switch to a text console to get the device name of the BOSS device.
Figure 2 - Suggested Partition
In the Suggested Partitioning screen, choose Guided Setup.
Figure 3 - Hard Drive Selection
Switch to a console by pressing Ctrl+Alt+F2. At the command prompt, enter the following command to display the SCSI device name of the BOSS device that should be used for installation.
Note: The chvt 7 command exits the console:
# lsscsi| grep DELLBOSS # chvt 7
Figure 4 - lsscsi output
In the Select Hard Disk screen, select the SCSI device name from the lsscsi command output above, ensuring that all other devices are not selected.
Proceed with the installation. This ensures that the operating system is installed on the BOSS device.
For automated installs, the following can be added to 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>
Figure 5 - Disk Partition Method
Figure 6 - Disk Partition
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
Figure 7 - ESXi Installer
For ESXi, it is a little different; the installer can detect the BOSS drive, so the kickstart script is only one line.
install --overwritevmfs --firstdisk="DELLBOSS VD"
Ensuring the operating system is installed to the BOSS card can be challenging in a server with many disks. In this example, the BOSS card is Disk 6, but this is not immediately apparent in Disk Management. (Note: The operating system has already been fully installed in this screenshot.) The BOSS card is not identified at the top level but can be identified by right-clicking Disk 6 and selecting Properties.
Figure 8 - Disk Management
Figure 9 - Dell BOSS Properties View
In addition, the standard Windows installation process using WinPE creates some challenges. PowerShell is not available in WinPE by default (though it can be added), and only specific tools are available to use to identify the BOSS card. There is no identifier for the BOSS card in the standard installation screens, as shown in the screenshots below.
Knowing the size of the BOSS card is useful in targeting the installation to the card. To be certain, bring up a command prompt window in WinPE using Shift-F10.
In the following screenshots, Disk 6 cannot be explicitly identified as the BOSS card. This example has six drives, but some servers have many more.
Figure 10 - Windows Disk Selection
Figure 11 - Windows Disk Selection
Figure 12 - Windows Disk Selection
The command-line interface provides a solution. To open a command prompt, press Shift-F10 in WinPE at any time during the installation of Windows.
1. Diskpart: The only issue with Diskpart is the requirement to select a disk before running detail disk, as shown below. This requires guessing which disk to select. Again, knowing the BOSS M.2 device's size is important. Selecting the right drive presents DELLBOSS VD:
Figure 13 - Diskpart
2. There are multiple ways to identify the BOSS card using PowerShell. However, PowerShell is not available in WinPE by default, so is not useful unless it has been added or the operating system has been fully installed.
Figure 14 - PowerShell Not Available in WinPE
3. The Windows Management Instrumentation command-line interface (WMIC) can help us choose the Dell BOSS device with certainty. WMIC is available in the full operating system and WinPE.
Use the following commands to identify the BOSS card:
WMIC Diskdrive get model, name
Figure 15 - WMIC Output
Using WMIC, you can tie the hard drive location to the name DELLBOSS VD. (See PHYSICALDRIVE6 above.)
Once the physical location is known using either of the above methods (DIskpart or WMIC), the following can be used in a script:
Diskpart SELECT DISK=<disk location path> command to select each drive.
For example:
SELECT DISK=PCIROOT(0)#PCI(0100)#ATA(C00T00L00)
In the server example above, the command would be:
SELECT DISK=PCIROOT(3A)#PCI(0000)#PCI(0000)#ATA(C00T00L00)
Below is a simple example for formatting a drive. Note: A true operating system installation script is more complicated in order to accommodate all of the standard partitions created during Windows installation. See this page for more information.
Create a text file (diskpart.txt), using the path as shown above:
SELECT DISK=PCIROOT(3A)#PCI(0000)#PCI(0000)#ATA(C00T00L00) CLEAN CREATE PART PRI SELECT PART 1 ACTIVE ASSIGN FORMAT FS=NTFS QUICK EXIT
Create the operating system installation script or batch file and add the line below:
DISKPART /s diskpart.txt
Alternative methods: Identifying the BOSS card using Powershell, WMI, and the registry.
PowerShell
In Windows, PowerShell can display the "friendly name" (DELLBOSS VD) using the Get-Disk or Get-PhysicalDisk command, as shown below. This example shows that the BOSS card is not always enumerated as disk 0. It is shown as disk 12 here:
Figure 16 - Powershell Get-Disk Output
Figure 17 - Powershell Get-PhysicalDisk Output
Figure 18 - Powershell Get-PhysicalDisk Filtered Output
Figure 19 - WBEMTEST Application Screen
Powershell
The Get-WmiObject cmdlet provides a simpler way of displaying the same information:
Figure 20 - Powershell Get-WmiObject Output
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port #\Scsi Bus #\Target Id #\Logical Unit Id #\Identifier
Important: It is easiest to search for DELLBOSS in Registry Editor to get the proper path (port, bus, and target), especially if the system contains many drives. The path shown below is an example only.
Figure 21 - Windows Registry
Dell Support creates a live ISO image containing racadm and other necessary tools. Customers can use this ISO to boot to Linux and perform the racadm tasks. Click here for more information.
Below are some snippets from a script used to deploy to BOSS using RACADM commands:
# 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
Dell PowerEdge Boot Optimized Storage Solution – BOSS
Kickstart Command Ignoredisk
Windows Hard Drives and Partitions