当前位置:首页 » 操作系统 » kvm源码分析

kvm源码分析

发布时间: 2022-05-23 14:56:08

㈠ KVM、QEMU和KQemu有什么区别

1、KVM是一套虚拟机管理系统,包括内核虚拟构架和处理器相关模块,其借用了 QEMU其它一些组件,KVM的非内核部分是由QEMU实现的;加载了模块后,才能进一步通过其他工具创建虚拟机。

2、QEMU是另外的一套虚拟机管理系统,Kqemu是QEMU的加速器,可以认为是QEMU的一个插件;QEMU可以虚拟出不同架构的虚拟机,如在x86平台上可以虚拟出power机器。

3、KVM负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但KVM不能模拟其他设备。QEMU是模拟IO设备(网卡,磁盘),KVM加上QEMU之后就能实现真正意义上服务器虚拟化。因为用到了上面两个东西,所以一般都称之为QEMU-KVM。

(1)kvm源码分析扩展阅读:

1、KVM 技术已经从最初的基础SOHO办公型,发展成为企业 IT 基础机房设施管理系统。可以从kvm 客户端管理软件轻松的直接访问位于多个远程位置的服务器和设备。

2、QEMU在GNU/linux平台上使用广泛。具有高速度及跨平台的特性,通过KQEMU这个闭源的加速器,QEMU能模拟至接近真实电脑的速度。

3、KQEMU现可运行在基于x86或x86_64的Linux2.4或Linux 2.6主机上。

㈡ kvm_stat 字段意思说明

其实就是读的/sys/kernel/debug/kvm下的32个文件,有知道的兄弟知道这个32 个文件是什么意思的吗?字段定义是在源代码的arch/x86/kvm/vmx.c

查了下日本富士通fujitsu的资料终于找到了。。。哎为什么不是中国的网站
No. オプション 意味 备考
1 -h, --help 显示帮助信息并推出
2 -1, --once, --batch 以batch mode形式运行一秒钟
3 -l, --log 以log形式运行 类似vmstat命令
4 -f FIELDS, --fields=FIELDS 指定要显示的字段 可用正则表达式指定多个字段

3. 出力结果の各项目意味

No. フィールド 意味 备考
1 efer_reload efer寄存器重载
2 exits -
3 fpu_reload 浮点运算的单元重载 FPU : Float Point Unit浮点运算单元
4 halt_exits -
5 halt_wakeup -
6 host_state_reload 主机状态重载
7 hypercalls 系统调用数 hypercall接口允许domain通过执行一个同步软陷阱陷入到hypervisor执行一个特权操作,这类似于在传统的操作系统中对系统调用的使用
8 insn_emulation 使用反汇编器进行格式化仿真的指令数
9 insn_emulation_fail 使用反汇编器进行格式化仿真的指令失败数
10 invlpg 内核修改页表项后,需要发出invlpg指令,将TLB相应表项置为invalidate
11 io_exits IO终止数
12 irq_exits 中断终止数 IRQ : Interrupt Request 中断请求
13 irq_injections 后台中断请求数
14 irq_window 前台中断请求数
15 largepages 大page数
16 mmio_exits 终止的内存映射I/O数 MMIO内存映射I/O即MMIO,它是PCI规范的一部分,I/O设备被放置在内存空间而不是I/O空间。从处理器的角度看,内存映射I/O后系统设备访问起来和内存一样。
17 mmu_cache_miss 丢失的cache MMU :Memory Management Unit 内存管理单元
18 mmu_flooded 溢出的内存数
19 mmu_pde_zapped -
20 mmu_pte_updated 更新的个人内存
21 mmu_pte_write 个人写入的内存管理单元
22 mmu_recycled 回收的内存管理单元
23 mmu_shadow_zapped -
24 mmu_unsync 不同步的内存管理单元
25 nmi_injections 后台不可屏蔽中断数(即CPU不能屏蔽) NMI : Non Maskable Interrupt 不可屏蔽中断(即CPU不能屏蔽) 无论状态寄存器中 IF 位的状态如何,CPU收到有效的NMI必须进行响应
26 nmi_window 前台不可屏蔽中断数
27 pf_fixed 固定的页面文件数(虚拟内存) PF :Page File,页面文件(虚拟内存)
28 pf_guest 用户页面文件数(虚拟内存)
29 remote_tlb_flush 远端刷新的页表缓冲刷数 TLB:Translation lookaside buffer,即旁路转换缓冲,或称为页表缓冲;里面存放的是一些页表文件(虚拟地址到物理地址的转换表)。
30 request_irq 中断处理数
31 signal_exits 退出信号数
32 tlb_flush 刷新的页表缓冲刷数

㈢ qemu-kvm源码分析一个虚拟机进程里面有几个线程

线程大家都熟悉,new Thread().start()即会创建一个线程,这里我首先指出一点new Thread()其实并不会创建一个真正的线程,只有在调用了start方法之后才会创建一个线程,这个大家分析下Java代码就知道了
Thread的构造函数是纯Java代码,start方法会调到一个native方法start0里,而start0其实就是JVM_StartThread这个方法!

㈣ KVM技术是什么

据我所知KVM技术是内核级虚拟化技术(Kernel-based Virtual Machine) 。

你想要使用KVM相关的软件可以使用上海贝锐家的,他们为用户提供包括:花生壳(内网穿透)、向日葵(远程控制)、蒲公英(SD-WAN组网)、域名建站等一站式的开放式互联网服务。

向日葵远程控制是公司的核心产品,他为客户提供整套支持全平台、多设备和多场景的解决方案。

蒲公英SD-WAN,他是贝锐科技为市场提供的新一代智能组网解决方案。蒲公英基于SD-WAN的智能组网方案,采用自主研发的云虚拟组网技术。

花生壳是国内内网穿透服务商,他无需公网IP、自带端口映射,能轻松穿透内网实现各类局域网应用或设备的远程连接。

2020年,贝锐科技用户量突破3000万,获得由高成资本独家领投的A轮数千万美元融资。

㈤ kvm虚拟化技术的定义是什么

kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。 KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。

㈥ LINUX的XEN和KVM到底区别在什么地方

目前为止,虚拟技术的老大仍然是VMware,虽然被EMC收购,名义上是EMC的老二,但事实上由于技术的牛X,老二不是很摆老大,当然这只是聊天的话,不做为事实依据。

一、KVM简介

KVM是一个全虚拟化的解决方案。可以在x86架构的计算机上实现虚拟化功能。但KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化支持的CPU上运行,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。

Xen与KVM的比较

Xen是Linux下的一个虚拟化解决方案,但由于被Citrix收购后,变成了和红帽企业版一样了,卖服务收取费用,Redhat从rhel6.0开始已经从内核中把XEN踢出去了,全心投入开发免费的KVM,虽然市场上老用户还在用Xen,但相信kvm会逐步占领大面积的市场,必竟有redhat做为强大支持源。

Xen的实现方法是运行支持Xen功能的kernel,这个kernel是工作在Xen的控制之下,叫做Domain0,使用这个kernel启动机器后,你可以在这个机器上使用qemu软件,虚拟出多个系统。Xen的缺点是如果你需要更新Xen的版本,你需要重新编译整个内核,而且,稍有设置不慎,系统就无法启动。

相比较,KVM就简化的多了。它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块。它结构更加精简、代码量更小。所以,出错的可能性更小。并且在某些方面,性能比Xen更胜一筹。

二、KVM的使用

现在以Turbolinux 11版本为基础,介绍KVM的使用方法。

在安装之前,你需要先确认,你的CPU是否支持虚拟化技术,执行:

# egrep '^flags.*(vmx|svm)' /proc/cpuinfo

如果有输出返回,则表示你的CPU支持虚拟化技术。

1.KVM的安装

从官方网站下载KVM源码包:http://kvm.qumranet.com
我们使用KVM-33版本

# tar zxf kvm-33.tar.gz
# cd kvm-33
# ./configure --prefix=/usr/local/kvm-33
# make
# make install

make install后,kvm的模块会安装到/lib/moles/$KernelVersion/extra/目录下。其他相关文件会安装到/usr/local/kvm-33/目录下。

将kvm相关目录连接到系统目录中

# ln -s /usr/local/kvm-33/bin/* /usr/bin/
# ln -s /usr/local/kvm-33/lib/* /usr/lib/
(若为x86_64系统,则执行: ln -s /usr/local/kvm-33/lib64/* /usr/lib64/)
# ln -s /usr/local/kvm-33/include/kvmctl.h /usr/include/
# ln -s /usr/local/kvm-33/include/linux/* /usr/include/linux/
# ln -s /usr/local/kvm-33/share/qemu /usr/share/

2.KVM的使用

a.你需要先建立一个映像文件作为虚拟系统的硬盘

# mkdir /images
# cd /images
# /usr/bin/qemu-img -f qcow gtes11.img 20G

b.创建网络配置脚本

# echo ’/sbin/ifconfig $1 10.0.1.1 netmask 255.255.255.0’ > /etc/qemu-ifup

c.加载KVM模块

Intel CPU使用:
# modprobe kvm-intel
AMD CPU使用:
# modprobe kvm-amd

d.安装虚拟系统

# /usr/bin/qemu-i386 -m 512 -k en-us -M pc -hda /images/gtes11.img -cdrom /iso/zuma-SP3-rc3-6-\
disc1-20061031.iso -net nic,vlan=1,model=rtl8139,macaddr=00:00:00:00:99:01 -net tap,vlan=1,ifname=tap0,\
script=/etc/qemu-ifup -vnc localhost:1 -boot d

在另一个终端执行:

# vncviewer localhost:1

参数分析:

我们为虚拟系统分配512MB内存。使用gtes11.img作为它的第一块硬盘,使用Turbolinux10.5的disc1作为它的光盘。
并从光盘引导。它有一块rtl8139的网卡,MAC地址为:00:00:00:00:99:01,并把这个网卡与主机的tap0接口连接。
tap0接口使用/etc/qemu-ifup脚本进行初始化。虚拟系统的输出作为一个vnc服务器,绑定在主机的localhost:1上。

注:

1.若为x86_64系统,则使用/usr/bin/qemu-system-x86_64代替qemu-i386

2.在64位系统上,可以安装32位和64位的虚拟系统。但在32位系统上,只能安装32位的虚拟系统。

qemu参数介绍:

-da 映像文件:使用映像文件作为虚拟系统的第一块硬盘。同样还可以使用hdb、hdc、hdd指定第2、3、4块硬盘。
-drom 光盘映像文件:使用光盘映像文件作为虚拟系统的光盘。
-oot [a|c|d|n]:设置虚拟系统的引导顺序。a为软驱、c为硬盘、d为光驱、n为网络。
- 内存大小:设置虚拟系统使用的内存大小,单位为MB。
- 语言:设置虚拟系统键盘类型。
-et nic[,vlan=n][,macaddr=addr][,model=type]
建立一个虚拟网卡,并把它连接到VLAN的n端口上。
-net tap[,vlan=n][,fd=h][,ifname=name][,script=file]

把主机的TAP网络接口连接到VLAN的n端口上,并使用script指定的脚本进行初始化。

㈦ kvm跨系统原理

KVM源代码分析1:基本工作原理 下了很大决心挖这个坑,虽然之前对kvm有些了解,但纸上得来终觉浅,只有深入到代码层面,才能摈弃皮毛,看到血肉,看到真相。作为挖坑的奠基石,准备写上几篇:kvm基本工作原理、CPU

调度原理、KVM内存管理、KVM存储管理、KVM设备管理。挖好之后进入正题。  所有的虚拟化都是两部分组成:虚拟机和宿主(HOST),虚拟机内运行正常的业务程序,HOST则正常运行虚拟机,此处的虚拟机则是KVM,负责在HOST里面虚拟化出独立的OS环境。 KVM属于完全虚拟化,功能组件上由两部分组成,KVM Driver(内核态)和Qemu(用户态)。KVM Driver负责模拟虚拟机的CPU运行,内存管理,设备管理等;Qemu则模拟虚拟机的IO设备接口以及用户态控制接口。    kvm-oenhan  如上图所示,Qemu在最上层,将虚拟机的整体呈现到host用户上,可以理解成客户模式;Qemu通过中间层libkvm或者ioctl等控制/dev/kvm设备接口,从而掌握内核态中kvm

驱动进行的资源分配,即用户态模式;kvm驱动接收用户态操作指令,控制虚拟机在内核态的资源分配,称之为内核模式。在HOST里面,客户模式的体现就是一个虚拟机内部环境,用户态则是虚拟机进程。

  oenhan_kvm  上图是一个执行过程图,首先启动一个虚拟化管理软件,开始启动一个虚拟机,通过ioctl等系统调用向内核中申请指定的资源,搭建好虚拟环境,启动虚拟机内的系统,虚拟机内的系统向内核反馈相关资源申请处理,如果是io请求,则提交给用户模式下的qemu处理,非io请求则将处理结果反馈给客户模式。  libkvm是qemu自己使用的用户态接口,可以把qemu源代码解开,里面有libkvm的函数库,不过并不对外呈现,虚拟机编程接口一般使用libvirt。 

KVM的思想是在Linux内个的基础上添加虚拟机管理模块,重用Linux内核中已经完善的进程调度,内存管理,IO管理等部分,因此KVM并不是一个完整的模拟器,而只是一个提供虚拟化功能的内核插件,具体的模拟器工作是借助QEMU来完成的.     在Xen的体系结构中,Xen Hypervisor运行于硬件之上,并且将系统资源进行了虚拟化,将虚拟化的资源分配给上层的虚拟机(VM),然后通过虚拟机VM来运行相应的客户机操作系统.    在KVM中,一个虚拟机就是一个传统的Linux中的线程,拥有自己的PID号,也可以被kill系统调用直接杀死(在这种情况下,虚拟机的行为表现为"突然断电").在一个Linux系统中,有多少个VM,就有多少个进程.如:    以上VM进程信息是通过qemu-kvm来进行的,相关的控制开关作为命名行参数输入,如虚拟映像对应的磁盘,虚拟网卡,VNC设置,显卡设置和IO设置等.   KVM的API是通过/dev/kvm设备进行访问的./dev/kvm是一个字符型设备. 1  root@ubuntu:~# ls -l /dev/kvm 2  crw-rw---- 1 root kvm 10, 232 Mar 14 14:20 /dev/kvm    kvm仅仅是Linux内核的一个模块,管理和创建完整的KVM虚拟机,需要更多的辅助工具.  1.qemu-Kvm:仅有KVM模块是远远不够的,因为用户无法直接控制内核模块去做事情,还必须有一个用户空间的工具。关于用户空间的工具,KVM 的开发者选择了已经成型的开源虚拟化软件 QEMU.QEMU 是一个强大的虚拟化软件,它可以虚拟不同的 CPU 构架.   运行在内核态的KVM模块通过/dev/kvm字符设备文件向外提供操作接口.KVM通过提供libkvm这个操作库,将/dev/kvm这一层面的ioctl类型的API转化成为通常意义上的函数API调用,提供给QEMU的相应适配层.    比如说在x86 的CPU上虚拟一个Power的CPU,并利用它编译出可运行在 Power上

㈧ KVM系统是什么意思

KVM是键盘(Keyboard)、显示器(Video)、鼠标(Mouse)的缩写。KVM技术的核心思想是:通过适当的键盘、鼠标、显示器的配置,实现系统和网络的集中管理和提供起可管理性,提高系统管理员的工作效率,节约机房的面积,降低网络工程和服务器系统的总体拥有成本,避免使用多显示器产生的辐射,营建健康环保的机房。利用KVM多主机切换系统,就可以通过一套KVM在多个不同操作系统的主机或服务器之间进行切换了.

KVM切换器的安全性能是很多人容易忽略的,随着数字KVM切换器的广泛应用随之而来的安全性问题显得日益重要。下面就分析一些关于KVM产品安全性的问题:KVM切换器作为管理多服务器的唯一接口,其产品的安全性非常重要。模拟的KVM由于受限于使用范围,只需要明确IT管理人员分工以及控制台的访问就可以极大的提升安全性。而数字KVM产品,因为是基于网络的产品,只要知道IP地址即可通过网络访问,因此对设备的安全性要求就更高了。

安全问题不仅仅是输出数据的安全,还有用户帐号的安全问题,由于KVM是基于IP网络的是个开放的系统,所以用户帐号也有被别有用心的人通过各种黑客手段或网络监听窃取的可能。另外还要看KVM系统的集中管理系统的热备份能力,及易维护性如何,特别用户能否自行维护很重要。

安全性问题:从传输上讲,模拟信号要高于数字信号的KVM,因为数字产品传输的是键盘、鼠标、显示数字信号,所以如果通过网络被窃取,将引起极大的安全隐患,如何加密这些信号显得至关重要,目前市场上的数字KMV加密方式有:SSL,DES,3DES,,所以在购买KVM前设备一定要了解清楚。传输安全不仅仅表现在加密方式上,最先进的KVM设备采用视频增量传输机制,即仅传输变化的视频部分,从安全上讲即使信号被窃取也有不可还原的特点。

不同的企业选择的KVM解决方案,最关心的则是基于IP的KVM的安全问题,KVM的根本目的就是推动对服务器和PC的远程控制技术,但与此同时,却暗示了巨大的安全隐患。如果建立KVM系统是为了远程操作,那么自然会存在风险。企业应该树立一个至关重要的观念:实施基于IP的KVM时,千万不要在安全问题上吝啬。

㈨ 想学习一下KVM,有没有相关书籍和小项目推荐

如果不作KVM mole开发,可以先从使用入手,部起来,运行玩一下。然后逐渐了解相关概念。这两个blog入门很不错,后面的也已经出了书。


如果是对要对KVM作二次开发,扩展它的功能,需要具备一定的Linux内核知识和掌握基本的操作系统原理。还要看扩展的具体功能,是CPU相关、内存相关,当然,必须要读一下KVM的源码,有必要的话,连同QEMU的源码配合来阅读,毕竟KVM知识提供底层支持,需要有QEMU等模拟器发起调用。

在此基础上自己下载一个版本开始安装进行学习。到KVM的官方网站上看看安装文档搭建起环境应该不成问题。自己再试试跑几个虚拟机捣鼓捣鼓。


等你捣鼓了一段时间基本算是入门了,下一步就要看你的目标和目的了,不过到了这一步基本上你也知道以后的学习方向了。



㈩ KVM与XEN区别是什么

一、KVM简介

KVM是一个全虚拟化的解决方案。可以在x86架构的计算机上实现虚拟化功能。但KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化支持的CPU上运行,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。

Xen与KVM的比较

Xen是Linux下的一个虚拟化解决方案,但由于被Citrix收购后,变成了和红帽企业版一样了,卖服务收取费用,Redhat从rhel6.0开始已经从内核中把XEN踢出去了,全心投入开发免费的KVM,虽然市场上老用户还在用Xen,但相信kvm会逐步占领大面积的市场,必竟有redhat做为强大支持源。

Xen的实现方法是运行支持Xen功能的kernel,这个kernel是工作在Xen的控制之下,叫做Domain0,使用这个kernel启动机器后,你可以在这个机器上使用qemu软件,虚拟出多个系统。Xen的缺点是如果你需要更新Xen的版本,你需要重新编译整个内核,而且,稍有设置不慎,系统就无法启动。

相比较,KVM就简化的多了。它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块。它结构更加精简、代码量更小。所以,出错的可能性更小。并且在某些方面,性能比Xen更胜一筹。

二、KVM的使用

现在以Turbolinux 11版本为基础,介绍KVM的使用方法。

在安装之前,你需要先确认,你的CPU是否支持虚拟化技术,执行:

# egrep '^flags.*(vmx|svm)' /proc/cpuinfo

如果有输出返回,则表示你的CPU支持虚拟化技术。

1.KVM的安装

从官方网站下载KVM源码包:http://kvm.qumranet.com
我们使用KVM-33版本

# tar zxf kvm-33.tar.gz
# cd kvm-33
# ./configure --prefix=/usr/local/kvm-33
# make
# make install

make install后,kvm的模块会安装到/lib/moles/$KernelVersion/extra/目录下。其他相关文件会安装到/usr/local/kvm-33/目录下。

将kvm相关目录连接到系统目录中

# ln -s /usr/local/kvm-33/bin/* /usr/bin/
# ln -s /usr/local/kvm-33/lib/* /usr/lib/
(若为x86_64系统,则执行: ln -s /usr/local/kvm-33/lib64/* /usr/lib64/)
# ln -s /usr/local/kvm-33/include/kvmctl.h /usr/include/
# ln -s /usr/local/kvm-33/include/linux/* /usr/include/linux/
# ln -s /usr/local/kvm-33/share/qemu /usr/share/

2.KVM的使用

a.你需要先建立一个映像文件作为虚拟系统的硬盘

# mkdir /images
# cd /images
# /usr/bin/qemu-img -f qcow gtes11.img 20G

b.创建网络配置脚本

# echo ’/sbin/ifconfig $1 10.0.1.1 netmask 255.255.255.0’ > /etc/qemu-ifup

c.加载KVM模块

Intel CPU使用:
# modprobe kvm-intel
AMD CPU使用:
# modprobe kvm-amd

d.安装虚拟系统

# /usr/bin/qemu-i386 -m 512 -k en-us -M pc -hda /images/gtes11.img -cdrom /iso/zuma-SP3-rc3-6-\
disc1-20061031.iso -net nic,vlan=1,model=rtl8139,macaddr=00:00:00:00:99:01 -net tap,vlan=1,ifname=tap0,\
script=/etc/qemu-ifup -vnc localhost:1 -boot d

在另一个终端执行:

# vncviewer localhost:1

参数分析:

我们为虚拟系统分配512MB内存。使用gtes11.img作为它的第一块硬盘,使用Turbolinux10.5的disc1作为它的光盘。
并从光盘引导。它有一块rtl8139的网卡,MAC地址为:00:00:00:00:99:01,并把这个网卡与主机的tap0接口连接。
tap0接口使用/etc/qemu-ifup脚本进行初始化。虚拟系统的输出作为一个vnc服务器,绑定在主机的localhost:1上。

注:

1.若为x86_64系统,则使用/usr/bin/qemu-system-x86_64代替qemu-i386

2.在64位系统上,可以安装32位和64位的虚拟系统。但在32位系统上,只能安装32位的虚拟系统。

qemu参数介绍:

-da 映像文件:使用映像文件作为虚拟系统的第一块硬盘。同样还可以使用hdb、hdc、hdd指定第2、3、4块硬盘。
-drom 光盘映像文件:使用光盘映像文件作为虚拟系统的光盘。
-oot [a|c|d|n]:设置虚拟系统的引导顺序。a为软驱、c为硬盘、d为光驱、n为网络。
- 内存大小:设置虚拟系统使用的内存大小,单位为MB。
- 语言:设置虚拟系统键盘类型。
-et nic[,vlan=n][,macaddr=addr][,model=type]
建立一个虚拟网卡,并把它连接到VLAN的n端口上。
-net tap[,vlan=n][,fd=h][,ifname=name][,script=file]

把主机的TAP网络接口连接到VLAN的n端口上,并使用script指定的脚本进行初始化。

热点内容
安卓手机高温降频怎么关闭 发布:2024-10-26 15:02:41 浏览:366
mysql查看数据库名 发布:2024-10-26 14:51:39 浏览:130
spg算法 发布:2024-10-26 14:44:50 浏览:414
oracle查看sql执行 发布:2024-10-26 14:44:04 浏览:860
标准配置什么意思 发布:2024-10-26 14:35:27 浏览:881
查看linux所有用户 发布:2024-10-26 14:11:15 浏览:16
useraddftp 发布:2024-10-26 13:59:21 浏览:622
安卓免费私密相册哪个好用 发布:2024-10-26 13:41:20 浏览:640
湛江移动服务器ip 发布:2024-10-26 13:12:17 浏览:635
找回dns服务器地址 发布:2024-10-26 12:48:23 浏览:241