mirror of
https://github.com/xcat2/xcat-core.git
synced 2024-11-21 09:02:00 +00:00
Page:
diskdiscover_and_configraid
Pages
2014_10_01_Bash_vulnerability
2014_11_04_Poodle_Attack
AIX_NIM_NFSv4_support
Add_Extra_Parameters_for_confignics_Postscript
CRHS like_function
CRHS like_function_enhancements
CSM_CFM like_function_to_sync_config_files_to_the_nodes
Capture_Linux_Image_from_running_node_to_create_a_stateless statelite_image
Chef_databag_support_for_deploying_openstack_in_xCAT
Cluster_config_file
Conserver_Replacement
Coordinated_Cluster_Shutdown_and_Bringup
Copycds_enhancement
Coral PDU supports
Create_osimage_definition_for_Management_Node
Cumulus_OS_Upgrade_Support_Test
DFM_Service_Node_Hierarchy_support
DHCPv6_management
DNS_Enhancments
DNS_master_slave_support
Def_commands_to_display set_nic_attributes_more_easily
Deploying_OpenStack_Baremetal_Nodes_Using_xCAT
Disable_ssh_root_passwordless_node to node_access
Document_large_cluster_tunables,_etc.
Dynamic_node_groups_support
Energy_Management_for_Flex
Energy_management_support_for_blade
Enhance_NTP_setup_support
Enhancement_of_lsslp_ flexdiscover
Enhancement_on_makeroutes_and_snmove_commands
Exporting_more_table_attributes_to_nodes
Filling_the_osimage_attributes_with_the_files_that_are_found_in_the_search_path
Full_Automation_of_DB2_Setup_on_Service_Nodes
Function Verification Test Design of xCAT High Availability
GPFS_statelite_nodes
Getmacs_and_rnetboot_enhancement
Getnodetype_performance_imprvoments_ _phase_I
HA_NFS_on_AIX_service_nodes
HA_Service_Nodes_for_AIX
HA_Service_Nodes_for_AIX_ _using_External_NFS_Server
HFI_MAC_address_failover
HPC_Integration_Phase_1
Hardware_Inventory_for_Node
Health_Check_Script_Framework
Hierarchical_Design
Home
Image_Provisioning
Image_import_and_export_enhancement_for_Linux
Improve_perl_array_search_efficiency_for_scalability
Improvement_of_pre creating_mypostscripts_on_linux
Initrd_Enhancement_separate_initrd_hacking_from_noteset_get_drivers_from_os_update_distro
Kdump_for_Linux_diskless_nodes
Linux_AIX_mixed_Clusters_postscripts_cleanup
Local_Disk_support_for_statelite
Lstree_for_Servicenode_Hardware_and_VM_hierarchies
Management_Node_Pool
Management_Node_Setup_Verification
Managing_Multiple_Sites_and_Clusters
Mellanox_Switch_Support
Mini design for openbmc python framework
Mini design_of_updating_pre defined_groups_for_nodes
Minimize_the_install setup_steps_of_xcat_on_the_MN
Mkvlan_enhancements
Multiple_Zone_Support2
Multiple_pkgdir_support_with_full_installation
NFS_Redundancy_Investigation
NFS_redundancy
New_Cloud_Tables_in_xCAT
Node_Status_and_Application_Status
Node_definition_installation_service_node_setup_verification
Nodeset_defaults_when_node_provmethod=osimage_is_set
OS_Deployment_Monitoring_And_Automatic_Retry
OS_Distro_Update_xCAT_command_osdistroupdate
OpenStack Chef Cookbook_xCAT_Integration
OpenStack_Deployment_using_Chef
OpenStack_Deployment_using_Puppet
Ospkgs_enhancements_to_install upgrade_OS_packages_from_Updates
Overview_of_HA_Services_for_Diskless_AIX_Nodes
Power8_BE_support
Predict_long_nicname_for_RH7
Proposal_for_docker_Support_in_xCAT
RHEL7_Support
RHEV_support
Rcons_hierachy_support
Redfish_support
Refine_the_usage_of_installnic_and_primarynic_attributes
Release processs automation investigation
Resolving_Nodenames_for_System_p_HW_Ctrl
Run_parallel_commands_for_Ethernet_switches
Run_postbootscripts_after_each_diskful_reboot
SLES12_Support
SLES_11_SP1_SDK_support
Secure root support
Sequential_Discovery
Sequential_Discovery_phase_2
Service_Node_Scenarios_and_Retry_Logic_in_Postscript_Process
Service_node_manual_takeover_on_AIX
Service_node_take_over
Setup_IP_routes_between_the_MN_and_the_CNs
Shared data based xCAT MN HA mini design
Shared data based xCAT MN HA user case
Shared data based xCAT MN HA
Specify_the_disk_partitions_during_diskfull_install
Steps to install xcat_openbmc_py3 on RH8
Support uploading openbmc firmware in parallel
Support_Management_Node_in_the_servicenode_table
Support_for_Redundant_BPAs_and_FSPs
Support_multiple_hardware_control_points
Support_osimage.pkgdir_with_multiple_paths_in_genimage_and_diskfull_installation
Support_postscripts_associated_with_rsync_files_to_be_run_after_rsync_in_xdcp
Support_to_inject_drivers_from_Driver_RPM_Package
Support_xcatd_running_user_defined_sql_scripts_on_start_and_foreign_keys
Supporting_driver_update_disk_for_Linux
Supporting_the_scalable_functions_for_HX5_blade
Switch_Discovery_And_Switch_Management
System_p_Discovery_Enhancements
System_z_hierarchical_tree
Test Design of HA
Test Design of TestCase Label
Test Design of `goconserver` Regression Testing
Test Design of `goconserver` Support
Test Design of configib
Test Design of cumulus osimage
Test Design of cumulus_osimage
Test Design of gonconserver redirect logs
Test Design of hardware control commands regression
Test Design of makegocons option l
Test Design of rbeacon python version
Test Design of rcons based goconserver
Test Design of revenlog python version
Test Design of rflash python version
Test Design of rinv python version
Test Design of rpower python version
Test Design of rsetboot python version
Test Design of rspconfig python version
Test Design of rvitals python version
Test Design of syncfiles
Test Design of xcat inventory diff
Test Design of xcat inventory export import performance
Test Design of xcat inventory option e
Test Design of xcat inventory osimage environment variables export part
Test Design of xcat inventory osimage environment variables
Test Design of xcat inventory osimage phase2
Test Design of xcat inventory osimage support share file directory
Test Design of xcat inventory osimage
Test Design of xcat inventory phase 1
Test Design of xcat inventory regular expression
Test Design of xcat inventory save keys
Test Design of xcat inventory user case
Test Design of xcat terraform provider phase1
Test Report of `goconserver`
Test cases against nodeset error handling
Test_Case_Designs_FVT
The mini design of osimage version control(initial draft)
The mini design of syncfiles for cumulus
The mini design of using xcat inventory templates to setup xCAT cluster with ansible
The_remote_console_support_of_hmc
Trace_Facility_for_xCAT
Ubuntu_supports_internet_repository
Updatenode_Performance_Enhancements
Updatenode_Sync_Service_Nodes_for_install
Updatenode_enhancement_for_security_keys_and_certificates
Updatenode_support_to_run_mypostscript_sections
Updatenode_to_the_Management_Node
Updates_to_xcatsetup_and_Cluster_Config_File
Windows_Multiple_Disks_Partitions_Configuration
Windows_Multiple_Nics_Configuration
Windows_Multiple_Winpes
Windows_Support_to_Run_Postscripts_Postbootscripts_in_Windows_Deployment
Wish_List_for_xCAT_2
Wish_List_for_xCAT_FVT
XCAT 2 Mini Designs for New Features
XCAT_2.10_Release_Notes
XCAT_2.11.1_Release_Notes
XCAT_2.11_ESP_Release_Notes
XCAT_2.11_Release_Notes
XCAT_2.12.1_Release_Notes
XCAT_2.12.2_Release_Notes
XCAT_2.12.3_Release_Notes
XCAT_2.12.4_Release_Notes
XCAT_2.12.5_Release_Notes
XCAT_2.12_Release_Notes
XCAT_2.13.10_Release_Notes
XCAT_2.13.11_Release_Notes
XCAT_2.13.1_Release_Notes
XCAT_2.13.2_Release_Notes
XCAT_2.13.3_Release_Notes
XCAT_2.13.4_Release_Notes
XCAT_2.13.5_Release_Notes
XCAT_2.13.6_Release_Notes
XCAT_2.13.7_Release_Notes
XCAT_2.13.8_Release_Notes
XCAT_2.13.9_Release_Notes
XCAT_2.13_Release_Notes
XCAT_2.14.1_Release_Notes
XCAT_2.14.2_Release_Notes
XCAT_2.14.3_Release_Notes
XCAT_2.14.4_Release_Notes
XCAT_2.14.5_Release_Notes
XCAT_2.14.6_Release_Notes
XCAT_2.14_Release_Notes
XCAT_2.15.1_Release_Notes
XCAT_2.15_Release_Notes
XCAT_2.16.1_Release_Notes
XCAT_2.16.2_Release_Notes
XCAT_2.16.3_Release_Notes
XCAT_2.16.4_Release_Notes
XCAT_2.16.5_Release_Notes
XCAT_2.16_Release_Notes
XCAT_2.17_Release_Notes
XCAT_2.9.2_Release_Notes
XCAT_2.9.2_aix_Release_Notes
XCAT_2.9.3_Release_Notes
XCAT_2.9.4_Release_Notes
XCAT_Cluster_in_SoftLayer
XCAT_HPC_Integration_Files_per_OS,_Architecture,_Product
XCAT_Health_Check
XCAT_IPv6_support_on_AIX
XCAT_IPv6_support_on_Linux
XCAT_Mini Design_Template
XCAT_Monitoring_Failure_Analysis_Conditions_Batched_Events
XCAT_Postscripts_framework_enhancements
XCAT_Provisioning_OS_on_consistent_disk
XCAT_REST_API_enhancements
XCAT_Support_for_Kits_and_Kit_Components
XCAT_probe
XCAT_support_for_multiple_network_domains
Xcatexport_and_xcatimport_commands
Xcatmon_and_appstatus_for_HPC_products
Xeon_Phi_support
cofignetwork_for_RH7
confignetwork integrate confignics_configeth_configib functions usage
determine_install_disk
diskdiscover_and_configraid
docker_instances_lifecycle_management
enhancement_for_rinstall_command
logging pre script to make debug easy
makedhcp_append_statement_automatically_rather_than_get_statement_from_nodeset
mini design of ZTP based onie switch discovery and configuration
minidesign Switch based switch discovery
minidesign_xcatprobe
node status enhancement
ntp_enhancement
openbmc_support
post.xcat_restructure
rflash_streamline_procedure
rscan command for hypervisor
rspconfig network
rspconfig ntpservers
rspconfig password
scaleup_basedon_xcat_in_openshift_cluster
supporting_partitionfile_for_Ubuntu
supporting_persistent_kernel_cmdline_after_diskful_installation
test_sidebar
the mini design of xcat inventory export and import for osimage
use fifo pipe to enhance getadapter
xCAT Build Schedule
xCAT_2.12_ReleaseInformation
xCAT_2.13_ReleaseInformation
xCAT_2.14_ReleaseInformation
xCAT_2.15_ReleaseInformation
xCAT_Docker_Image
xcatprobe_framework
xcatprobe_requests
2
diskdiscover_and_configraid
Yuan Bai edited this page 2015-11-24 16:16:15 +08:00
Table of Contents
Overall:
This mini-design will support 2 new features for RAID supports, these functions can be shipped in xCAT-genesis-scripts, we can run these functions under xCAT genesis system.
- Discover disk devices under xcat genesis system;
- Configure RAID, including creating RAID arrays and deleting RAID arrays;
Part1: Discover disk devices
Command: diskdiscover
1. Input parameter: PCI_ID or nothing
2. Description: User can use this command to get the overview of disks/RAID from compute node; The output will be useful information for configure RAID support; The input parameter is PCI_ID, PCI_ID includes PCI vender and device ID. For example, We can find power8 SAS adapter info from http://pci-ids.ucw.cz/read/PC/1014/034a; 1014 is vender info, 034a is PCI-E IPR SAS Adapter.
3. The framework process:
If input parameter PCI_ID is not null:
diskdiscover read PCI_ID, it can find related PCI_SLOT_NAME;
use different functions to get disk devices, their Resource_Path, their status, descriptions and overview of RAID arrays;
combine these output as a metrix;
else:
diskdiscover will find all advanced function disks and its related info, including PCI_ID,PCI_SLOT_NAME.....; It also show the RAID arrays;
4. Work process:
1). Start xCAT genesis system in P8 system, let P8 system enter xCAT genesis system shell.
2). From xcat management node, execute ``xdsh nodename "diskdiscover 1014:034a"`` or ``xdsh nodename "diskdiscover"``.
3). The format of output will be a metrix; The column can include PCI_ID, PCI_Address, Resource_Path, devices, status, Descriptions.
Reference example:
--------------------------------------------------------------------------
PCI_ID PCI_SLOT_NAME Resource_Path Device Description Status
------ ------------- ------------- ------ ----------- ----------------
1014:034a 0001:08:00.0 0:0:0:0 sg0 10 Array Member Active
1014:034a 0001:08:00.0 0:0:1:0 sg1 10 Array Member 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 10 Disk Array Optimized
Part2: Configure RAID
---------------------
Script: configraid
Function: delete RAID arrays, create RAID arrays
Command format:
configraid delete_raid=[all|raid_array_list|null] stripe_size_in_kb=[16|64|256] create_raid = rl#[0,10,5,6] | [PCI_ID#<num>|PCI_SLOT_name#<pci_slot_name>]|disk_num#<number of disks for one raid> create_raid = rl#[0,10,5,6] | [PCI_ID#<num>|PCI_SLOT_name#<pci_slot_name>]|disk_num#<number of disks for one raid> ...
Description:
1. Input parameters:
delete_raid:
1). delete_raid list raid arrays which should be removed. If its value is all, all raid arrays detected should be deleted.
2). If its value is a list of raid names, these raid arrays will be deleted. Raid array names should be seperated by ``#``. If its value is null, no raid array will be deleted.If there is no delete_raid, the default value is null.
3). format is : delete_raid = [all|raid_array_list|null]
4). example:
delete_raid = sda#sdd
create_raid:
1). When we want to create a raid array, we can add a line begginning with create_raid.
2). The format is : create_raid="rl#<raidlevel>|[pci_id#<num>|pci_slot_name#<pci_slot_name>|disk_names#<sg0>#..#<sgn>]|disk_num#<number>" ...
3). rl means RAID level, RAID level can be any supported RAID level for the given adapter, such as 0, 10, 5, 6.
4). pci_id is PCI vender and device ID; refer to http://pci-ids.ucw.cz/read/PC/1014/034a;
5). disk_num is the number of disk this RAID will contain;
6). pci_slot_name is the specified PCI location. If specify pci_slot_name, this raid will be created using disks from this PCI_SLOT;
7). If specify pci_id, configraid will detect all disks under pci_id.
8). If specify disk_names, configraid will configure raid using specified disks.
stripe_size_in_kb:
1). Currently supported stripe sizes in kb include 16, 64, and 256.
2). If stripe size is not specified, it will default to the recommended stripe size for the selected RAID level.
2. Framework main process
1). load input parameters;
2). If delete_raid is not null:
If delete_raid is all:
collect all the RAID arrays;
delete all RAID array or specifed RAID arrays from delete_raid list;
else:
give information that no need to delete RAID arrays;
3). If there are several input parameters of create_raid, handle each create_raid, find target number disks and create raid;
If there is PCI_ID and there is no PCI_SLOT_name:
find out all ipr ioa pci locations based on PCI_ID
reorder ipr ioa pci locations by its primary and secondary state
return ordered groups name pci_slot_group with PCI_SLOT_name
If there is PCI_SLOT_name or there are both PCI_SLOT_name and PCI_ID:
use PCI_SLOT_name, so empty pci_slot_group
let PCI_SLOT_name into pci_slot_group
If there is no PCI_ID or PCI_SLOT_name, but disk_names:
find out specified disks;
If there is pci_slot_group:
for each PCI_SLOT_name in pci_slot_group:
find out all member disks in IPR raid adapter, we will get multilines, sloc_of_disks_group, such as <pciloc_of_ioa1>=<sloc_of_disk1>,<sloc_of_disk2>......<pciloc_of_ioa2>=<sloc_of_disk1>,<sloc_of_disk2>......
for each create_raid :
if sloc_of_disks_group is not null:
find out its <pciloc_of_ioa1>=<sloc_of_disk1>,<sloc_of_disk2>,
sort disk devices by resource path
find the required number disks, disk_num is disks number, these disks are af disks, save as af_disks_group
if af_disks_group is not null:
if disk_num is not null:
if there is not enough disks on adapter, break current loop;
if all target disks were already in use, reuse this array, break current loop;
else:
disk_num is the number of all disks in af_disks_group
pick up af disks to form a list
create an array using specified raid_level, stripe_size_in_kb, list of af disks;
check if the array is ready or not.
4). log files are saved in /tmp/
3. Other common functions called by main process:
a). load configure file
b). log utils
c). delete ipr arrays
d). create ipr arrays
e). check ipr device status
f). wait for ipr device status
g). check disk format, af or jbod
h). order resource path
i). convert between disk scsi location and device_name
j). sort disk devices by resource path
k). reorder ipr ioa pci locations by its primary and secondary state
l). format jbod disks into advanced format
m). pick up specified number of disks from af_disks_group
n). other
4. Work process:
1). Execute commands in xcat MN, for example ppc64, delete all raid arrays, create a raid10 using pci_slot 0001:08:00.0 first 2 disks:
nodeset <compute_node> cmd=configRAID delete_raid=all create_raid=rl#10|pci_slot_name#0001:08:00.0|disk_num#2,shell
rpower <compute_node> reset
2). Use xdsh to monitor the process of raid building.
3). In current stage, we will focus on the framework process, the monitor of raid building process can be considered in the future.
News
- Apr 22, 2016: xCAT 2.11.1 released.
- Mar 11, 2016: xCAT 2.9.3 (AIX only) released.
- Dec 11, 2015: xCAT 2.11 released.
- Nov 11, 2015: xCAT 2.9.2 (AIX only) released.
- Jul 30, 2015: xCAT 2.10 released.
- Jul 30, 2015: xCAT migrates from sourceforge to github
- Jun 26, 2015: xCAT 2.7.9 released.
- Mar 20, 2015: xCAT 2.9.1 released.
- Dec 12, 2014: xCAT 2.9 released.
- Sep 5, 2014: xCAT 2.8.5 released.
- May 23, 2014: xCAT 2.8.4 released.
- Jan 24, 2014: xCAT 2.7.8 released.
- Nov 15, 2013: xCAT 2.8.3 released.
- Jun 26, 2013: xCAT 2.8.2 released.
- May 17, 2013: xCAT 2.7.7 released.
- May 10, 2013: xCAT 2.8.1 released.
- Feb 28, 2013: xCAT 2.8 released.
- Nov 30, 2012: xCAT 2.7.6 released.
- Oct 29, 2012: xCAT 2.7.5 released.
- Aug 27, 2012: xCAT 2.7.4 released.
- Jun 22, 2012: xCAT 2.7.3 released.
- May 25, 2012: xCAT 2.7.2 released.
- Apr 20, 2012: xCAT 2.7.1 released.
- Mar 19, 2012: xCAT 2.7 released.
- Mar 15, 2012: xCAT 2.6.11 released.
- Jan 23, 2012: xCAT 2.6.10 released.
- Nov 15, 2011: xCAT 2.6.9 released.
- Sep 30, 2011: xCAT 2.6.8 released.
- Aug 26, 2011: xCAT 2.6.6 released.
- May 20, 2011: xCAT 2.6 released.
- Feb 14, 2011: Watson plays on Jeopardy and is managed by xCAT!
- xCAT Release Notes Summary
- xCAT OS And Hw Support Matrix
- xCAT Test Environment Summary
History
- Oct 22, 2010: xCAT 2.5 released.
- Apr 30, 2010: xCAT 2.4 is released.
- Oct 31, 2009: xCAT 2.3 released.
xCAT's 10 year anniversary! - Apr 16, 2009: xCAT 2.2 released.
- Oct 31, 2008: xCAT 2.1 released.
- Sep 12, 2008: Support for xCAT 2
can now be purchased! - June 9, 2008: xCAT breaths life into
(at the time) the fastest
supercomputer on the planet - May 30, 2008: xCAT 2.0 for Linux
officially released! - Oct 31, 2007: IBM open sources
xCAT 2.0 to allow collaboration
among all of the xCAT users. - Oct 31, 1999: xCAT 1.0 is born!
xCAT started out as a project in
IBM developed by Egan Ford. It
was quickly adopted by customers
and IBM manufacturing sites to
rapidly deploy clusters.