189 8069 5689

linux双机倒换命令 linux双系统切换

Linux下ip addr和ifconfig增删查虚拟ip

使用 虚拟ip最多的场景可能是双机 ,往往结合着keepalived使用。其实没有双机软件也可以使用虚拟ip,下面介绍两种方法ip addr和ifconfig进行增删查虚拟ip。

站在用户的角度思考问题,与客户深入沟通,找到蓝山网站设计与蓝山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、网站设计、企业官网、英文网站、手机端网站、网站推广、申请域名、虚拟空间、企业邮箱。业务覆盖蓝山地区。

增加虚拟ip :

ip addr add ip/netmask dev 网口名称,比如ip addr add 192.168.88.0/24 dev eth0

查看虚拟ip : 

ip addr show device_name或ip addr | grep eth0

ip addr =ip a= ip add list 查看网卡的ip和mac等,即使网卡处于down状态,也能显示出网卡状态,但是ifconfig查看就看不到。

删除虚拟ip:

ip addr del ip/netmask dev 网口名称,比如ip addr del 192.168.88.0/24  dev eth0

清空指定网卡的所有ip:

ip addr flush dev 接口

ip addr 操作时的注意事项:

说明:网卡配置的ip一般为Primary ip,虚拟ip一般为Secondary ip,当删除Primary ip时Secondary ip也有可能同时被删除。

先查看ipv4或ipv6相应网卡开启提升参数promote_secondaries为1,当Primary ip被删除后,它的第1个Secondary ip将继承为Primary ip。

#  cat /etc/sysctl.conf  | grep promote_secondaries

net.ipv4.conf.eth0.promote_secondaries=1

默认不开启,查不到结果则表明未开启。

Secondary ip和Primary ip标注如下

[root@localhost ~]# ip addr show eth0

2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000

link/ether 00:19:b9:ef:44:8b brd ff:ff:ff:ff:ff:ff

# Primary ip

inet 172.16.0.230/24 brd 172.16.0.255 scope global eth0

inet 10.1.1.230/24 scope global eth0

# Secondary ip

inet 10.1.1.231/24 scope global secondary eth0

在linux中在一个网卡上配置的同一个网段的ip有Primary IP和Secondary address之分,如果不是同一个网段的ip总有一个是Primary IP,一条链上的吊链结构中上面的那条主链中的IP是Primary IP,Secondary address是主链结点的子链结点中的IP,一 旦主链上一个节点被删除了,那么它的子链也将不复存在,随之被删除。

可以通过调整一个参数来实现,当一个primary ip被删除时,如果它有secondary ip的话,那么它的第1个secondary地址(长子)成为primary地址,这样就显得很合理了,要不然在删除 primary地址的时候,如果有程序用secondary地址,要么延迟删除,要么程序崩溃。

开启的方法(主机重启后仍然生效的)

echo "net.ipv4.conf.eth0.promote_secondaries=1" /etc/sysctl.conf

ifconfig eth1:1 192.168.5.10/24  up:起别名

ifconfig eth0:1 192.168.8.5 netmask 255.255.255.0 up

ifconfig eth1:1 192.168.5.10/24 down : 删别名

ifconfig eth0:1 192.168.8.5 netmask 255.255.255.0 down

ifconfig eth1 up :启用eth1网卡

ifconfig eth1 down : 禁用eth1网卡,这种禁用是从数据链路层断掉,但是网络层ip还在,有时候能ping 通,大概率是缓存表没有更新

ifdown eth0 : 禁用网卡,删除了网络层ip

二者本质上没有什么区别,只是表述方式不同。如果你非常理解网络协议的原理以及网络的分层架构那么我想你就不会有这个问题,实际上 每一个网卡设备都有一个mac地址 , 但是却可以有多个网络层地址 ,比如IP地址,然而这个事实无法很好地像用户提供操作接口,所以就引出了ip别名(IP aliases)和辅助ip(secondary IP addresses)的概念。其实很容易理解这个事实,按照分层的思想,下层总是为上层服务,也就是为上层提供舞台,上层利用下层的服务,而不必让下层知道自己的情况,如果一个拥有合理mac地址的网卡没有配置网络层地址(比如IP地址)这件事合理的话,那么为这个设备配置多个IP地址也是合理的,好比一个ip可以对应多个应用层端口一样,也就是说,下层对上层总是一对多的关系,在分层架构中这种关系是合理的。

比如一台机器上运行着一个代理服务器或者负载均衡服务,代理服务器或者负载均衡服务和主服务器要监听相同的端口,那么就可以用secondary ip来解决,只要需要在同一网段监听同一个端口的应用都是吊链中子链存在的原因,因此可以说,主链对外部或者说对下面链路层虚拟了多块网卡, 而子链向上层虚拟了多台机器,配置了吊链结构的linux主机如果说只有一块网卡,那么外部会认为它有多块网卡,对于内部,应用层会认为彼此在不同的主机 上,这就是效果。

添加地址可以通过2个用户空间程序搞定,一个是ifconfig,另一个是ip addr add,ifconfig是基于ioctl进行添加地址的,而ip是基于netlink进行添加地址的,不管哪一种方式都可以达到目的。 但为何用ip addr add添加的ip地址用ifconfig看不到,而ifconfig设置的地址ip addr show却是可以看到?这个问题先放一放。

ip addr增加的虚拟ip在物理主机或虚拟机重启后失效。

方法1:把命令加到/etc/rc.local里面

ip addr add 192.168.26.74/32 dev eth1

方法2:高可用双机倒换后进行虚拟ip的增加

方法3:在/etc/sysconfig/network-scripts添加网卡名字,比如ifcfg-eth0:0,DEVICE=eth0:1 ----子接口名

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.109.108

NETMASK=255.255.255.0

ip addr 操作ip时需要注意

ip addr和ifconfig的区别

Linux Keepalived双机热备

本文使用的是 VMware Workstation 15 Player ,创建两个虚拟机,分别命名为 CentOS 7 64位 M 和 CentOS 7 64位 B ,M表示"master"主服务器,B表示"backup"备用服务器。

网络连接选择 NAT模式 ,启动后使用 ip add 发现没有自动分配ip地址,是因为CentOS 7默认是不启动网卡的,解决方法如下:

打开配置文件,把 ONBOOT=no 这一项改为 ONBOOT=yes ,然后 :wq 保存退出,然后重启网络服务:

这时候再输入 ip add 会发现ip地址有了。

本文Master ip为 192.168.56.131 ,Bcakup ip为 192.168.56.132 。

虚拟ip(vip)定义为 192.168.56.188 。

安装gcc

进入nginx-1.6.2并执行configure文件

成功后会在/usr/local/nginx目录下看到 conf、html、logs、sbin 四个目录。

启动命令:

停止命令:

重启命令:

使用如下命令查看相关端口是否已启动Nginx

浏览器输入Master的ip地址: ,出现Nginx的欢迎页面即成功启用Nginx。

同理,Backup浏览器输入: ,同样出现Nginx的欢迎页面。

注意这个地方,html中最后一行 "Thank you for using nginx." 本文针对Master和Backup分别进行了修改便于热备时更好的区分服务是否切换成功,修改的文件在

如果启动成功,但进入不了欢迎页面,则可能需要关闭firewalld防火墙:

进入keepalived-1.2.18并执行configure文件

在 /etc/ 目录下创建keepalived文件夹

将keepalived配置文件复制到/etc/keepalived下

将keepalived脚本文件复制到/etc/相关目录下

创建keepalived软链接

设置开机启动

安装完毕。

进入/etc/keepalived/目录下打开keepalived.conf文件进行修改

在/etc/keepalived/目录下创建sh脚本文件

1、安装nano

2、使用nano创建nginx_check.sh脚本

3、打开nginx_check.sh并编辑如下内容

(注意`符号,非'符号)

4、脚本授权

安装并配置完毕后,可以分别启动两台虚拟机上的Nginx和Keepalived进行热备的验证了。

启动Nginx:

启动Keepalived:

关闭Keepalived:

查看nginx进程:

查看keepalived进程:

分别启动Nginx和Keepalived后,Master输入 ip add 查看ip多了一个 192.168.56.188

打开浏览器输入ip地址: 看到Nginx的欢迎页面

此时nginx131说明为主节点。

然后我们将Keepalived关闭

或kill掉Nginx进程,因为有nginx_check.sh脚本会检测如果没有Nginx进程运行也会自动将Keepalived关闭

会发现,节点由Master切换到了Backup:

热备成功。

linux下如何切换用户命令?

可以使用su命令来切换用户,su是switchuser切换用户的缩写。可以是从普通用户切换到root用户,也可以是从root用户切换到普通用户。从普通用户切换到root用户需要输入密码,从root用户切换到普通用户不需要输入密码。\x0d\x0a命令格式:su[参数][-][用户名]\x0d\x0a用户名的默认值为root。\x0d\x0a用法示例:\x0d\x0asuzhidao#切换到zhidao用户\x0d\x0asu#切换到root用户\x0d\x0a想了解更多linux相关,可以看下《linux就该这么学》这本书。

linux怎么命令行切换服务器

您好,要切换服务器,可以使用Linux的命令行。首先,您需要确认您的服务器的IP地址,可以使用ifconfig命令查看。然后,您可以使用ssh命令连接到服务器,例如:ssh username@IP地址。您也可以使用telnet命令连接到服务器,例如:telnet IP地址。您还可以使用ftp命令来上传和下载文件,例如:ftp IP地址。最后,您可以使用exit命令来断开连接,例如:exit。希望以上信息能够帮助您解决您的问题。


当前文章:linux双机倒换命令 linux双系统切换
路径分享:http://cdxtjz.cn/article/docjhhg.html

其他资讯