Keepalived+rsync+ZK实现sftp高可用方案
文章目录
前言
想搞过一个sftp 服务的高可用,然后rsync能实现相互通信,以保证数据有序同步。
一、配置SFTP
先创建个用户
1.2 配置SFTP
#用户名hsi_ftp可以改
groupadd sftp
[root@localhost ~]# groupadd sftp
[root@localhost ~]# useradd -g sftp -s /sbin/nologin -M sftpuser
[root@localhost ~]# passwd sftpuser
Changing password for user sftpuser.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
1.2 创建SFTP用户专属的目录
[root@localhost ~]# mkdir -p /data/sftp/sftpuser
[root@localhost ~]# usermod -d /data/sftp/ sftpuser
[root@localhost ~]# chown root:sftp /data/sftp/
[root@localhost ~]# chown sftpuser:sftp /data/sftp/sftpuser/
1.3 配置SFTP配置文件
[root@localhost ~]# vim /etc/ssh/sshd_config
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
1.4重启服务
[root@localhost ~]# systemctl restart sshd
1.5如法炮制
另选一台也如上面的方式创建用户与配置服务,如果有需要还需要在
1.6测试
C:\Users\cheng>sftp [email protected]
[email protected]'s password:
Connected to [email protected].
sftp> ls
test
sftp>
二.Keepalived
2.1安装
yum install -y keepalived
2.2backup1的配置
选其中的一个节点node1
[root@hadoop05 /]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server smtp.xxx.com
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
# vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 53
priority 100
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.5.16
}
}
2.2 backup2的配置
选其中的一个节点node2
[root@hadoop03 /]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server smtp.xxx.com
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
# vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 53
priority 100
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.5.16
}
}
启动keepalived
systemctl start keepalived
systemctl enable keepalived
三.rsync
3.1配置rsync
两台服务器都得配置
[root@hadoop03 /]# cat /etc/rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode
# See rsyncd.conf man page for more options.
# configuration example:
# uid = nobody
# gid = nobody
# use chroot = yes
# max connections = 4
pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes