华为云用户手册

  • 处理方法 用chattr命令将i权限撤销,然后再修改密码。 如果文件属性为"i",执行以下命令。 chattr -i /etc/passwd /etc/shadow 如果文件属性为"a",执行以下命令。 chattr -a /etc/passwd /etc/shadow (可选)如果对修改过属性的文件有安全要求需要设置相应的属性,请重新设置相应的属性。 如果设置文件属性为"i",执行以下命令。 chattr +i /etc/passwd /etc/shadow 如果设置文件属性为"a",执行以下命令。 chattr +a /etc/passwd /etc/shadow 查看修改后的文件属性,执行以下命令。 lsattr /etc/passwd /etc/shadow
  • SUSE 11系列 使用控制台提供的VNC方式登录云服务器。 在云服务器操作列下单击“远程登录”。 图20 使用控制台提供的VNC方式登录云服务器 单击远程登录操作面板上方的“发送CtrlAltDel”按钮,重启虚拟机。 然后快速刷新页面,按上下键,阻止系统继续启动,并进入一个grub菜单。 删除boot options中的启动参数,添加init=/bin/bash参数。 图21 boot options 按回车键进入单用户模式。 执行以下命令,重置root密码。 passwd root 执行以下命令,重启服务器。 reboot
  • CentOS 7/EulerOS 系列 使用控制台提供的VNC方式登录云服务器。 在云服务器操作列下单击“远程登录”。 图7 使用控制台提供的VNC方式登录云服务器 单击远程登录操作面板上方的“发送CtrlAltDel”按钮,重启虚拟机。 确认开始重启后,立即反复单击上下键,阻止系统继续启动,在出现内核选项时按字母键e进入内核编辑模式。 图8 进入内核编辑模式 Euler镜像默认对grub文件进行了加密,进入编辑内核模式时会提示:Enter username,需要输入用户和密码,请联系客服进行获取。 找到linux16行末尾,执行以下操作。 删除不需要加载的参数(ro参数开始到末尾)。 ARM(鲲鹏计算)架构云服务器以及裸金属服务器需要保留参数“console=tty0 console=ttyS0”。 修改ro为rw,以读写方式挂载根分区。 并添加rd.break,然后执行Ctrl+X。 图9 修改前 图10 修改后 执行以下命令切换至/sysroot目录。 chroot /sysroot 执行以下命令,重置root密码。 passwd root (可选,系统开了SELinux需要执行此步骤)执行以下命令,让SELinux生效。 touch /.autorelabel 执行以下命令,退出当前根目录。 exit 执行以下命令重启云服务器。 reboot
  • SUSE12系列 使用控制台提供的VNC方式登录云服务器。 在云服务器操作列下单击“远程登录”。 图22 使用控制台提供的VNC方式登录云服务器 单击远程登录操作面板上方的“发送CtrlAltDel”按钮,重启虚拟机。 然后快速刷新页面,按“Esc”阻止系统继续启动,并进入一个grub菜单。 图23 grub菜单 在grub引导菜单下按“e”键进入grub2菜单编辑模式。 将光标移至linux行末尾,添加“init=/bin/bash”。 图24 init=/bin/bash 按Ctrl-x进入救援模式。 执行以下命令,重置root密码。 passwd root 执行以下命令,重启服务器。 reboot
  • CentOS 6/RedHat 6系列 使用控制台提供的VNC方式登录云服务器。 在云服务器操作列下单击“远程登录”。 图11 使用控制台提供的VNC方式登录云服务器 单击远程登录操作面板上方的“发送CtrlAltDel”按钮,重启虚拟机。 确认开始重启后,立即反复单击“Esc”阻止系统继续启动,并进入一个grub菜单。 图12 grub菜单 将光标移动到第一个默认的内核,按字母键e进行编辑。 图13 按字母键e编辑 将光标移动到kernel行,再次按字母键e进行编辑。 图14 移动至kernel行 将光标移动到“rd_NO_DM”的末尾,在空格后面添加数字“1”。 图15 在末尾添加数字“1” 将光标向左移动到“console=ttyS0,115200n8”的位置,删掉“console=ttyS0,115200n8”,然后按回车键接受编辑。 图16 删掉“console=ttyS0,115200n8” 按“b”引导使用该内核,并引导到运行级别1(单用户模式)。 当看到“#”提示符时执行以下命令重置密码。 passwd root 重启服务器。 reboot
  • Debian/Ubuntu系列 使用控制台提供的VNC方式登录云服务器。 在云服务器操作列下单击“远程登录”。 图17 使用控制台提供的VNC方式登录云服务器 单击远程登录操作面板上方的“发送CtrlAltDel”按钮,重启虚拟机。 确认开始重启后,立即反复单击“Esc”阻止系统继续启动,并进入一个grub菜单。 图18 grub菜单 在grub引导菜单下按“e”键进入grub2菜单编辑模式。 找到linux行末尾,删除不需要加载的参数(ro参数开始到末尾),修改ro为rw(以读写方式挂载根分区),并添加“init=/bin/bash”。 图19 修改ro参数 按Ctrl+x进入救援模式。 执行以下命令,重置root密码。 passwd root 执行以下命令,重启服务器。 reboot
  • CentOS 8系列 使用控制台提供的VNC方式登录云服务器。 在云服务器操作列下单击“远程登录”。 图1 使用控制台提供的VNC方式登录云服务器 单击远程登录操作面板上方的“发送CtrlAltDel”按钮,重启虚拟机。 确认开始重启后,立即反复单击上下键,阻止系统继续启动,在出现内核选项时按字母键e进入内核编辑模式。 图2 进入内核编辑模式 修改启动权限配置。 将ro参数修改为:rw init=/sysroot/bin/bash 图3 修改前 图4 修改后 然后执行Ctrl+X。 请耐心等待页面加载。 图5 进入紧急模式 运行命令chroot /sysroot/切换回原始系统。 执行以下命令,重置root密码。 passwd root 图6 紧急模式下重置root密码 (可选,系统开了SELinux需要执行此步骤)执行以下命令,让SELinux生效。 touch /.autorelabel 执行以下命令,退出当前根目录。 exit 执行以下命令重启云服务器。 reboot
  • 根因分析 执行以下命令,查看系统内核是否开启了TIME_WAIT快速回收和重利用策略 sysctl -a |grep tcp_tw 如图1所示,确认已开启该策略。 图1 TIME_WAIT 由于服务端开启了TIME_WAIT快速回收和重利用策略导致,即启用了net.ipv4.tcp_tw_recycle或者net.ipv4.tcp_tw_reuse。系统默认是不启用该功能。 客户端通常在NAT环境下,多台终端使用同一个公网ip,无法实现服务端与客户端的一对一连接。如果开启此参数服务端会回收处于TIME_WAIT状态的TCP连接,导致连接断开。
  • 处理方法 执行以下命令,排查磁盘的物理空间是否已满。 df -h 图1 检查磁盘物理空间 如图1所示,磁盘空间还有剩余,排除物理磁盘空间已满的情形 执行以下命令,查看系统可用的inode节点使用率。 df -i 当结果中的Use%为100%时则为inode耗尽,可以执行以下的操作步骤释放inode。 执行以下命令,将所有在目录文件进行归档。 tar czvf /tmp/backup.tar.gz /home/data 删除对应目录下确认不需要的文件释放inode。
  • 问题现象 Linux操作系统云服务器根目录空间占用率过高。例如,以图1为例,根目录空间占用率为96%。 图1 根目录空间占用率过高 查询当前系统存在一个约42G大小的文件access_log,这个文件是apache产生的访问日志文件,从日志大小判断是很久没有清理的apache日志文件了。 执行以下命令删除access_log。 rm /tmp/access_log 执行以下命令查看文件系统使用率。 df -h 删除该文件后使用df查看文件系统使用率仍是96%。
  • 根因分析 通常不会出现删除文件后空间不释放的情况,特殊情况是文件进程锁定,或有进程一直在向这个文件写数据。 为了分析根因,首先需要了解Linux文件的存储机制和存储结构。 一个文件在文件系统中存放分为两个部分: 指针部分:指针位于文件系统的meta-data中,在将数据删除后,这个指针就从meta-data中清除了。 数据部分:而数据部分存储在磁盘中。 将数据对应的指针从meta-data中清除后,文件数据部分占用的空间就可以被覆盖并写入新的内容。出现删除access_log文件后,空间还没有释放的原因,是因为httpd进程还在一直向这个文件写入内容,导致删除了access_log文件后,进程锁定,文件对应的指针部分并未从meta-data中清除,由于指针并未删除,系统内核就默认文件并未被删除,因此查询文件系统使用率时,显示空间并未释放。
  • 根因分析 执行以下命令,查询有问题的mount unit。 systemctl list-units --type=mount |grep failed test1.mount loaded failed failed /test1 执行以下命令,查询该unit的状态。 systemctl status test1.mount 回显信息如下所示: ● test1.mount - /test1 Loaded: loaded (/etc/fstab; bad; vendor preset: disabled) Active: failed (Result: exit-code) since Wed 2019-08-28 15:32:53 CS T; 3min 27s ago Where: /test1 What: /dev/vdb1 Docs: man:fstab(5) man:systemd-fstab-generator(8) Process: 4601 ExecUnmount=/bin/umount /test1 (code=exited, status=0/SUC CES S) Process: 3129 ExecMount=/bin/mount /dev/vdb1 /test1 -t ext4 (code=exited, status=0/SUCCESS) ... ... Warning: test1.mount changed on disk. Run 'systemctl daemon-reload' to reload units. 如回显信息所示test1.mount磁盘发生了改变,需要运行systemctl daemon-reload重新加载units。 更改/etc/fstab时,必须执行systemctl daemon-reload。在运行该命令之前,systemd不读取fstab并生成装载单元。
  • 根因分析 服务端sshd服务开启UseDNS选项状态下,当客户端试图使用SSH连接服务器时,服务器端先根据客户端的IP地址进行DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,验证与其原始IP地址是否一致,这是防止客户端欺骗的一种措施,但一般我们的是动态IP不会有PTR记录,建议关闭该选项。 执行如下命令确认是否开启了UseDNS选项。 grep UseDNS /etc/ssh/sshd_config 如果该选项值为“yes”或者为注释行则说明已开启该选项。建议参考本节操作修改UseDNS。
  • 场景一:/var/empty/sshd属主非root导致sshd启动失败 sshd启动失败,查看journal日志,提示/var/empty/sshd must be owned by root。 journalctl -xe 查看/var/empty/sshd文件属主信息 ll /var/empty/sshd 如上图所示,由于/var/empty/sshd目录属主非root用户导致sshd服务启动失败。 修改/var/empty/sshd属主,及其权限。 chown -R root.root /var/empty/sshd chmod -R 711 /var/empty/sshd 重启sshd服务,执行: systemctl restart sshd
  • 处理方法 场景一:/etc/resolv.conf未配置 DNS地址 或者DNS地址错误导致。 /etc/resolv.conf中最关键的是nameserver项,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。 nameserver表示解析 域名 时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下一个的nameserver。 请检查/etc/resolv.conf中配置的DNS地址。 场景二:/etc/nsswitch.conf文件删除DNS解析记录导致。 检查/etc/nsswitch.conf是否有DNS解析配置。 grep hosts /etc/nsswitch.conf 回显信息如下所示,hosts行中未配置DNS选项,导致解析域名时不会读取/etc/resolv.conf,导致域名解析失败。 #hosts: db files nisplus nis dns hosts: files myhostname 打开/etc/nsswitch.conf找到hosts行添加DNS解析。 #hosts: db files nisplus nis dns hosts: files dns myhostname hosts项的值代表按优先级顺序列出服务,这些服务用于查找域名的IP地址。 “file”表示使用/etc/hosts文件,“ dns”表示使用域名服务。如果“file”位于“ dns”之前,则意味着系统将首先尝试在/etc/hosts中查找域名,然后才通过DNS查找(这是默认配置)。如果未配置dns则不会使用DNS查找。 场景三:/lib64/libnss_dns.so.2库文件丢失导致无法解析域名。 /lib64/libnss_dns.so.2库文件由glibc包产生,可以通过校验glibc查看包是否被修改。 rpm -V glibc 在正常的Linux系统执行 rpm -qf /lib64/libnss_dns.so.2生成库文件。 回显信息如下所示,说明/lib64/libnss_dns.so.2文件缺失。 missing /lib64/libnss_dns.so.2 执行以下命令,重新建立软链接。 在正常的云服务器上执行ls -l /lib64/libnss_dns.so.2可知/lib64/libnss_dns.so.2的源文件为/usr/lib64/libnss_dns-2.17.so。 ln -s /usr/lib64/libnss_dns-2.17.so /usr/lib64/libnss_dns.so.2
  • 根因分析 出现该问题通常有三个原因: /etc/resolv.conf未配置DNS地址或者DNS地址错误导致。 /etc/nsswitch.conf文件删除DNS解析记录导致。 /lib64/libnss_dns.so.2库文件丢失导致无法解析域名。 执行以下命令,查看解析域名打开的所有文件。 strace -e trace=open ping www.baidu.com -c 1 该结果中出现的所有文件都会影响域名解析。
  • 定位过程 查看客户端DHCP请求记录 grep -E "dhclient|DHCP" /var/log/messages 图2 DHCP请求记录 dhclient续租记录显示在5月12日重新续租成功(当时正确的时间为4月26日,系统时间是被手动修改过)。 dhclient记录下一次续租发生在33696秒后(约9小时21分,通常为租约的1/2时发出续租请求),即下次续租发生在5月12日21点21分左右。 也可以通过查询dhclient租约信息记录文件,每一次续租成功都会记录在该文件中。执行以下命令查询文件的保存路径(文件以.lease结尾)。 ps -ef |grep dhclient 继续查看系统日志(messages)发现在续租后的5小时14分后系统时间发生跳变,回退至4月26日,但是由于下次续租请求发生在16天后,但是在9小时后未发出续租请求,租约到期后ip被DHCP服务端回收,导致ip丢失。 grep "Time has been changed" /var/log/messages 图3 系统日志
  • 根因分析 登录管理控制台,并通过VNC方式登录云服务器。 执行以下命令,查看是否开启了firewalld。 systemctl status firewalld 图1 开启firewalld 如图1所示,系统已开启firewalld。 执行以下命令,查看firewalld中的规则。 firewall-cmd --list-all 图2 查看firewalld规则 如图2所示,firewall当前的zone为public,该zone默认只放通ssh和dhcpv6-client服务。其中ssh服务为默认的22端口,当ssh修改为非22端口时就无法访问。
  • 处理方法 方法1:执行以下命令,停止firewalld服务并取消开机自启。 建议通过安全组和ACL进行访问控制,如业务需要开启firewalld请参考•方法2:执行以下命令,在firewalld服务... systemctl stop firewalld systemctl disable firewalld 方法2:执行以下命令,在firewalld服务中添加新的端口55660。 firewall-cmd --add-port=55660/tcp --permanent --zone=public firewall-cmd --reload
  • 根因分析 出现该问题的可能原因如下: CentOS 7中/etc/rc.d/rc.local文件没有执行权限。解决方案请参考处理方法1。 /etc/rc.local为/etc/rc.d/rc.local的软链接 /etc/rc.local配置路由重启不生效的场景,是由于添加路由依赖网络服务,而在CentOS 7系统启动过程中内核读取rc.local时网络服务尚未启动,导致添加路由失败。解决方案请参考处理方法2。
  • 处理方法1 针对/etc/rc.d/rc.local文件没有执行权限导致开机启动脚本执行失败的场景,解决方案如下。 CentOS7中该文件默认没有可执行权限 查看/etc/rc.d/rc.local是否有执行权限 ls -l /etc/rc.d/rc.local -rw-r--r-- 1 root root 473 Sep 14 02:19 /etc/rc.d/rc.local 如回显信息所示该文件没有执行权限,需要为/etc/rc.d/rc.local添加可执行权限。 执行以下命令为/etc/rc.d/rc.local添加可执行权限 chmod +x /etc/rc.d/rc.local
  • 问题分析 在 Linux 的内存管理中,buffer是Linux内存中的Buffer cache。cache是Linux内存中的Page cache。 Buffer cache:主要是当系统对块设备进行读写的时候,对块进行数据缓存的系统来使用,即对块的操作会使用buffer cache进行缓存。 例如:当对一个文件进行写操作的时候,page cache 的内容会被改变,而buffer cache则可以用来将page标记为不同的缓冲区,并记录是哪一个缓冲区被修改了。内核在后续执行脏数据的回写writeback时,就不用将整个page写回,而只需要写回修改的部分即可。 Page cache:主要用来作为文件系统上的文件数据的缓存来用,尤其是针对当进程对文件有read/write操作的时候。Linux默认会将读取的文件内容缓存在内存中,方便后续使用。 Linux默认使用的是lazy模式,即内存如果还够用,则不会主动释放当前的占用的buffer和cache,如果需要内存,则会自动释放buffer和cache,所以正常情况下,cache占用高不会对系统造成影响。
  • CentOS 6操作系统 登录控制台,重启云服务器,单击“远程登录”。 在出现Booting CentOS界面时,按任意键,进入内核选择界面。 图1 Booting CentOS 内核选择界面出现时按下键将光标移至第二内核,然后按回车键进行启动。 待系统启动后,执行以下命令设置默认启动内核为第二内核。 sed 's/default=0/default=1/' /boot/grub/grub.conf -i default默认值为 0(代表从/boot/grub/grub.conf文件中kernel菜单中第一个,从上往下依次是 0,1,2 等)。
  • 场景二:如果结果显示挂载方式rw,则确认是否为文件系统错误导致 执行以下命令,检查内核中关于文件系统的信息。 dmesg |egrep "ext[2..4]|xfs" 输出结果中如果有I/O error ... inode 的错误信息则根因为文件系统错误导致进入只读模式。 如图所示,需要修复文件系统,请先备份数据后操作,由于文件系统在使用中无法修复,需要通过单用户模式(在该模式下磁盘未挂载)修复文件系统。 重启进入单用户模式尝试修复文件系统。 查询当前设备及文件系统 blkid 检查文件系统(以vdb1为例)。 ext系列文件系统执行以下命令 fsck -n /dev/vdb1 xfs系列文件系统执行以下命令 xfs_check /dev/vdb1 如果遇到提示当前文件系统为mounted,需要先umount文件系统。 执行以下命令,查看当前挂载信息执行 mount 卸载设备 umount 挂载点 修复文件系统(以vdb1为例)。 ext系列文件系统执行以下命令 fsck /dev/vdb1 xfs系列文件执行以下命令 xfs_repair /dev/vdb1
  • 处理方法 执行以下命令,确认dhclient是否运行。 ps -ef |grep dhclient |grep -v grep 如果未找到dhclient进程,则确认dhclient进程未运行,执行以下命令,继续排查NetworkManager是否运行。 systemctl status NetworkManager 如果NetworkManager的状态为Active: inactive (dead),则NetworkManager未启动,执行以下命令,检查该服务是否开机自启。 systemctl is-enabled NetworkManager 结果为disabled则确认为NetworkManager未设置开机自启导致,执行以下命令进行恢复。 systemctl enable NetworkManager && systemctl start NetworkManager 如果NetworkManager的状态为Active: active (running),执行以下命令查看网卡设备是否被NetworkManager管理。 nmcli device status 如果显示该网卡为的STATE为unmanaged,则该网卡设备未被NetworkManager管理,执行以下命令进行恢复。 nmcli device set eth0 managed yes 执行以下命令重启NetworkManager。 systemctl restart NetworkManager 执行以下命令查看ip是否已经获取。 ip add
  • 方法一:通过编辑sshd配置文件实现允许或者禁止指定用户/用户组或者IP登录 允许指定用户进行登录(白名单) 在/etc/ssh/sshd_config 配置文件中设置AllowUsers选项,在配置文件末尾添加行格式如下(例如允许用户test通过192.168.1.2登录)。 AllowUsers test@192.168.1.2 配置了指定用户或者用户组允许登录后,默认拒绝其他所有用户或者用户组。 禁止指定用户登录(黑名单) 在 /etc/ssh/sshd_config 配置文件中设置DenyUsers选项,在配置文件末尾添加行格式如下(例如禁止用户testuser登录)。 DenyUsers testuser 上述修改需要重启sshd服务。 CentOS 6系列执行以下命令进行重启: service sshd restart Centos 7/EulerOS系列执行以下命令进行重启: systemctl restart sshd
  • 方法二:使用DenyHosts允许或者禁止指定IP通过SSH登录 linux 服务器通过设置 /etc/hosts.allow 和 /etc/hosts.deny 这个两个文件,可以限制或者允许某个或者某段IP地址远程SSH登录服务器.方法比较简单,具体如下: 允许192.168.1.3 这个IP地址ssh登录,打开/etc/hosts.allow,添加如下行: sshd: 192.168.1.3 禁止所有ip通过ssh登录,打开/etc/hosts.deny,添加如下行: sshd:ALL hosts.allow 和hosts.deny 两个文件同时设置规则的时候,hosts.allow 文件中的规则优先级高,假设按照上述方法设置后服务器只允许192.168.1.3这个IP地址的SSH登录,其它的 IP 都会拒绝。
  • 操作步骤 执行如下命令,查看云服务器CPU核数。 cat /proc/cpuinfo 关于CPU的核心参数说明: processor:指明第几个CPU处理器 cpu cores:指明每个处理器的核心数 执行以下命令,获取进程状态(以下操作以进程test.sh为例,对应的pid为23989) ps aux | grep test.sh 执行以下命令,查看进程当前运行在哪个CPU上。 taskset -p 进程号 例如:taskset -p 23989 显示的是十六进制数字1,转换为二进制为0001。每个1对应一个CPU,所以进程运行在第0个CPU上。 执行以下命令,指定进程运行在第二个CPU(CPU1)上。 taskset -pc 1 进程号 例如:taskset -pc 1 23989 CPU的标号是从0开始的,所以CPU1表示第二个CPU(第一个CPU的标号是0),这样就把应用程序test.sh绑定到了CPU1上运行。 也可以使用如下命令在启动程序时绑定CPU(启动时绑定到第二个CPU)上。 taskset -c 1 ./test.sh&
  • 入门实践 本文介绍DCS常见的应用实践,帮助您更好的使用DCS。 实践 描述 使用DCS实现热点资源顺序访问 在互联网场景,如商品秒杀中,随着整个系统的并发飙升,需要多台机器并发运行,假设此时两个用户的请求同时到来,但落在了不同的机器上,虽然这两个请求可以同时执行,但是因为两个机器运行在两个不同的Java虚拟机里面,其加的锁只对属于自己Java虚拟机里面的线程有效,对于其他Java虚拟机的线程是无效的。使用DCS服务Redis缓存实例实现分布式加锁,用加锁的方式对热点资源进行顺序访问控制,能够避免出现库存超卖及无序访问等现象。该实践介绍如何使用Redis对分布式应用加锁。 使用Nginx实现公网访问Redis Redis 4.0及以上版本Redis默认不支持公网访问,该实践主要介绍通过跳板机访问VPC内Redis实例,实现公网访问Redis。 Redis客户端通过CCE连接DCS 随着容器技术的普及,越来越多的应用程序部署在容器环境中。该实践介绍如何将Redis客户端部署到云容器引擎CCE的集群容器中,通过CCE连接DCS。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 devices Array of DeviceInfoMuti objects 设备列表 total Integer 查询条数 表5 DeviceInfoMuti 参数 参数类型 描述 device_id String 设备ID,设备唯一标识符 device_name String 设备名称 device_state String 设备状态 枚举值: OFFLINE 离线 ONLINE 在线 UNREGISTERED 未注册 device_type String 设备类型 枚举值: IPC 通用相机 NVR NVR设备 MEdge IVS1800设备 IPC-BULLET 枪机 IPC-BOX 筒机 IPC-CONCH 半球/海螺 IPDOME 球机 device_system_state String 设备系统冻结 枚举值: NORMAL 正常 UNAVAILABLE_FROZEN 冻结 create_time String 创建时间 update_time String 更新时间,在设备重新上线后或者移动设备分组后会修改时间 access_protocol Integer 接入协议类型 manufacture String 生产厂家 device_ability String 设备能力集:枚举类型,参考附录设备能力集,多个能力集用英文逗号分隔 device_cloud_ability Object 云端能力集规格 channel_total Integer 通道总数 channel_online_total Integer 通道在线总数 channel_offline_total Integer 通道离线总数 org_list Array of 表6 DeviceOrgInfo objects 设备组结果 sdk_ability String sdk能力集 表6 DeviceOrgInfo 参数 参数类型 描述 device_org_id String 设备组织ID device_org_name String 设备组织名称 device_org_level Integer 设备组织层级
共100000条