keepalived實現(xiàn)主從减途、主主架構(gòu)

一种玛、HA Cluster實現(xiàn)方案:

1、vrrp協(xié)議的實現(xiàn)
VRRP(Virtual Router Redundancy Protocol致燥,虛擬路由冗余協(xié)議)是一種容錯協(xié)議登疗。通常,一個網(wǎng)絡(luò)內(nèi)的所有主機都設(shè)置一條缺省路由,這樣辐益,主機發(fā)出的目的地址不在本網(wǎng)段的報文將被通過缺省路由發(fā)往路由器RouterA断傲,從而實現(xiàn)了主機與外部網(wǎng)絡(luò)的通信。當(dāng)路由器RouterA 壞掉時智政,本網(wǎng)段內(nèi)所有以RouterA 為缺省路由下一跳的主機將斷掉與外部的通信產(chǎn)生單點故障认罩。VRRP 就是為解決上述問題而提出的,它為具有多播組播或廣播能力的局域網(wǎng)(如:以太網(wǎng))設(shè)計续捂。
2垦垂、實現(xiàn)軟件有keepalived、ais(完備HA集群方案)牙瓢、RHCS(cman)乔外、heartbeat和corosync。

二一罩、工作原理

VRRP的工作過程如下:

  1. 路由器開啟VRRP功能后杨幼,會根據(jù)優(yōu)先級確定自己在備份組中的角色。優(yōu)先級高的路由器成為主用路由器聂渊,優(yōu)先級低的成為備用路由器差购。主用路由器定期發(fā)送VRRP通告報文,通知備份組內(nèi)的其他路由器自己工作正常汉嗽;備用路由器則啟動定時器等待通告報文的到來欲逃。

  2. VRRP在不同的主用搶占方式下,主用角色的替換方式不同:

    在搶占方式下饼暑,當(dāng)主用路由器收到VRRP通告報文后稳析,會將自己的優(yōu)先級與通告報文中的優(yōu)先級進(jìn)行比較。如果大于通告報文中的優(yōu)先級弓叛,則成為主用路由器彰居;否則將保持備用狀態(tài)。

    在非搶占方式下撰筷,只要主用路由器沒有出現(xiàn)故障陈惰,備份組中的路由器始終保持主用或備用狀態(tài),備份組中的路由器即使隨后被配置了更高的優(yōu)先級也不會成為主用路由器毕籽。

  3. 如果備用路由器的定時器超時后仍未收到主用路由器發(fā)送來的VRRP通告報文抬闯,則認(rèn)為主用路由器已經(jīng)無法正常工作,此時備用路由器會認(rèn)為自己是主用路由器关筒,并對外發(fā)送VRRP通告報文溶握。備份組內(nèi)的路由器根據(jù)優(yōu)先級選舉出主用路由器,承擔(dān)報文的轉(zhuǎn)發(fā)功能蒸播。

在實際組網(wǎng)中一般會進(jìn)行VRRP負(fù)載分擔(dān)方式的設(shè)置睡榆。負(fù)載分擔(dān)方式是指多臺路由器同時承擔(dān)業(yè)務(wù),避免設(shè)備閑置,因此需要建立兩個或更多的備份組實現(xiàn)負(fù)載分擔(dān)肉微。

VRRP負(fù)載分擔(dān)方式具有以下特點:

  • 每個備份組都包括一個主用路由器和若干個備用路由器匾鸥。

  • 各備份組的主用路由器可以不相同。

  • 同一臺路由器可以加入多個備份組碉纳,在不同備份組中有不同的優(yōu)先級勿负,使得該路由器可以在一個備份組中作為主用路由器,在其他的備份組中作為備用路由器劳曹。

  • VRRP在提高可靠性的同時奴愉,簡化了主機的配置。在具有多播或廣播能力的局域網(wǎng)中铁孵,借助VRRP能在某臺路由器出現(xiàn)故障時仍然提供高可靠的缺省鏈路锭硼,有效避免單一鏈路發(fā)生故障后網(wǎng)絡(luò)中斷的問題,而無需修改動態(tài)路由協(xié)議蜕劝、路由發(fā)現(xiàn)協(xié)議等配置信息檀头。

  • 一個VRRP路由器有唯一的標(biāo)識:VRID,范圍為0—255?該路由器對外表現(xiàn)為唯一的虛擬MAC地址岖沛,地址的格式為00-00-5E-00-01-***?主控路由器負(fù)責(zé)對ARP請求用該MAC地址做應(yīng)答?這樣,無論如何切換暑始,保證給終端設(shè)備的是唯一一致的IP和MAC地址,減少了切換對終端設(shè)備的影響?

  • VRRP控制報文只有一種:VRRP通告(advertisement)?它使用IP多播數(shù)據(jù)包進(jìn)行封裝婴削,組地址為224.0.0.18廊镜,發(fā)布范圍只限于同一局域網(wǎng)內(nèi)?這保證了VRID在不同網(wǎng)絡(luò)中可以重復(fù)使用?為了減少網(wǎng)絡(luò)帶寬消耗只有主控路由器才可以周期性的發(fā)送VRRP通告報文?備份路由器在連續(xù)三個通告間隔內(nèi)收不到VRRP或收到優(yōu)先級為0的通告后啟動新的一輪VRRP選舉?

  • 在VRRP路由器組中,按優(yōu)先級選舉主控路由器唉俗,VRRP協(xié)議中優(yōu)先級范圍是0—255?若VRRP路由器的IP地址和虛擬路由器的接口IP地址相同嗤朴,則該VRRP路由器被稱為該IP地址的所有者;IP地址所有者自動具有最高優(yōu)先級:255?優(yōu)先級0一般用在IP地址所有者主動放棄主控者角色時使用?可配置的優(yōu)先級范圍為1—254?優(yōu)先級的配置原則可以依據(jù)鏈路的速度和成本?路由器性能和可靠性以及其它管理策略設(shè)定?主控路由器的選舉中虫溜,高優(yōu)先級的虛擬路由器獲勝雹姊,因此,如果在VRRP組中有IP地址所有者吼渡,則它總是作為主控路由的角色出現(xiàn)?對于相同優(yōu)先級的候選路由器容为,按照IP地址大小順序選舉?VRRP還提供了優(yōu)先級搶占策略乓序,如果配置了該策略寺酪,高優(yōu)先級的備份路由器便會剝奪當(dāng)前低優(yōu)先級的主控路由器而成為新的主控路由器?

  • 為了保證VRRP協(xié)議的安全性,提供了兩種安全認(rèn)證措施:明文認(rèn)證和IP頭認(rèn)證?明文認(rèn)證方式要求:在加入一個VRRP路由器組時替劈,必須同時提供相同的VRID和明文密碼?適合于避免在局域網(wǎng)內(nèi)的配置錯誤寄雀,但不能防止通過網(wǎng)絡(luò)監(jiān)聽方式獲得密碼?IP頭認(rèn)證的方式提供了更高的安全性,能夠防止報文重放和修改等攻擊?

三陨献、keepalived軟件

1盒犹、術(shù)語:

虛擬路由器:Virtual Router
虛擬路由器標(biāo)識:VRID(0-255)
物理路由器:
master:主設(shè)備
backup:備用設(shè)備
priority:優(yōu)先級
VIP:Virtual IP
VMAC:Virutal MAC (00-00-5e-00-01-VRID)
GraciousARP

安全工作:認(rèn)證、無認(rèn)證、簡單字符認(rèn)證和MD5

工作模式有:
主/備:單虛擬路徑器急膀;
主/主:主/備(虛擬路徑器1)沮协,備/主(虛擬路徑器2)

2、Keepalived功能:
  • vrrp協(xié)議的軟件實現(xiàn)卓嫂,原生設(shè)計的目的為了高可用ipvs服務(wù):
  • 基于vrrp協(xié)議完成地址流動慷暂;
  • 為vip地址所在的節(jié)點生成ipvs規(guī)則(在配置文件中預(yù)先定義);
  • 為ipvs集群的各RS做健康狀態(tài)檢測晨雳;
  • 基于腳本調(diào)用接口通過執(zhí)行腳本完成腳本中定義的功能行瑞,進(jìn)而影響集群事務(wù);
3餐禁、組件:
  • 核心組件:vrrp stack血久、ipvs wrapper、checkers
  • 控制組件:配置文件分析器帮非、IO復(fù)用器氧吐、內(nèi)存管理組件
4、HA Cluster的配置前提:

(1) 各節(jié)點時間必須同步末盔,使用ntp, chrony等工具同步副砍。
(2) 確保iptables及selinux不會成為阻礙;
(3) 各節(jié)點之間可通過主機名互相通信(對KA并非必須)庄岖;
建議使用/etc/hosts文件實現(xiàn)豁翎;
(4) 確保各節(jié)點的用于集群服務(wù)的接口支持MULTICAST通信;
(5)使用D類多播地址:224-239隅忿;

四心剥、keepalived安裝配置:

  • 從CentOS 6.4以后,就收錄到base倉庫提供背桐;
1优烧、程序環(huán)境:
  • 主配置文件:/etc/keepalived/keepalived.conf

  • 主程序文件:/usr/sbin/keepalived
    Unit File:keepalived.service
    Unit File的環(huán)境配置文件:/etc/sysconfig/keepalived

  • 配置文件組件部分:

TOP HIERACHY頂級配置段
GLOBAL CONFIGURATION
Global definitions全局定義
Static routes/addresses靜態(tài)路由
VRRPD CONFIGURATION
VRRP synchronization group(s):vrrp同步組;
VRRP instance(s):實例链峭,每個vrrp instance即一個vrrp路由器畦娄;
LVS CONFIGURATION
Virtual server group(s)
Virtual server(s):ipvs集群的vs和rs;

環(huán)境搭建

2弊仪、 基本安裝配置

[root@keepalive130 ~]  yum -y install net-tools tcpdump #安裝抓包工具和網(wǎng)絡(luò)工具
[root@keepalive130 ~] vim /etc/hosts#設(shè)置解析
172.16.15.130 keepalive130#主節(jié)點
172.16.15.131 keepalive131#備節(jié)點
[root@keepalive130 ~]  ping keepalive130#測試
[root@keepalive130 ~] ip link set multicast on dev eth0#開啟多播
image.png

五熙卡、keepalived實現(xiàn)主從架構(gòu)

1、主節(jié)點配置
[root@keepalive130 ~]  yum -y install keepalived#安裝
[root@keepalive130 ~]# vim /etc/keepalived/keepalived.conf #編輯配置文件

! Configuration File for keepalived

global_defs {#全局配置
   notification_email {#郵件通知地址 励饵,這里是本機收件地址
    root@localhost
 }
   notification_email_from keepalived@localhost   #發(fā)件地址
   smtp_server 127.0.0.1 #郵件服務(wù)地址驳癌,端口是25
   smtp_connect_timeout 30  #連接郵件服務(wù)器超時時間30秒
   router_id keepalive130 #可以使用主機名
   vrrp_mcast_group4 224.1.101.33 #設(shè)置多播地址,其他主機也一樣
}

vrrp_instance VI_1 { #定義一個虛擬路由器役听,第一個
    state MASTER  #當(dāng)前狀態(tài)颓鲜,主的
    interface eth0  #當(dāng)前的vrp應(yīng)用表窘,綁定到那個網(wǎng)卡設(shè)備上
    virtual_router_id 33#這個虛擬ip,與其他主機要保持一至
    priority 100 #優(yōu)先級甜滨,高于其他主機
    advert_int 1
    authentication {
        auth_type PASS  #密碼認(rèn)證
        auth_pass a1b2c3d4   #密碼為8位,不能用默認(rèn)的密碼
    }
    virtual_ipaddress {#虛擬ip地址
        172.16.15.99/16 dev eth0 label eth0:0#別名為eth0:0
    }
}
[root@keepalive130 ~]# systemctl start keepalived  #啟動keepalived
[root@keepalive130 ~]# systemctl status keepalived #查詢啟動信息
......
Jul 27 14:12:55 keepalive130 Keepalived_vrrp[4242]: VRRP_Instance(VI_1) Entering MASTER STATE #主要狀態(tài)
......
2乐严、備用節(jié)點設(shè)置
[root@keepalive131 ~]# vim /etc/keepalived/keepalived.conf #編輯配置文件
! Configuration File for keepalived

global_defs {#全局配置
   notification_email {#郵件通知地址 ,這里是本機收件地址
    root@localhost
 }
   notification_email_from keepalived@localhost   #發(fā)件地址
   smtp_server 127.0.0.1 #郵件服務(wù)地址衣摩,端口是25
   smtp_connect_timeout 30  #連接郵件服務(wù)器超時時間30秒
   router_id keepalive131 #可以使用主機名
   vrrp_mcast_group4 224.1.101.33 #設(shè)置多播地址麦备,其他主機也一樣
}

vrrp_instance VI_1 { #定義一個虛擬路由器,第一個
    state BACKUP  #當(dāng)前狀態(tài)昭娩,從的
    interface eth0  #當(dāng)前的vrp應(yīng)用凛篙,綁定到那個網(wǎng)卡設(shè)備上
    virtual_router_id 33#這個虛擬ip,與其他主機要保持一至
    priority 96 #優(yōu)先級栏渺,低于master主機
    advert_int 1
    authentication {
        auth_type PASS  #密碼認(rèn)證
        auth_pass a1b2c3d4   #密碼為8位,不能用默認(rèn)的密碼
    }
    virtual_ipaddress {#虛擬ip地址
        172.16.15.99/16 dev eth0 label eth0:0#別名為eth0:0
    }
}
[root@keepalive131 ~]# systemctl start keepalived  #啟動keepalived
[root@keepalive131 ~]# systemctl status keepalived #查詢啟動信息
......
Jul 27 14:13:53 keepalive131 Keepalived_vrrp[4497]: VRRP_Instance(VI_1) Entering BACKUP STATE #備用狀態(tài)
......

3呛梆、測試:

基于搶占模式工作:
  • 當(dāng)啟用備用節(jié)點時候,發(fā)現(xiàn)沒有主節(jié)點磕诊,也沒有更高的優(yōu)先級填物,備用節(jié)點轉(zhuǎn)變成主節(jié)點。

  • 當(dāng)主節(jié)點上線時候霎终,備用節(jié)點發(fā)現(xiàn)主節(jié)點存在滞磺,優(yōu)先級低于主節(jié)點,備用節(jié)點退出主節(jié)點角色莱褒,轉(zhuǎn)為備用击困,并刪除VIP虛擬地址。


    image.png
  • 主節(jié)點上線啟用:


    image.png
  • 抓包測試:
    在備用節(jié)點上:

[root@keepalive131 ~]# tcpdump -i eth0 -nn host 224.1.101.33 #對多播地址抓包
image.png

六广凸、keepalived實現(xiàn)主主架構(gòu)

1阅茶、主節(jié)點配置
[root@keepalive130 ~]# vim /etc/keepalived/keepalived.conf #編輯配置文件

! Configuration File for keepalived

global_defs {#全局配置
   notification_email {#郵件通知地址 ,這里是本機收件地址
    root@localhost
 }
   notification_email_from keepalived@localhost   #發(fā)件地址
   smtp_server 127.0.0.1 #郵件服務(wù)地址谅海,端口是25
   smtp_connect_timeout 30  #連接郵件服務(wù)器超時時間30秒
   router_id keepalive130 #可以使用主機名
   vrrp_mcast_group4 224.1.101.33 #設(shè)置多播地址脸哀,其他主機也一樣
}

vrrp_instance VI_1 { #定義一個虛擬路由器,第一個
    state MASTER  #當(dāng)前狀態(tài)扭吁,主的
    interface eth0  #當(dāng)前的vrp應(yīng)用撞蜂,綁定到那個網(wǎng)卡設(shè)備上
    virtual_router_id 33#這個虛擬ip,與其他主機要保持一至
    priority 100 #優(yōu)先級侥袜,高于其他主機
    advert_int 1
    authentication {
        auth_type PASS  #密碼認(rèn)證
        auth_pass a1b2c3d4   #密碼為8位,不能用默認(rèn)的密碼
    }
    virtual_ipaddress {#虛擬ip地址
        172.16.15.99/16 dev eth0 
    }
}
vrrp_instance VI_2{ #定義一個虛擬路由器蝌诡,第二個
    state BACKUP  #當(dāng)前狀態(tài),從的
    interface eth0  #當(dāng)前的vrp應(yīng)用系馆,綁定到那個網(wǎng)卡設(shè)備上
    virtual_router_id 34#這個虛擬ip送漠,與其他主機要保持一至
    priority 96 #優(yōu)先級,低于master主機
    advert_int 1
    authentication {
        auth_type PASS  #密碼認(rèn)證
        auth_pass a6b7c8d9   #密碼為8位,不能用默認(rèn)的密碼由蘑,這里修改一下
    }
    virtual_ipaddress {#虛擬ip地址
        172.16.15.99/16 dev eth0 
    }
}
[root@keepalive130 ~]# systemctl start keepalived  #啟動keepalived

2闽寡、備用節(jié)點設(shè)置
[root@keepalive131 ~]# vim /etc/keepalived/keepalived.conf #編輯配置文件
! Configuration File for keepalived

global_defs {#全局配置
   notification_email {#郵件通知地址 ,這里是本機收件地址
    root@localhost
 }
   notification_email_from keepalived@localhost   #發(fā)件地址
   smtp_server 127.0.0.1 #郵件服務(wù)地址尼酿,端口是25
   smtp_connect_timeout 30  #連接郵件服務(wù)器超時時間30秒
   router_id keepalive131 #可以使用主機名
   vrrp_mcast_group4 224.1.101.33 #設(shè)置多播地址爷狈,其他主機也一樣
}

vrrp_instance VI_1 { #定義一個虛擬路由器,第一個
    state BACKUP  #當(dāng)前狀態(tài)裳擎,從的
    interface eth0  #當(dāng)前的vrp應(yīng)用涎永,綁定到那個網(wǎng)卡設(shè)備上
    virtual_router_id 33#這個虛擬ip,與其他主機要保持一至
    priority 96 #優(yōu)先級鹿响,低于master主機
    advert_int 1
    authentication {
        auth_type PASS  #密碼認(rèn)證
        auth_pass a1b2c3d4   #密碼為8位,不能用默認(rèn)的密碼
    }
    virtual_ipaddress {#虛擬ip地址
        172.16.15.99/16 dev eth0 label eth0:0#別名為eth0:0
    }
}
vrrp_instance VI_2{ #定義一個虛擬路由器羡微,第二個
    state MASTER  #當(dāng)前狀態(tài),主的
    interface eth0  #當(dāng)前的vrp應(yīng)用惶我,綁定到那個網(wǎng)卡設(shè)備上
    virtual_router_id 34#這個虛擬ip妈倔,與其他主機要保持一至
    priority 100 #優(yōu)先級,高于備用節(jié)點
    advert_int 1
    authentication {
        auth_type PASS  #密碼認(rèn)證
        auth_pass a6b7c8d9   #密碼為8位,不能用默認(rèn)的密碼绸贡,這里修改一下
    }
    virtual_ipaddress {#虛擬ip地址
        172.16.15.99/16 dev eth0 
    }
}
[root@keepalive131 ~]# systemctl start keepalived  #啟動keepalived

測試:
主備都啟用:


image.png

主節(jié)點關(guān)閉:
[root@keepalive130 ~]# systemctl stop keepalived


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盯蝴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子听怕,更是在濱河造成了極大的恐慌捧挺,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尿瞭,死亡現(xiàn)場離奇詭異闽烙,居然都是意外死亡,警方通過查閱死者的電腦和手機声搁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門鸣峭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人酥艳,你說我怎么就攤上這事摊溶。” “怎么了充石?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵莫换,是天一觀的道長。 經(jīng)常有香客問我骤铃,道長拉岁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任惰爬,我火速辦了婚禮喊暖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘撕瞧。我一直安慰自己陵叽,他們只是感情好狞尔,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著巩掺,像睡著了一般偏序。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上胖替,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天研儒,我揣著相機與錄音,去河邊找鬼独令。 笑死端朵,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的燃箭。 我是一名探鬼主播冲呢,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼遍膜!你這毒婦竟也來了碗硬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤瓢颅,失蹤者是張志新(化名)和其女友劉穎恩尾,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挽懦,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡翰意,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了信柿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冀偶。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖渔嚷,靈堂內(nèi)的尸體忽然破棺而出进鸠,到底是詐尸還是另有隱情,我是刑警寧澤形病,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布客年,位于F島的核電站,受9級特大地震影響漠吻,放射性物質(zhì)發(fā)生泄漏量瓜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一途乃、第九天 我趴在偏房一處隱蔽的房頂上張望绍傲。 院中可真熱鬧,春花似錦耍共、人聲如沸烫饼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽枫弟。三九已至邢享,卻和暖如春鹏往,著一層夾襖步出監(jiān)牢的瞬間淡诗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工伊履, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留韩容,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓唐瀑,卻偏偏與公主長得像群凶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子哄辣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • Nginx+Keepalived實現(xiàn)站點高可用 公司內(nèi)部 OA 系統(tǒng)要做線上高可用请梢,避免單點故障,所以計劃使用2臺...
    meng_philip123閱讀 1,903評論 2 18
  • 集群工作原理 一:集群基礎(chǔ) 1力穗、系統(tǒng)的擴展方式 scale up向上擴展:提高單臺服務(wù)器的性能 scale out...
    芷_念閱讀 5,009評論 0 0
  • 轉(zhuǎn)載:http://blog.51cto.com/zhaoyuqiang/1166840 為什么要使用VRRP技術(shù)...
    SkTj閱讀 2,132評論 0 1
  • 濤兒毅弧,去打球。出出汗很好当窗。 我做辣辣的東西吃够坐,也出汗汗了,很好崖面。 所謂的元咙,身心健康,哈哈巫员。 今天躺在這里庶香,看看獨立...
    WoodSage閱讀 175評論 0 1
  • 母親在,愛就在简识,家就在赶掖,幸福就在。 ——題記 母親剛...
    疆山驕龍閱讀 1,282評論 2 6