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

[经验分享] CentOS 6.1 x64部署MFS

[复制链接]

尚未签到

发表于 2018-4-28 13:06:40 | 显示全部楼层 |阅读模式
  CentOS 6.1 x64部署MFS
  时间:2012-8-2
  QQ群:18731199
  简介:
  MooseFS(Moose File System,mfs)是一种分布式文件系统,它将数据分布在网络中的不同服务器上,支持FUSE,客户端挂载后可以作为一个 普通的Unix 文件系统使用MooseFS。
  MooseFS中共有四种角色:元数据服务器master server、元数据日志服务器metalogger server、存储服务器chunkserver、客户端client。
  元数据服务器负责各个存储服务器的管理、文件读写调度、文件空间回收以及恢复、多节点拷贝。
  元数据日志服务器负责备份主控服务器的元数据、变化日志文件,文件类型为changelog_ml.*.mfs,以便在主控服务器出问题的时候可以恢复。
  存储服务器负责提供存储空间,并为客户提供数据传输。
  客户端则通过fuse挂接主控服务器上所管理的存储块服务器,可以像操作本地文件一样操作MooseFS文件系统中的文件。
  以下是来自官方的MFS工作方式图解:
  一、配置思路
  1、自1.6.5之后,MooseFS提供了metalogger服务,默认每24小时自动获得主控服务器的所有元数据和更改日志,可以作为备份主控。
  2、利用脚本在元数据和元数据日志服务器之间执行服务检测如果发现元数据服务器故障,metalogger服务器将接管master提供服务;提供服务的IP为虚拟IP,在故障出现后metalogger将接管虚拟IP地址;
  二、实验环境:
  系统:全部选用CentOS6.1 x64系统,为了更加快捷的安装过程中所依赖的库先配置好yum、编译环境
  实验服务器信息:
  提供服务的虚拟IP:        10.103.9.3
  master                                10.103.9.4
  metalogger                        10.103.9.5
  chunkserver                        10.103.9.20
  chunkserver1                        10.103.9.21
  client                                10.103.9.30
  三、安装MooseFS集群
  到官网下载程序:http://www.moosefs.org/download.html
  使用的版本为: 1.6.25
  1、master安装
  安装依赖包
[root@mfsm-9-4 tmp]#yum -y install zlib-devel

  添加mfs用户、组
[root@mfsm-9-4 tmp]# useradd mfs

[root@mfsm-9-4 tmp]# yum -y install fuse fuse-devel

  解压
[root@mfsm-9-4 tmp]# tar xvf mfs-1.6.25.tar.gz

[root@mfsm-9-4 tmp]# cd mfs-1.6.25

[root@mfsm-9-4 mfs-1.6.25]# ./configure --prefix=/usr/local/mfsm \

  > --with-default-user=mfs \
  > --with-default-group=mfs \
  > --disable-mfschunkserver \
  > -- --mandir=/usr/share/man/
  注解:
  --prefix=/usr/local/mfsm 指定程序安装目录
  --with-default-user=mfs  指定运行程序的默认用户
  --with-default-group=mfs 指定运行程序的默认组
  --disable-mfschunkserver 不安装mfschunkserver
  --mandir=/usr/share/man/        man文件安装路径
[root@mfsm-9-4 mfs-1.6.25]# make && make install

  为了方便使用配置环境变量,标红部分
[root@mfsm-9-4 ~]# vim ~/.bash_profile

  # .bash_profile
  # Get the aliases and functions
  if [ -f ~/.bashrc ]; then
  . ~/.bashrc
  fi
  # User specific environment and startup programs
  PATH=$PATH DSC0000.gif HOME/bin:/usr/local/mfsm/sbin/
  export PATH
[root@mfsm-9-4 ~]# source ~/.bash_profile

  master是MooseFS的核心,应当安装在具有高稳定性、高配置的服务器上。最关键的是内存要足够大,MooseFS对内存的要求与存放的文件个数有关。按照官方的数据,存储块服务器上的1百万文件,主控服务器需要300M内存存放相关的信息。硬盘也要大,受存储块服务器上文件、块的个数(影响元数据文件大小)、文件变更数(影响changelog)的影响;2500万文件、50小时的变更日志需要20G空间。对CPU也有较高的要求,受MooseFS中文件的操作频率影响。
  2、metalogger安装
  安装依赖包
[root@mfsm-9-5 tmp]#yum -y install zlib-devel fuse fuse-devel

  添加mfs用户、组
[root@mfsm-9-5 tmp]# useradd mfs

  解压
[root@mfsm-9-5 tmp]# tar xvf mfs-1.6.25.tar.gz

[root@mfsm-9-5 tmp]# cd mfs-1.6.25

[root@mfslog-9-5 mfs-1.6.25]# ./configure --prefix=/usr/local/mfslog \

  > --with-default-user=mfs \
  > --with-default-group=mfs \
  > --disable-mfschunkserver \
  > -- --mandir=/usr/share/man/
  注解:同master
  安装
[root@mfsm-9-5 mfs-1.6.25]# make && make install

  配置环境变量
[root@mfsm-9-5 ~]# vim ~/.bash_profile

  # .bash_profile
  # Get the aliases and functions
  if [ -f ~/.bashrc ]; then
  . ~/.bashrc
  fi
  # User specific environment and startup programs
  PATH=$PATHHOME/bin:/usr/local/mfslog/sbin/
  export PATH
[root@mfsm-9-5 ~]# source ~/.bash_profile

  10.103.9.5元数据日志服务器的同时,也是备份主控服务器,使用跟主控服务器相同的配置。
  3、chunkserver安装
  安装依赖包
[root@mfsm-9-20 tmp]#yum -y install zlib-devel

  添加mfs用户、组
[root@mfsm-9-20 tmp]# useradd mfs

  解压
[root@mfsm-9-20 tmp]# tar xvf mfs-1.6.25.tar.gz

[root@mfsm-9-20 tmp]# cd mfs-1.6.25

  config.guess  config.sub    configure
[root@mfs-d-9-20 mfs-1.6.25]# ./configure --prefix=/usr/local/mfsd \

  > --with-default-user=mfs \
  > --with-default-group=mfs \
  > --disable-mfsmaster \
  > --disable-mfsmount \
  > --disable-mfscgi \
  > --disable-mfscgiserv
  > -- --mandir=/usr/share/man/
  注解:
  --disable-*为不安装部分
[root@mfs-d-9-20 mfs-1.6.25]# make && make install

  配置环境变量
  PATH=$PATHHOME/bin:/usr/local/mfsd/sbin/
[root@mfs-d-9-20 mfs-1.6.25]# source ~/.bash_profile

  另外一台chunkserver同上安装即可
  存储服务器应当提供1G以上的可用空间,为了更方便的管理chunkserver空间,加入MFS集群的空间最好是单独的分区。
  四、配置MooseFS集群
  1、master配置
  安装完master配置文件在/usr/local/mfsm/etc(--prefix=/usr/local/mfsm定义)
  里面有master的默认配置文件:mfsmaster.cfg.dist和权限控制文件mfsexports.cfg.dist
[root@mfsm-9-4 etc]# mv mfsmaster.cfg.di3st mfsmaster.cfg

[root@mfsm-9-4 etc]# mv mfsexports.cfg.dist mfsexports.cfg

  mfsmaster.cfg详解
[root@mfsm-9-4 etc]# vim mfsmaster.cfg

  # WORKING_USER = mfs   #运行mfs的用户#
  # WORKING_GROUP = mfs                #运行mfs的组账户#
  # SYSLOG_IDENT = mfsmaster        #master server 在syslog中的标识,说明是由master serve 产生的#
  # LOCK_MEMORY = 0                #是否执行mlockall()以避免mfsmaster 进程溢出(默认为0)
  # NICE_LEVEL = -19                #运行的优先级(如果可以默认是-19; 注意: 进程必须是用root启动)
  # EXPORTS_FILENAME = /usr/local/mfsm/etc/mfsexports.cfg                #权限控制文件存放的路径
  # TOPOLOGY_FILENAME = /usr/local/mfsm/etc/mfstopology.cfg #这是1.6.24增加的新功能,用于运行那些chunkserver允许加入集群?
  # DATA_PATH = /usr/local/mfsm/var/mfs #数据存放路径,此目录下大致有三类文件,changelog,sessions和stats;
  # BACK_LOGS = 50 #metadata 的改变log 文件数目(默认是50) #
  # REPLICATIONS_DELAY_INIT = 300 延迟复制的时间(默认是300s)
  # REPLICATIONS_DELAY_DISCONNECT = 3600 #chunkserver 断开的复制延迟(默认是3600);
  # MATOML_LISTEN_HOST = * # metalogger 监听的IP 地址(默认是*,代表任何IP)
  # MATOML_LISTEN_PORT = 9419 #metalogger 监听的端口地址(默认是9419)
  # MATOCS_LISTEN_HOST = * #用于chunkserver 连接的IP 地址(默认是*,代表任何IP)
  # MATOCS_LISTEN_PORT = 9420 #用于chunkserver 连接的端口地址(默认是9420)
  # MATOCL_LISTEN_HOST = * #用于客户端挂接连接的IP 地址(默认是*,代表任何IP)
  # MATOCL_LISTEN_PORT = 9421 #用于客户端挂接连接的端口地址(默认是9421)
  # CHUNKS_LOOP_CPS = 100000
  # CHUNKS_LOOP_TIME = 300 # chunks 的回环频率(默认是:300 秒)
  # CHUNKS_SOFT_DEL_LIMIT = 10 #
  # CHUNKS_HARD_DEL_LIMIT = 25
  # CHUNKS_WRITE_REP_LIMIT = 2
  # CHUNKS_READ_REP_LIMIT = 10
  # REJECT_OLD_CLIENTS = 0 #弹出低于1.6.0 的客户端挂接(0 或1,默认是0)
  # deprecated: CHUNKS_DEL_LIMIT - use CHUNKS_SOFT_DEL_LIMIT instead
  # deprecated, to be removed in MooseFS 1.7
  # LOCK_FILE = /var/run/mfs/mfsmaster.lock #lock文件的路径
  注:以#注释的即为默认值,master配置文件保持默认即可
  mfsexports.cfg 权限控制文件的配置
  10.103.9.0/24   /       rw,alldirs,maproot=0,password=123456
  该文件每一个条目分为三部分:
  第一部分:客户端的ip 地址
  第二部分:被挂接的目录
  第三部分:客户端拥有的权限
  1)
  地址可以指定的几种表现形式:
  * 所有的ip 地址
  n.n.n.n 单个ip 地址
  n.n.n.n/b IP 网络地址/位数掩码
  n.n.n.n/m.m.m.m IP 网络地址/子网掩码
  f.f.f.f-t.t.t.t IP 段
  2)
  目录部分需要注意两点:
  / 标识MooseFS 根;
  . 表示MFSMETA 文件系统
  3)
  权限部分:
  ro 只读模式共享
  rw 读写的方式共享
  alldirs 许挂载任何指定的子目录
  maproot 映射为root,还是指定的用户
  password 指定客户端密码
  启动master server
  master server 可以单独启动(所谓单独启动就是在没有数据存储服务器、log服务器(chunkserver、metalogger)的时候也可以启动,但是不能存储数据,chunkserver 启动后会自动加入)。安装配置完MFSM 后,cp 一个metadata即可启动它。
  # cp /usr/local/mfsm/var/mfs/metadata.mfs.empty /usr/local/mfsm/var/mfs/metadata.mfs
[root@mfsm-9-4 etc]# mfsmaster start #已经配置好环境变量

  或者
[root@mfsm-9-4 mfs]# /usr/local/mfsm/sbin/mfsmaster start

[root@mfsm-9-4 mfs]# netstat -nltp

  Active Internet connections (only servers)
  Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
  tcp        0      0 0.0.0.0:9419                0.0.0.0:*                   LISTEN      31818/mfsmaster
  tcp        0      0 0.0.0.0:9420                0.0.0.0:*                   LISTEN      31818/mfsmaster
  tcp        0      0 0.0.0.0:9421                0.0.0.0:*                   LISTEN      31818/mfsmaster
  停止master server
  禁止用kill来停止服务,利用mfsmaster –s 或者 mfsmaster stop来安全停止master serve
  因为要提供容灾,所以对客户端和其他服务器使用的地址为虚拟IP10.103.9.3
  #ifconfig eth0:1 10.103.9.3 netmask 255.255.255.0
  master server监控平台
[root@mfsm-9-4 ~]# mfscgiserv start

  或者
[root@mfsm-9-4 ~]# /usr/local/mfsm/sbin/mfscgiserv start

  启动后,在浏览器里输入:http://10.103.9.3:9425
  2、metalogger配置
  安装完metalogger配置文件在/usr/local/mfslog/etc(--prefix=/usr/local/mfsm定义)
  此服务只有一个配置文件:mfsmetalogger.cfg
  #cd /usr/local/mfslog/etc
  # mv mfsmetalogger.cfg.dist mfsmetalogger.cfg
  配置文件详解(相同部分请参考master配置文件):
  # vim mfsmetalogger.cfg
  # WORKING_USER = mfs
  # WORKING_GROUP = mfs
  # SYSLOG_IDENT = mfsmetalogger
  # LOCK_MEMORY = 0
  # NICE_LEVEL = -19
  # DATA_PATH = /usr/local/mfslog/var/mfs
  # BACK_LOGS = 50
  # META_DOWNLOAD_FREQ = 24        #元数据备份文件下载请求频率。默认为24小时,即每隔24小时从元数据服务器(MASTER)下载一个metadata.mfs.back 文件。当元数据服务器关闭或者出故障时,matedata.mfs.back 文件将消失,那么要恢复整个mfs,则需从metalogger 服务器取得该文件。请特别注意这个文件,它与日志文件一起,才能够恢复整个被损坏的分布式文件系统。
  # MASTER_RECONNECTION_DELAY = 5
  # MASTER_HOST = mfsmaster #mfsmaster地地址信息,或者可以是Master 的IP,当使用名字的时候请确定能否正确解析
  # MASTER_PORT = 9419 #连接master的端口
  # MASTER_TIMEOUT = 60
  # deprecated, to be removed in MooseFS 1.7
  # LOCK_FILE = /var/run/mfs/mfsmetalogger.lock
  需要修改的地方:
  # META_DOWNLOAD_FREQ = 1 #下载频率设置为没一小时
  META_DOWNLOAD_FREQ = 1  #注意得去掉#
  绑定hosts
  #echo "10.103.9.3 mfsmaster"  >> /etc/hosts
  启动metalogger服务
[root@mfslog-9-5 etc]# mfsmetalogger start         #同样需要配置好环境变量#

  working directory: /usr/local/mfslog/var/mfs
  lockfile created and locked
  initializing mfsmetalogger modules ...
  mfsmetalogger daemon initialized properly
  或者
[root@mfslog-9-5 etc] /usr/local/mfslog/sbin/mfsmetalogger start

  检查:
[root@mfslog-9-5 etc]# ps -ef|grep mfs

  mfs      31159     1  0 12:17 ?        00:00:00 mfsmetalogger start
  root@mfslog-9-5 etc]# lsof -i:9419

  COMMAND     PID USER   FD   TYPE DEVICE>  mfsmetalo 31159  mfs    6u  IPv4  33247      0t0  TCP 10.103.9.5:41142->mfsmaster:9419 (ESTABLISHED)
  停止metalogger服务
[root@mfslog-9-5 etc]# mfsmetalogger stop

  或者
[root@mfslog-9-5 etc]# /usr/local/mfslog/sbin/mfsmetalogger stop

  3、chunkserver 配置
  安装完chunkserver配置文件在/usr/local/mfsd/etc/(--prefix=/usr/local/mfsm定义)
  此服务只有两个配置文件:主配置文件mfschunkserver.cfg 和共享控制文件mfshdd.cfg
  #cd /usr/local/mfsd/etc/
[root@mfs-d-9-20 etc]# mv mfschunkserver.cfg.dist mfschunkserver.cfg

[root@mfs-d-9-20 etc]# mv mfshdd.cfg.dist mfshdd.cfg

[root@mfs-d-9-20 etc]# vim mfschunkserver.cfg

  # WORKING_USER = mfs
  # WORKING_GROUP = mfs
  # SYSLOG_IDENT = mfschunkserver
  # LOCK_MEMORY = 0
  # NICE_LEVEL = -19
  # DATA_PATH = /usr/local/mfsd/var/mfs
  # MASTER_RECONNECTION_DELAY = 5
  # BIND_HOST = *
  # MASTER_HOST = mfsmaster                #master的地址,可以是主机名或者IP
  # MASTER_PORT = 9420
  # MASTER_TIMEOUT = 60
  # CSSERV_LISTEN_HOST = *
  # CSSERV_LISTEN_PORT = 9422        #这个监听端口用于与其它数据存储服务器间的连接,通常是数据复制
  # HDD_CONF_FILENAME = /usr/local/mfsd/etc/mfshdd.cfg #共享配置文件
  # HDD_TEST_FREQ = 10
  # deprecated, to be removed in MooseFS 1.7
  # LOCK_FILE = /var/run/mfs/mfschunkserver.lock
  # BACK_LOGS = 50
  # CSSERV_TIMEOUT = 5
  主配置文件默认即可
[root@mfs-d-9-20 etc]# vim mfshdd.cfg

  /mfs    #提供共享的分区,为了更好的控制共享空间最好是独立磁盘或者分区
  如果没有预先预留好专用磁盘或者分区,也可以使用一下方法:
  创建一个10G        的空文件
[root@mfs-d-9-20 ~]# dd if=/dev/zero of=/var/mfsd bs=1024M count=10

  在创建的空文件上创建文件系统
[root@mfsd1-9-20 ~]# mkfs.ext4 /var/mfsd

  mke2fs 1.41.12 (17-May-2010)
  /var/mfsd is not a block special device.
  Proceed anyway? (y,n) y
  Filesystem label=
  OS type: Linux

  Block>
  Fragment>
  Stride=0 blocks, Stripe>  655360 inodes, 2621440 blocks
  131072 blocks (5.00%) reserved for the super user
  First data block=0
  Maximum filesystem blocks=2684354560
  80 block groups
  32768 blocks per group, 32768 fragments per group
  8192 inodes per group
  Superblock backups stored on blocks:
  32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
  Writing inode tables: done
  Creating journal (32768 blocks): done
  Writing superblocks and filesystem accounting information: done
  This filesystem will be automatically checked every 22 mounts or
  180 days, whichever comes first.  Use tune2fs -c or -i to override.
  创建挂载点
[root@mfsd1-9-20 ~]# mkdir /mfs

  挂载
[root@mfsd1-9-21 ~]# mount -o loop /var/mfsd /mfs/

  查看
[root@mfsd1-9-21 ~]# df -h

  Filesystem            Size  Used Avail Use% Mounted on
  /dev/sda2              20G  1.2G   18G   6% /
  tmpfs                 244M     0  244M   0% /dev/shm
  /dev/sda1              97M   27M   66M  29% /boot
  /dev/sdb1              20G  180M   19G   1% /home
  /dev/sda6             2.0G   68M  1.9G   4% /tmp
  /dev/sda3              20G   11G  8.5G  55% /var
  /var/mfsd             9.9G  151M  9.2G   2% /mfs
  赋权给mfs
[root@mfsd1-9-20 etc]# chown mfs:mfs -R /usr/local/mfsd/var/

[root@mfsd1-9-20 etc]# chown mfs:mfs /mfs/

  绑定Hosts解析
[root@mfsd1-9-20etc]# echo "10.103.9.3 mfsmaster" >> /etc/hosts

  另外一天以同样的方法配置好
  启动mfs chunkserver服务
[root@mfsd1-9-20 etc]# mfschunkserver start  #配置好环境变量

  或者
[root@mfsd1-9-20 etc]# /usr/local/mfsd/sbin/mfschunkserver start

  working directory: /usr/local/mfsd/var/mfs
  lockfile created and locked
  initializing mfschunkserver modules ...
  hdd space manager: scanning folder /mfs/ ...
  hdd space manager: scanning complete
  hdd space manager: /mfs/: 0 chunks found
  hdd space manager: scanning complete
  main server module: listen on *:9422
  no charts data file - initializing empty charts
  mfschunkserver daemon initialized properly
  查看是否启动成功
[root@mfsd1-9-20 etc]# netstat –nltp

  停止mfs chunkserver服务
[root@mfsd1-9-20 etc]# mfschunkserver stop

  sending SIGTERM to lock owner (pid:3130)
  waiting for termination ... terminated
  或者
[root@mfsd1-9-20 etc]# /usr/local/mfsd/sbin/mfschunkserver stop

  4、MFS client 的安装与使用
[root@mfsc-9-30]# yum -y install fuse fuse-devel

  解压下载好的源代码
[root@mfsc-9-30 tmp]# tar xvf mfs-1.6.25.tar.gz

[root@mfsc-9-30 tmp]# cd mfs-1.6.25

[root@mfsc-9-30 ~]# ./configure --prefix=/usr/local/mfsc \

  > --with-default-user=mfs \
  > --with-default-group=mfs \
  > --disable-mfsmaster \
  > --disable-mfschunkserver \
  > --disable-mfscgi \
  > --disable-mfscgiserv \
  > --mandir=/usr/share/man
[root@mfsc-9-30 ~]# make && make install

  配置环境变量:
[root@mfsc-9-30 ~]# vim ~/.bash_profile

  # .bash_profile
  # Get the aliases and functions
  if [ -f ~/.bashrc ]; then
  . ~/.bashrc
  fi
  # User specific environment and startup programs
  PATH=$PATHHOME/bin:/usr/local/mfsc/bin
  export PATH
[root@mfsc-9-30 ~]# source ~/.bash_profile

[root@mfsc-9-30 ~]# echo "10.103.9.3 mfsmaster" >> /etc/hosts

[root@mfsc-9-30 ~]# mfsmount /mnt/ -H mfsmaster

  mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root
  注:挂载点需要是个空目录,否则挂载不成功
  四、MooseFS master恢复
  备用master服务器使用log服务器代替,从master把mfsmaster.cfg、mfsexports.cfg个配置文件放在/usr/local/mfslog/etc/下
  另外把mfsmetalogger.cfg文件中的META_DOWNLOAD_FREQ设置成1,即每小时复制一次metadata.mfs.back文件,减少恢复的延迟时间。
  当master失效时,在log服务器上执行以下操作,进行恢复:
[root@mfslog-9-5]mfsmetarestore –a

[root@mfslog-9-5] ifconfig eth0:1 10.103.9.3 netmask 255.255.255.0

[root@mfslog-9-5]mfsmaster start

运维网声明 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-453185-1-1.html 上篇帖子: centos6 破解登录密码 下篇帖子: 使用yum快速升级CentOS 6.5内核到 3.10.28
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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