热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ASMQuorumFailGroupRAConExtendedDistanceClusters

法定容错组,和它失去联系也不影响集群运行参考:HowtoManuallyAddNFSvotingdisktoanExtendedClusterusin

法定容错组,和它失去联系也不影响集群运行

参考:
How to Manually Add NFS voting disk to an Extended Cluster using ASM in 11.2 (Doc ID 1421588.1)
Mount Options for Oracle files when used with NFS on NAS devices (Doc ID 359515.1)
RAC: Frequently Asked Questions [ID 220970.1]

***********************************************************
什么是Quorum FailGroup
***********************************************************
Quorum FailGroup中,只保存Voting Disk,用于RAC on Extended Distance Clusters,做仲裁盘用
要放在其他存储节点上或者通过NFS共享一个zero-padded文件作为voting disk
对于使用2个阵列提供保护的环境中,也可以使用Quorum FG
假设使用high冗余,一共5个投票盘。那么5个投票盘在2个阵列上的数目肯定不同
假设一个阵列上有3个,另一个阵列上有2个,如果存在3个投票盘的阵列宕机,那么将只有2个投票盘可用
这种情况下,集群的所有节点将宕机
这种情况下,必须在第三个地点放置一个投票盘,在2个阵列上各有2个投票盘。这样任意一个阵列宕机,还可以保证有3个投票盘是可用的

***********************************************************
如何添加Quorum FailGroup
***********************************************************

一般有3个阵列的情况不多,下面测试通过NFS来配置

1.当前情况:
HIGH冗余,5个投票盘
[oracle@database2 ~]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   7fc99b8d4dc54f27bf967f23524a19e3 (/dev/asm-crs1) [CRSDG]
 2. ONLINE   2ffd39d609bc4f71bf2b19de2e71c7a8 (/dev/asm-crs2) [CRSDG]
 3. ONLINE   002eb188e9b14ffbbf4d5a607ade51c2 (/dev/asm-crs3) [CRSDG]
 4. ONLINE   2319348cf3cc4f6abf116f973d8fd922 (/dev/asm-crs4) [CRSDG]
 5. ONLINE   6c3cb875ba7e4fe2bffe97189e2bae25 (/dev/asm-crs5) [CRSDG]
Located 5 voting disk(s).

SQL>  select GROUP_NUMBER,DISK_NUMBER,OS_MB,NAME,PATH,FAILGROUP,state from v$asm_disk order by 1,2;

GROUP_NUMBER DISK_NUMBER      OS_MB NAME                           PATH            FAILGROUP                      STATE
------------ ----------- ---------- ------------------------------ --------------- ------------------------------ --------
           1           0       2048 CRSDG_0000                     /dev/asm-crs01  CRSDG_0000                     NORMAL
           1           1       2048 CRSDG_0001                     /dev/asm-crs02  CRSDG_0001                     NORMAL
           1           2       2048 CRSDG_0002                     /dev/asm-crs03  CRSDG_0002                     NORMAL
           1           3       2048 CRSDG_0003                     /dev/asm-crs04  CRSDG_0003                     NORMAL
           1           4       2048 CRSDG_0004                     /dev/asm-crs05  CRSDG_0004                     NORMAL
           2           0      20480 DATADG_0000                    /dev/asm-data1  DATADG_0000                    NORMAL
           2           1      20480 DATADG_0001                    /dev/asm-data2  DATADG_0001                    NORMAL

2.配置NFS
2.1 NFS服务器端
[root@dm01db01 /]# cat /etc/exports
/oracle/votedisk 192.168.123.31(rw,sync,no_root_squash)
/oracle/votedisk 192.168.123.32(rw,sync,no_root_squash)
[root@dm01db01 /]#  /etc/rc.d/init.d/portmap start
Starting portmap:                                          [  OK  ]
[root@dm01db01 /]#  /etc/rc.d/init.d/nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Stopping RPC idmapd:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]

2.2 数据库服务器端MOUNT文件系统
# mount -t nfs -o rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,noac,vers=3,timeo=600,actimeo=0 192.168.123.139:/oracle/votedisk /u01/app/oracle/votedisk
# dd if=/dev/zero of=/u01/app/oracle/votedisk/votedisk01 bs=1M count=2048
# chown -R grid.oinstall /u01/app/oracle/votedisk

2.3 添加 quorum fg disk
SQL> alter system set asm_diskstring="/dev/asm*","/u01/app/oracle/votedisk/vote*" sid='*' scope=both;
SQL> alter diskgroup CRSDG add quorum failgroup FGQ DISK '/u01/app/oracle/votedisk/votedisk01';

SQL> select GROUP_NUMBER,DISK_NUMBER,OS_MB,NAME,PATH,FAILGROUP,state from v$asm_disk order by 1,2;

GROUP_NUMBER DISK_NUMBER      OS_MB NAME                           PATH            FAILGROUP                      STATE
------------ ----------- ---------- ------------------------------ --------------- ------------------------------ --------
           1           0       2048 CRSDG_0000                     /dev/asm-crs01  CRSDG_0000                     NORMAL
           1           1       2048 CRSDG_0001                     /dev/asm-crs02  CRSDG_0001                     NORMAL
           1           2       2048 CRSDG_0002                     /dev/asm-crs03  CRSDG_0002                     NORMAL
           1           3       2048 CRSDG_0003                     /dev/asm-crs04  CRSDG_0003                     NORMAL
           1           4       2048 CRSDG_0004                     /dev/asm-crs05  CRSDG_0004                     NORMAL
           1           5       2048 CRSDG_0005                     /u01/app/oracle FGQ                            NORMAL      <&#61;&#61;
                                                                   /votedisk/voted
                                                                   isk01

           2           0      20480 DATADG_0000                    /dev/asm-data1  DATADG_0000                    NORMAL
           2           1      20480 DATADG_0001                    /dev/asm-data2  DATADG_0001                    NORMAL
 
2.4 删除多余的磁盘    
在quorum fg添加后&#xff0c;可以看到还没有votedisk切换到其上
这时&#xff0c;我们将删除有3个投票盘阵列上的一个投票盘

[grid&#64;database1 votedisk]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   46bf9f1d43574f5bbfefe1377db152c4 (/dev/asm-crs01) [CRSDG]
 2. ONLINE   10892f57e2e84ffabfa4a5e6fa86aee5 (/dev/asm-crs02) [CRSDG]
 3. ONLINE   0a66ffb250394f13bfcfdb1946056058 (/dev/asm-crs03) [CRSDG]
 4. ONLINE   83fa917a0e844f23bf27238aff51b57a (/dev/asm-crs05) [CRSDG]
 5. ONLINE   18e561a6a5ff4fc0bf996f740aff70da (/dev/asm-crs04) [CRSDG]

SQL> alter diskgroup crsdg drop disk CRSDG_0004;                                                 <&#61;&#61;

[grid&#64;database1 votedisk]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   46bf9f1d43574f5bbfefe1377db152c4 (/dev/asm-crs01) [CRSDG]
 2. ONLINE   10892f57e2e84ffabfa4a5e6fa86aee5 (/dev/asm-crs02) [CRSDG]
 3. ONLINE   0a66ffb250394f13bfcfdb1946056058 (/dev/asm-crs03) [CRSDG]
 4. ONLINE   18e561a6a5ff4fc0bf996f740aff70da (/dev/asm-crs04) [CRSDG]
 5. ONLINE   6fc616a6923a4fb2bffca18e44a58533 (/u01/app/oracle/votedisk/votedisk01) [CRSDG]      <&#61;&#61;

***********************************************************
相关配置
***********************************************************
对于数据库DiskGroup&#xff0c;创建时应该为不同阵列的盘&#xff0c;指定好FAILGROUP&#xff0c;以确保2份数据&#xff08;NORMAL冗余&#xff09;放在不同的阵列中
修改参数asm_preferred_read_failure_groups&#xff0c;不同的节点&#xff0c;从不同的FG组中读取数据
 
***********************************************************
测试
***********************************************************
1.NFS服务器宕机

2014-02-13 16:56:38.476:
[cssd(3577)]CRS-1615:No I/O has completed after 50% of the maximum interval. Voting file /u01/app/oracle/votedisk/votedisk01 will be considered not functional in 99910 milliseconds
2014-02-13 16:57:28.541:
[cssd(3577)]CRS-1614:No I/O has completed after 75% of the maximum interval. Voting file /u01/app/oracle/votedisk/votedisk01 will be considered not functional in 49850 milliseconds
2014-02-13 16:57:58.565:
[cssd(3577)]CRS-1613:No I/O has completed after 90% of the maximum interval. Voting file /u01/app/oracle/votedisk/votedisk01 will be considered not functional in 19830 milliseconds
2014-02-13 16:58:18.573:
[cssd(3577)]CRS-1604:CSSD voting file is offline: /u01/app/oracle/votedisk/votedisk01; details at (:CSSNM00058:) in /u01/app/11.2.0/grid/log/database1/cssd/ocssd.log.

[root&#64;database1 ~]# crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   46bf9f1d43574f5bbfefe1377db152c4 (/dev/asm-crs01) [CRSDG]
 2. ONLINE   10892f57e2e84ffabfa4a5e6fa86aee5 (/dev/asm-crs02) [CRSDG]
 3. ONLINE   0a66ffb250394f13bfcfdb1946056058 (/dev/asm-crs03) [CRSDG]
 4. ONLINE   18e561a6a5ff4fc0bf996f740aff70da (/dev/asm-crs04) [CRSDG]
Located 4 voting disk(s).

集群件运行正常此时 ,互相之间可用沟通

恢复
[root&#64;database1 ~]# umount -f /u01/app/oracle/votedisk
[root&#64;database1 ~]# mount -t nfs -o rw,bg,hard,nointr,rsize&#61;32768,wsize&#61;32768,tcp,noac,vers&#61;3,timeo&#61;600,actimeo&#61;0 192.168.123.139:/oracle/votedisk /u01/app/oracle/votedisk

GROUP_NUMBER DISK_NUMBER      OS_MB NAME                           PATH                           FAILGROUP                      STATE
------------ ----------- ---------- ------------------------------ ------------------------------ ------------------------------ --------
           0           5       2048                                /u01/app/oracle/votedisk/voted                                NORMAL  <&#61;&#61; 文件此时并不属于CRSDG
                                                                   isk01
           0           9       2048                                /dev/asm-crs05                                                NORMAL
           1           0       2048 CRSDG_0000                     /dev/asm-crs01                 CRSDG_0000                     NORMAL
           1           1       2048 CRSDG_0001                     /dev/asm-crs02                 CRSDG_0001                     NORMAL
           1           2       2048 CRSDG_0002                     /dev/asm-crs03                 CRSDG_0002                     NORMAL
           1           3       2048 CRSDG_0003                     /dev/asm-crs04                 CRSDG_0003                     NORMAL
           1           4          0 CRSDG_0004                                                    FGQ                            NORMAL  <&#61;&#61;
           2           0      20480 DATADG_0000                    /dev/asm-data1                 DATADG_0000                    NORMAL
           2           1      20480 DATADG_0001                    /dev/asm-data2                 DATADG_0001                    NORMAL


[root&#64;database1 votedisk]# dd if&#61;/dev/zero of&#61;/u01/app/oracle/votedisk/votedisk01 bs&#61;1M count&#61;2048      <&#61;&#61; 重新格式化Voting disk

SQL> alter diskgroup CRSDG add quorum failgroup FGQ DISK &#39;/u01/app/oracle/votedisk/votedisk01&#39;;         <&#61;&#61; 重新添加

GROUP_NUMBER DISK_NUMBER      OS_MB NAME                           PATH            FAILGROUP                      STATE
------------ ----------- ---------- ------------------------------ --------------- ------------------------------ --------
           0           4       2048                                /dev/asm-crs05                                 NORMAL
           1           0       2048 CRSDG_0000                     /dev/asm-crs01  CRSDG_0000                     NORMAL
           1           1       2048 CRSDG_0001                     /dev/asm-crs02  CRSDG_0001                     NORMAL
           1           2       2048 CRSDG_0002                     /dev/asm-crs03  CRSDG_0002                     NORMAL
           1           3       2048 CRSDG_0003                     /dev/asm-crs04  CRSDG_0003                     NORMAL
           1           4       2048 CRSDG_0004                     /u01/app/oracle FGQ                            NORMAL        <&#61;&#61;
                                                                   /votedisk/voted
                                                                   isk01

           1           5          0 CRSDG_0005                                     FGQ                            NORMAL        <&#61;&#61;
           2           0      20480 DATADG_0000                    /dev/asm-data1  DATADG_0000                    NORMAL
           2           1      20480 DATADG_0001                    /dev/asm-data2  DATADG_0001                    NORMAL

SQL> alter diskgroup crsdg drop quorum disk CRSDG_0005 force;                                           <&#61;&#61; 将旧的删除

GROUP_NUMBER DISK_NUMBER      OS_MB NAME                           PATH            FAILGROUP                      STATE
------------ ----------- ---------- ------------------------------ --------------- ------------------------------ --------
           0           4       2048                                /dev/asm-crs05                                 NORMAL        <&#61;&#61;
           1           0       2048 CRSDG_0000                     /dev/asm-crs01  CRSDG_0000                     NORMAL
           1           1       2048 CRSDG_0001                     /dev/asm-crs02  CRSDG_0001                     NORMAL
           1           2       2048 CRSDG_0002                     /dev/asm-crs03  CRSDG_0002                     NORMAL
           1           3       2048 CRSDG_0003                     /dev/asm-crs04  CRSDG_0003                     NORMAL
           1           4       2048 CRSDG_0004                     /u01/app/oracle FGQ                            NORMAL        <&#61;&#61;
                                                                   /votedisk/voted
                                                                   isk01

           2           0      20480 DATADG_0000                    /dev/asm-data1  DATADG_0000                    NORMAL
           2           1      20480 DATADG_0001                    /dev/asm-data2  DATADG_0001                    NORMAL

2.先于NFS服务器启动GRID
[root&#64;database1 ~]# crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   46bf9f1d43574f5bbfefe1377db152c4 (/dev/asm-crs01) [CRSDG]
 2. ONLINE   10892f57e2e84ffabfa4a5e6fa86aee5 (/dev/asm-crs02) [CRSDG]
 3. ONLINE   0a66ffb250394f13bfcfdb1946056058 (/dev/asm-crs03) [CRSDG]
 4. ONLINE   18e561a6a5ff4fc0bf996f740aff70da (/dev/asm-crs04) [CRSDG]
 5. OFFLINE  ad0268dcec654f14bfe60497d9490780 () []
Located 5 voting disk(s).

[root&#64;database1 ~]# crsctl stat res -t                                             <&#61;&#61; 无法启动
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4000: Command Status failed, or completed with errors.

[root&#64;database2 ~]# crsctl stat res -t -init
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.asm
      1        ONLINE  INTERMEDIATE database2                OCR not started       <&#61;&#61; ASM启动&#xff0c;但是CRSDG无法MOUNT
ora.cluster_interconnect.haip
      1        ONLINE  ONLINE       database2                                    
ora.crf
      1        ONLINE  ONLINE       database2                                    
ora.crsd
      1        ONLINE  OFFLINE                                                   
ora.cssd
      1        ONLINE  ONLINE       database2                                    
ora.cssdmonitor
      1        ONLINE  ONLINE       database2                                    
ora.ctssd
      1        ONLINE  ONLINE       database2                ACTIVE:0            
ora.diskmon
      1        OFFLINE OFFLINE                                                   
ora.drivers.acfs
      1        ONLINE  ONLINE       database2                                    
ora.evmd
      1        ONLINE  INTERMEDIATE database2                                    
ora.gipcd
      1        ONLINE  ONLINE       database2                                    
ora.gpnpd
      1        ONLINE  ONLINE       database2                                    
ora.mdnsd
      1        ONLINE  ONLINE       database2    
      
SQL> alter diskgroup crsdg mount;
alter diskgroup crsdg mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15040: diskgroup is incomplete
ORA-15042: ASM disk "4" is missing from group number "1"

SQL> alter diskgroup crsdg mount force;                     <&#61;&#61; 强制MOUNT

Diskgroup altered.

[root&#64;database1 ~]# crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRSDG.dg
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
ora.DATADG.dg
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
ora.LISTENER.lsnr
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
ora.LISTENER_1522.lsnr
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
ora.LISTENER_1523.lsnr
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
ora.asm
               ONLINE  ONLINE       database1                Started             
               ONLINE  ONLINE       database2                Started             
ora.gsd
               OFFLINE OFFLINE      database1                                    
               OFFLINE OFFLINE      database2                                    
ora.net1.network
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
ora.ons
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
ora.registry.acfs
               ONLINE  ONLINE       database1                                    
               ONLINE  ONLINE       database2                                    
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       database1                                    
ora.cvu
      1        OFFLINE OFFLINE                                                   
ora.database1.vip
      1        ONLINE  ONLINE       database1                                    
ora.database2.vip
      1        ONLINE  ONLINE       database2                                    
ora.oc4j
      1        ONLINE  ONLINE       database1                                    
ora.orcl.billa3.svc
      1        ONLINE  ONLINE       database1                                    
ora.orcl.db
      1        ONLINE  ONLINE       database1                Open                
      2        ONLINE  ONLINE       database2                Open                
ora.scan1.vip
      1        ONLINE  ONLINE       database1   
      
[root&#64;database1 ~]# crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   46bf9f1d43574f5bbfefe1377db152c4 (/dev/asm-crs01) [CRSDG]
 2. ONLINE   10892f57e2e84ffabfa4a5e6fa86aee5 (/dev/asm-crs02) [CRSDG]
 3. ONLINE   0a66ffb250394f13bfcfdb1946056058 (/dev/asm-crs03) [CRSDG]
 4. ONLINE   18e561a6a5ff4fc0bf996f740aff70da (/dev/asm-crs04) [CRSDG]
Located 4 voting disk(s).      

恢复和测试1相同


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • 本文介绍了如何在Jquery中通过元素的样式值获取元素,并将其赋值给一个变量。提供了5种解决方案供参考。 ... [详细]
  • 本文介绍了Python字典视图对象的示例和用法。通过对示例代码的解释,展示了字典视图对象的基本操作和特点。字典视图对象可以通过迭代或转换为列表来获取字典的键或值。同时,字典视图对象也是动态的,可以反映字典的变化。通过学习字典视图对象的用法,可以更好地理解和处理字典数据。 ... [详细]
  • PatchODAX8: ... [详细]
  • hadoop1.2.1文档中这样写:Nowcheckthatyoucansshtothelocalhostwithoutapassphrase:$sshlocalhostIfyou ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • pc电脑如何投屏到电视?DLNA主要步骤通过DLNA连接,使用WindowsMediaPlayer的流媒体播放举例:电脑和电视机都是连接的 ... [详细]
author-avatar
手机用户26536338_53
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有