mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-11-04 05:12:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			91 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
#
 | 
						|
# Usage:
 | 
						|
#
 | 
						|
# This script is to discover disk devices.
 | 
						|
#
 | 
						|
# Input parameter : <PCI_ID> or nothing
 | 
						|
# 
 | 
						|
# Output : disk and RAID arrys information
 | 
						|
#
 | 
						|
#  Examples:
 | 
						|
#  1. When PCI_ID value is 1014:034a, execute "diskdiscover 1014:034a", the output format is as following:
 | 
						|
#   
 | 
						|
#       --------------------------------------------------------------------------
 | 
						|
#       PCI_ID     PCI_SLOT_NAME  Resource_Path  Device  Description   Status
 | 
						|
#       ------     -------------  -------------  ------  -----------   ----------------
 | 
						|
#       1014:034a  0001:08:00.0   0:0:0:0        sg0     0 Array Member Active
 | 
						|
#       1014:034a  0001:08:00.0   0:0:1:0        sg1     Function Disk Active
 | 
						|
#       ---------------------------------------------------------------------------
 | 
						|
#       Get ipr RAID arrays by PCI_SLOT_NAME: 0001:08:00.0
 | 
						|
#       ---------------------------------------------------------------------------
 | 
						|
#       Name   PCI/SCSI Location         Description               Status
 | 
						|
#       ------ ------------------------- ------------------------- -----------------
 | 
						|
#       sda    0001:08:00.0/0:2:0:0       RAID 0 Disk Array         Optimized
 | 
						|
#
 | 
						|
#  2. Execute "diskdiscover", the output format is as following:
 | 
						|
#
 | 
						|
#       --------------------------------------------------------------------------
 | 
						|
#       PCI_ID     PCI_SLOT_NAME  Resource_Path  Device  Description   Status
 | 
						|
#       ------     -------------  -------------  ------  -----------   ----------------
 | 
						|
#       1014:034a  0001:08:00.0   0:0:0:0        sg0     0 Array Member Active
 | 
						|
#       1014:034a  0001:08:00.0   0:0:1:0        sg1     Function Disk Active
 | 
						|
#       -------------------------------------------------------------------
 | 
						|
#       Get ipr RAID arrays by PCI_SLOT_NAME: 0001:08:00.0
 | 
						|
#       -------------------------------------------------------------------
 | 
						|
#       Name   PCI/SCSI Location         Description               Status
 | 
						|
#       ------ ------------------------- ------------------------- -----------------
 | 
						|
#       sda    0001:08:00.0/0:2:0:0       RAID 0 Disk Array         Optimized
 | 
						|
#
 | 
						|
#  3. Print help: diskdiscover --help|-h
 | 
						|
 | 
						|
# P8 SAS adapter info
 | 
						|
# http://pci-ids.ucw.cz/read/PC/1014/034a
 | 
						|
# 1014 034a     PCI-E IPR SAS Adapter (ASIC)
 | 
						|
# Subsystems
 | 
						|
# 1014 03ff     PCIe3 x8 SAS RAID Internal Adapter 6Gb (57D7)   <-- use this subsys id to represent internal SAS adapter
 | 
						|
# 1014 033b     PCIe2 6Gb SAS RAID Adapter Quad-port (57B4)     <-- use this subsys id to represent GTO adapter
 | 
						|
 | 
						|
############################################
 | 
						|
#
 | 
						|
# source raidutils
 | 
						|
#
 | 
						|
###########################################
 | 
						|
str_dir_name=`dirname $0`
 | 
						|
. $str_dir_name/raidutils
 | 
						|
 | 
						|
 | 
						|
############################################
 | 
						|
#
 | 
						|
# Usage
 | 
						|
#
 | 
						|
############################################
 | 
						|
function usagesc {
 | 
						|
    echo "Usage: diskdiscover <PCI_ID>"
 | 
						|
    echo "       If input parameter is <PCI_ID>, return devices and RAID arrays info by PCI_ID."
 | 
						|
    echo "       If there is no value for <PCI_ID>, return all af/jbod disks and RAID arrays info."
 | 
						|
                       
 | 
						|
}
 | 
						|
 | 
						|
########################################
 | 
						|
#
 | 
						|
# Main process:
 | 
						|
#
 | 
						|
# if input parameter is PCI_ID:
 | 
						|
#     Get devices and RAID arrays info by PCI_ID
 | 
						|
# if there is no input parameter for PCI_ID :
 | 
						|
#     Get all af disks and jbod disks info 
 | 
						|
#     Get all RAID arrays info
 | 
						|
#
 | 
						|
##########################################
 | 
						|
input=$1
 | 
						|
if [ "x$input" == "x--help" -o "x$input" == "x-h" ]; then
 | 
						|
      usagesc
 | 
						|
      exit 0
 | 
						|
fi
 | 
						|
if [ -z $input ]; then
 | 
						|
      get_all_devices_for_raid
 | 
						|
else
 | 
						|
      get_devices_by_pciid $input
 | 
						|
fi
 |