发展和质量保证
每个环境都有两个服务器:
>跳箱
>应用服务器
要连接到应用程序服务器,必须首先连接到跳转框,然后连接到应用程序服务器.
由防火墙提供的一些规则:
>您必须通过跳转框连接到应用程序服务器
>应用程序服务器无法连接到任何跳转框
>跳转框位于同一子网上,并且CAN可以相互通信.
我们的问题
我们在开发应用服务器上有很多内容(670 GB),我们需要将其提供给QA APPLICATION SERVER.
将此数据复制到跳转框不是一种选择,因为它们缺少所需的空间量.
我做了一些研究,并了解到我们可能会通过这些服务器执行一系列隧道,以便我们可以通过隧道将数据直接从一个应用服务器流式传输到另一个应用服务器.但是,我们无法从应用程序服务器连接到跳转框的问题.
我们有什么选择吗?这将成为一个绝望的情况,时间是至关重要的.我们没有时间下载数据并重新上传.在服务器上通过网络进行复制将很快进行,因为它是一个千兆位连接.
解决方法
你不能轻易打败这种语法.它允许您递归复制,rsync或您想要的任何内容,而无需考虑可能复杂的管道.这种语法直观清晰,更容易被Sys管理员支持,他们关注你并且不会制作useless use of cat.
scp -3 devappserver:/path/to/copy/from qaappserver:/path/to/copy/to
从the scp man page:-3两个远程主机之间的副本通过本地主机传输.如果没有此选项,数据将直接在两个远程主机之间复制.请注意,此选项会禁用进度表.
在下面的例子中
>您的工作站名为MacBook-Pro.
> Dev Jump Box被命名为devjumpserver
> Dev Application Server名为devapplicationserver
>在LAN DNS区域名为.local
> QA Jump Box被命名为qajumpserver
> QA Application Server名为qaapplicationserver
>在LAN DNZ区域名为.local
>我们将执行670GB / etc / hosts文件的测试副本;-)
>假设您已配置SSH公钥验证.
这是一个〜/ .ssh / config文件,它通过适当的跳转(也称为堡垒服务器)设置从工作站到应用程序服务器的直接访问.
MacBook-Pro:~ barrychapman$cat ~/.ssh/config Host * ServerAliveInterval 60 Host devapplicationsever HostName devapplicationserver.local ProxyCommand ssh -i ~/.ssh/id_rsa barrychapman@devjumpserver.example.com -W %h:%p User barrychapman Host qaapplicationserver HostName qaapplicationserver.local ProxyCommand ssh -i ~/.ssh/id_rsa barrychapman@qajumpserver.example.com -W %h:%p User barrychapman MacBook-Pro:~ barrychapman$
测试目标服务器上是否存在文件,它不会存在.
MacBook-Pro:~ barrychapman$ssh qaapplicationserver ls /tmp/hosts ls: cannot access /tmp/hosts: No such file or directory Killed by signal 1. MacBook-Pro:~ barrychapman$
现在让我们通过您的工作站将文件从开发应用程序服务器复制到QA应用程序.
MacBook-Pro:~ barrychapman$scp -3 devapplicationserver:/etc/hosts qaapplicationserver:/tmp/ Killed by signal 1. Killed by signal 1. MacBook-Pro:~ barrychapman$
现在让我们检查QA Application Server上是否存在复制的文件.这次会在那里.
MacBook-Pro:~ barrychapman$ssh qaapplicationserver ls /tmp/hosts /tmp/hosts Killed by signal 1. MacBook-Pro:~ barrychapman$
注意
关闭ProxyCommand连接时,您将看到警告消息“被信号1杀死”.这是SSH拆除ProxyCommand连接,没有什么可惊慌的.您可以通过将LogLevel Quiet添加到堡垒主机配置节来摆脱它.