您好,登錄后才能下訂單哦!
前言
隨著網絡的快速普及和應用的日益深入,各種增值業務在網絡上得到了廣泛部署,網絡帶寬也以指數級增長,網絡短時間的中斷就可能影響大量業務,造成重大損失。作為業務承載主體的基礎網絡,其高可用性(High Availablity,HA)也因此日益成為關注的焦點。在這種背景下,從運營商到大中型企業客戶,在構建生產網絡(production network)時,5個9的網絡可用性(一年中不能提供服務的時間在5分鐘左右),已經成為建網的追求。對于設備提供商或解決方案提供商來說,能否提供端到端的高可用性網絡解決方案,不但是廠商技術實力的反映,也是關乎能否在未來激烈的競爭中生存的關鍵。
如何定義高可用性網絡
那么,如何衡量一個網絡的可用性呢?首先,一個高可用性網絡不能頻頻出現故障,只要發生故障,即使是很短時間的中斷,都會影響業務運營,特別在當前適時性強、對丟包和時延敏感的業務,如語音和視頻等業務在網絡上廣泛部署的情況下更是如此。其次,高可用性的網絡,即使出現故障,也應該能很快恢復。如果一個網絡一年不出一次故障,但一次故障需要幾個小時,甚至幾天才能恢復,那么這個網絡也算不上一個高可用的網絡。事實上,故障少、故障恢復時間短基本就概括了高可用性網絡的特點。在實際網絡中,軟、硬件的版本質量是有極限的,并且也避免不了各種人為和非技術因素造成的網絡故障和服務中斷。基于這個原因,開發能讓網絡迅速從故障中恢復的技術非常重要。事實上,如果網絡總是能在不中斷(絕大部分)業務的情況下恢復,對多數用戶,就其業務體驗來說,甚至可以認為是無故障的。
總體方案(5個方面)
1.服務器 群集 (windows linux 防火墻)
2.路由節點 (HSRP VRRP)
3.線路 (lan:stp wan:【備份技術】)
4.磁盤 (raid raid1 raid5 raid6 raid10)
5.網卡 (bond)
具體方案實施步驟及過程:
方案2.vrrp
VRRP即虛擬路由器冗余協議。虛擬路由器冗余協議(VRRP)是一種選擇協議,它可以把一個虛擬路由器的責任動態分配到局域網上的 VRRP 路由器中的一臺。控制虛擬路由器 IP 地址的 VRRP 路由器稱為主路由器,它負責轉發數據包到這些虛擬 IP 地址。一旦主路由器不可用,這種選擇過程就提供了動態的故障轉移機制,這就允許虛擬路由器的 IP 地址可以作為終端主機的默認第一跳路由器。使用 VRRP 的好處是有更高的默認路徑的可用性而無需在每個終端主機上配置動態路由或路由發現協議。 VRRP 包封裝在 IP 包中發送。
VRRP拓撲圖
所需設備:
quidway R2621 3臺
quidway S2403H-EI 2臺
主機 4臺
具體步驟:
SW1配置
<Quidway>system-view
System View: return to User View with Ctrl+Z.
[Quidway]sys
[Quidway]sysname SW1
[SW1]vlan 10
[SW1-vlan10]port e1/0/10
[SW1-vlan10]vlan 20
[SW1-vlan20]port e1/0/20
[SW1-vlan20]int e1/0/1
[SW1-Ethernet1/0/1]port link-type trunk
[SW1-Ethernet1/0/1]port trunk permit vlan all
Please wait........................................... Done.
[SW1-Ethernet1/0/1]dis vlan
The following VLANs exist:
1(default), 10, 20
[SW1-Ethernet1/0/1]int e1/0/24
[SW1-Ethernet1/0/24]port link-type trunk
[SW1-Ethernet1/0/24]port trunk permit vlan all
Please wait........................................... Done.
SW2配置
<Quidway>system-view
System View: return to User View with Ctrl+Z.
[Quidway]sysname SW2
[SW2]vlan 10
[SW2-vlan10]port e1/0/10
[SW2-vlan10]vlan 20
[SW2-vlan20]port e1/0/20
[SW2-vlan20]int e1/0/1
[SW2-Ethernet1/0/1]port link-type trunk
[SW2-Ethernet1/0/1]port trunk permit vlan all
Please wait........................................... Done.
[SW2-Ethernet1/0/1]int e1/0/24
[SW2-Ethernet1/0/24]port link-type trunk
[SW2-Ethernet1/0/24]port trunk permit vlan all
Please wait........................................... Done.
R3配置
[Router]sysname R3
[R3]int e0
[R3-Ethernet0]ip add 3.3.3.3 24
[R3-Ethernet0]loopback
[R3-Ethernet0]int s0
[R3-Serial0]ip add 1.1.1.2 24
[R3-Serial0]shut
[R3-Serial0]undo shut
[R3-Serial0]int s1
[R3-Serial1]ip add 1.1.2.2 24
[R3-Serial1]shut
[R3-Serial1]undo shut
R1配置
[Router]sysname R1
[R1]int s0
[R1-Serial0]ip add 1.1.1.1 24
[R1-Serial0]shut
[R1-Serial0]undo shut
[R1-Serial0]int e0.1
[R1-Ethernet0.1]vlan-type dot1q vid 10
[R1-Ethernet0.1]ip add 192.168.10.1 24
[R1-Ethernet0.1]int e0.2
[R1-Ethernet0.2]vlan-type dot1q vid 20
[R1-Ethernet0.2]ip add 192.168.20.1 24
[R1-Ethernet0.2]quit
[R1]ip route-static 0.0.0.0 0.0.0.0 1.1.1.2
[R1]ping 3.3.3.3
PING 3.3.3.3: 56 data bytes, press CTRL_C to break
Reply from 3.3.3.3: bytes=56 Sequence=0 ttl=255 time = 25 ms
Reply from 3.3.3.3: bytes=56 Sequence=1 ttl=255 time = 26 ms
Reply from 3.3.3.3: bytes=56 Sequence=2 ttl=255 time = 25 ms
Reply from 3.3.3.3: bytes=56 Sequence=3 ttl=255 time = 25 ms
Reply from 3.3.3.3: bytes=56 Sequence=4 ttl=255 time = 25 ms
--- 3.3.3.3 ping statistics ---
5 packets transmitted
5 packets received
0.00% packet loss
round-trip min/avg/max = 25/25/26 ms
[R1]acl 2000 match-order auto
[R1-acl-2000]rule permit source any
Rule has been added to normal packet-filtering rules
[R1-acl-2000]quit
[R1]nat address-group 1.1.1.4 1.1.1.6 add
[R1]int s0
[R1-Serial0]nat outbound 2000 address-group add
[R1-Serial0]quit
[R1]vrrp ping-enable
ping vrrp enable
[R1]int e0.1
[R1-Ethernet0.1]vrrp vrid 10 virtual-ip 192.168.10.254
[R1-Ethernet0.1]vrrp vrid 10 priority 120
[R1-Ethernet0.1]vrrp vrid 10 track s0 reduced 30
[R1-Ethernet0.1]int e0.2
[R1-Ethernet0.2]vrrp vrid 20 virtual-ip 192.168.20.254
[R1-Ethernet0.2]quit
R2配置
[Router]sysname R2
[R2]int s1
[R2-Serial1]ip add 1.1.2.1 24
[R2-Serial1]shut
[R2-Serial1]undo shut
[R2-Serial1]int e0.1
[R2-Ethernet0.1]vlan-type dot1q vid 10
[R2-Ethernet0.1]ip add 192.168.10.2 24
[R2-Ethernet0.1]int e0.2
[R2-Ethernet0.2]vlan-type dot1q vid 20
[R2-Ethernet0.2]ip add 192.168.20.2 24
[R2-Ethernet0.2]quit
[R2]ip route-static 0.0.0.0 0.0.0.0 1.1.2.2
[R2]acl 2000 m a
[R2-acl-2000]rule permit source any
Rule has been added to normal packet-filtering rules
[R2-acl-2000]quit
[R2]nat address-group 1.1.2.4 1.1.2.6 add
[R2]int s1
[R2-Serial1]nat outbound 2000 address-group add
[R2-Serial1]quit
[R2]vrrp ping-enable
ping vrrp enable
[R2]int e0.1
[R2-Ethernet0.1]vrrp vrid 10 virtual-ip 192.168.10.254
[R2-Ethernet0.1]int e0.2
[R2-Ethernet0.2]vrrp vrid 20 virtual-ip 192.168.20.254
[R2-Ethernet0.2]vrrp vrid 20 priority 120
[R2-Ethernet0.2]vrrp vrid 20 track s1 reduced 30
[R2-Ethernet0.2]quit
[R2]ping 3.3.3.3
PING 3.3.3.3: 56 data bytes, press CTRL_C to break
Reply from 3.3.3.3: bytes=56 Sequence=0 ttl=255 time = 25 ms
Reply from 3.3.3.3: bytes=56 Sequence=1 ttl=255 time = 25 ms
Reply from 3.3.3.3: bytes=56 Sequence=2 ttl=255 time = 25 ms
Reply from 3.3.3.3: bytes=56 Sequence=3 ttl=255 time = 26 ms
Reply from 3.3.3.3: bytes=56 Sequence=4 ttl=255 time = 25 ms
--- 3.3.3.3 ping statistics ---
5 packets transmitted
5 packets received
0.00% packet loss
round-trip min/avg/max = 25/25/26 ms
[R2]dis vrrp
Ethernet0.2 | Virtual Router 20
state : Master
Virtual IP : 192.168.20.254
Priority : 120
Preempt : YES Delay Time : 0
Timer : 1
Auth Type : NO
Track IF : Serial1 Priority reduced : 30
Ethernet0.1 | Virtual Router 10
state : Backup
Virtual IP : 192.168.10.254
Priority : 100
Preempt : YES Delay Time : 0
Timer : 1
Auth Type : NO
故障模擬1,電信網絡出現故障。
[R2]int s1
[R2-Serial1]shut //模擬電信網絡故障
% Interface Serial1 is down
[R2-Serial1]dis vrrp
Ethernet0.2 | Virtual Router 20
state : Backup
Virtual IP : 192.168.20.254
Priority : 90
Preempt : YES Delay Time : 0
Timer : 1
Auth Type : NO
Track IF : Serial1 Priority reduced : 30
Ethernet0.1 | Virtual Router 10
state : Backup
Virtual IP : 192.168.10.254
Priority : 100
Preempt : YES Delay Time : 0
Timer : 1
Auth Type : NO
[R1]dis vrrp
Ethernet0.2 | Virtual Router 20
state : Master
Virtual IP : 192.168.20.254
Priority : 100
Preempt : YES Delay Time : 0
Timer : 1
Auth Type : NO
Ethernet0.1 | Virtual Router 10
state : Master
Virtual IP : 192.168.10.254
Priority : 120
Preempt : YES Delay Time : 0
Timer : 1
Auth Type : NO
Track IF : Serial0 Priority reduced : 30
4個主機正常工作。
故障模擬2,網通網絡出現故障。
[R1]int s0
[R1-Serial0]shut //模擬網絡網絡故障
% Interface Serial0 is shut down
[R2]int s1
[R2-Serial1]undo shut //恢復電信網絡
% Interface Serial1 is reset
[R2-Serial1]
%01:41:31: Interface Serial1 is UP
[R2-Serial1]dis vrrp
Ethernet0.2 | Virtual Router 20
state : Master
Virtual IP : 192.168.20.254
Priority : 120
Preempt : YES Delay Time : 0
Timer : 1
Auth Type : NO
Track IF : Serial1 Priority reduced : 30
Ethernet0.1 | Virtual Router 10
state : Master
Virtual IP : 192.168.10.254
Priority : 100
Preempt : YES Delay Time : 0
Timer : 1
Auth Type : NO
[R1]dis vrrp
Ethernet0.2 | Virtual Router 20
state : Backup
Virtual IP : 192.168.20.254
Priority : 100
Preempt : YES Delay Time : 0
Timer : 1
Auth Type : NO
Ethernet0.1 | Virtual Router 10
state : Backup
Virtual IP : 192.168.10.254
Priority : 90
Preempt : YES Delay Time : 0
Timer : 1
Auth Type : NO
Track IF : Serial0 Priority reduced : 30
4個主機正常工作。
故障模擬3,子端口出現故障。
[R1]int s0
[R1-Serial0]undo shut //恢復網通網絡
% Interface Serial0 is reset
[R1-Serial0]
%01:43:07: Interface Serial0 is UP
[R1-Serial0]quit
[R1]int e0.1
[R1-Ethernet0.1]shut //模擬子端口故障
% Interface Ethernet0.1 is shut down
[R1-Ethernet0.1]
%01:43:30: Line protocol ip on the interface Ethernet0.1 is DOWN
[R1-Ethernet0.1]dis vrrp
Ethernet0.2 | Virtual Router 20
state : Backup
Virtual IP : 192.168.20.254
Priority : 100
Preempt : YES Delay Time : 0
Timer : 1
Auth Type : NO
Ethernet0.1 | Virtual Router 10
state : Initialize
Virtual IP : 192.168.10.254
Priority : 120
Preempt : YES Delay Time : 0
Timer : 1
Auth Type : NO
Track IF : Serial0 Priority reduced : 30
[R2]dis vrrp
Ethernet0.2 | Virtual Router 20
state : Master
Virtual IP : 192.168.20.254
Priority : 120
Preempt : YES Delay Time : 0
Timer : 1
Auth Type : NO
Track IF : Serial1 Priority reduced : 30
Ethernet0.1 | Virtual Router 10
state : Master
Virtual IP : 192.168.10.254
Priority : 100
Preempt : YES Delay Time : 0
Timer : 1
Auth Type : NO
4個主機依然正常工作。
方案3-1:stp和鏈路聚合
STP(Spanning Tree Protocol)是生成樹協議的英文縮寫。該協議可應用于在網絡中建立樹形拓撲,消除網絡中的環路,并且可以通過一定的方法實現路徑冗余,但不是一定可以實現路徑冗余。生成樹協議最主要的應用是為了避免局域網中的單點故障、網絡回環,解決成環以太網網絡的“廣播風暴”問題,從某種意義上說是一種網絡保護技術,可以消除由于失誤或者意外帶來的循環連接。但是,由于協議機制本身的局限,STP拓撲收斂慢,當網絡拓撲發生改變的時候,生成樹協議需要50-52秒的時間才能完成拓撲收斂;而且不能提供負載均衡的功能,當網絡中出現環路的時候,生成樹協議簡單的將環路進行Block,這樣該鏈路就不能進行數據包的轉發,浪費網絡資源。而鏈路聚合正好解決這兩個不足,鏈路聚合是將兩個或更多數據信道結合成一個單個的信道,該信道以一個單個的更高帶寬的邏輯鏈路出現。
拓撲圖
所需設備:
quidway S2403H-EI 2臺
具體步驟:
SW1配置
<Quidway>system-view
System View: return to User View with Ctrl+Z.
[Quidway]sysname SW1
[SW1]stp enable
[SW1]dis stp
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :32768.000f-e274-4920
Bridge Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.000f-e274-4920 / 0
CIST RegRoot/IRPC :32768.000f-e274-4920 / 0
CIST RootPortId :0.0
BPDU-Protection :disabled
TC-Protection :enabled / Threshold=6
Bridge Config
Digest Snooping :disabled
TC or TCN received :0
Time since last TC :0 days 0h:1m:20s
[SW1]dis stp brief
MSTID Port Role STP State Protection
0 Ethernet1/0/22 DESI FORWARDING NONE
0 Ethernet1/0/24 BACK DISCARDING NONE
[SW1]link-aggregation group 1 mode manual
[SW1]int e1/0/22
[SW1-Ethernet1/0/22]port link-aggregation group 1
[SW1-Ethernet1/0/22]dis link-aggregation summary
[SW1-Ethernet1/0/22]int e1/0/24
[SW1-Ethernet1/0/24]port link-aggregation group 1
Aggregation Group Type:D -- Dynamic, S -- Static , M -- Manual
Loadsharing Type: Shar -- Loadsharing, NonS -- Non-Loadsharing
Actor ID: 0x8000, 000f-e274-4920
AL AL Partner ID Select Unselect Share Master
ID Type Ports Ports Type Port
--------------------------------------------------------------------------------
1 M none 1 0 NonS Ethernet1/0/22
SW2配置
<Quidway>system-view
System View: return to User View with Ctrl+Z.
[Quidway]sysname SW2
[SW2]stp enable
[SW2]dis stp
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge :32768.000f-e242-8a41
Bridge Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :32768.000f-e242-8a41 / 0
CIST RegRoot/IRPC :32768.000f-e242-8a41 / 0
CIST RootPortId :0.0
BPDU-Protection :disabled
TC-Protection :enabled / Threshold=6
Bridge Config
Digest Snooping :disabled
TC or TCN received :0
Time since last TC :0 days 0h:4m:5s
[SW2]link-aggregation group 1 mode manual
[SW2]int e1/0/22
[SW2-Ethernet1/0/22]port link-aggregation group 1
[SW2-Ethernet1/0/22]int e1/0/24
[SW2-Ethernet1/0/24]port link-aggregation group 1
[SW2-Ethernet1/0/24]dis link-aggregation summary
Aggregation Group Type:D -- Dynamic, S -- Static , M -- Manual
Loadsharing Type: Shar -- Loadsharing, NonS -- Non-Loadsharing
Actor ID: 0x8000, 000f-e242-8a41
AL AL Partner ID Select Unselect Share Master
ID Type Ports Ports Type Port
--------------------------------------------------------------------------------
1 M none 2 0 Shar Ethernet1/0/22
方案4.raid (CentOS6.4下測試)
磁盤陣列(Redundant Arrays of Independent Disks,RAID),有“價格便宜具有冗余能力的磁盤陣列”之意。原理是利用數組方式來作磁盤組,配合數據分散排列的設計,提升數據的安全性。磁盤陣列是由很多價格較便宜的磁盤,組合成一個容量巨大的磁盤組,利用個別磁盤提供數據所產生加成效果提升整個磁盤系統效能。利用這項技術,將數據切割成許多區段,分別存放在各個硬盤上。磁盤陣列還能利用同位檢查(Parity Check)的觀念,在數組中任一顆硬盤故障時,仍可讀出數據,在數據重構時,將數據經計算后重新置入新硬盤中。
mdadm命令使用
--create(或其縮寫-C)參數來創建新的陳列并且將一些重要陣列的標識信息作為元數據可以寫在每一個底層設備的指定區間
--level(或者其縮寫-l)表示陣列的RAID級別
--chunk(或者其縮寫-c)表示每個條帶單元的大小,以KB為單位,默認為64KB,條帶單元的大小配置對不同負載下的陣列讀寫性能有很大影響
--raid-devices(或者其縮寫-n)表示陣列中活躍的設備個數
--spare-devices(或者其縮寫-x)表示陣列中熱備盤的個數,一旦陣列中的某個磁盤失效,MD內核驅動程序自動用將熱備磁盤加入到陣列,然后重構丟失磁盤上的數據到熱備磁盤上。
--verbose(或者其縮寫-v):顯示細節過程
--fail(或者其縮寫-f): 模擬故障
raid1
RAID1通過磁盤數據鏡像實現數據冗余,在成對的獨立磁盤上產生互為備份的數據。當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,因此RAID1可以提高讀取性能。RAID1是磁盤陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個磁盤失效時,系統可以自動切換到鏡像磁盤上讀寫,而不需要重組失效的數據。
[root@localhost ~]# mdadm -Cv /dev/md0 -l 1 -n 2 /dev/sdb /dev/sdc -x 1 /dev/sdd
Continue creating array? y
[root@localhost ~]# mkfs -t ext3 /dev/md0
[root@localhost ~]# mkdir /mnt/raid1
[root@localhost ~]# mount /dev/md0 /mnt/raid1/
[root@localhost ~]# df -h
/dev/md0 5.0G 139M 4.6G 3% /mnt/raid1
[root@localhost ~]# cd /mnt/raid1/
[root@localhost raid1]# cp -r /usr/share/* ./
^C
[root@localhost mnt]# du -sh raid1/
97Mraid1/
[root@localhost mnt]# vi /etc/fstab
/dev/md0 /mnt/raid1 auto defaults 0 0
[root@localhost mnt]# mount -a
[root@localhost mnt]# cd raid1/
[root@localhost raid1]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdd[2](S) sdc[1] sdb[0]
5238720 blocks super 1.2 [2/2] [UU]
unused devices: <none>
[root@localhost ~]# mdadm --detail --scan /dev/md0
[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdd[2] sdc[1] sdb[0](F)
5238720 blocks super 1.2 [2/2] [UU]
unused devices: <none>
[root@localhost ~]# mdadm --detail --scan /dev/md0
[root@localhost ~]# mdadm --detail --scan >/etc/mdadm.conf
raid5
RAID 5 是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。 RAID 5可以理解為是RAID 0和RAID 1的折中方案。RAID 5可以為系統提供數據安全保障,但保障程度要比Mirror低而磁盤空間利用率要比Mirror高。RAID 5具有和RAID 0相近似的數據讀取速度,只是多了一個奇偶校驗信息,寫入數據的速度比對單個磁盤進行寫入操作稍慢。同時由于多個數據對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較低。
[root@localhost ~]# fdisk -l
[root@localhost ~]# mdadm -Cv /dev/md0 -l 5 -n 3 /dev/sdb /dev/sdc /dev/sdd -x 1 /dev/sde
Continue creating array? y
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd[4] sde[3](S) sdc[1] sdb[0]
10476544 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
[root@localhost ~]# mdadm --detail --scan
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
3 8 64 - spare /dev/sde
[root@localhost ~]# mkfs -t ext3 /dev/md0
[root@localhost ~]# mkdir /mnt/raid5
[root@localhost ~]# mount /dev/md0 /mnt/raid5
[root@localhost ~]# vi /etc/fstab
/dev/md0 /mnt/raid5 auto defaults 0 0
[root@localhost ~]# mdadm --detail --scan >/etc/mdadm.conf
[root@localhost ~]# cat /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2 spares=1 name=localhost.localdomain:0 UUID=52a024d4:76260d6f:9eeac1e5:f4a7d0d9
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd[4] sde[3](S) sdc[1] sdb[0]
10476544 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
[root@localhost ~]# mdadm --detail --scan /dev/md0
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
3 8 64 - spare /dev/sde
[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd[4] sde[3] sdc[1] sdb[0](F)
10476544 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
[root@localhost ~]# mdadm --detail --scan /dev/md0
Number Major Minor RaidDevice State
3 8 64 0 active sync /dev/sde
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
0 8 16 - faulty spare /dev/sdb
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。