范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

LVS和Keepalived介绍与实战操作演示

  一、LVS 概述
  LVS是Linux Virtual Server的缩写,是一种基于Linux内核实现的高可用性、高性能的负载均衡技术。它可以将来自客户端的请求分发到多台服务器上,实现多台服务器的负载均衡,提高整个系统的性能和可用性。
  LVS技术主要包括以下几个组件: LVS调度器:负责接收客户端请求并将其分发到后端的真实服务器上,根据不同的负载均衡算法进行分发。 真实服务器:处理来自调度器的请求并返回响应,提供实际的服务。 Keepalived:LVS的高可用组件,用于监控LVS调度器的状态并在发生故障时自动切换到备用调度器,以保证服务的高可用性。 IPVS:内核中实现LVS技术的模块,实现负载均衡算法和请求分发等功能。
  LVS技术广泛应用于互联网服务、网络游戏、数据中心等领域,能够提高系统的性能和可用性,降低系统的维护成本。 二、LVS 基本操作1)基本命令操作1、添加规则ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p timeout] [-M netmast] [--pepersistence_engine] [-b sched-flags]  2、删除规则ipvsadm -D -t|u|f service-address 3、清空定义的所有内容ipvsadm -C 4、重载ipvsadm -R 6、保存ipvsadm -S [-n] 7、增、改RS规则ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight] 8、删除RS规则ipvsadm -d -t|u|f service-address -r server-address 9、查看规则列表ipvsadm -Ln|l [options]  --numeric, -n: 以数字形式输出地址和端口号  --exact: 扩展信息,精确值  --stats: 统计信息  --rate: 输出速率信息 10、清空计数器ipvsadm -Z [-t|u|f service-address] 11、ipvs规则/proc/net/ip_vs 12、ipvs连接/proc/net/ip_vs_conn 2)保存及重载规则1、保存
  建议保存至  /etc/sysconfig/ipvsadm  ipvsadm-save -n > /PATH/TO/IPVSADM_FILE ipvsadm -Sn > /PATH/TO/IPVSADM_FILE systemctl stop ipvsadm.service 2、重载ipvsadm-restore < /PATH/TO/IPVSADM_FILE ipvsadm -R < /PATH/TO/IPVSADM_FILE systemctl restart ipvsadm.service 三、LVS 四种模式实战操作讲解1)NAT 模式
  1、设计要点RIP与DIP在同一IP网络,RIP的网关要指向DIP 支持端口映射 Director要打开核心转发功能 2、配置
  1、管理集群服务:增,改,删 增、改 ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p timeout] 删除: ipvsadm -D -t|u|f service-address service-address: -t|u|f: -t:TCP协议的端口,VIP:TCP_PORT -u:UDP协议的端口,VIP:UDP_PORT -f:firewall MARK,标记,一个数字 [-s scheduler]:指定集群的调度算法:默认为wlc
  2、管理集群上的RS:增、改、删 增、改:ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight] server-address:
  rip[:port] 如省略port,不作端口映射 选项: lvs类型: -g:gateway, dr类型,默认 -i:ipip, tun类型 -m:masquerade,nat类型 -w weight:权重 3、ipvs scheduleripvs scheduler :根据其调度是否考虑各RS当前的负载状态
  两种:静态方法和动态方法 静态方法 :仅根据算法本身进行调度 1、RR: roundrobin, 轮训 2、WRR: Weighted RR, 加权轮训 3、SH: Source Hashing, 实现session sticky, 源IP地址hash; 将来自同一个IP地址的请求始终发往第一次挑中的RS,从而实现会话绑定 4、DH: Destination Hashing; 目标地址哈希,将发往同一个目标地址的请求始终转发至第一次挑中的RS, 典型使用场景是正向代理缓存场景中的负载均衡,如:带宽运营商 4、实验:实现NAT模式的LVS(必须原路返回)ip_forward=1 route add default gw 192.168.0.201 # -t:tcp, -s wrr:加权 轮训 ipvsadm -A -t 172.20.0.200:80 -s wrr  # -m: NAT模式;默认:DR模式,不支持映射到不同端口;-w:权重,默认是1 ipvsadm -a -t 172.20.0.200:80 -r 192.168.30.17:8080 -m -w 3 ipvsadm -a -t 172.20.0.200:80 -r 192.168.30.27:8080 -m  2.router:路由器配置 ip_forward=1 route add default gw 192.168.0.200 2)DR 模式
  1、DR模型中各主机上均需要配置VIP,解决地址冲突的方式有三种:在前端网关做静态绑定 在各RS使用arptables 在各RS修改内核参数,来限制arp响应和通告的级别 2、限制响应级别:arp_ignore0  :默认值,表示可使用本地任意接口上配置在任意地址响应1  :仅在请求目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应3、限制通告级别:arp_announce0  :默认值,把本机所有接口的所有信息向每个接口的网络进行通知1  :尽量避免将接口信息向非直接连接网络进行通知2  :必须避免将接口信息向非网络进行通告4、实验:实现DR模式的LVS(不原路返回)步骤一 :准备3台虚拟机 步骤二 :先配置3台虚拟机的网络 eth0 配置在一个网段 DIP,RIP配置在一个网段 步骤三 :配置lvs的VIP ifconfig ens33:0 192.168.182.100/24 echo "1" > /proc/sys/net/ipv4/ip_forward 步骤四(RS) :调整RS的响应,通告级别(每一台RS都配) echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce步骤五 :在RS上配置VIP ifconfig lo:8 192.168.182.100 netmask 255.255.255.255 步骤六 :启动RS上的httpd服务 yum install httpd -y cd /var/www/html vi index.html  service httpd start 客户端验证:RIP:80能显示 VIP:80不能显示 步骤七 :安装 LVS---ipvsadm yum install ipvsadm -y # -t:tcp, -s rr:轮训 ipvsadm -A -t 192.168.182.100:80 -s rr # -m: NAT模式;默认:DR模式,不支持映射到不同端口;-w:权重,默认是1;-g:DR模型,-m:NET模型 ipvsadm -a -t 192.168.182.128:80 -r 192.168.182.129 -g ipvsadm -a -t 192.168.182.128:80 -r 192.168.182.130 -g  ipvsadm -ln # 浏览器刷新:访问vip ipvsadm -lnc netstat -natp 3)TUN模式
  4)FULL-NAT模式
  四、Keepalived + LVS 实战操作
  Keepalived 是一个用于 Linux 平台的高可用性软件。它实现了虚拟路由器冗余协议 (VRRP) 和健康检查功能,可以用于确保在多台服务器之间提供服务的高可用性。Keepalived 可以检测服务器的故障,并在主服务器宕机时,自动将备份服务器提升为主服务器,确保服务的持续性和可用性。
  Keepalived 可以在主备服务器之间动态分配虚拟 IP 地址,使客户端能够在主备服务器之间无缝切换,提高服务的可用性。此外,Keepalived 还支持基于文本文件的配置和基于 SNMP 的监控。它可以与常用的负载均衡器配合使用,如 HAProxy、Nginx 等。
  总的来说,Keepalived 是一个功能强大的工具,可用于提供高可用性服务。它是一个免费的开源软件,广泛应用于企业和个人服务器环境中。
  架构图如下:
  1) keepalived 安装以及基本操作# 安装 yum install keepalived -y # 启动 service keepalived start # 配置文件位置 /etc/keepalived/keepalived.conf # 查看日志 tail -f /var/log/message 2)具体配置步骤【步骤一】至少准备四台虚拟机 【步骤二】调整RS的响应,通告级别(每一台RS都配) echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 步骤三:在RS上配置VIP,切记(DR模式)不要忘了在RS配置VIP,要不然数据包会被丢弃 ifconfig lo:8 192.168.182.100 netmask 255.255.255.255 步骤四:在RS安装启动httpd服务 yum install httpd -y cd /var/www/html echo "from ooxxip" > index.html service httpd start 步骤五:给两台keepalived机子安装keepalived(一主一备) yum -y install keepalived yum -y install ipvsadm 步骤六:配置keepalived配置文件
  主节点配置: # /etc/keepalived/keepalived.conf  ! Configuration File for keepalived      global_defs {        notification_email {          acassen@firewall.loc          failover@firewall.loc          sysadmin@firewall.loc        }        notification_email_from Alexandre.Cassen@firewall.loc        smtp_server 192.168.200.1        smtp_connect_timeout 30        router_id LVS_DEVEL        vrrp_skip_check_adv_addr        # vrrp_strict 如果还是访问不了VIP,可以把这行注释掉        vrrp_garp_interval 0        vrrp_gna_interval 0     }      vrrp_instance VI_1 {         # 主         state MASTER         # 备         # state BACKUP         interface ens33         virtual_router_id 51         # 主         priority 100         # 备         # priority 50         advert_int 1         authentication {             auth_type PASS             auth_pass 1111         }         virtual_ipaddress {             192.168.182.100/32 dev ens33 label ens33:7         }     }      virtual_server 192.168.182.100 80 {         delay_loop 6         lb_algo rr         lb_kind DR     nat_mask 255.255.255.0         persistence_timeout 0         protocol TCP          real_server 192.168.182.130 80 {             weight 1             HTTP_GET {                 url {                   path /                   status_code 200                 }                 connect_timeout 3                 nb_get_retry 3                 delay_before_retry 3             }         }         real_server 192.168.182.131 80 {             weight 1             HTTP_GET {                 url {                   path /                   status_code 200                 }                 connect_timeout 3                 nb_get_retry 3                 delay_before_retry 3             }         }     }
  从节点配置: # 复制一份修改好的配置到从主机,修改 1、state BACKUP,2、priority 50  cd /etc/keepalived/ && scp ./keepalived.conf root@192.168.182.129:`pwd`   # 启动  /bin/systemctl start keepalived.service  # RS切记关闭防火墙,如果web也访问不了,lvs也可以关闭防火墙试试  systemctl stop firewalld  # 查看是否配置了VIP  #查看是否配置了规则    # 主未挂,备则会自动配置规则,但是不会配置VIP,保证只有一个VIP对外提供服务    # 一旦主挂了,则备接管(测试,down掉主网卡:ifconfig ens33 down)
  缺点:脑裂问题
  【分析原因】:keepalived自身不是高可用,主进程可能会被杀死,但是进程杀死后,没有回收VIP,导致主keepalived无法广播,备keepalived得不到主的广播信号,导致备也会配上VIP,使得主备都有VIP,最后CIP访问VIP的三次握手可能会被打散到主备keepalived上,无法建立连接,导致无法访问。
  【解决方案】: 写一个自动脚本,定时巡检主keepalived进程是否还存活,如果被杀死,则重启主keepalived服务 换用更高级的高可用技术(zookeeper),后续会有zookeeper相应的文章
  最后附上keepalived配置文件说明: ! Configuration File for keepalived global_defs {                                     #全局定义部分     notification_email {                          #设置报警邮件地址,可设置多个         acassen@firewall.loc                      #接收通知的邮件地址     }                             notification_email_from test0@163.com         #设置 发送邮件通知的地址     smtp_server smtp.163.com                      #设置 smtp server 地址,可是ip或域名.可选端口号 (默认25)     smtp_connect_timeout 30                       #设置 连接 smtp server的超时时间     router_id LVS_DEVEL                           #主机标识,用于邮件通知     vrrp_skip_check_adv_addr                        vrrp_strict                                   #严格执行VRRP协议规范,此模式不支持节点单播     vrrp_garp_interval 0                            vrrp_gna_interval 0          script_user keepalived_script                 #指定运行脚本的用户名和组。默认使用用户的默认组。如未指定,默认为keepalived_script 用户,如无此用户,则使用root     enable_script_security                        #如过路径为非root可写,不要配置脚本为root用户执行。 }         vrrp_script chk_nginx_service {                   #VRRP 脚本声明     script "/etc/keepalived/chk_nginx.sh"         #周期性执行的脚本     interval 3                                    #运行脚本的间隔时间,秒     weight -20                                    #权重,priority值减去此值要小于备服务的priority值     fall 3                                        #检测几次失败才为失败,整数     rise 2                                        #检测几次状态为正常的,才确认正常,整数     user keepalived_script                        #执行脚本的用户或组 }                                               vrrp_instance VI_1 {                              #vrrp 实例部分定义,VI_1自定义名称     state MASTER                                  #指定 keepalived 的角色,必须大写 可选值:MASTER|BACKUP     interface ens33                               #网卡设置,lvs需要绑定在网卡上,realserver绑定在回环口。区别:lvs对访问为外,realserver为内不易暴露本机信息     virtual_router_id 51                          #虚拟路由标识,是一个数字,同一个vrrp 实例使用唯一的标识,MASTER和BACKUP 的 同一个 vrrp_instance 下 这个标识必须保持一致     priority 100                                  #定义优先级,数字越大,优先级越高。     advert_int 1                                  #设定 MASTER 与 BACKUP 负载均衡之间同步检查的时间间隔,单位为秒,两个节点设置必须一样     authentication {                              #设置验证类型和密码,两个节点必须一致         auth_type PASS                                 auth_pass 1111                             }                                              virtual_ipaddress {                           #设置虚拟IP地址,可以设置多个虚拟IP地址,每行一个         192.168.119.130                            }     track_script {                                #脚本监控状态         chk_nginx_service                         #可加权重,但会覆盖声明的脚本权重值。chk_nginx_service weight -20     }         notify_master "/etc/keepalived/start_haproxy.sh start"  #当前节点成为master时,通知脚本执行任务         notify_backup "/etc/keepalived/start_haproxy.sh stop"   #当前节点成为backup时,通知脚本执行任务         notify_fault  "/etc/keepalived/start_haproxy.sh stop"   #当当前节点出现故障,执行的任务;  }                                               virtual_server 192.168.119.130 80  {          #定义RealServer对应的VIP及服务端口,IP和端口之间用空格隔开     delay_loop 6                              #每隔6秒查询realserver状态     lb_algo rr                                #后端调试算法(load balancing algorithm)     lb_kind DR                                #LVS调度类型NAT/DR/TUN     #persistence_timeout 60                   同一IP的连接60秒内被分配到同一台realserver     protocol TCP                              #用TCP协议检查realserver状态     real_server 192.168.119.120 80 {                   weight 1                              #权重,最大越高,lvs就越优先访问         TCP_CHECK {                           #keepalived的健康检查方式HTTP_GET | SSL_GET | TCP_CHECK | SMTP_CHECK | MISC             connect_timeout 10                #10秒无响应超时             retry 3                           #重连次数3次             delay_before_retry 3              #重连间隔时间             connect_port 80                   #健康检查realserver的端口         }                                          }                                              real_server 192.168.119.121 80 {                   weight 1                              #权重,最大越高,lvs就越优先访问         TCP_CHECK {                           #keepalived的健康检查方式HTTP_GET | SSL_GET | TCP_CHECK | SMTP_CHECK | MISC             connect_timeout 10                #10秒无响应超时             retry 3                           #重连次数3次             delay_before_retry 3              #重连间隔时间             connect_port 80                   #健康检查realserver的端口         }                                          }                                          }                                               vrrp_instance VI_2 {                          #vrrp 实例部分定义,VI_1自定义名称     state   BACKUP                            #指定 keepalived 的角色,必须大写 可选值:MASTER|BACKUP 分别表示(主|备)     interface ens33                           #网卡设置,绑定vip的子接口,lvs需要绑定在网卡上,realserver绑定在回环口。区别:lvs对访问为外,realserver为内不易暴露本机信息     virtual_router_id 52                      #虚拟路由标识,是一个数字,同一个vrrp 实例使用唯一的标识,MASTER和BACKUP 的 同一个 vrrp_instance 下 这个标识必须保持一致     priority 90                               #定义优先级,数字越大,优先级越高。     advert_int 1                              #设定 MASTER 与 BACKUP 负载均衡之间同步检查的时间间隔,单位为秒,两个节点设置必须一样     authentication {                          #设置验证类型和密码,两个节点必须一致         auth_type PASS                                 auth_pass 1111                             }                                              virtual_ipaddress {                       #设置虚拟IP地址,可以设置多个虚拟IP地址,每行一个         192.168.119.131                            }                                          }                                               virtual_server 192.168.119.131 80 {           #定义RealServer对应的VIP及服务端口,IP和端口之间用空格隔开     delay_loop 6                              #每隔6秒查询realserver状态     lb_algo rr                                #后端调试算法(load balancing algorithm)     lb_kind DR                                #LVS调度类型NAT/DR/TUN     #persistence_timeout 60                   #同一IP的连接60秒内被分配到同一台realserver     protocol TCP                              #用TCP协议检查realserver状态     real_server 192.168.119.120 80 {                   weight 1                              #权重,最大越高,lvs就越优先访问         TCP_CHECK {                           #keepalived的健康检查方式HTTP_GET | SSL_GET | TCP_CHECK | SMTP_CHECK | MISC             connect_timeout 10                #10秒无响应超时             retry 3                           #重连次数3次             delay_before_retry 3              #重连间隔时间             connect_port 80                   #健康检查realserver的端口         }                                          }                                              real_server 192.168.119.121 80 {                   weight 1                              #权重,最大越高,lvs就越优先访问         TCP_CHECK {                           #keepalived的健康检查方式HTTP_GET | SSL_GET | TCP_CHECK | SMTP_CHECK | MISC             connect_timeout 10                #10秒无响应超时             retry 3                           #重连次数3次             delay_before_retry 3              #重连间隔时间             connect_port 80                   #健康检查realserver的端口         }     } }
  LVS + Keepalived 介绍和实战操作演示就先到这里了,有任何疑问欢迎给我留言,也可关注我的公众号【大数据与云原生技术分享】,后续会持续更新相关技术文章~。

白酒瓶身有3个记号,甭管价格多便宜,都是100纯酿,放心喝白酒,是我们老百姓的生活中不可或缺的一款饮品,无论是大型宴会,各种社交场合,还是生活中的红白喜事,亦或是自己的情绪难以疏解之时,白酒都是很好的一个工具,是我们生活中很好的一个助力。魅族20终于发布!这价格疯了魅族20,久到离谱就在今晚,魅族终于终于终于举行了魅族领克无界生态发布会。带来了预热到融化的魅族20系列。为什么说融化呢?大家看看魅族的官微就知道了,整个魅族20新机的预热足足半个遭遇无差别炸店后商家连呼后怕律师通过网络煽动实施暴力攻击涉嫌犯罪一个小时之内,店铺的恶意订单冲到几万单,明显就是有组织有预谋的。在亲历炸店事件之后,一位品牌运营商表示。3月29日,有拼多多小二发布朋友圈称,遭遇从业以来经历过的最夸张的恶意打砸店分享一个名方真武汤,五味药,每一味都用的恰到好处,功效还多分享孙郎中今天,要跟大家分享一个名方真武汤。什么时候会用到这个方嘞?例如,最近流感多发,不少朋友都在医院输过液,发烧感冒之类的,输液见效挺快的。但是,也有不少人因为过度输液,出现下被卡戴珊家族毁掉的4个球星,退役打不上球边缘球员差点丧命头条创作挑战赛被卡戴珊家族毁掉的4个球星,退役打不上球边缘球员差点丧命文羸观点我们都知道卡戴珊家族的女人是NBA球员的收割机,并且卡带上家族的女人也是很多体育明星的摧毁品。作为美国华为P60Pro对比vivoX90Pro配置有哪些差别,一眼看懂vivoX90Pro华为P60Pro性能骁龙8Gen25GLPDDR5XUFS4。0骁龙8Gen14GLPDDR5UFS3。1屏幕6。78英寸120Hz三星E6AMOLED柔性曲面一场乌龙闹剧!一加多次冒头却惨遭反转打脸,苹果拼实力不好?混手机圈的各位朋友们吃瓜了吗?事情是这样的,就在前几天,小米分公司总经理王腾发博称,有一位网友看完note12turbo的发布会后,直接把刚买下的一加Ace2以旧换新。这本是一件值艾草都知道可以泡脚,今天说一说这个艾草还有什么作用艾草都知道可以泡脚可以泡水喝,但是它还有这些作用大家都知道么?今天我们就来说一说这个艾草还有一些什么样的作用。小时候奶奶总会在河边上砍一些艾草回来,煮水喝,说是吃了对身体好,不知道为什么知道所有的道理,却依然过不好自己的一生?经常在网上看到一句话我知道所有的道理,却依然过不好自己的一生。是的,又想起了孔乙己的长衫,又想起了平凡的世界中的孙少平,我们在学校学了系统的知识,我们看过了大城市的美好,却不得不面爸爸带回来的一条毛巾,让女儿的眼睛上长满了寄生虫,请小心本篇漫画根据真实事件改编。一些皮肤疾病的传染性惊人,谁也没能想6岁的孩子睫毛上竟然会长阴虱!而这可能是经常出差的父亲因为在卫生条件不合格的酒店住宿后,触碰了带有阴虱或虫卵的床品毛巾科沃斯地宝T20PRO首创55度热水净洗功能,全屋清洁从内到外扫地机器人是很多家庭必备的单品,也是能帮助很多不喜欢做家务的朋友解放双手的神器。一台好用的扫地机器人除了能够实现家庭清洁以外,还能给我们带来愉悦的心情。随着扫地机器人技术研发的完善
在偏僻的农村,在清冷的家里这几日一个人在家。有人说些会不会孤单啦无聊啦之类的话。因为我接受了隔离,按照311的要求独自生活着。况且在偏僻的农村,家里就我一个人,似乎清冷得很。你来吗仿佛我喜欢热闹似的。不必说乌兹别克斯坦航空商务包机是一种怎样的体验?赶紧来预约尝试一下土豪登机乌兹别克斯坦航空公司是乌兹别克斯坦的国家航空公司,总部和枢纽机场设在塔什干(TAS)。航空公司提供了多个国内目的地和服务于亚洲欧洲和北美的国际航线。成立于在日本泡温泉,必须遵守3条规定,不然就会拒之门外在日本,泡温泉必须要遵守这三条规定,否则会被工作人员赶出门,这到底是为什么呢?这几年,随着国民生活水平的提高,很多中国游客都开始出国旅行,欣赏异国的风情和文化,才能丰富自己的人生经房车旅游爱好者注意了!4月1日新增轻型牵引挂车准驾车型4月1日起,新修订的机动车驾驶证申领和使用规定(公安部令第162号)将正式实施,新增轻型牵引挂车准驾车型(C6),更好满足群众驾驶房车出游需求,促进房车旅游新业态发展。图源网络图文普洱茶中的娇贵公主倚邦为什么说倚邦是普洱茶中的娇贵公主呢?这个和倚邦的历史身份和特殊品种有关。倚邦是古六大茶山中的其中一个山头,是驰名中外的普洱茶的发祥地明清两朝的普洱茶古六大茶山政治经济和普洱茶集散中在北京乘坐地铁赏花2号线三月的明城墙公园,梅花已经香满园,嫩白色粉红色一片娇艳前门三里河公园迎春花开得正好,一片生机盎然地坛公园花开正盛,柳树新绿坐上地铁2号线,来这些公园打卡啦!北京明城墙遗址公园北京明经常大便不成形,总是放屁,或许与5个原因有关,需重视最近有一个朋友很烦恼,据他说,以前他上厕所时大便是非常正常且健康的,也不会很臭,但是最近却总是大便不成形,还很爱放屁。担心有其他疾病,就去医院做了肠镜,也没有发现病因。如果出现了大吃靶向药也要努力干饭,但这些可别吃喜欢本文,欢迎关注点赞收藏转发!foods摄图网因靶向药的横空出世,抗癌变得更像是慢性病。所以,吃XX会影响靶向药的疗效吗?成了患者最关心的话题。靶向药在体内的代谢,容易受到食物的长期吃花生是降血压,还是升血压?学会这4招,降血压少走弯路75岁的王大爷,一大清早被120送来医院,口吐白沫,手脚都不太能动。原因是本身就患有高血压,但是又喜欢吸烟跟喝酒,怎么说都管不住。还好送来得及时,问题还并不算严重,高血压日常如果不中国唯一没有平原的省份,山水媲美九寨,古镇不输江南,惊艳世界都说贵州美得低调但又美的惊艳上万座喀斯特峰林漂浮在金色的海洋之上让山水甲天下的桂林都自惭形秽没有平原这里峡谷纵横坑洞遍地河流从天上流到地下三五成群的寨子镶嵌在3400余亩地纳灰坝子王宝强成名不忘老家,与马蓉离婚没掉一滴泪,母亲离世哭成孩子民间俗语,一夜夫妻百日恩!现在又有多少人还愿意,尊重婚姻的神圣!特别是在利欲熏心的娱乐圈,真情显得那么稀有,那么可贵!有人闪婚闪离,有人同床异梦,有人反目成仇还不悔悟2016年8月