![]() | Sun System Handbook - ISO 4.1 October 2012 Internal/Partner Edition | ||
|
|
![]() |
||||||||||||
Solution Type Technical Instruction Sure Solution 1411444.1 : Selecting a Physical Slot for a SAS Device with a WWN for an Oracle Solaris 11 Installation
Sun x64 servers with SAS disks using WWN device names need a customized bay_label file so that the correct physical slot for the disk can be selected during an Oracle Solaris 11 installation. In this Document
Applies to:Sun Fire X4270 M2 Server - Version: Not ApplicableInformation in this document applies to any platform. GoalIf you want to install Oracle Solaris 11 on a Sun x64 server with SAS devices that are using WWN device names, you must first create a customized bay_labels file.SolutionContents
BackgroundAn Oracle Solaris 11 enhancement addresses the need for improved topology information regarding SAS disk drives using the World Wide Name (WWN) naming convention on a Sun x64 system. This feature effectively maps direct attached (no SAS Expander) WWN drives to specific drive bays, and associated drive bay labels. For example, HDD0, HDD1, and so on.
Creating a bay_labels Configuration FileThe following instructions describe how to create a new bay_labels file, which must be present and properly configured to specify the mapping between SAS HBA ports, physical serial links, and drive bay labels. About bay_labels Configuration File The
<disk whole_disk="true">
<disk_name name="HDD0" name_type="receptacle"/> </disk>
A separate bay_labels
configuration file is needed for each unique server model. The
configuration files live in the
/usr/platform/<PLATFORM>/lib/fm/topo/maps/ directory, where
<PLATFORM> is the result of "uname -i".
The name of the The following assumptions are made when a
Format of bay_labels Configuration File and ExamplesTwo key pieces of information in the
Example 1This example is for a simple 8-slot disk bay with Intel SAS 2.0 SCU in the system: $ cat /usr/platform/i86pc/lib/fm/topo/maps/SUN-FIRE-X4275-M3,bay_labels # Product : HBA : HBA Instance : Chassis Name : Chassis S/N : PHY : Label # ----------------------------------------------------------------------- SUN-FIRE-X4275-M3:scu:0:SYS:-:0:HDD0 SUN-FIRE-X4275-M3:scu:0:SYS:-:1:HDD1 SUN-FIRE-X4275-M3:scu:0:SYS:-:2:HDD2 SUN-FIRE-X4275-M3:scu:0:SYS:-:3:HDD3 SUN-FIRE-X4275-M3:scu:0:SYS:-:4:HDD4 SUN-FIRE-X4275-M3:scu:0:SYS:-:5:HDD5 SUN-FIRE-X4275-M3:scu:0:SYS:-:6:HDD6 SUN-FIRE-X4275-M3:scu:0:SYS:-:7:HDD7 Example 2This example is for a 7-slot disk bay with LSI SAS 2.0 HBA, mpt_sas, in the system. $ cat /usr/platform/i86pc/lib/fm/topo/maps/PowerEdge-T710,bay_labels # Product : HBA : HBA Instance : Chassis Name : Chassis S/N : PHY : Label # ----------------------------------------------------------------------- PowerEdge-T710:mpt_sas:0:SYS:7J81VK1:1:HDD6 PowerEdge-T710:mpt_sas:0:SYS:7J81VK1:2:HDD5 PowerEdge-T710:mpt_sas:0:SYS:7J81VK1:3:HDD4 PowerEdge-T710:mpt_sas:0:SYS:7J81VK1:4:HDD3 PowerEdge-T710:mpt_sas:0:SYS:7J81VK1:5:HDD2 PowerEdge-T710:mpt_sas:0:SYS:7J81VK1:6:HDD1 PowerEdge-T710:mpt_sas:0:SYS:7J81VK1:7:HDD0 How to Create bay_labels Configuration FileIf none of the bay_labels files provided in the intended
directory will work for your system configuration, use the following
steps to create a Note: To create a The First Phase: 1. Power off the server and unplug all disk drives. 2. Insert all disk drives to the disk
drive bay one by one while recording the WWN of each drive and the
corresponding drive-bay label (silkscreen) the drive is inserted
into. You should have a collection of pairs with (WWN, bay_labels). 5000C50003B01B7B HDD0 5000C5003A7939A1 HDD1 5000CCA0120FA511 HDD2 ..... 3. Boot Oracle Solaris 11 with the text or GUI Installer. You don't need to do the installation. Start a terminal window with a command line window or exit out of text installer to a shell command prompt. 4. Use the Note that the SAS disk drive normally has two serial ports, each has a near identical SAS address. They differ only in the very last hexadecimal digit depending on implementation details. The explicit device path will be listed for the drive without MPxIO support while the /scsi_vhci/ path will represent the logical path when MPxIO is enabled. You might have the location information
like this Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c7t5000CCA0120FA511d0 /pci@0,0/pci8086,3c02@1/pci8086,1d74@0/pci8086,1d3f@8/pci8086,1d68@0/ iport@1/disk@w5000cca0120fa511,0 1. c8t5000C5003A7939A1d0 /pci@0,0/pci8086,3c02@1/pci8086,1d74@0/pci8086,1d3f@8/pci8086,1d68@0/ iport@4/disk@w5000c5003a7939a1,0 2. c0t5000C50003B01B7Bd0 /scsi_vhci/disk@g5000c50003b01b7b Specify disk (enter its number): 5. For each disk device listed in the format command output, use the following technique to get the phy-num value:
#DISK=/dev/dsk/c[x]t[y]d[z] #PHYNUM=`prtconf -v ${DISK}s2 | awk '/phy-num/ {print;getline;print}' | grep value` #echo $PHYNUM | awk -F"=" '{print $2}'| uniq Basically, you invoke the prtconf command to get the device's phy-num value from the output. The phy-num and its value appear on two consecutive lines. 6. Record phy-num value with each
device identified through WWN, and its corresponding label in the
c0t5000C50003B01B7Bd0 00000000 HDD0 c8t5000C5003A7939A1d0 00000001 HDD1 c7t5000CCA0120FA511d0 00000002 HDD2 ..... The Second Phase: Properly formatted bay_labels files, which may be copied and used for your initial template, can be found in the following Solaris 11 directory /usr/platform/<PLATFORM>/lib/fm/topo/maps/. You will need to copy, rename, and edit one of these files in order to create a new bay_label file for your specific system. Make sure that your drive bay "label" information and “Product Name” string matches that of the targeted server system. You can get "Product Name" string by using the the "fmtopo" command. The following command line example may be used to get the target system’s product ID.
#root@server1:~# ./fmtopo | head -5 | grep product-id | cut -d : -f 3 product-id=SUN-FIRE-X4275-M3 The “fmtopo” command can be found in /usr/lib/fm/fmd directory. Below is a brief explanation of the various required fields in the bay_labels file. # Product : HBA : HBA Instance : Chassis Name : Chassis S/N : PHY : Label
The Final Testing and Verification Phase: You can use "svcadm restart fmd" to trigger the topology discovery process without rebooting the server. You can then use "croinfo" and "format" commands to verify whether the labels match the actual device placement. You might need to wait several seconds since the FMA daemon topology discovery process cannot be completed instantaneously. Other commands including "smbios" should be useful to confirm and validate the content of the configuration file. Using a new bay_labels file with the Solaris 11 Installer: In order for the bay_labels file to be useful during install it needs to be contained in the install media. To accomplish this, create a Solaris IPS package that contains your bay_labels files and publish it to an accessible package repository. The IPS package should install the bay_labels file into the /usr/platform/<PLATFORM>/lib/fm/topo/maps/ directory. The Solaris Distro Constructor utility [distro_const(1M)], can then be used to add this IPS package to a custom LiveCD or Automated Installer (AI) install image. (See the next section) If doing an AI install, the AI manifest needs to be modified to also install the IPS package.
Creating a Custom Solaris Distribution that Contains the bay_labels files The following section describes how to
create an IPS package that contains
your croinfo map files and publish it to your package repository. 1. Create a directory that has your map files.
# mkdir cro_maps 2. Create a manifest file for your package. # pkgsend generate /cro_maps > ./manifest.cro_maps 3. Add some meta data to the beginning of the just created manifest file. set name=pkg.fmri value=pkg://lab/[email protected],5.11-0.1 set name=pkg.description value="Dell croinfo map files" set name=description value= "Croinfo map files for Dell systems" set name=summary value="Croinfo map files" set name=info.classification \ value="org.opensolaris.category.2008:System/Administration and Configuration" 4. Modify all the file entries in the manifest so the path points to the proper location. For example, path=/usr/platform/i86pc/lib/fm/topo/maps/. file PowerEdge-M710HD,bay_labels group=bin mode=0700 owner=root path=/usr/platform/i86pc/lib/fm/topo/maps/PowerEdge-M710HD,bay_labels 5. Make sure your repo is writeable. # svccfg -s pkg/server-dev setprop pkg/readonly=false # svcadm refresh pkg/server-dev # svcadm restart pkg/server-dev 6. Publish your package to your repo. # pkgsend -s http://192.168.0.7:81 publish -d ./cro_maps ./cro_maps/manifest.cro_maps PUBLISHED pkg://solaris/[email protected],5.11-0.1:20110919T180029Z
Create AI or LiveCD Distro
Constructor Image that Contains Your Newly Created IPS package
Install a system with the Oracle Solaris 11 build from which you want to create your Distro Constructor image. 1. Add the distro constructor package. # pkg install distribution-constructor
2. Copy desired manifest file for
customizing. The example manifests are in /usr/share/distro_const. For LiveCD: # cd /usr/share/distro_const # cp dc_livecd.xml wwid_livecd.xml For AI: # cd /usr/share/distro_const # cp dc_ai_x86.xml wwid_ai.xml 3. Modify the wwid_xxx.xml file to point the default publisher to the proper package server, add additional publishers, and add your package to the list of packages to be installed and change the distro name if desired. <distro name="Oracle_Solaris_Live_X86_WWID" add_timestamp="false"> ... <publisher name="solaris"> <origin name="http://192.168.0.7"/> … </publisher> … <publisher name="lab"> <origin name="http://192.168.0.7:81"></origin> </publisher> ... <software_data action="install"> <name>pkg:/entire</name> <name>pkg:/group/system/solaris-desktop</name> <name>pkg:/system/install/gui-install</name> <name>pkg:/system/install/media/internal</name> <name>pkg:/Dell_cro_maps</name> </software_data> 4. Create the distro. # distro_const build wwid_xxx.xml For AI installs make sure you modify
your AI manifest file to also install your package (include
additional publisher/repo if needed).
<software_data action="install"> <name>pkg:/entire</name> <name>pkg:/babel_install</name> <name>pkg:/Dell_cro_maps</name> </software_data>
Attachments This solution has no attachment |
||||||||||||
|