设为首页 收藏本站
查看: 556|回复: 0

[经验分享] redhat6.3下安装ORACLE11.2.3RAC

[复制链接]

尚未签到

发表于 2018-5-10 13:05:46 | 显示全部楼层 |阅读模式
  主机环境:双节点,浪潮850
  操作系统:REDHAT 6.3
  内核版本:2.6.32-279.el6.x86_64
  ORACLE数据库版本:11.2.0.3.0
  网卡两块:bond0,bond0:1  均为多块eth网卡捆绑后的网卡
  共享存储连光纤交换机
  

  一 操作系统准备
  

  1 系统软件包
  

  binutils-2.17.50.0.6
  compat-libstdc++-33-3.2.3
  compat-libstdc++-33-3.2.3 (32 bit)
  elfutils-libelf-0.125
  elfutils-libelf-devel-0.125
  # gcc-4.1.2
  gcc-c++-4.1.2
  # glibc-2.5-24
  # glibc-common-2.5
  # glibc-devel-2.5
  # glibc-headers-2.5
  ksh-20060214
  libaio-0.3.106
  libaio-0.3.106 (32 bit)
  libaio-devel-0.3.106
  libaio-devel-0.3.106 (32 bit)
  # libgcc-4.1.2
  libstdc++-4.1.2
  libstdc++-4.1.2 (32 bit)
  libstdc++-devel 4.1.2
  make-3.81
  numactl-devel-0.9.8.x86_64
  sysstat-7.0.2
  numactl-devel
  unixODBC
  unixODBC-devel
  

  安装gcc软件时需要上述“#”号后面软件包按一定顺序安装,否则在安装GI时(测试完成之后)会
  报错:"error in inroking target 'mkldflags ntcontab.o nnfgt' of makefile ' /u01/app/11.2.0/grid/network/lib/ins-net-client.mk' "
  安装顺序如下:
  glibc-common-2
  kernel-header-2
  libgcc-4
  glibc-2
  libgomp-4
  nscd-2
  glib-headers-2
  glibc-devel-2
  mpfr-2.4
  ppl-0.
  cloop-ppl-0.
  cpp-4
  gcc-4
  

  报错时上网查询,有给出CPP包没安的解释,但如果不按顺序把GCC按上的话仍然会报次错误。
  

  ( 配置操作系统参数 )
  2 网络参数
  由于不使用DNS,直接在/etc/host
  #public
  192.168.20.17  lc01 lc01.localdomain
  192.168.20.18  lc02 lc02.localdomain
  

  #private
  10.10.10.17  lc01-priv lc01-priv.localdomain
  10.10.10.18  lc02-priv lc02-priv.localdomain
  

  #virtual
  192.168.20.22  lc01-vip lc01-vip.localdomain
  192.168.20.21  lc02-vip lc02-vip.localdomain
  #scan
  192.168.20.19 data-scan
  

  3 修改操作系统内核
  在/etc/sysctl.conf文件中添加修改
  
  # 信息队列的最大值
  kernel.msgmnb = 65536
  

  # 一条信息的最大值
  kernel.msgmax = 65536
  

  # 用于定义单个共享内存的最大值,应能在一个共享内存段下容纳下整个SGA,设置过低会导致需创建多个共享导致系统性能下降
  kernel.shmmax = 687194767360
  

  # 可使用共享内存总页数,单位 pages,一般为shmmax/shmmin
  kernel.shmall = 167772160
  #共享内存段的最大数量,一般为4096
  kernel.shmmni = 4096
  

  #semaphores:semmsl,semmns,semopm,semmni
  kernel.sem = 5200 665600 5200 128
  

  #semmsl 信号量集合中能包含的信号量最大数目
  #semmns 系统内可许可的信号量最大数目
  #semopm 表示单个semopm()调用在一个信号集合上可以执行的操作数量
  #semmni 表示系统信号量集合总数
  

  #系统许可的文件句柄的最大数,linux系统中可以打开文件的数量
  fs.file-max = 6815744
  #同时可拥有异步IO请求数目
  fs.aio-max-nr = 1048576
  

  #套接字接收缓冲区大小的缺省值
  net.core.rmem_default = 262144
  #套接字接收缓冲区大小的最大值
  net.core.rmem_max = 4194304
  #套接字发送缓冲区大小的缺省值
  net.core.wmem_default = 262144
  #套接字发送缓冲区大小的最大值
  net.core.wmem_max = 1048586
  #应用程序可使用的ipv4端口范围
  net.ipv4.ip_local_port_range = 9000 65500
  

  修改完后使用/sbin/sysctl -p使参数生效
  

  4 修改/etc/security/limits.conf
  加入
  #nproc 单个用户可用最大进程数量,nofile 可打开文件的最大数量
  *                soft    nproc           6000
  *                hard    nproc           16384
  *                soft    nofile          1024
  *                hard    nofile          65536
  

  5 禁用selinux和firewall
  在 /etc/selinux/config 文件中把SELINUX=enable改为SELINUX=disable
  service iptables stop
  chkconfig iptables off
  #如果不按firewall安装GI时会报错
  

  6 建立用户和组
  groupadd -g 500 oninstall
  groupadd -g 501 dba
  groupadd -g 502 oper
  useradd -u 600 -g oinstall -G dba,oper oracle
  passwd oracle
  

  7 创建文件夹
  mkdir -p /u01/app/grid
  mkdir -p /u01/app/11.2.0/grid
  mkdir -p /u01/app/oracle
  chown -R root:dba /u01
  chown -R oracle:oinstall /u01/app/oracle
  chown -R grid:oinstall /u01/app/grid
  chmod -R 755 /U01
  

  8 添加环境变量
  su - oracle
  在 .bash_profile中
  #ORACLE_SETTING
  export DIAPLAY=:0.0
  TMP=/tmp;export TMP
  TMPDIR=$TMP;export TMPDIR
  ORACLE_BASE=/u01/app/oracle;export ORACLE_BASE
  ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1;export ORACLE_HOME
  ORACLE_SID=db_1;export ORACLE_SID
  export ORACLE_UNQNAME=db
  ORA_CRS_HOME=$ORACLE_BASE/product/11.2.0/crs;export ORA_CRS_HOME
  ORACLE_TERM=xterm;export ORACLE_TERM
  PATH=/user/sbin/:$PATH;export PATH
  PATH=$ORACLE_HOME/bin:$PATH;export PATH
  LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
  export LD_LIBRARY_PATH
  CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
  export CLASSPATH
  

  su - grid
  在.bash_profile
  # for oracle
  export DISPLAY=:0.0
  export TMP=/tmp;
  export TMPDIR=$TMP;
  export ORACLE_BASE=/u01/app/grid;
  export ORACLE_HOME=/u01/app/11.2.0/grid;
  export ORACLE_TERM=xterm;
  export PATH=/usr/sbin:$PATH;
  export PATH=$ORACLE_HOME/bin:$PATH;
  export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
  export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
  

  

  9 设置ssh互信
  设置grid用户互信
  在grid用户下  mkdir .ssh
  chmod 755 .ssh
  ssh-keygen -t rsa 在.ssh目录下生成id_rsa.pub,id_rsa
  ssh-keyget -t dsa 在.ssh目录下生成id_dsa.pub,id_dsa
  都在.ssh目录下
  把节点1 的.pub文件全部拷贝到authorized_key文件中,cat id_rsa.pub>>authorized_key,cat id_dsa.pub>>authorized_key;
  节点2的.pub文件全部拷贝到authorized_keys文件中, cat id_rsa.pub>>authorized_key,cat id_dsa.pub>>authorized_keys.
  把节点1的authorized_key文件拷贝到节点2的.ssh目录下
  scp authorized_key  节点2:.ssh/
  在节点2 把authorized_key追加到authorized_keys文件中 cat authorized_key>>authorized_keys,
  这时authorized_keys中包含所有节点的公钥。
  把节点2下的authorized_keys拷贝回节点1.ssh目录下
  scp authorized_keys 节点1:.ssh/
  这时两个节点都有全部的公钥。
  

  测试:ssh 节点1 date;
  ssh 节点1-priv date;
  ssh 节点1-vip date;
  ssh 节点2 date;
  ssh 节点2-priv date;
  ssh 节点2-vip date;
  测试在.ssh目录下生成known_hosts文件记录连接的主机信息,第一次连接选择yes即可。
  

  同样步骤在oracle用户下设置互信
  

  

  二  设置共享存储
  

  共享存储是rac集群能够实现的关键,而网络上大部分都是用虚拟机环境设置的,在真实环境下设置有点胆战心惊。
  

  首先请存储工程师挂载共享存储
  挂在完成后在/dev下发现sd*等文件共70张。
  第一个考虑的问题用不用向正常访问一样分区,格式化。
  因为要使用ASM,考虑ASM的一个目的是绕过操作系统直接操作存储,如果格式化了又把磁盘的操作交给操作系统,一旦操作系统出了问题可能会影响读写性能,也可能成为性能瓶颈,最后决定不分区也不格式化直接用裸盘。
  这时问题来了,通过redhat6.3的磁盘实用程序查看磁盘时,磁盘都有报警:“Warning:Several paths to this drive has been  detected but no corresponding multipath device was found.You OS may be misconfigured.”
  
  与存储工程师联系确认发现,那边只挂载了10块盘,而我这边却显示为70块这是怎么回事?
  原来存储工程师在挂在存储时使用了多路劲技术,这种技术能实现:1 故障的切换和恢复 2 IO流量的负载均衡 3 磁盘虚拟化
  测了一下磁盘的IO确实有巨大的提升
  那多路径形成的sd*盘能否直接使用?感觉如果直接使用就可能失去故障切换恢复和IO流量负载均衡的优势,在挂载ASM磁盘时也不好挂在(70多张盘)。
  
  最后决定使用linux下的多路径软件multipath解决
  

  1 安装multipath
  在操作系统光盘目录下安装以下软件
  device-mapper-event-libs
  device-mapper-multipath
  device-mapper-libs
  device-mapper-multipath-libs
  device-mapperevent
  device-mapper-persistent-data
  device-mapper
  

  2 加载
  查看多路径状态 multipath -ll
    返回结果有:DM multipath kernel driver not loaded 说明DM模块没有加载
  
   初始化DM: modprobe dm-multipath
     modprobe dm-round-robin
     service multipath start
     multipath -v2
  

  这时再通过 multipath -ll 查看
  返回 /etc/multipath.conf does not exist  说明多路径软件的配置文件还没有配置
  

  3 配置文件
  在/etc下建立文件multipath.conf加入
  #默认策略
  defaults {
    udev_dir /dev  #默认使用的目录
    user_friendly_names yes
  path_grouping_policy multibus #默认的路径组策略
  failback immediae #故障恢复的模式
  no_path_retry fail #在路径不可用下尝试失效路径的次数(不尝试)
  getuid_callout "/sbin/scsi_id -g -u --whitelisted --device=/dev/%n"
  #获得唯一设备号的默认程序,通过唯一设备号把同一个盘识别出来
  }
  #如果不想让某些磁盘被多路径软件识别出来而是作为虚拟磁盘使用可以加入
  # blacklist { devnode "^sdh"}
  
  #因为使用多路径挂载的每次重启系统后同一块盘的显示磁盘会发生变化,这样如果按名称来可能出错,因此按路径来
  #使用multipath -v3 查询出每块磁盘的wwid
  

  multipaths {
  multipath {
  wwid3600507680180870dd0000000000003d0
  alias                   OCR01
  }
  

  multipath {
  wwid                    3600507680180870dd0000000000003d1
  alias                   OCR02
  }
  

  multipath {
                  wwid                    3600507680180870dd0000000000003cf
  alias                   OCR03
  }
  

   multipath {
                  wwid                    3600507680180870dd0000000000003ce
  alias                   DG01
  }
  

   multipath {
  wwid                    3600507680180870dd0000000000003d7
  alias                   DG02
  }
  

   multipath {
  wwid                    3600507680180870dd0000000000003d6
  alias                   DG03
  }
  

   multipath {
  wwid                    3600507680180870dd0000000000003d5
  alias                  ARCHDG01
  }
  

   multipath {
   wwid                    3600507680180870dd0000000000003d3
   alias                   VOTE01
  }
  

   multipath {
  wwid                    3600507680180870dd0000000000003d4
  alias                   VOTE02
  }
  

   multipath {
  wwid                    3600507680180870dd0000000000003d2
  aliasVOTE03
          }
  

  

  }
  

  

  #这时无论重启时某块磁盘在系统中显示是:/dev/sda,/dev/sdaa,/dev/sdab,
  #还是/dev/sda,/dev/sds,/dev/sdj
  #在/dev/mapper目录下都是DG1
  

  4 使配置文件生效
  每次修改配置文件都得重启,或重新加载服务
  service multipathd restart/ service multipathd reload
  
  重新配置策略 :multipath -F 清空以前的策略,这时在/dev/mapper下除了control文件外没有其他文件
  multipath -v2 加载新的策略,这时在/dev/mapper下出现 OCR1,OCR2,OCR3等文件
  使用设备时直接使用/dev/mapper/OCR1等就可以
  

  5 权限
  /dev下默认属主为:root,属组为 disk
  在安装GI时会显示不出来磁盘,必须修改磁盘权限
  但直接修改 /dev/mapper/OCR1等文件不会生效,该目录不能修改属主(可能因为都是link文件)
  但该目录下的control文件可以修改,chown grid:oinstall /dev/mapper/control
  修改完成后在安装GI时确实能显示磁盘/dev/mapper/*,但仍有报错,而且重启后权限又变回root:disk.
  

  通过multipath -l 查询
  查询结果处理说明 /dev/mapper/OCR*是由哪几块/dev/sd*组成,后面还显示了这时dm-*,
  感觉dm-*为链接文件的真实文件,查找后发现dm-*就在/dev下
  修改权限 chown grid:oinstall /dev/dm-*
  修改后 GI运行没有报关于ASM存储的错误
  

  

  三 安装GI
  1 解压
  将软件包p10404530_112030_Linux-x86-64_3of7.zip解压到节点rac01.
  # unzip p10404530_112030_Linux-x86-64_3of7.zip
  
  2 安装cvuadisk包
  在Grid的安装包grid/rpm/cvuqdisk-1.0.9-1.rpm,以root用户安装
  # export CVUQDISK_GRP=oinstall
  # rpm -ivh cvuqdisk-1.0.9-1.rpm
  
  3 以grid用户在grid目录下执行./runInstall名令
  export LANG=C #这种语言变量,否则在出现的图形界面为乱码
  ./runInstall
  如果使用./runInstall 出现错误:"无法使用命令 /usr/bin/xdpyinfo自动检查显示器颜色,是否设置DISPLAY"
  解决办法:1 在root用户下执行:xhost +
  返回信息为:"access control disabled,clients can connect from any host"
    2 在 grid 用下,export DISPLAY=远程来源IP:0.0
  
   即可
  

  4 过程
  

  安装选项:          安装和配置集群的网格基础结构.
  安装类型:          高级安装
  语言:              简体中文
  网格即插即用:      集群名称:    rac-cluster
     SCAN名称:    rac-scan (此名称应该与/ETC/HOSTS文件中sanip的对应名称一致)
     SCAN端口:    1521
  不配置GNS,如果需要自动生成虚拟IP,需配置GNS
  GNS子域:     racgrid
  GNS VIP地址: 192.168.89.91
  集群节点信息:      编辑和添加主机和虚拟IP名称
         主机名   虚拟IP名
  rac01    rac01v
  rac02    rac02v
  点ssh按钮配置节点ssh互信(需要输入grid用户密码)
  注:第一次安装时肯能是缺少了某些包,出现一个小问题
  当进行下一步时,提示错误"该主机名(节点-vip)已经被使用" 的错误,只有在两个节点的/etc/hosts文件中把vip的信息注释掉才能通过。如果在这之前注释掉vip仍然会报错,得把vip信息加上,再碰到错误"该主机名(节点-vip)已经被使用",才能进行下一步。怀疑是某个软件包(GCC等)没有安好。安装好后不会有次怪异的问题。
  网络接口使用情况:  接口名称    子网           接口类型
  PublicNet   192.168.20.0   公共
  PrivateNet  10.10.10.0  专用
  存储选项:          自动存储管理(ASM)
  创建ASM磁盘组:     当选择存储选项:自动存储管理(ASM)后,需要创建ASM磁盘.
  设置ASM磁盘搜索路径/dev/mapper/* #这时如果没有应注意/dev/dm*的权限
  设置磁盘组名,使用normal,勾选出现的磁盘
  #这时选择的磁盘作为OCR和vote盘使用
  ASM口令:           设置SYS和ASMSNMP的口令,是用相同口令
  故障隔离:          不使用智能平台管理接口(IPMI).
  安装位置:          设置安装位置默认:Oracle基目录/u01/app/grid,软件位置/u01/app/11.2.0/grid
  先决条件检查:      自动检查先决条件
  /* 第一次检查时有几个报错 1 缺少包 cvuqdisk
  (在grid/rpm目录下安装即可)
    2 device check for asm
  (应该是磁盘的顺序或权限有问题,顺序问题通过绑定wwid解决,权限问题修改/dev/dm*属主与属组)
    3 NTP failed
  NTP服务失败。因为两个节点都没做NTP服务,时间同步服务器在其他主机上,把/etc/ntp.conf改成/etc/ntp.conf.bak即可。
    4 task resolv.conf Intergrity 因为没有使用DNS服务器,直接用/etc/hosts,该错误可以忽略。
  */
  安装
  /* 安装时报错
  KFOD-070311
  ORA-027472
  都是因为共享磁盘权限的问题
  

  OUI-10066
  PRCI-1108
  PRCI-1003
  都是因为缺少包 libcap
  */
  
  

  

  

  按提示在各节点上以root用户执行脚本.
  /* 执行脚本时一定要先在第一个主机,即运行./runInstall程序的主机上执行,然后再在另一个上执行,否则会导致错误。
  # /u01/app/oraInventory/orainstRoot.sh
  # /u01/app/11.2.0/grid/root.sh
  完成
  

  检查: olsnodes
  crsctl check crs (次命令只有root可以执行)
  CRS-4638: Oracle High Availability Services is online
  CRS-4537: Cluster Ready Services is online
  CRS-4529: Cluster Synchronization Services is online
  CRS-4533: Event Manager is online
  crs_stat -t -v
  srvctl status listener
  重新启动节点后,如果集群服务不能启动.crsctl check crs
  

  需要检查设备权限的问题,重启后磁盘设备owner会被修改为root.
  或者没有设置crs随系统启动.
  /u01/app/11.2.0/grid/bin/crsctl stop crs            # 停止CRS服务
  /u01/app/11.2.0/grid/bin/crsctl start crs           # 启动CRS服务
  /u01/app/11.2.0/grid/bin/crsctl disable crs         # 禁止随系统启动
  /u01/app/11.2.0/grid/bin/crsctl enable crs          # 允许随系统启动
  /u01/app/11.2.0/grid/bin/crsctl stop cluster -all   # 停止所有节点上运行的全部集群资源
  /u01/app/11.2.0/grid/bin/crsctl start cluster -all  # 启动所有节点上运行的全部集群资源
  

  
  四 安装ORACLE软件
  1 将oracle数据库软件解压到节点rac01.
   unzip p10404530_112030_Linux-x86-64_1of7.zip
   unzip p10404530_112030_Linux-x86-64_2of7.zip
  2 以oracle登入系统,运行database下的runInstaller文件
  

  配置安全更新   不需要接收更新
  安装选项       选择仅安装数据库软件,后续再通过dbca创建数据库.
  网格选项       Real Application Clusters数据库安装
  节点全选 #如果CRS没有自动重启,就看不到节点,重新后得重新runInstall才能看到节点
  点按钮SSH Connectivity.配置oracle下ssh互信.
  产品语言       根据需要选择:英语、简体中文
  数据库版本     企业版
  安装位置       默认(根据.bash_profile中的全局变量设置)
   Oracle基目录: /u01/app/oracle
  软件位置: /u01/app/oracle/product/11.2.0/db_1
  操作系统组     oinstall
  先决条件检查   忽略警告
  安装
  按提示在每个节点上执行脚本/u01/app/oracle/product/11.2.0/db_1/root.sh
  点OK完成安装
  

  五 配置ASM
  以grid用户运行asmca.
  设置ASM磁盘搜索路径/dev/mapper/*,出现multipath配置的磁盘
  创建磁盘时报错,因为每块磁盘不能超过两T,需要把超过2T的磁盘进行分区。
  分区之后/dev/mapper下不会有变化,只有在fdisk -l 时能看到分区的盘,通过ASM也不会看到。
  只有通过 multipath -F 清空多路径,再 multipath -v2 重新连接多路径才能看到,这时在ASM里也能选磁盘的分区了。
  

  六 创建数据库
  以oracle用户运行dbca.(为方便管理应该在第一个节点上执行,否则可能会出现sid_1在节点2上运行,sid_2在节点1上运行的情况)
  数据库类型     Oracle Real Application Clusters数据库
  操作           创建数据库
  数据库模板     一般用途
  数据库标识     设置全局数据库名和SID前缀,节点全选
  管理选项       默认
  数据库身份     设置密码
  数据库文件位置 存储类型:自动存储管理,使用Oracle-Managed files,数据库区:设置之前创建的磁盘组+DATA
  恢复区:+FLASH_AREA
  字符集
  安装
  出现提示在节点rac02上启动database control出错,在节点rac02执行以下命令:
[oracle@rac02 ~]$ export ORACLE_UNQNAME=astt

[oracle@rac02 ~]$ /u01/app/oracle/product/11.2.0/db_1/bin/emctl start dbconsole

  点OK安装完成.
  安装后可能不能连接
  如果出现错误ORA-12537: TNS:connection closed,可能是权限的问题,执行以下可以解决:
  # chown -R oracle:oinstall /u01/app/oracle
  # chown -R grid:oinstall /u01/app/grid
  # chmod -R 755 /u01/app/oracle
  # chmod -R 755 /u01/app/grid
  
  

  七  测试数据库
  运行sqlplus,以dba权限登录Oracle系统后执行以下语句查询集群节点状态:
  $ ./crs_stat -t -v
  $ sqlplus / as sysdba;
  SQL> select instance_name,host_name,status from v$instance;
  SQL> select instance_name,host_name,status from gv$instance;
  $ srvctl stop database -d db -o immediate;
  $ srvctl start database -d db;
  

  
  

  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-458168-1-1.html 上篇帖子: redhat locate命令使用 下篇帖子: Redhat 6.6 mysql 5.1升级到5.6步骤
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表