2. 服务器基础操作 OMSA 管理配置

OMSA 管理配置

一. 介绍:

OMSA(全称Openmanage Server Administrator),是戴尔公司自主研发的IT系统管理解决方案。其通过提供web的图形用户界面和操作系统的命令行工具对本地和远程的服务器进行管理和监控。OMSA是IDRAC企业版的开源版,类似于centos之于redhat。IDRAC和OMSA的web界面相似,功能也相似。omsa软件包又称为:OM-SrvAdmin,是dell提供的一套工具集合。

OpenManage Server Administrator (OMSA) 是一种软件代理,可通过两种方式提供全面的、一对一的系统管理解决方案:一是通过集成的、基于 Web 浏览器的图形用户界面 (GUI);二是通过操作系统显示的命令行界面 (CLI)。

使系统管理员能够在网络上本地和远程管理系统。

  • 受管节点:安装代理和 web 组件。(Windows、Linux)
  • VIBVIB:OMSA的代理程序,不含Web组件(VMware)。

二. linux部署omsa

2.1 方案一:脚本/rpm

wget https://downloads.dell.com/FOLDER04616506M/1/OM-SrvAdmin-Dell-Web-LX-9.1.0-2757.RHEL6.x86_64_A00.tar.gz
tar xf OM-SrvAdmin-Dell-Web-LX-9.1.0-2757.RHEL6.x86_64_A00.tar.gz  -C /opt/
yum -y install openwsman-client ipmi && cd  /opt/linux/RPMS/supportRPMS/srvadmin/RHEL6/x86_64 && yum -y localinstall * && cd  /opt/linux/RPMS/supportRPMS/metaRPMS/RHEL6/x86_64  && yum -y localinstall *

2.2 方案二: yum

## 配置yum仓库:
[root@bj-wlj-datanode-172-38-1-196 ~]# cat /etc/yum.repos.d/dell.repo 
[dell]
baseurl = http://172.38.1.196/dell/omsa/
gpgcheck = 0
name = dell-repo
### dell公网yum仓库获取: wget -q -O - http://linux.dell.com/repo/hardware/OMSA_x.x/bootstrap.cgi | bash

## 安装并启动服务
# yum -y install srvadmin-all
# systemctl start,enable dataeng

----
# wget -q -O - http://linux.dell.com/repo/hardware/OMSA_7.2/bootstrap.cgi | bash
# yum install srvadmin-all
或者
# yum install -y srvadmin-base srvadmin-storageservices//推荐,安装必要的软件,速度快

2.3 访问:

https://系统ip:1311

用户名: root

密码: 系统root密码

在这里插入图片描述
linux omsa 安装指南

命令行指南

三. VMware ESXI 部署 omsa

3.1 软件包介绍

idrac service for ESXI 服务插件

OMSA for VMware 软件

windows 管理软件

在这里插入图片描述

vmware的代理程序不具备web组件的功能,所以有三个软件包:

  • omsa idrac基础模块
  • omsa 系统软件
  • omsa Windows代理软件(通过代理远程vmware实现管理)

3.2.2 下载上传到ESXI主机:

[root@gs-ansible-1-118 ESXI]# ll
total 13888
-rw-r--r-- 1 root root 2679338 Apr 20 11:44 ISM-Dell-Web-4.2.0.0-2581.VIB-ESX6i-Live_A00.zip
-rw-r--r-- 1 root root 7113139 Apr 20 11:44 OM-SrvAdmin-Dell-Web-10.1.0.0-4634.VIB-ESX67i_A00.zip
-rw-r--r-- 1 root root 4419566 Apr 19 16:26 PERCCLI_MRXX5_7.1910.0_A12_VMware.tar.gz
[root@gs-ansible-1-118 ESXI]# ssh 192.168.1.28 'mkdir /vmfs/volumes/192.168.1.28-os/tools' 
[root@gs-ansible-1-118 ESXI]# scp ISM-Dell-Web-4.2.0.0-2581.VIB-ESX6i-Live_A00.zip 192.168.1.28:/vmfs/volumes/192.168.1.28-os/tools/
ISM-Dell-Web-4.2.0.0-2581.VIB-ESX6i-Live_A00.zip                                                                                                                                  100% 2617KB   2.6MB/s   00:00    
[root@gs-ansible-1-118 ESXI]# scp OM-SrvAdmin-Dell-Web-10.1.0.0-4634.VIB-ESX67i_A00.zip  192.168.1.28:/vmfs/volumes/192.168.1.28-os/tools/
OM-SrvAdmin-Dell-Web-10.1.0.0-4634.VIB-ESX67i_A00.zip                                                                                                                             100% 6946KB   6.8MB/s   00:00    

3.3 软件安装

ISM idrac-server-manager 安装

[root@gs-ansible-1-118 ESXI]#  ssh 192.168.1.28 'cd  /vmfs/volumes/192.168.1.28-os/tools && unzip ISM-Dell-Web-4.2.0.0-2581.VIB-ESX6i-Live_A00.zip '
Archive:  ISM-Dell-Web-4.2.0.0-2581.VIB-ESX6i-Live_A00.zip
  inflating: index.xml
  inflating: vendor-index.xml
  inflating: metadata.zip
  inflating: vib20/dcism/Dell_bootbank_dcism_4.2.0.0.ESXi6-2581.vib
  
 ssh 192.168.1.28 'esxcli software vib install -v /vmfs/volumes/192.168.1.28-os/tools/vib20/dcism/Dell_bootbank_dcism_4.2.0.0.ESXi6-2581.vib'		

OM-Srvadmin OMSA软件安装

[root@gs-ansible-1-118 ESXI]#  ssh 192.168.1.28 'cd  /vmfs/volumes/192.168.1.28-os/tools && unzip OM-SrvAdmin-Dell-Web-10.1.0.0-4634.VIB-ESX67i_A00.zip '
Archive:  OM-SrvAdmin-Dell-Web-10.1.0.0-4634.VIB-ESX67i_A00.zip
replace index.xml? [y]es, [n]o, [A]ll, [N]one, [r]ename: A  
  inflating: index.xml
  inflating: vendor-index.xml
  inflating: metadata.zip
  inflating: vib20/OpenManage/Dell_bootbank_OpenManage_10.1.0.0.ESXi670-4634.vib
[root@gs-ansible-1-118 ESXI]#  ssh 192.168.1.28 'esxcli software vib install -v /vmfs/volumes/192.168.1.28-os/tools/vib20/OpenManage/Dell_bootbank_OpenManage_10.1.0.0.ESXi670-4634.vib'
Installation Result
   Message: Operation finished successfully.
   Reboot Required: false
   VIBs Installed: Dell_bootbank_OpenManage_10.1.0.0.ESXi670-4634
   VIBs Removed: 
   VIBs Skipped: 

3.4 ESXI vib 软件包管理:

  • 使用以下命令查看已安装的VIB软件包的列表:esxcli software vib list
  • 使用以下命令安装VIB软件包:esxcli software vib install -v /vmfs/volume/datastore1/vmware-perccli-xxx.xxxx.xxxx.xxxx.vib --no-sig-check,其中/vmfs/volume/datastore1是VIB的路径详情。
  • 您可以使用以下命令删除安装的VIB:esxcli software vib remove -n=vmware-esx-perccli.vib --force
  • 通过浏览到以下位置运行perccli:cd/opt/lsi/perccli

参考:

omsa esxi安装过程

omsa esxi安装过程0

四. 基础使用

4.1 访问:

4.1.1 omsa vmware 访问:

4.1.2 linux/windows系统:

https://系统ip:1311

用户名: root

密码: 系统root密码

在这里插入图片描述

4.2 常用功能

  1. 指标查看 与idrac同
  2. 常见操作 与idrac同
  3. 修改idrac信息
    • 修改idrac密码信息
    • 修改idrac网络信息
    • 重置idrac

五. 监控

5.1 介绍:

omsa除了提供web管理界面外,开提供了大量的命令行工具,使用命令就可以获取系统状态等信息。为此,通过zabbix自定义监控项,即可完成硬件的监控。

由于系统原因zabbix-agent 尽可安装windows linux系统中,omsa的自定义zabbix监控一般特指windows/linux系统。本次演示操作为Linux系统。

OpenManage系统管理方案是戴尔公司基于自主研发力量开发的IT系统管理解决方案,通过与业内领先的系统管理解决方案供应商密切配合,在深入了解用户对系统管理需求的基础上,OpenManage系统管理方案可以全面解决系统管理人员最关心的系统部署、系统监控和系统变更三大系统管理问题。

作用:安装OpenManage用于服务器硬件监控,例如电池,主板,温度,以及硬盘等等

5.2 监控命令介绍:

命令信息目录: /opt/dell/srvadmin/bin

[root@bj-wlj-datanode-172-38-1-196 bin]# ls
idracadm7  iTP_post_script.sh  omconfig  omexec  omhelp  omreport  omupdate  stdcliproxy
[root@bj-wlj-datanode-172-38-1-196 bin]# pwd
/opt/dell/srvadmin/bin

OMSA自带了一些工具来提供给我们命令行的查询和设置接口,这里主要介绍两个,一个是omreport,另一个是omconfig。omreport是用来查询服务器各种硬件状态,omconfig是用来设置硬件的一些属性的。

我在这里仅列出这两个命令的常用几个命令,更多的命令详情大家可以去如下两个网站查询:

1、http://www.sxszjzx.com/~t096/manual/sc/Dosa/CLI/report.htm
2、http://topics-cdn.dell.com/pdf/dell-opnmang-srvr-admin-v8.1_Users%20Guide_en-us.pdf

常用命令指南:

/opt/dell/srvadmin/bin/omreport chassis                     # 显示所有主要组件的常规状态 
/opt/dell/srvadmin/bin/omreport chassis memory              # 显示内存信息
/opt/dell/srvadmin/sbin/omreport  chassis temps             # 显示系统主要组件的温度
/opt/dell/srvadmin/bin/omreport storage adisk controller=0  # 查看磁盘陈列中的硬盘状态
/opt/dell/srvadmin/bin/omreport storage pdisk controller=0  # 查看物理磁盘信息
/opt/dell/srvadmin/bin/omreport storage vdisk controller=0  # 查看虚拟硬盘的状态
/opt/dell/srvadmin/bin/omreport storage controller          # 查看控制器(即RAID卡)的属性
/opt/dell/srvadmin/bin/omreport storage channel controller=0    # 查看通道的属性
/opt/dell/srvadmin/bin/omreport storage enclosure controller=0  # 查看enclosure的属性
/opt/dell/srvadmin/bin/omreport storage battery                 # 查看电池属性
/opt/dell/srvadmin/bin/omconfig storage controller action=setrebuildrate controller=0 rate=100            # 调整rebuild的速度
/opt/dell/srvadmin/bin/omconfig  storage vdisk  action=changepolicy controller=0 vdisk=0 readpolicy=ara   # 修改raid的读策略
/opt/dell/srvadmin/bin/omconfig  storage vdisk  action=changepolicy controller=0 vdisk=0 writepolicy=fwb 



# omreport chassis
Health
Main System Chassis

SEVERITY : COMPONENT       级别,组件
Ok       : Fans            风扇            
Ok       : Intrusion       入侵(比如开机箱盖)
Ok       : Memory          内存
Ok       : Power Supplies  电源供给
Ok       : Power Management 电源管理
Ok       : Processors      处理器
Ok       : Temperatures    温度
Ok       : Voltages        电压
Ok       : Hardware Log    硬件日志
Ok       : Batteries       电池

命令行指南

5.3 监控案例自定义监控项:

##############Follow is Monitor Hardware##################
#状态1表示正常,状态0表示异常
UserParameter=hardware_battery,/opt/dell/srvadmin/bin/omreport chassis batteries|awk '/^Status/{if($NF=="Ok") {print 1} else {print 0}}'
UserParameter=hardware_fan_health,awk -vhardware_fan_number=`/opt/dell/srvadmin/bin/omreport chassis fans|grep -c "^Index"` -vhardware_fan=`/opt/dell/srvadmin/bin/omreport chassis fans|awk '/^Status/{if($NF=="Ok
") count+=1}END{print count}'` 'BEGIN{if(hardware_fan_number==hardware_fan) {print 1} else {print 0}}'
UserParameter=hardware_memory_health,awk -vhardware_memory=`/opt/dell/srvadmin/bin/omreport chassis memory|awk '/^Health/{print $NF}'` 'BEGIN{if(hardware_memory=="Ok") {print 1} else {print 0}}'
UserParameter=hardware_nic_health,awk -vhardware_nic_number=`/opt/dell/srvadmin/bin/omreport chassis nics |grep -c "Interface Name"` -vhardware_nic=`/opt/dell/srvadmin/bin/omreport chassis nics |awk '/^Connectio
n Status/{print $NF}'|wc -l` 'BEGIN{if(hardware_nic_number==hardware_nic) {print 1} else {print 0}}'
UserParameter=hardware_cpu,/opt/dell/srvadmin/bin/omreport chassis processors|awk '/^Health/{if($NF=="Ok") {print 1} else {print 0}}'
UserParameter=hardware_power_health,awk -vhardware_power_number=`/opt/dell/srvadmin/bin/omreport chassis pwrsupplies|grep -c "Index"` -vhardware_power=`/opt/dell/srvadmin/bin/omreport chassis pwrsupplies|awk '/^
Status/{if($NF=="Ok") count+=1}END{print count}'` 'BEGIN{if(hardware_power_number==hardware_power) {print 1} else {print 0}}'
UserParameter=hardware_temp,/opt/dell/srvadmin/bin/omreport chassis temps|awk '/^Status/{if($NF=="Ok") {print 1} else {print 0}}'|head -n 1
UserParameter=hardware_physics_health,awk -vhardware_physics_disk_number=`/opt/dell/srvadmin/bin/omreport storage pdisk controller=0|grep -c "^ID"` -vhardware_physics_disk=`/opt/dell/srvadmin/bin/omreport storag
e pdisk controller=0|awk '/^Status/{if($NF=="Ok") count+=1}END{print count}'` 'BEGIN{if(hardware_physics_disk_number==hardware_physics_disk) {print 1} else {print 0}}'
UserParameter=hardware_virtual_health,awk -vhardware_virtual_disk_number=`/opt/dell/srvadmin/bin/omreport storage vdisk controller=0|grep -c "^ID"` -vhardware_virtual_disk=`/opt/dell/srvadmin/bin/omreport storag
e vdisk controller=0|awk '/^Status/{if($NF=="Ok") count+=1}END{print count}'` 'BEGIN{if(hardware_virtual_disk_number==hardware_virtual_disk) {print 1} else {print 0}}'

5.4 zabbix 模板:

<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
    <version>5.0</version>
    <date>2022-04-20T15:09:42Z</date>
    <groups>
        <group>
            <name>Templates</name>
        </group>
    </groups>
    <templates>
        <template>
            <template>Template Dell Monitor Linux</template>
            <name>Template Dell Monitor Linux</name>
            <groups>
                <group>
                    <name>Templates</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Dell Monitor</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>CMOS电池状态</name>
                    <key>hardware_battery</key>
                    <delay>60</delay>
                    <applications>
                        <application>
                            <name>Dell Monitor</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;&gt;1</expression>
                            <name>CMOS电池状态异常</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>CPU状态</name>
                    <key>hardware_cpu</key>
                    <delay>60</delay>
                    <applications>
                        <application>
                            <name>Dell Monitor</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;&gt;1</expression>
                            <name>CPU状态异常</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>风扇状态</name>
                    <key>hardware_fan_health</key>
                    <delay>60</delay>
                    <applications>
                        <application>
                            <name>Dell Monitor</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;&gt;1</expression>
                            <name>风扇状态异常</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>内存状态</name>
                    <key>hardware_memory_health</key>
                    <delay>60</delay>
                    <applications>
                        <application>
                            <name>Dell Monitor</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;&gt;1</expression>
                            <name>内存状态异常</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>网卡状态</name>
                    <key>hardware_nic_health</key>
                    <delay>60</delay>
                    <status>DISABLED</status>
                    <applications>
                        <application>
                            <name>Dell Monitor</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;&gt;1</expression>
                            <name>网卡硬件状态异常</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>磁盘健康状态</name>
                    <key>hardware_physics_health</key>
                    <delay>60</delay>
                    <applications>
                        <application>
                            <name>Dell Monitor</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;&gt;1</expression>
                            <name>磁盘健康状态异常</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>电源状态</name>
                    <key>hardware_power_health</key>
                    <delay>60</delay>
                    <applications>
                        <application>
                            <name>Dell Monitor</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;&gt;1</expression>
                            <name>电源状态异常</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>服务器温度状态</name>
                    <key>hardware_temp</key>
                    <delay>60</delay>
                    <applications>
                        <application>
                            <name>Dell Monitor</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;&gt;1</expression>
                            <name>服务器温度状态异常已超过默认阈值</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RAID状态</name>
                    <key>hardware_virtual_health</key>
                    <delay>60</delay>
                    <applications>
                        <application>
                            <name>Dell Monitor</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;&gt;1</expression>
                            <name>RAID状态异常</name>
                            <priority>DISASTER</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
    </templates>
    <graphs>
        <graph>
            <name>CMOS电池状态</name>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Dell Monitor Linux</host>
                        <key>hardware_battery</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU状态</name>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Dell Monitor Linux</host>
                        <key>hardware_cpu</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RAID状态</name>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Dell Monitor Linux</host>
                        <key>hardware_virtual_health</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>内存状态</name>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Dell Monitor Linux</host>
                        <key>hardware_memory_health</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>服务器温度状态</name>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Dell Monitor Linux</host>
                        <key>hardware_temp</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>电源状态</name>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Dell Monitor Linux</host>
                        <key>hardware_power_health</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>磁盘健康</name>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Dell Monitor Linux</host>
                        <key>hardware_physics_health</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>网卡状态</name>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Dell Monitor Linux</host>
                        <key>hardware_nic_health</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>风扇状态</name>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Dell Monitor Linux</host>
                        <key>hardware_fan_health</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
    </graphs>
</zabbix_export>

参考:

https://blog.csdn.net/qq_36357820/article/details/78480296

https://blog.csdn.net/GX_1_11_real/article/details/81634083

http://www.ttlsa.com/linux/dell-install-open-manage-omsa/

dell omse 汇总页面

命令行指南

六. iDRACTools 安装,racadm使用

OMSA是一个大的工具集,包含好多应用攻击。单在实际使用过程中,可以出现某些包冲突造成无法安装,或仅临时使用某些功能情况下,可以直接安装idractools工具。

6.1 安装:

安装iDRACTools并使用racadm命令实现相关操作;

iDRACTools for Linux最新版本下载页面链接如下:
https://www.dell.com/support/home/zh-cn/drivers/driversdetails?driverid=df1nd&oscode=rhe70&productcode=poweredge-r750

如下图点击下载该程序:
在这里插入图片描述

拉到下方有该版本iDRAC Tools兼容的机型及操作系统信息,以及安装说明:
在这里插入图片描述

注:安装后之后,需要运行下su命令或者注销再重新登陆下当前linux用户 以重载一下环境变量
附件文档《CentOS下安装iDRAC Tools运行racadm.pdf》您也可做下参考

racadm命令手册:https://dl.dell.com/content/manual64240962-integrated-dell-remote-access-controller-9-racadm-cli-guide.pdf?language=en-us&ps=true

CentOS 6.x 安装

可以使用这个版本看看:https://www.dell.com/support/home/zh-cn/drivers/driversdetails?driverid=g3ndf&oscode=rh60

6.2 用户管理:

在装好racadm的情况下,您可以通过以下步骤新建一个新用户:

1、可以使用racadm get idrac.users.x 来读取各用户信息(root用户id是2,用户id1保留,您可以使用3~16这几个用户id来创建新用户),下图是查看root用户信息示例:
在这里插入图片描述

2、比如我们要使用用户id9来新建一个用户,示例步骤如下:

  1. 先查看一下用户id9的属性,命令:racadm get idrac.users.9
    可以看到该用户未启用,用户名为空,权限为0x0
    在这里插入图片描述

2)分别修改以上几个属性,以及设置/修改密码:
设置用户名,命令(用户名请自行按需修改):racadm set idrac.users.9.UserName test
在这里插入图片描述

设置用户密码,命令(密码请自行按需修改):racadm set idrac.users.9.Password TestPassw0rd!
在这里插入图片描述

设置用户权限,命令(这里设置和root用户相同权限):racadm set idrac.users.9.Privilege 0x1ff
在这里插入图片描述

最后启用该用户,命令:racadm set idrac.users.9.Enable Enabled
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43423965/article/details/128559627