建站服務(wù)器
撰寫(xiě)日期:2017年6月13日
作者:翟江恒
一般情況下不會(huì )采用手動(dòng)的方式安裝HPC,而是采用集成自動(dòng)化方案來(lái)部署hpc,但是這些集成方案都是集成了指定的操作系統發(fā)行版本,比如常見(jiàn)的HPC集成自動(dòng)化方案rockets,到目前為止集成centos 6.6,如果需要把HPC安裝其他linux發(fā)行版本環(huán)境里面,就不能使用集成自動(dòng)化方案,必須使用手動(dòng)安裝方法,這篇博客就是敘述如何手動(dòng)搭建HPC的。敬請往下看。
1. HPC簡(jiǎn)介
2. HPC架構
3. ssh無(wú)密碼訪(fǎng)問(wèn)
4. 安裝配置NFS
5. 安裝配置NIS
6. 安裝tentakel
7. 安裝openmpi
8. 安裝torque
9. 安裝ganglia
1. HPC簡(jiǎn)介
高性能計算(Highperformance computing,縮寫(xiě)HPC) 指通常使用很多處理器(作為單個(gè)機器的一部分)或者某一集群中組織的幾臺計算機(作為單個(gè)計算資源操作)的計算系統和環(huán)境。有許多類(lèi)型的HPC 系統,其范圍從標準計算機的大型集群,到高度專(zhuān)用的硬件。大多數基于集群的HPC系統使用高性能網(wǎng)絡(luò )互連,比如那些來(lái)自 InfiniBand 或 Myrinet 的網(wǎng)絡(luò )互連?;镜木W(wǎng)絡(luò )拓撲和組織可以使用一個(gè)簡(jiǎn)單的總線(xiàn)拓撲,在性能很高的環(huán)境中,網(wǎng)狀網(wǎng)絡(luò )系統在主機之間提供較短的潛伏期,所以可改善總體網(wǎng)絡(luò )性能和傳輸速率。
2. hpc架構
HPC網(wǎng)絡(luò )架構如圖所示
上圖顯示了一網(wǎng)狀 HPC 系統。在網(wǎng)狀網(wǎng)絡(luò )拓撲中,該結構支持通過(guò)縮短網(wǎng)絡(luò )節點(diǎn)之間的物理和邏輯距離來(lái)加快跨主機的通信。
盡管網(wǎng)絡(luò )拓撲、硬件和處理硬件在 HPC 系統中很重要,但是使系統如此有效的核心功能是由操作系統和應用軟件提供的。
HPC 系統使用的是專(zhuān)門(mén)的操作系統,這些操作系統被設計為看起來(lái)像是單個(gè)計算資源。正如從圖1和圖2中可以看到的,其中有一個(gè)控制節點(diǎn),該節點(diǎn)形成了 HPC 系統和客戶(hù)機之間的接口。該控制節點(diǎn)還管理著(zhù)計算節點(diǎn)的工作分配。
對于典型 HPC 環(huán)境中的任務(wù)執行,有兩個(gè)模型:?jiǎn)沃噶?多數據(SIMD) 和多指令/多數據 (MIMD)。SIMD在跨多個(gè)處理器的同時(shí)執行相同的計算指令和操作,但對于不同數據范圍,它允許系統同時(shí)使用許多變量計算相同的表達式。MIMD允許HPC 系統在同一時(shí)間使用不同的變量執行不同的計算,使整個(gè)系統看起來(lái)并不只是一個(gè)沒(méi)有任何特點(diǎn)的計算資源(盡管它功能強大),可以同時(shí)執行許多計算。
不管是使用 SIMD 還是 MIMD,典型HPC 的基本原理仍然是相同的:整個(gè)HPC 單元的操作和行為像是單個(gè)計算資源,它將實(shí)際請求的加載展開(kāi)到各個(gè)節點(diǎn)。HPC 解決方案也是專(zhuān)用的單元,被專(zhuān)門(mén)設計和部署為能夠充當(并且只充當)大型計算資源。
3.SSH無(wú)密碼訪(fǎng)問(wèn)
建立腳本目錄
mkdir –p /root/rootUser
mkdir –p /home/普通用戶(hù)目錄
例如: mkdir –p /home/hpc (hpc就是一個(gè)普通用戶(hù))
編寫(xiě)如下三個(gè)腳本:
Setp1.exp
內容如下:
#!/bin/bash
rm -fr/root/.ssh
/usr/bin/expect<<EOF
setforce_conservative 0 ;# set to 1 toforce conservative mode even if
;# script wasn\’t run conservativelyoriginally
if{\\$force_conservative} {
set send_slow {1 .1}
proc send {ignore arg} {
sleep .1
exp_send -s — \\$arg
}
}
settimeout -1
spawnssh-keygen -t dsa
match_max100000
expect-exact Enter file in which to save the key (/root/.ssh/id_dsa):
send –\\r
expect-exact Enter passphrase (empty for no passphrase):
send –\\r
expect-exact Enter same passphrase again:
send –\\r
expecteof
EOF
cd/root/.ssh
catid_dsa.pub >> authorized_keys
chmod 600authorized_keys
step2.exp
內容如下:
#!/bin/bash
if [ $#-ne 1 ]
then
{
echo \’usage: step1.exp root_password\’
exit
}
fi;
ROOTPASSWD=$1
rm -fr/root/.ssh/known_hosts
#for((node=1;node<=10;node ))
for nodein $(cat hostfile)
do
/usr/bin/expect<<EOF
# set to1 to force conservative mode even if
setforce_conservative 0 ;
;# script wasn\’t run conservativelyoriginally
if{\\$force_conservative} {
set send_slow {1 .1}
proc send {ignore arg} {
sleep .1
exp_send -s — \\$arg
}
}
settimeout -1
spawn ssh${node} hostname
match_max100000
expect-exact Are you sure you want to continue connecting (yes/no)?
send –yes\\r
expect-exact ${node}\’s
send –${ROOTPASSWD}\\r
expecteof
EOF
done;
step3.exp
內容如下:
#!/bin/bash
if [ $#-ne 1 ]
then
{
echo \’usage : step3.exp root_password\’;
exit 1;
}
fi;
ROOTPASSWORD=$1
#for((node=1;node<=10;node ))
for nodein $(cat hostfile)
do
/usr/bin/expect<<EOF
setforce_conservative 0 ;# set to 1 toforce conservative mode even if
;# script wasn\’t run conservativelyoriginally
if{\\$force_conservative} {
set send_slow {1 .1}
proc send {ignore arg} {
sleep .1
exp_send -s — \\$arg
}
}
settimeout -1
spawn scp-rp /root/.ssh ${node}:/root
match_max100000
expect-exact root@${node}\’s
send –${ROOTPASSWORD}\\r
expecteof
EOF
Done
執行命令:touch hostfile
編輯hostfile文件,加入說(shuō)有主機名,一行一個(gè)。
例如:
node136
node137
node138
hpc-test
執行如下命令:
cp setp1.exp setp2.exp setp3.exp hostfile /root/rootUser/
cp setp1.exp setp2.exp hostfile /home/普通用戶(hù)目錄
chmod 755 –R /root/rootUser/
chmod 755 –R /home/普通用戶(hù)目錄
chown root:root –R /root/rootUser/
chown 普通用戶(hù):普通用戶(hù)組 –R /home/普通用戶(hù)目錄/
以下實(shí)現各服務(wù)器之間root用戶(hù)之間ssh無(wú)密碼訪(fǎng)問(wèn)。
修改hostfile文件內容,把所有主機名稱(chēng)添加進(jìn)去。
先使用root用戶(hù)順序執行目錄/root/rootuser里面的腳本:
sh step1.exp
sh step2.exp root 密碼
sh step3.exp root 密碼
以下實(shí)現各服務(wù)器之間普通用戶(hù)之間ssh無(wú)密碼訪(fǎng)問(wèn)。
先在所有主機上建立相同的用戶(hù),執行命令:
Useradd 用戶(hù)名
Paswd 用戶(hù)名
修改hostfile文件內容,同上。
執行順序目錄/home/normalUser下面的腳本
sh step2.exp 普通用戶(hù)密碼
sh step3.exp 普通用戶(hù)名 密碼
以上腳本執行完成后使用root和普通用戶(hù)使用ssh命令測試各服務(wù)器之間是否可以無(wú)密碼訪(fǎng)問(wèn)。
4. NFS配置
在管理節點(diǎn)上設置共享目錄:
touch /etc/exports
echo ‘/home *(rw,insecure,no_root_squash,sync)’>>/etc/exports
echo ‘/hpc *(rw,insecure,no_root_squash,sync)’>> /etc/exports
啟動(dòng)nfs服務(wù)器
systemctl start nfs.service
查看nfs服務(wù)狀態(tài)
systemctl status nfs.service
設置nfs開(kāi)機自啟動(dòng)
systemctl enable nfs.service
在計算節點(diǎn)上執行mount命令把/home和/opt掛載到本地:
mount -t nfs -o vers=3 hpc:/opt /opt
mount -t nfs -o vers=3 hpc:/home /home
5.安裝配置NIS服務(wù)
NIS的作用是讓整個(gè)系統里的機器的賬戶(hù)能統一管理。
yum install –y ypbind yp-tools ypser rpcbind protmap
NIS的配置如下:
1)server端的配置
1、開(kāi)啟兩個(gè)服務(wù):
[root@admin ~]# /sbin/chkconfig yppasswdd on
[root@admin ~]# /sbin/chkconfig ypserv on
[root@admin ~]# /sbin/service yppasswdd restart
[root@admin ~]# /sbin/service ypserv restart
2、配置NIS域名
[root@admin ~]# nisdomainname TS10K
(必需將nisdomainname TS10K加入到nis服務(wù)器的/etc/rc.d/rc.local文件里面或者把NISDOMAIN=TS10K加入到/etc/sysconfig/netwok文件里)
echo “/bin/nisdomainnamehpc”>>/etc/rc.d/rc.local
echo“NISDOMAIN=hpc”>>/etc/sysconfig/network
可以使用rpcinfo–u 本機名 ypserv 察看ypserv是否啟動(dòng),若成功啟動(dòng)會(huì )看到:
program 100004 version 1 ready and waiting
program 100004 version 2 ready and waiting
若沒(méi)看到,則把ypserv重新啟動(dòng)一下即可。
3、數據初始化
[root@admin ~]# cd /usr/lib/yp
[root@admin yp]#./ypinit –m 或者/usr/lib64/yp/ypinit -m
ctl d(切記)來(lái)結束這個(gè)命令,再打入回車(chē)
回車(chē)后會(huì )顯示類(lèi)似內容:admin has been set up as a NISserver ,now you can run ypinit –s admin on all slave server.
在server端重新建立新用戶(hù)后,需要到/var/yp 目錄下make一下(當nis map有任何修改必須重新make一下),這樣client端才能使用新用戶(hù)登錄。
2)client端的配置
1、設定NIS client
setup→authentication configuration→[*]use NIS
填寫(xiě):Domain:TS10K (NIS的域名)
Server: admin (server端的名稱(chēng)或者ip)
2、開(kāi)啟服務(wù)
[root@cu001 ~]# /sbin/chkconfig ypbind on
[root@cu001 ~]# /sbin/service ypbind restart
也可以直接修改/etc/yp.conf文件來(lái)設定nis client端
修改完畢后,serviceypbind restart重啟服務(wù)即可
新增用戶(hù)時(shí),需要更新nis賬戶(hù)和資料庫:
cd /var/yp make
6.安裝tentakel
解壓軟件包pip-1.1.tar
進(jìn)入目錄:pip-1.1
cd pip-1.1
執行:python setup.py install
解壓軟件包:sfermigier-tentakel-1564958.zip
unzipsfermigier-tentakel-1564958.zip
cdsfermigier-tentakel-1564958
執行如下命令進(jìn)行安裝:
pip install . (.是表示當前目錄)
拷貝配置文件到/etc
cp tentakel.conf /etc
測試tentakel是否生效
執行命令:tentakel –g all “uptime”
7.安裝openmpi
安裝所需依賴(lài)包:
yum install –ygcc-gfortran gcc gcc-c *aclocal
解壓openmpi-1.6.4.tar
tar –zxvf openmpi-1.6.4.tar
cd openmpi-1.6.4
下面開(kāi)始編譯安裝:
生成安裝配置信息
./configure –prefix=/hpc/openmpi CC=gcc CXX=g F77=gfortran FC=gfortran
編譯安裝
make && make install(必須要make命令編譯成功才執行makeinstall開(kāi)始安裝)
編輯文件/etc/ ld.so.conf, 文件末尾加入openmpi的lib目錄路徑。
vim /etc/ ld.so.conf
執行ldconfig命令
編輯/etc/profile文件和用戶(hù)目錄下面的.bashrc文件,.bashrc是隱藏文件需要使用ls–al命令才可以看到。
加入如下內容:
export OPENMPI_HOME=/hpc/openmpi
export OPENMPI_PATH=$OPENMPI_HOME/bin
export TORQUE_HOME=/var/spool/torque
exportLD_LIBRARY_PATH=$OPENMPI_PATH:$OPENMPI_HOME/lib:$TORQUE_HOME:$LD_LIBRARY_PATH
export PATH=$PATH:$LD_LIBRARY_PATH
再執行:
source/etc/profile
Source /home/用戶(hù)/.bashrc
測試openmpi
8.安裝torque
Torque在整個(gè)集群里面充當任務(wù)調度的角色。
以下步驟在管理節點(diǎn)操作
安裝torque之前需要先安裝依賴(lài)包。
yum update
yum install -ylibxml2-devel openssl-devel
上傳安裝包
解壓安裝包
tar -zxvf torque-4.2.10.tar.gz
cd torque-4.2.10/
生成安裝信息,如果加了—perfix指定了安裝目錄,就會(huì )安裝到指定目錄,如果不加會(huì )安裝到默認目錄/usr/local,我這里不指定目錄,安裝默認目錄下。
執行 ./configure
生成安裝配置信息后執行如下命令進(jìn)行編譯安裝:
make && make install
拷貝服務(wù)啟動(dòng)程序到/etc/init.d/
cp torque/contrib/init.d/trqauthd/etc/init.d/
cp torque/contrib/init.d/pbs_server/etc/init.d/
cp torque/contrib/init.d/pbs_sched}/etc/init.d/
添加trqauth到服務(wù)列表
設置以上服務(wù)開(kāi)機自啟:
chkconfig pbs_server on
chkconfig pbs_sched on
chkconfig trqauthd on
執行如下命令:
echo /usr/local/lib > /etc/ld.so.conf.d/torque.conf
ldconfig
echo <pbs_server\’s_hostname> >/var/spool/torque/server_name
添加TORQUE_HOMEH環(huán)境變量
vim /etc/profile
執行命令: source /etc/profile
在安裝包目錄下面執行:
執行:pbs_server –u
touch /var/spool/torque/server_priv/nodes
vim /var/spool/torque/server_priv/nodes 加入所有計算機節點(diǎn)。
安裝計算節點(diǎn):
在管理節點(diǎn)的torque安裝包目錄下執行:makepackages
生成了幾個(gè)shell腳本:
在管理節點(diǎn)上執行:
cp torque-package-mom-linux*.sh /shared_storage/ —-/shared_storage 指的是共享存儲目錄
cp torque-package-clients-linux*.sh /shared_storage/
在所有計算節點(diǎn)上執行:
cd 到共享目錄
執行torque-package-clients-linux-x86_64.sh和torque-package-mom-linux-x86_64.sh
把管理節點(diǎn)上的安裝包目錄里的contrib/init.d/pbs_mom拷貝到所有計算節點(diǎn)的/etc/init.d/目錄。
把pbs_mom加入服務(wù)列表
chkconfig–add pbs_mom
設置pbs_mom服務(wù)開(kāi)機自啟動(dòng)
chkconfigpbs_mom on
在管理節點(diǎn)編寫(xiě)腳本:
startpbs_server.sh和shutpbs_server.sh
startpbs_server.sh用來(lái)啟動(dòng)所有pbs服務(wù),內容如下:
#!/bin/bash
for iin pbs_server pbs_mom pbs_sched trqauthd;
do
/etc/init.d/$istart
done
shutpbs_server.sh用來(lái)停止所有pbs服務(wù),內容如下:
#!/bin/bash
for iin pbs_server pbs_mom pbs_sched trqauthd;
do
/etc/init.d/$istop
done
添加執行權限:
chmod x startpbs_server.sh
chmod x shutpbs_server.sh
執行:shstartpbs_server.sh啟動(dòng)所有服務(wù)。
在計算節點(diǎn)的編輯/etc/profile文件加入TORQUE_HOME環(huán)境變量
source/etc/profile
在計算節點(diǎn)執行:
#echo /usr/local/lib> /etc/ld.so.conf.d/torque.conf
#ldconfig
啟動(dòng)pbs_server
/etc/init.d/pbs_momstart
在管理節點(diǎn)執行命令:qnodes
狀態(tài)為free就是正常的,為down就是計算節點(diǎn)的pbs_mom服務(wù)掛了。
編寫(xiě)測試腳本:
test.pbs內容如下:
#PBS-l nodes=1
##PBS-N test_1
#PBS-S /bin/bash
mpiexec–H localhost,node136,node137 -np 30 /home/hpc/a.out > /home/hpc/cu1111.log2>&1
su – 普通用戶(hù)
提交作業(yè):
qsub test.pbs
查看作業(yè)隊列:
qstat
狀態(tài)為C表示作業(yè)執行完成,為E表示作業(yè)執行完成正在退出。
9.安裝ganglia監控
Ganglia由gmond、gmetad和gweb三部分組成
gmond(GangliaMonitoring Daemon)是一種輕量級服務(wù),安裝在每臺需要收集指標數據的節點(diǎn)主機上。gmond在每臺主機上完成實(shí)際意義上的指標數據收集工作,并通過(guò)偵聽(tīng)/通告協(xié)議和集群內其他節點(diǎn)共享數據。使用gmond,你可以很容易收集很多系統指標數據,如CPU、內存、磁盤(pán)、網(wǎng)絡(luò )和活躍進(jìn)程的數據等。
gmetad(GangliaMeta Daemon)是一種從其他gmetad或gmond源收集指標數據,并將其以RRD格式存儲至磁盤(pán)的服務(wù)。gmetad為從主機組收集的特定指標信息提供了簡(jiǎn)單的查詢(xún)機制,并支持分級授權,使得創(chuàng )建聯(lián)合監測域成為可能。
gweb(GangliaWeb)gweb是一種利用瀏覽器顯示gmetad所存儲數據的PHP前端。在Web界面中以圖表方式展現集群的運行狀態(tài)下收集的多種不同指標數據。
管理節點(diǎn)需要安裝的組件:
gmetad
http
php
gweb
計算節點(diǎn)需要安裝的組件:
gmond
在所有節點(diǎn)執行下面的操作:
安裝軟件源:wget http://wap.friendlycc.com.cn/host/
rpm –ivh epel-release-6-8.noarch.rpm
執行如下命令:
yum clean all
yum makecach
yum update –y
yum search ganglia-gmetad ganglia-gmond
如果yum search命令可以找到ganglia軟件包在開(kāi)始安裝管理節點(diǎn)和計算節點(diǎn)。
安裝管理節點(diǎn):
安裝gmetad
執行:
yum installganglia-gmetad -y
安裝ganglia-web
在安裝ganglia-web之前需要先安裝httpd和php
執行:
yum install httpd php
建立ganglia的web目錄:
mkdir /var/www/html/ganglia
把ganglia-web下面的所有文件拷貝到/var/www/html/ganglia
配置管理節點(diǎn):
配置gmetad
修改gmetad服務(wù)的配置配文件:
vim /etc/ganglia/gmetad.conf
修改data_source參數
格式為:data_source “集群名稱(chēng)” host1:port,host2:port,.. hostN:port
如果不指定端口會(huì )使用默認端口:8649
配置ganglia-web
Ganglia的web監控界面是基于PHP的,因此需要安裝PHP環(huán)境,PHP環(huán)境的安裝不在介紹,可以在http://wap.friendlycc.com.cn/host/
配置ganglia的web界面比較簡(jiǎn)單,只需要修改幾個(gè)php文件即可,首先第一個(gè)是conf_default.php,可以將conf_default.php重命名為conf.php,也可以保持不變,ganglia的web默認先找conf.php,找不到會(huì )繼續找conf_default.php,需要修改的內容如下:
$conf[\’gmetad_root\’] =/var/www/html/ganglia/; # ganglia web根目錄
$conf[\’rrds\’] =${conf[\’gmetad_root\’]}/rrds; #ganglia web讀取rrds數據庫的路徑
$conf[\’dwoo_compiled_dir\’] =${conf[\’gmetad_root\’]}/dwoo/compiled; #需要777權限
$conf[\’dwoo_cache_dir\’] =${conf[\’gmetad_root\’]}/dwoo/cache; #需要777權限
$conf[\’rrdtool\’] =/usr/bin/rrdtool; #指定rrdtool的路徑
$conf[\’graphdir\’]= $conf[\’gweb_root\’] .\’/graph.d\’; #生成圖形模板目錄
$conf[\’ganglia_ip\’] =127.0.0.1; #gmetad服務(wù)器的地址
$conf[\’ganglia_port\’] = 8652; #gmetad服務(wù)器的交互式提供監控數據端口發(fā)布
執行如下命令:
chmod 777 -R /var/www/html/ganglia/dwoo/cache/
配置計算節點(diǎn)gmond服務(wù)
在所有計算節點(diǎn)執行如下命令:
yum install ganglia-gmond –y
gmond服務(wù)配置
gmond服務(wù)配置文件是/etc/ganglia/gmond.conf
部分配置說(shuō)明如下:
globals {
daemonize = yes #以后臺的方式運行
setuid = yes
user = nobody #運行g(shù)mond的用戶(hù)
debug_level = 0 #調試級別
max_udp_msg_len = 1472
mute = no #本節點(diǎn)將不會(huì )再廣播任何自己收集到的數據到網(wǎng)絡(luò )上
deaf = no #本節點(diǎn)將不再接收任何其他節點(diǎn)廣播的數據包
allow_extra_data = yes
host_dmax = 0 /*secs */
cleanup_threshold = 300 /*secs */
gexec = no #是否使用gexec
send_metadata_interval = 0
}
cluster {
name = Cluster1 #本節點(diǎn)屬于哪個(gè)cluster
owner = junfeng #指定該節點(diǎn)的所有者
latlong = unspecified #在地球上的坐標,經(jīng)度、緯度
url = unspecified
}
host {
location = unspecified
}
udp_send_channel { #udp包的發(fā)送通道
mcast_join = 239.2.11.71 #多播模式,工作在239.2.11.71通道下。如果使用單播模式,則要 寫(xiě)成host = host1,單播模式下也可以配置多個(gè)udp_send_channel
port = 8649 #監聽(tīng)端口
ttl = 1
}
udp_recv_channel { #接收udp包配置
mcast_join = 239.2.11.71 #同樣工作在239.2.11.71通道下
port = 8649 #監聽(tīng)端口
bind = 239.2.11.71 #綁定
}
tcp_accept_channel {
port = 8649 #通過(guò)tcp協(xié)議監聽(tīng)的端口,遠端可以通過(guò)鏈接8649端口得到監控數據
}
在此文檔中我們只需要修改cluser{…….}部分如下:
name字段需要和管理節點(diǎn)一致。
在管理節點(diǎn)執行:
systemctl enablegmetad.service
systemctl startgmetad.service
systemctl enablehttpd.service
systemctl enablehttpd.service
在計算節點(diǎn)執行:
systemctl enablegmond.service
systemctl start gmond.service
下面是見(jiàn)證奇跡的時(shí)刻。
在瀏覽器地址欄里面輸入:
http://wap.friendlycc.com.cn/host/
更多關(guān)于云服務(wù)器,域名注冊,虛擬主機的問(wèn)題,請訪(fǎng)問(wèn)特網(wǎng)科技官網(wǎng):wap.friendlycc.com.cn
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站