Quantcast
Channel: SQLParty » OMSA
Viewing all articles
Browse latest Browse all 3

使用DTK中的syscfg工具更新BIOS设置

$
0
0

DTK(Dell OpenManage Deployment Toolkit)是Dell开发的针对其服务器进行的管理部署工具箱,其中包括了很多有用的信息。这里使用syscfg工具,对BIOS进行设置调优,这在主机只能远程操作的情况下非常有用。它可以与OMSA配合使用,也可以单独使用。

注意:BIOS设置后,只有整个服务器重启后才会生效。

一、下载DTK

这里针对的是RHEL 6.2版本,64位。服务器版本为R720。

下载页面提取出最终下载地址,完成下载

shell> wget http://downloads.dell.com/FOLDER01551915M/1/dtk_4.3_350_A00_Linux64.iso

二、安装syscfg

下载后,是一个镜像文件,挂载到一个目录下便于操作。

shell> mkdir -p /media/dell
shell> mount -o loop dtk_4.3_350_A00_Linux64.iso /media/dell
shell> cd /media/dell
shell> ls -lrth
total 3.0M
-r-xr-xr-x  1 root root  16K Jun  8 03:21 README
dr-xr-xr-x 86 root root  12K Jun  8 03:21 LICENSING
dr-xr-xr-x  2 root root 2.0K Jun  8 03:21 isolinux
-r-xr-xr-x  1 root root 3.0M Jun  8 03:21 efiboot.img
dr-xr-xr-x  3 root root 2.0K Jun  8 03:21 EFI
dr-xr-xr-x  2 root root 2.0K Jun  8 03:21 docs
dr-xr-xr-x  6 root root 2.0K Jun  8 03:21 RPMs

我们这里的场景是只处理单台主机,而不是集群中机器统一处理,所以直接拿RPM包进行安装。

这里只想安装syscfg,来进行BIOS层面的控制,但是根据其依赖关系,还是将相关RPM包均装上。

shell> cd RPMs/rhel6/x86_64
shell> rpm -ivh syscfg-4.3.0-4.33.4.el5.x86_64.rpm srvadmin-deng-7.3.0-4.13.2.el5.x86_64.rpm srvadmin-hapi-7.3.0-4.12.3.el5.x86_64.rpm srvadmin-isvc-7.3.0-4.21.4.el5.x86_64.rpm srvadmin-omilcore-7.3.0-4.72.1.el5.x86_64.rpm  smbios-utils-bin-2.2.27-4.9.1.el5.x86_64.rpm  libsmbios-2.2.27-4.9.1.el5.x86_64.rpm

但是安装到了什么路径呢?直接syscfg命令无法找到,查询一下:

shell> rpm -ql syscfg-4.3.0-4.33.4.el5.x86_64
/opt/dell/toolkit
/opt/dell/toolkit/bin
/opt/dell/toolkit/bin/SyscfgErrorCodes.txt
/opt/dell/toolkit/bin/pci.ids
/opt/dell/toolkit/bin/sys.ini
/opt/dell/toolkit/bin/syscfg

syscfg可以用来读取和设置BIOS选项,其可用的选项如下:

shell>/opt/dell/toolkit/bin/syscfg

syscfg Version 4.3.0000 abu00 (Linux – May 31 2013, 11:54:13)
Copyright (c) 2002-2013 Dell Inc.

Usage: syscfg –option[=argument]

For more information about a particular command,
use the option ‘-h’ followed by the command name.
Example: syscfg -h –asset

    -b or –byte                             –Proc1L3Cache*
    –biosver or –SystemBiosVersion         –Proc1NumCores*
    bmcversion                               –Proc2Id*
    –chassistype                            –Proc2Brand*
    –clearsel                               –Proc2L2Cache*
    –controlpanelaccess                     –Proc2L3Cache*
    –cpucount                               –Proc2NumCores*
    –cpuspeed                               –embsataraid or –EmbSata
    –deviceguid                             –sata0* or –SataPortA*
    –encryptkey                             –SataPortAModel*
    –envar                                  –SataPortADriveType*
    –envfile                                –SataPortACapacity*
    –extserial                              –sata1* or –SataPortB*
    -h or –help                             –SataPortBModel*
    -i or –infile                           –SataPortBDriveType*
    –identify                               –SataPortBCapacity*
    –idracgui                               –sata2* or –SataPortC*
    idracversion                             –SataPortCModel*
    –ix or –inxmlfile                      –SataPortCDriveType*
    –kvmstatusonlcd                         –SataPortCCapacity*
    -l or –logfile                          –sata3* or –SataPortD*
    lancfgparams or lcp                      –SataPortDModel*
    lancfgparamsv6 or lcpv6                  –SataPortDDriveType*
    lanchannelaccess or lca                  –SataPortDCapacity*
    lanchannelinfo or lci                    –sata4* or –SataPortE*
    lanuseraccess or lua                     –SataPortEModel*
    –lcd                                    –SataPortEDriveType*
    –loaddefaults                           –SataPortECapacity*
    –mem                                    –sata5* or –SataPortF*
    -n or –namefile                         –SataPortFModel*
    –nextboot or –OneTimeBootSeqDev        –SataPortFDriveType*
    –nmibutton                              –SataPortFCapacity*
    -o or –outfile                          –bootmode or –BootMode
    –ovrwrt                                 –bootseqretry or –BootSeqRetry
    –ox or –outxmlfile                     –integratedraid or –IntegratedRaid
    passwordaction                           –usbports or –UsbPorts
    –pci                                    –internalusb or –InternalUsb
    pefcfgparams or pcp                      –IntegratedNetwork1
    –pendingvalues                          –IntNic1Port1BootProto
    power                                    –IntNic1Port2BootProto
    –powerbutton                            –IntNic1Port3BootProto
    –powerctl                               –IntNic1Port4BootProto
    –px or –pendingxmlfile                 –oswatchdogtimer or –OsWatchdogTimer
    -r or –read                             –ioat or –IoatEngine
    –racreset                               –embvideoctrl* or –EmbVideo*
    -s                                       –sriov or –SriovGlobalEnable
    serialcfgparams or scp                   –MmioAbove4Gb
    serialchannelaccess or sca               –serialcomm or –SerialComm
    serialchannelinfo or sci                 –serialportaddrsel or –SerialPortAddress
    serialuseraccess or sua                  –ExtSerialConnector
    –setuppwd or –SetupPassword            –fsbr or –FailSafeBaud
    solaction                                –conterm or –ConTermType
    solcfgparams                             –RedirAfterBoot
    ssninfo                                  –SysProfile
    –sysid                                  –ProcPwrPerf
    –sysname                                –MemFrequency
    –syspwd or –SysPassword                –turbomode or –ProcTurboMode
    useraction                               –cpuc1e or –ProcC1E
    username                                 –cstates or –ProcCStates
    –uuid                                   –MonitorMwait
    –version                                –MemPatrolScrub
    –virtualmedia                           –MemRefreshRate
    -x or –hex                              –MemVolt
    –SystemModelName*                       –CollaborativeCpuPerfCtrl
    –SystemBiosVersion*                     –AesNi*
    –svctag* or –SystemServiceTag*         –pwdlock or –PasswordStatus
    –SystemManufacturer*                    –powerbutton or –PwrButton
    –SysMfrContactInfo*                     –nmibutton or –NmiButton
    –SystemCpldVersion*                     –acpower or –AcPwrRcvry
    –SysMemSize*                            –AcPwrRcvryDelay
    –SysMemType*                            –AcPwrRcvryUserDelay*
    –SysMemSpeed*                           –asset or –AssetTag
    –SysMemVolt*                            –numlock or –NumLock
    –VideoMem*                              –rptkeyerr or –ReportKbdErr
    –memtest or –MemTest                   –f1f2promptonerror or –ErrPrompt
    –memoperatingmode* or –MemOpMode*      –InSystemCharacterization
    –nodeinterleave or –NodeInterleave     –bootseq or –BootSeq
    –logicproc or –LogicalProc             –devseq or –HddSeq
    –QpiSpeed                               –UefiBootSeq*
    –RtidSetting                            –OneTimeBootMode
    –virtualization or –ProcVirtualization –OneTimeHddSeqDev*
    –adjcacheprefetch or –ProcAdjCacheLine –OneTimeUefiBootSeqDev*
    –hwprefetcher or –ProcHwPrefetcher     –Slot1
    –dcustreamerprefetcher or –DcuStreamerPrefetcher–Slot2
    –DcuIpPrefetcher                        –Slot3
    –cpuxdsupport or –ProcExecuteDisable   –Slot4
    –DynamicCoreAllocation                  –Slot5
    –cpucore or –ProcCores                 –Slot6
    –Proc64bit*                             –Slot7
    –ProcCoreSpeed*
    –ProcBusSpeed*
    –Proc1Id*
    –Proc1Brand*
    –Proc1L2Cache*

注意:

1.有些选项后面跟着*符号,表示这个选项不接受参数,相关的BIOS值是只读的。
2.通过-h <选项>可以查看<选项>的含义,如:
shell> /opt/dell/toolkit/bin/syscfg -h –pci
pci:  Performs a PCI scan and prints output.
If used with the -n option, vendor/device ids are resolved
to vendor/device names from the file.

三、部分BIOS选项解读

Dell R720所属的Dell PowerEdge 12代服务器提供了一些可调整的BIOS选项。

最新的PowerEdge系列服务器中,对BIOS选项进行了划分,一些被分组到System Profile(系统配置文件设置)组中,Turbo mode, C States, C1E, Monitor/Mwait, CPU Power Management, Memory Speed, Memory Patrol Scrub rate, Memory Refresh Rate, and the Memory Operating Voltage 这些值在该组中可以找到,可以进行设置。

系统配置文件这个组中有如下几种模式:

  1. 优化性能功耗比(DAPC)
  2. 优化性能功耗比(OS)
  3. 优化性能
  4. 优化密度性能
  5. 自定义

这些不同模式下,对应的BIOS选项设置有所不同,如下图所示:

bios_mode
本图引自《Optimal BIOS HPC Dell 12G》

设置System Profile组为自定义后,可以分别配置如下的BIOS项。设置其为自定义:

  • CPU电源管理(CPU Power Management) ——控制着处理器的电源管理。
    • 系统DBPM(Demand Based Power Management)是DAPC(Dell’s Active Power Controller),是基于硬件的iDRAC(Integrated Dell Remote Access Controller,即集成戴尔远程控制卡)。
    • OS DBPM 将控制权交给操作系统,Linux中对应的控制服务是cpuspeed。
    • 最高性能 维持内部组件如内存、风扇等的最高电压,甚至在CPU空闲时也保持,这对于榨取服务器的性能有所帮助,当然以更高的电能消耗为代价。
  • 内存频率(Memory Frequency) ——设置内存的操作频率,这依赖于实际使用的DIMM(Dual-Inline-Memory-Modules,即双列直插式存储模块)和系统的内存配置。
    • 最高性能  设置能够配置的最高内存操作速度。
    • 最大可靠性  BIOS v1.1.2以及之后版本,最大可靠性支持的速度仅次于最大频率。
    • 自定义 显式设定,有1600MHz,1333MHz,1067MHz,800MHz。注意:实际频率会依赖于操作内存电压。
  • 睿频加速(Turbo Boost)——启用或禁用Intel Xeon E5-2600处理器的Turbo特性。启用后,可以通过CPU超频来提升性能,但是要生效还依赖于电源的能力,以及系统是运行在电源、电流、温度各项限制内的。
    • 启用
    • 禁用
  • C1E和C States——这些是电源节能特性,允许自动的对CPU核心进行频率调节
    • 启用
    • 禁用
  • 内存轮询检查(Memory Patrol Scrub)——设置系统内存的检查周期,检查内存错误,对于可修复的进行修复。这个选项可以避免内存的错误积累
    • 扩展 每小时检查一次
    • 标准 设置为标准或者默认的24小时检查一次
    • 禁用
  • 内存刷新率(Memory Refresh Rate)——设置内存刷新频率
    • 1x 设置正常刷新
    • 2x  两倍的正常刷新频率。牺牲一部分性能来提高内存操作的可靠性
  • 监测器/Mwait(Monitor/Mwait) ——如果禁用,将避免操作系统对CPU使用MWAIT指令。这些指令将依赖芯片来确定C3, C6或C7状态。特定操作系统上的intel_idle会导致C-states,即使C State和C1E被明确禁用。禁用此选项可以确保CPU保持完全打开的状态,禁用的前提是C States和Logical Processor选项也被禁用。另一个可选的方案是在操作系统层面禁用intel_idle,例如RHEL 6.2中如下设置 intel_idle.max_cstate=0。
    • 启用
    • 禁用

还有一些其他BIOS配置项:

处理器逻辑核心(Logical Processor)

超线程技术,即Hyper-Threading (HT) 或Simultaneous Multi Treading (SMT),当启用时,所有物理核虚拟成两个逻辑核心。可以通过将每个任务分配到每个逻辑核心来一定程度提升性能,但是,两个逻辑核心是共享一个物理核心的资源的,通过HT实际能够有多少性能提升要看应用本身。

节点交叉(Node Interleaving)

Intel Xeon E5-2600型号的处理器架构是非统一内存访问(Non-Uniform Memory Access, NUMA),每一个架构节点有一个内存控制器。访问与一个处理器直接连接的内存,被认为是本地访问,而访问其他处理器直连的内存则认为是远程访问。显然本地访问效率会高于远程访问。

BIOS系统提供了设置,可以使得内存对所有的架构节点都平等,即禁用NUMA特性,使得节点交叉,内存访问不分远近。启用节点交叉,可以避免最差情况下一个任务总是访问远程内存,但是也放弃了可以快速访问本地内存的特性。下图是一个性能对比。

Memory_Bandwidth

四、使用DTK中的syscfg工具更新BIOS设置

在使用syscfg之前,首先需要启动管理服务

shell> /opt/dell/srvadmin/sbin/srvadmin-services start

然后就可以执行如下命令如:

shell> /opt/dell/toolkit/bin/syscfg –SysProfile=Custom

如果启动前没有srvadmin-services start,那么就会报错:Unable to connect data manager

对于要求低延迟的系统来说,可以设置如下BIOS项:

系统配置文件设置(System Profile) 自定义。这样可以安装自己的需求对所需的BIOS进行定义。
操作命令:
syscfg –SysProfile=Custom

睿频加速(Turbo Boost)  禁用。禁用后可以确保稳定的性能。有些应用程序可以从Turbo Boost中获益,可以测试之。
操作命令:
syscfg –turbomode=disable

C States, C1E, Monitor/Mwait  禁用。这样就关闭了所有的电源节能特性。
操作命令:
     syscfg –cpuc1e=disable
     syscfg –cstates=disable
     syscfg –MonitorMwait=disable

处理器逻辑核心(Logical Processor) 禁用。
操作命令:
  syscfg –-logicproc=disable

节点交叉(Node Interleaving) 禁用。即启用非统一内存访问(NUMA) 功能。
操作命令:
syscfg –nodeinterleave=disable

内存轮询检查(Memory Patrol Scrub)  标准。
操作命令:
syscfg  –MemPatrolScrub=standard

CPU电源管理(CPU Power Management)  最高性能。
操作命令:
syscfg –ProcPwrPerf=maxperf

内存频率(Memory Frequency) 最高性能。
操作命令:
syscfg –MemFrequency=maxperf

参考:
http://en.community.dell.com/techcenter/high-performance-computing/w/wiki/changing-bios-settings-with-syscfg-from-the-dtk.aspx
http://linux.dell.com/wiki/index.php/Syscfg
http://www.dellhpcsolutions.com/dellhpcsolutions/assets/Optimal_BIOS_HPC_Dell_12G.v1.0.pdf
http://comments.gmane.org/gmane.linux.hardware.dell.poweredge/44504

The post 使用DTK中的syscfg工具更新BIOS设置 appeared first on SQLParty.


Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles





Latest Images