亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    Ansible部署RHCS存儲(chǔ)集群詳解

    一 前期準(zhǔn)備

    1.1 前置條件

    • 至少有三個(gè)不同的主機(jī)運(yùn)行monitor (MON)節(jié)點(diǎn);
    • 至少三個(gè)直接存儲(chǔ)(非外部SAN硬件)的OSD節(jié)點(diǎn)主;
    • 至少兩個(gè)不同的manager (MGR)節(jié)點(diǎn);
    • 如果使用CephFS,則至少有兩個(gè)完全相同配置的MDS節(jié)點(diǎn);
    • 如果使用Ceph對(duì)象網(wǎng)關(guān),則至少有兩個(gè)不同的RADOSGW節(jié)點(diǎn)。
    • 一個(gè)部署節(jié)點(diǎn),可以使用ceph-ansible包中的Ansible劇本來部署和配置集群。
    提示:Red Hat Ceph存儲(chǔ)還支持在Red Hat OpenStack平臺(tái)計(jì)算節(jié)點(diǎn)上部署OSDs、MONs、RGWs,但不支持部署mon和osd。
    紅帽Ceph存儲(chǔ),默認(rèn)配置將所有流量放在一個(gè)網(wǎng)絡(luò)上。生產(chǎn)環(huán)境中建議公共通信和集群通信配置單獨(dú)的網(wǎng)絡(luò)。公共網(wǎng)絡(luò)用于客戶端通信和與mon的通信。集群網(wǎng)絡(luò)用于OSD心跳、復(fù)制、回填和恢復(fù)流量。

    1.2 準(zhǔn)備工作

    • 具備相同操作系統(tǒng)的集群節(jié)點(diǎn),建議RHEL7;
    • 配置軟件倉庫(CentOS epel源、Ubuntu apt源、RedHat使用subscription-manager命令注冊(cè)系統(tǒng));
    • 所有節(jié)點(diǎn)配置網(wǎng)絡(luò)及NTP時(shí)間同步;
    • 關(guān)閉selinux與防火墻,或放通所有相關(guān)流量和端口;
    • 在部署節(jié)點(diǎn)安裝ansbile;
    • 添加hosts,并確保能正確解析到所有主機(jī);
    • 配置部署節(jié)點(diǎn)使用Ansible任務(wù)的用戶到其他所有節(jié)點(diǎn)可以ssh免密登錄;
    • 驗(yàn)證部署節(jié)點(diǎn)能夠在集群節(jié)點(diǎn)上能正常運(yùn)行ansible任務(wù)。

    1.3 其他注意事項(xiàng)

    1. OSD磁盤不建議使用RAID,Ceph使用復(fù)制或糾刪碼來保護(hù)數(shù)據(jù)
    2. 在生產(chǎn)環(huán)境部署Ceph集群,為便于管理,OSD主機(jī)應(yīng)盡量使用統(tǒng)一的硬件。盡可能配置數(shù)量、大小和名稱都相同的磁盤,有助于確保性能一致,并且簡(jiǎn)化故障排除;
    3. 需要確認(rèn)每個(gè)OSD主機(jī)提供的OSD的數(shù)量。密度較小的存儲(chǔ)集群意味著osd守護(hù)進(jìn)程分布到更多的主機(jī)上,分發(fā)工作負(fù)載。密度較高的存儲(chǔ)意味著重平衡和數(shù)據(jù)恢復(fù)需要更高的流量

    附一:組件端口說明

    Monitor
    6789/TCP:Communication within the Ceph cluster
    Manager
    7000/TCP:Communication with the Ceph Manager dashboard
    8003/TCP:Communication with the Ceph Manager RESTful API via HTTPS
    9283/TCP:Communication with the Ceph Manager Prometheus plug-in
    OSD
    6800-7300/TCP:Each OSD uses three ports in this range: one for communicating with clients and monitors over the public network; one for sending data to other OSDs over a cluster network,or over the public network if the former does not exist; and another for exchanging heartbeat packets over a cluster network or over the public network if the former does not exists.
    RADOS Gateway
    7480/TCP:RADOS Gateway uses port 7480/TCP,but you can change it, for example to port 80/TCP,or to port 443/TCP if using the SSL/TLS service.

    二 部署相關(guān)知識(shí)點(diǎn)

    2.1 Ansible介紹

    略,具體Ansible操作見本博客Ansible文章。

    2.2 Ansible部署Ceph相關(guān)yml

    /usr/share/ceph-ansible/group_vars/all.yml:所有節(jié)點(diǎn)相關(guān)yml配置;
    /usr/share/ceph-ansible/group_vars/osds.yml:所有OSD節(jié)點(diǎn)的yml配置;
    /usr/share/ceph-ansible/group_vars/client.yml:客戶端節(jié)點(diǎn)的yml配置。
    /usr/share/ceph-ansible:運(yùn)行Ansible部署的主目錄。

    2.3 yml主要相關(guān)參數(shù)

    • all.yml參數(shù)
    變量
    含義
    fetch_directory
    ~/ceph-ansible-keys
    用于將身份驗(yàn)證密鑰復(fù)制到集群節(jié)點(diǎn)的臨時(shí)目錄的位置。
    ceph_origin
    repository
    Ceph來源,repository表示使用包存儲(chǔ)庫
    ceph_repository
    rhcs
    用于安裝Red Hat的存儲(chǔ)庫Ceph存儲(chǔ)。rhcs使用官方紅帽Ceph存儲(chǔ)包。
    ceph_repository_type
    cdn or iso
    rhcs的安裝源,CDN或本地ISO映像。
    ceph_rhcs_iso_path
    path to iso
    如果使用iso存儲(chǔ)庫類型,則指向Red Hat Ceph存儲(chǔ)iso的路徑。
    ceph_rhcs_version
    3
    Red Hat Ceph安裝的版本。
    monitor_interface
    network interface
    Monitor用于偵聽的網(wǎng)絡(luò)接口。
    public_network
    address and netmask
    集群的公共網(wǎng)絡(luò)的子網(wǎng),如192.168.122.0/24。
    cluster_network
    address and netmask
    集群專用網(wǎng)絡(luò)的子網(wǎng)。默認(rèn)設(shè)置為public_network的值。
    journal_size
    size in MB
    分配給OSD日志的大小。應(yīng)該是預(yù)期的兩倍。在大多數(shù)情況下不應(yīng)小于5120 MB。
    提示:可以在group_vars/all.yml中將common_single_host_mode這個(gè)特殊參數(shù)設(shè)置為true。用于部署一個(gè)單節(jié)點(diǎn)、集所有功能于一身的Ceph集群作為測(cè)試學(xué)習(xí)使用。
    • osds.ym
    變量
    含義
    osd_scenario
    collocated
    or non-collocated
    OSD日志部署類型。
    devices
    用于OSDs的設(shè)備的名稱列表。
    用于并行OSD數(shù)據(jù)和日志分區(qū)或非并行OSD數(shù)據(jù)分區(qū)的設(shè)備。
    dedicated_devices
    用于非并列OSD期刊的設(shè)備名稱列表。
    OSD日志設(shè)備。
    并置方案:假定所有OSD主機(jī)具有相同的硬件并使用相同的設(shè)備名稱。
    group_vars/osds.yml配置示例:
    osd_scenario: “collocated”
    devices:
    – /dev/sdb
    – /dev/sdc
    – /dev/sdd
    非并置方案:將不同的存儲(chǔ)設(shè)備用于OSD數(shù)據(jù)和OSD日志。
    group_vars/osds.yml配置示例:
    osd_scenario: “non-collocated”
    devices:
    – /dev/sdb
    – /dev/sdc
    dedicated_devices:
    – /dev/sdd
    – /dev/sde

    2.4 客戶端相關(guān)命令

    命令
    含義
    ceph -s
    查看集群狀態(tài)。
    ceph -w
    動(dòng)態(tài)觀察集群更改。
    ceph df
    查看集群剩余空間狀態(tài)。
    ceph osd df
    查看OSD使用情況。
    ceph auth get-or-create
    創(chuàng)建用戶。
    aeph auth list
    查看用戶列表。
    ceph auth caps
    查看用戶權(quán)限。
    ceph auth del
    刪除用戶。

    2.5 對(duì)象object相關(guān)命令

    命令
    含義
    rados -p pool_name ls
    查看一個(gè)pool中的object。
    rados -p pool_name put object_name file_path
    上傳一個(gè)文件作為對(duì)象。
    rados -p pool_name get object_name file_path
    以文件的形式檢索object。
    rados -p pool_name stat object_name
    顯示object的統(tǒng)計(jì)數(shù)據(jù)。
    rados -p pool_name rm object_name
    刪除一個(gè)object。

    三 正式部署

    節(jié)點(diǎn)
    類型
    IP
    備注
    servera
    部署節(jié)點(diǎn)
    172.25.250.10
     
    serverc
    mons
    mgrs
    osds
    172.25.250.12
     
    serverd
    mons
    mgrs
    osds
    172.25.250.13
     
    servere
    mons
    mgrs

    osds

    172.25.250.14
     

    3.1 部署節(jié)點(diǎn)配置主機(jī)名

    [root@servera ~]# vi /etc/hosts  172.25.250.10 servera  172.25.250.12 serverc  172.25.250.13 serverd  172.25.250.14 servere

    提示:主機(jī)名應(yīng)該能正確解析主機(jī)名,若管理節(jié)點(diǎn)同時(shí)也是一個(gè)Ceph節(jié)點(diǎn),也要確認(rèn)能正確解析自己的主機(jī)名和IP地址。本實(shí)驗(yàn)環(huán)境此3.1步驟可省略。

    3.2 創(chuàng)建相關(guān)用戶

    [root@servera ~]# useradd student
    [root@servera ~]# echo student | passwd –stdin student  #創(chuàng)建非root的管理用戶
    [root@servera ~]# for i in {a..e}; do echo “====server${i}====”;ssh root@server${i} ‘useradd -d /home/student -m student; echo “student” | passwd –stdin student’; done                #所有OSD server節(jié)點(diǎn)創(chuàng)建student用戶
    [root@servera ~]# for i in {a..e}; do echo “====server${i}====”;ssh root@server${i} ‘useradd -d /home/ceph -m ceph; echo “redhat” | passwd –stdin ceph’; done
    [root@servera ~]# for i in {a..e}; do echo “====server${i}====”;ssh root@server${i} ‘echo “student ALL = (root) NOPASSWD:ALL” > /etc/sudoers’; done
    [root@servera ~]# for i in {a..e}; do echo “====server${i}====”;ssh root@server${i} ‘chmod 0440 /etc/sudoers’; done

    3.3 配置部署節(jié)點(diǎn)免密鑰

    [root@servera ~]# su - student  [student@servera ~]$ ssh-keygen -f ~/.ssh/id_rsa -N ''  [student@servera ~]$ for i in {a..e}; do echo "====server${i}====";ssh-copy-id student@server$i;ssh-copy-id ceph@server$i; done

     

    3.4 配置Ansible Inventory

    [student@servera ~]$ sudo vi /usr/share/ceph-ansible/ansible.cfg  log_path = /tmp/ansible.log          #修改日志路徑為student用戶可寫入的/tmp路徑  deprecation_warnings = False  #禁用在ansible-playbook輸出結(jié)果相關(guān)必須要警告

    提示:Ansible默認(rèn)使用/etc/ansible/hosts作為Inventory文件,也可使用-f參數(shù)手動(dòng)指定其他文件。

    [student@servera ~]$ sudo vi /etc/ansible/hosts
    [mons]
    server[c:e]

    [mgrs]
    server[c:e]
    [student@servera ~]$ ansible mons -m ping  #測(cè)試mons組節(jié)點(diǎn)通信
    [student@servera ~]$ ansible mgrs -m ping  #測(cè)試mgrs組節(jié)點(diǎn)通信
    [student@servera ~]$ ansible mons -m command -a id #通過命令測(cè)試mons組節(jié)點(diǎn)
    [student@servera ~]$ ansible mgrs -m command -a id #通過命令測(cè)試mgrs組節(jié)點(diǎn)

    提示:ceph ansible playbook為每種Ceph節(jié)點(diǎn)類型使用一個(gè)主機(jī)組:monitors節(jié)點(diǎn)使用mons, osds節(jié)點(diǎn)使用osds,managers節(jié)點(diǎn)使用mgrs,MDSs使用mdss, Ceph客戶端使用clients, RADOS網(wǎng)關(guān)節(jié)點(diǎn)使用raws, iSCSI網(wǎng)關(guān)使用iscsi-gws,啟用RBD mirroring使用rd-mirror。
    因此需要需要根據(jù)Ceph主機(jī)的角色將它們?cè)趯?duì)應(yīng)的Inventory文件中配置為對(duì)應(yīng)的組。

    3.5 創(chuàng)建site.yml

    [student@servera ~]$ cd /usr/share/ceph-ansible/
    [student@servera ceph-ansible]$ sudo cp site.yml.sample site.yml
    [student@servera ceph-ansible]$ sudo vi site.yml
    #……
    – hosts: osds
      gather_facts: false
      become: True
      serial: 1                  #在osd(80行左右)添加此行

    提示:添加serial: 1添,會(huì)減慢了OSD的部署,但是使我們更有可能預(yù)測(cè)哪個(gè)OSD編號(hào)被分配給哪個(gè)OSD主機(jī),以便將來的實(shí)驗(yàn)室練習(xí)。

    3.6 創(chuàng)建all.yml

    [student@servera ~]$ cd /usr/share/ceph-ansible/group_vars/
    [student@servera group_vars]$ sudo cp all.yml.sample all.yml
    [student@servera group_vars]$ sudo vi all.yml

    dummy:
    ntp_service_enabled: false   #本實(shí)驗(yàn)采用chrony進(jìn)行時(shí)鐘同步
    ceph_origin: repository
    ceph_repository: rhcs
    ceph_rhcs_version: “3”
    ceph_repository_type: cdn
    rbd_cache: “true”    #開啟RBD回寫緩存
    rbd_cache_writethrough_until_flush: “false” #在切換回寫之前,不從寫透開始。
    rbd_client_directories: false  #不要?jiǎng)?chuàng)建客戶機(jī)目錄(它們應(yīng)該已經(jīng)存在)。
    monitor_interface: eth0
    journal_size: 1024    #本環(huán)境存儲(chǔ)設(shè)備很小,OSD日志比通常建議的要小
    public_network: 172.25.250.0/24
    cluster_network: “{{ public_network }}”
    ceph_conf_overrides:
      global:
        mon_osd_allow_primary_affinity: 1
        mon_clock_drift_allowed: 0.5  #允許MON時(shí)鐘間隔最多0.5秒
        osd_pool_default_size: 2
        osd_pool_default_min_size: 1  #降低存儲(chǔ)池復(fù)制大小的默認(rèn)設(shè)置
        mon_pg_warn_min_per_osd: 0  #見提示一
        mon_pg_warn_max_per_osd: 0  #見提示二
        mon_pg_warn_max_object_skew: 0  #見提示三
      client:
        rbd_default_features: 1   #僅為以后的練習(xí)啟用一組特定的客戶機(jī)功能

    提示一:根據(jù)每個(gè)OSD的pg數(shù)量關(guān)閉集群健康警告。通常,第一個(gè)變量被設(shè)置為30,如果OSD中的每個(gè)“in”平均少于30個(gè)pg,集群就會(huì)發(fā)出警告。
    提示二:此變量默認(rèn)值為300,如果OSD中的每個(gè)“in”平均超過300個(gè)pg,集群就會(huì)發(fā)出警告,在本實(shí)驗(yàn)的小集群中可能沒有很多pg,因此采用禁用。
    提示三:根據(jù)某個(gè)池中對(duì)象的數(shù)量大于集群中一組池中對(duì)象的平均數(shù)量,關(guān)閉集群健康警告。同樣,我們有一個(gè)非常小的集群,這避免了通常指示我們需要調(diào)優(yōu)集群的額外警告。

    3.7 正式部署Ceph集群

    [student@servera ~]$ cd /usr/share/ceph-ansible/  [student@servera ceph-ansible]$ ansible-playbook site.yml

    Ansible部署RHCS存儲(chǔ)集群詳解
    提示:若部署成功,則對(duì)于每個(gè)MON節(jié)點(diǎn),前面的命令輸出應(yīng)該顯示failed=0。在playbook執(zhí)行過程中,可能會(huì)有許多非致命的警告,它們不會(huì)被當(dāng)做“失敗”任務(wù),可以忽略。

    3.8 確認(rèn)驗(yàn)證Ceph集群

    [student@servera ~]$ ssh ceph@serverc ceph -s

    Ansible部署RHCS存儲(chǔ)集群詳解
    [student@servera ~]$ ssh ceph@serverc cat /etc/ceph/ceph.conf

    Ansible部署RHCS存儲(chǔ)集群詳解
    [student@servera ~]$ ssh ceph@serverc ps aux | grep ceph-mon

    Ansible部署RHCS存儲(chǔ)集群詳解

    3.9 創(chuàng)建osds.yml

    [student@servera ~]$ cd /usr/share/ceph-ansible/group_vars/
    [student@servera group_vars]$ sudo cp osds.yml.sample osds.yml
    [student@servera group_vars]$ sudo vi osds.yml

    dummy:
    osd_scenario: “collocated”   #OSD使用并列的OSD形式
    devices:
      – /dev/vdb    #使用/dev/vdb作為后端存儲(chǔ)設(shè)備

    3.10 配置Ansible Inventory

    [student@servera ~]$ sudo vi /etc/ansible/hosts
    [mons]
    server[c:e]

    [mgrs]
    server[c:e]

    [osds]
    server[c:e]     #追加osds組

    3.11 正式部署OSD節(jié)點(diǎn)

    [student@servera ~]$ cd /usr/share/ceph-ansible/  [student@servera ceph-ansible]$ ansible-playbook site.yml

    Ansible部署RHCS存儲(chǔ)集群詳解
    提示:若部署成功,則對(duì)于每個(gè)OSD節(jié)點(diǎn),前面的命令輸出應(yīng)該顯示failed=0。在playbook執(zhí)行過程中,可能會(huì)有許多非致命的警告,它們不會(huì)被當(dāng)做“失敗”任務(wù),可以忽略。

    3.12 確認(rèn)驗(yàn)證OSD節(jié)點(diǎn)

    [student@servera ~]$ ssh ceph@serverc ceph -s

    Ansible部署RHCS存儲(chǔ)集群詳解
    [student@servera ~]$ ssh ceph@serverc ceph -w  #使用此命令監(jiān)視集群事件

    提示:ceph -w命令將繼續(xù)顯示集群的運(yùn)行狀況和當(dāng)前事件。要終止該命令,可按ctrl+c。

    3.13 測(cè)試及驗(yàn)證

    [ceph@serverc ~]$ sudo systemctl stop ceph-mon.target #停止serverc的mon進(jìn)程  [ceph@serverc ~]$ ceph -s            #觀察Ceph狀態(tài)

    Ansible部署RHCS存儲(chǔ)集群詳解
    [ceph@serverc ~]$ sudo systemctl start ceph-mon.target #重啟開啟mon進(jìn)程  [ceph@serverc ~]$ sudo systemctl stop ceph-osd.target #停止serverc的osd進(jìn)程  [ceph@serverc ~]$ ceph -s            #觀察Ceph狀態(tài)

    Ansible部署RHCS存儲(chǔ)集群詳解
    [ceph@serverc ~]$ ceph osd tree    #查看osd情況

    Ansible部署RHCS存儲(chǔ)集群詳解
    [ceph@serverc ~]$ sudo systemctl start ceph-osd.target #重啟開啟osd進(jìn)程  [ceph@serverc ~]$ sudo systemctl stop ceph-osd@0         #停止serverc的osd id為0的進(jìn)程  [ceph@serverc ~]$ ceph osd tree    #查看osd情況

    Ansible部署RHCS存儲(chǔ)集群詳解
    [ceph@serverc ~]$ sudo systemctl start ceph-osd@0 #重啟開啟osd 0進(jìn)程  [ceph@serverc ~]$ ceph -s    #觀察Ceph狀態(tài)

    Ansible部署RHCS存儲(chǔ)集群詳解
    [ceph@serverc ~]$ ceph -v   #查看Ceph版本

    3.14 創(chuàng)建client.yml

    [student@servera ~]$ cd /usr/share/ceph-ansible/group_vars/
    [student@servera group_vars]$ sudo cp clients.yml.sample clients.yml
    [student@servera group_vars]$ sudo vi clients.yml

    dummy:
    copy_admin_key: true

    3.15 配置Ansible Inventory

    [student@servera ~]$ sudo vi /etc/ansible/hosts
    [mons]
    server[c:e]

    [mgrs]
    server[c:e]

    [osds]
    server[c:e]

    [clients]
    servera     #追加client客戶端

    3.16 正式部署client節(jié)點(diǎn)

    [student@servera ~]$ cd /usr/share/ceph-ansible/  [student@servera ceph-ansible]$ ansible-playbook site.yml

    Ansible部署RHCS存儲(chǔ)集群詳解
    提示:若部署成功,則對(duì)于每個(gè)OSD節(jié)點(diǎn),前面的命令輸出應(yīng)該顯示failed=0。在playbook執(zhí)行過程中,可能會(huì)有許多非致命的警告,它們不會(huì)被當(dāng)做“失敗”任務(wù),可以忽略。

    3.17 確認(rèn)驗(yàn)證

    [kiosk@foundation0 ~]$ ssh ceph@servera   #使用ceph用戶登錄servera  [ceph@servera ~]$ ceph -s     #查看Ceph集群

    Ansible部署RHCS存儲(chǔ)集群詳解

    四 擴(kuò)容Ceph集群

    4.1 擴(kuò)容前置條件

    • 在不中斷服務(wù)的前提下,擴(kuò)展ceph集群存儲(chǔ)容量
    • 可通過ceph-ansible以兩種方式擴(kuò)展集群中的存儲(chǔ):
      • 可以添加額外OSD主機(jī)到集群(scale-out)
      • 可以添加額外存儲(chǔ)設(shè)備到現(xiàn)有的OSD主機(jī)(scale-up)
    • 開始部署額外的OSD前,需確保集群處于HEALTH_OK狀態(tài)
    • 相關(guān)主機(jī)解析已正常添加指hosts

    4.2 創(chuàng)建相關(guān)用戶

    [root@serverf ~]# useradd student
    [root@serverf ~]# echo student | passwd –stdin student          #創(chuàng)建非root的管理用戶
    [root@serverf ~]# useradd -d /home/student -m student; echo “student” | passwd –stdin student’                                                #所有OSD server節(jié)點(diǎn)創(chuàng)建student用戶
    [root@serverf ~]# useradd -d /home/ceph -m ceph; echo “redhat” | passwd –stdin ceph’
    [root@serverf ~]# echo “student ALL = (root) NOPASSWD:ALL” > /etc/sudoers’
    [root@serverf ~]# chmod 0440 /etc/sudoers

    4.3 配置部署節(jié)點(diǎn)免密鑰

    [root@servera ~]# su - student  [student@servera ~]$ ssh-copy-id student@serverf;ssh-copy-id ceph@serverf

    4.4 擴(kuò)容額外的OSD主機(jī)

    [student@servera ~]$ sudo vi /etc/ansible/hosts  #配置Ansible Inventory
    [student@servera ~]$ sudo vi /etc/ansible/hosts
    [mons]
    server[c:e]

    [mgrs]
    server[c:e]

    [osds]
    server[c:e]
    serverf       #追加serverf

    [clients]
    servera

    4.5 添加額外OSD存儲(chǔ)設(shè)備

    devices:    - /dev/vdb    - /dev/vdc    - /dev/vdd      #追加存儲(chǔ)設(shè)備

    4.6 正式部署OSD節(jié)點(diǎn)

    [student@servera ~]$ cd /usr/share/ceph-ansible/  [student@servera ceph-ansible]$ ansible-playbook site.yml

    Ansible部署RHCS存儲(chǔ)集群詳解
    提示:若部署成功,則對(duì)于每個(gè)OSD節(jié)點(diǎn),前面的命令輸出應(yīng)該顯示failed=0。在playbook執(zhí)行過程中,可能會(huì)有許多非致命的警告,它們不會(huì)被當(dāng)做“失敗”任務(wù),可以忽略。

    4.7 確認(rèn)驗(yàn)證

    [ceph@servera ~]$ ceph -s

    Ansible部署RHCS存儲(chǔ)集群詳解
     [ceph@servera ~]$ ceph osd tree

    Ansible部署RHCS存儲(chǔ)集群詳解
    [ceph@servera ~]$ ceph osd df

    Ansible部署RHCS存儲(chǔ)集群詳解
    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)