keepalived搭建ping ip 返回 Destination Host Unreachable
时间: 2024-06-08 20:09:03 浏览: 210
当您在使用 keepalived 配置高可用性服务时,如果 ping IP 返回 Destination Host Unreachable 错误,可能是以下原因:
1. VIP 配置错误:检查 keepalived 的配置文件中 VIP 的配置是否正确,特别是检查网络地址、掩码和广播地址是否正确。
2. 网络配置错误:确保所有网络配置都正确,例如网卡是否绑定正确、IP 地址是否正确等。
3. 防火墙配置错误:如果您的系统启用了防火墙,请确保防火墙允许 ping 请求通过。
4. ARP 问题:在使用 keepalived 时,可能会出现 ARP 缓存问题,导致 ping 请求无法到达 VIP。您可以使用 arping 命令来解决这个问题,例如:arping -I eth0 -c 3 VIP。
如果以上方法仍然无法解决问题,您可以检查 syslog 或者 dmesg 中是否有任何有用的信息,来确定问题的根本原因。
相关问题
keepalived搭建
Keepalived是Linux下的一款高可用性软件,它可以实现在多台服务器之间共享一个虚拟IP地址,当主服务器故障时,自动将虚拟IP地址切换到备用服务器,从而保证服务的高可用性和可靠性。下面是使用Keepalived实现高可用性的简单步骤:
1.安装Keepalived
在Linux系统中,可以使用包管理工具apt-get或yum来安装Keepalived。
对于Debian/Ubuntu系统,可以使用以下命令安装:
```
sudo apt-get install keepalived
```
对于CentOS/RHEL系统,可以使用以下命令安装:
```
sudo yum install keepalived
```
2.配置Keepalived
Keepalived的配置文件位于/etc/keepalived/keepalived.conf中,下面是一个简单的配置文件示例:
```
! Configuration File for keepalived
vrrp_script chk_http_port {
script "/etc/keepalived/check_http_port.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.100
}
track_script {
chk_http_port
}
}
```
上面的配置文件中,定义了一个名为VI_1的VRRP实例,它使用eth0网卡作为虚拟IP地址的网络接口,虚拟路由器ID为51,优先级为100,认证密码为1111,虚拟IP地址为192.168.1.100。同时,还定义了一个名为chk_http_port的VRRP脚本来检测HTTP端口的状态,并将其添加到VI_1实例的跟踪脚本列表中。
3.启动Keepalived
配置完成后,可以使用以下命令来启动Keepalived:
```
sudo systemctl start keepalived
```
此时,Keepalived就会开始工作,并自动将虚拟IP地址绑定到主服务器上。
4.测试高可用性
在主服务器上停止HTTP服务,等待几秒钟后,备用服务器就会自动将虚拟IP地址绑定到自己的网卡上,并接管HTTP服务。在此期间,客户端可以通过虚拟IP地址访问HTTP服务,而不用关心当前哪台服务器是主服务器。
以上就是使用Keepalived实现高可用性的简单步骤,当然,在实际应用中还需要根据具体情况进行定制化配置。
nginx keepalived搭建
要搭建nginx和keepalived,可以按照以下步骤进行操作:
1. 首先,安装nginx。在主服务器和备份服务器上都需要安装nginx。可以通过YUM安装或者手动编译安装。如果选择手动编译安装,可以按照以下步骤进行操作:
- 下载nginx安装包并解压缩:
```
cd /tools/
ls nginx-1.12.0.tar.gz
tar -zxf nginxnx-1.12.0.tar.gz
cd nginxnx-1.12.0
```
- 配置并安装nginx:
```
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
make && make install
```
- 添加nginx用户并启动nginx:
```
useradd www
/usr/local/nginx/sbin/nginx
```
2. 接下来,安装keepalived。keepalived用于实现高可用性,将主服务器和备份服务器配置为虚拟IP地址。可以通过以下步骤安装keepalived:
- 创建check_nginx.sh脚本并设置执行权限:
```
#!/bin/bash
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
/usr/local/nginx/sbin/nginx
sleep 2
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
systemctl stop keepalived
fi
fi
```
- 配置keepalived的主服务器(192.168.92.100)上的配置文件:
```
Configuration File for keepalived
global_defs {
router_id Nginx_01
}
vrrp_script check_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 2
weight -5
fall 3
rise 2
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.92.200
}
track_script {
check_nginx
}
}
```
- 在备份服务器上配置keepalived的配置文件,与主服务器配置文件相似,只需将state设置为BACKUP。
- 启动keepalived服务:`systemctl start keepalived`
通过以上步骤,您可以搭建nginx和keepalived来实现高可用性,当nginx服务出现故障时,keepalived会将虚拟IP地址迁移到备份服务器上,确保服务的持续可用性。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [搭建keepalived+nginx热备高可用(主备+双主模式)](https://blog.csdn.net/qq_38055805/article/details/127916599)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [Keepalived+Nginx搭建](https://blog.csdn.net/qq_44777969/article/details/107436999)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文