白日放歌须纵酒,青春作伴好还乡。这篇文章主要讲述用keepalived实现Samba高可用相关的知识,希望能为你提供帮助。
结构如图
文章图片
keepalived 虚拟IP: 172.31.193.1
SMB1: 172.31.206.55 (MASTER)
SMB2: 172.31.207.120 (BACKUP)
安装
sudo apt-get install keepalived
sudo vim /etc/keepalived/keepalived.conf
在机器SMB1上
vrrp_instance smb1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1234
}
virtual_ipaddress {
172.31.193.1
}
}virtual_server 172.31.193.1 445 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 10
protocol TCPreal_server 172.31.206.55 445 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 445
}
}real_server 172.31.207.120 445 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 445
}
}
}virtual_server 172.31.193.1 139 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 10
protocol TCPreal_server 172.31.206.55 139 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 139
}
}real_server 172.31.207.120 139 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 139
}
}
}
在SMB2上,主要区别是state 分MASTER和BACKUP,然后priority master 为100,backup为90.
vrrp_instance smb2 {
state BACKUP
interface eth0
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1234
}
virtual_ipaddress {
172.31.193.1
}
}virtual_server 172.31.193.1 445 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 10
protocol TCPreal_server 172.31.206.55 445 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 445
}
}real_server 172.31.207.120 445 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 445
}
}
}virtual_server 172.31.193.1 139 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 10
protocol TCPreal_server 172.31.206.55 139 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 139
}
}real_server 172.31.207.120 139 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 139
}
}
}
安装配置Samba服务
sudo apt-get install samba
sudo vim /etc/samba/smb.conf
添加共享文件夹
[shareDoc]
comment = Folder for File Sharing
path = /shareDoc
public = no
writable = yes
valid users = user1,user2
添加smb用户
sudo smbpasswd -a user1
sudo service smbd restart
sudo service keepalived restart
注意服务重启后即可ping同这个虚拟IP: 172.31.193.1, 但是通过\\\\IP 共享的方式访问还需要一些时间让网络通知完成。
【用keepalived实现Samba高可用】此前在AWS上通过EC2做这个实验,发现无论如何都无法ping通这个虚拟IP,查询资料后是AWS的VPC网络阻挡了这个通讯,即使我在security group里将子网间的所有All TCP/UDP全部打开也没用,后来使用本机自带的Hyper-V搭建虚拟机,顺利实现。
推荐阅读
- 2021年8月券商App行情刷新及交易体验评测报告
- c++
- 本地yum仓库搭建
- Linux 基础3
- Nginx学习笔记
- 网络安全工程师演示(小白这样买电脑,再也不踩无良商家的坑了!)
- Linux中多线程,同步将一个文件内容复制到另一个文件里面
- Redis yum安装
- linux之rpm命令