主从运维
双服务器部署方式,使用2台服务器,一台作为“主服务器”,另一台作为“从服务器”,两台服务器同时运行,并保持数据热同步,当其中一台服务器故障时,另一台服务器能迅速接管业务,待故障排除后,也可以重新恢复主从系统。
主服务器故障
当主服务器发生故障且无法快速恢复时,可以启用从服务器临时接管系统访问,待主服务器故障排除后,再重建主从系统。
网盘服务IP是指网盘服务对外提供访问的IP地址,一般是指主服务器IP地址,也可能是使用其他IP映射到主服务器IP。
接管系统访问
当主服务器发生故障且无法快速恢复时,可以使用从服务器快速接管系统访问,请按以下步骤执行:
-
停用网盘服务IP
如果主服务器的操作系统还能启动,则进入操作系统后将网盘服务IP更换为其他任意可用IP(Window,Ubuntu,CentOS),以便网盘服务IP可以设置到从服务器上,避免IP冲突。
-
使用从服务器接管系统访问
- Windows
- Linux
进入从服务器,以管理员身份运行cmd,执行命令:
powershell -NoLogo -ExecutionPolicy Bypass -File "%YDISK_SERVER_HOME%\bin\ops\convertToSingle.ps1"在从服务器的命令行终端,执行命令:
sudo /opt/ydisks/ydisk.py --to-single
重建主从系统
当从服务器发生故障时,我们启用从服务器临时接管了系统访问,但当原从服务器故障排除后,需要重建主从系统。
由于从服务器接管系统访问的这段时间,很可能有新上传的文件数据,如果直接按原主从系统恢复,会导致这部分新数据丢失。通过直接将现在接管系统访问的从服务器提升为主服务器,将原主服务器降为从服务器,这样同步数据自动完成,新的主从系统也同时重建就绪。
如果一定要恢复原有的服务器主从角色,重建主从系统后,待数据同步完成后,再恢复原主从系统。
执行本流程期间会关闭服务器,正常耗时约10分钟,请按照以下步骤实现:
-
创建验证文件
提示确认新的主服务器是一个关乎数据安全的重要过程,由于数据从主服务器向从服务器同步,如果主从服务器颠倒可能会导致数据覆盖丢失,造成严重后果。
使用您的账号登录网盘系统,在
我的文件中的任意目录下新建一个名称为testydisk.txt的空文件。 -
启用新的主服务器
启用新的主服务器就是当前正在提供网盘系统访问的服务器。
- Windows
- Linux
进入提供网盘系统访问的服务器,以管理员身份运行cmd,执行命令,检查网盘服务IP是否在命令输出列表中(如果是IP映射访问,请确认映射的内网IP是否为当前服务器IP):
ipconfig|find "IP"确认后,执行命令:
powershell -NoLogo -ExecutionPolicy Bypass -File "%YDISK_SERVER_HOME%\bin\ops\convertToMS.ps1" -Deployment master请记录当前的版本号,以便后续步骤验证,执行命令:
type "%YDISK_SERVER_HOME%\etc\config.json"|find "version"进入提供网盘系统访问的服务器,打开终端,执行命令,检查网盘服务IP是否在命令输出列表中(如果是IP映射访问,请确认映射的内网IP是否为当前服务器IP):
ip addr | grep "inet "确认后,执行命令:
sudo /opt/ydisks/ydisk.py --to-master -
验证主服务器
使用刚启用的主服务器的内网IP(如:http://192.168.0.100:2020 ), 登录网盘Web页面,检查
步骤1创建的验证文件testydisk.txt是否存在,如果不存在,说明服务器数据异常,应立即停止操作,联系技术支持人员。如果存在可以继续下一步骤。 -
复制认证URL
刷新浏览器页面,由于当前主服务器没有从服务器与之连接,因此页面顶端会提示错误:

点击查看详情,弹出的页面中点击加入从服务器,弹出页面:

如果从服务器是新主机,则参考这个页面中安装从服务器,并跳过下面的步骤5。
如果即将启用的从服务器,就是之前出故障的原主服务器。选择正确的新主服务器IP,点击页面中的使用认证URL,复制并记录
认证URL,以备下一步骤使用。 -
启用从服务器
- Windows
- Linux
进入即将启用的从服务器主机,以管理员身份运行cmd,执行命令:
提示请注意,需要将命令行中的
认证URL替换为上一步骤中记录的认证URL。powershell -NoLogo -ExecutionPolicy Bypass -File "%YDISK_SERVER_HOME%\bin\ops\convertToSingle.ps1"powershell -NoLogo -ExecutionPolicy Bypass -File "%YDISK_SERVER_HOME%\bin\ops\convertToMS.ps1" -Deployment slave -AuthUrl "认证URL"检查其版本号是否和刚启用的新主服务器一致:
type "%YDISK_SERVER_HOME%\etc\config.json"|find "version"如果版本号低于主服务器,需要升级从服务器。
在从服务器的命令行终端上,执行命令:
提示请注意,需要将命令行中的
认证URL替换为上一步骤中记录的认证URL。sudo /opt/ydisks/ydisk.py --to-slave --auth-url "认证URL"检查其版本号是否和刚启用的新主服务器一致:
cat /opt/ydisks/config.json | grep "version"如果版本号低于主服务器,需要升级从服务器。
-
验证主从系统状态
使用主服务器的内网IP(如:http://192.168.0.100:2020 ),以拥有
系统管理员角色的账号登录网盘Web页面,在运维管理 -> 系统维护 ->服务器状态页面中查看主从系统状态。