文件传输的应用与实现
文件传输的应用
1、支持批量上传补丁或文件...
2、支持批量下载日志或文件...
3、支持上传或下载整个目录...
为什么要使用行云管家的文件传输而不选择传统的FTP呢?
日常运维工作中我们会遇到需同时向成百上千个服务器传输文件,譬如安装补丁、收集日志文件等场景中,受限于远程连接主机的方式限制,我们难于直接在客户端和主机之间建立一个文件传输通道,需要一个网盘作为中间介质来实现客户端和主机之间的文件传输。
在使用行云管家分发文件、文件(日志)收集时,无需安装任何服务端软件,即可获得比传统FTP传输方式快十倍并且不占用公网带宽。
本文使用的行云管家版本: V4.1(日期:2018-03-22)
网盘(文件传输的中间介质)
我们知道在行云管家中,网盘分为两种。团队网盘和主机网盘。
团队网盘
团队网盘是整个团队的公共存储空间,所有成员皆拥有读写权限,通常用于成员存放一些常用的文件。它无法与云主机进行文件传输,但可以将团队网盘的文件复制到主机网盘中,继而将文件传输至云主机;
1、点击菜单——》选择网盘资源
2、选择团队网盘——》上传、下载、管理等操作
主机网盘
受限于B/S架构,我们在会话中无法直接在远程桌面/SSH终端进行文件的上传和下载,为了实现这个需求,行云管家在我们导入主机时,自动为每台主机分配了一个主机网盘,该网盘将在远程连接主机过程中被挂载成主机的逻辑磁盘,方便我们用户传输文件。
1、点击菜单——》选择网盘资源
2、选择主机网盘——》选择待操作的主机
3、可根据需求选择相应的操作
文件传输为什么快?
在文件传输过程中,如果我们通过公网传输,很显然会受到公网带宽的限制,并且传输还会和业务系统争夺宝贵的公网带宽资源,严重影响应用质量。
针对这个现象,行云管家特别对于云主机提供了文件传输区域优化的特性:
将主机网盘部署在云主机同一个内网中,充分利用云厂商内网千兆带宽的优势。
用户只要使用“内网IP访问”(了解如何启用内网访问)访问云主机,便能够获得1030Mbps峰值速率(即1.25MB3.75MB)的“极速文件传输”,无需占用用户云主机的公网带宽。
架构图示意图
在分配主机网盘时,为了保证主机网盘和云主机位于同一内网,行云管家将主机网盘部署在云厂商的对象存储资源中,这样就实现了云主机和主机网盘的内网互通。
但这种方案存在一个缺点:要求云厂商在云主机所在区域内部署有对象存储资源。
而目前云厂商开通的对象存储资源有限,因此如果云主机所在的区域不支持对象存储,将导致云主机无法获得文件传输区域优化的特性,目前能够支持文件传输区域优化的区域列表如下:
除以上区域云主机外,都不支持文件传输区域优化特性,文件将通过公网来传输。
Linux(SSH文件传输)
1、选择将要操作的主机——》连接
2、打开SSH会话后,在文件传输面板就可以直接查看到主机的文件目录(注意:SSH中显示的是云主机的文件系统,而不是主机网盘);
3、上传下载文件(通过文件传输面板的上传和下载按钮进行文件传输)
3.1、文件上传(上传目录、文件、主机网盘资源)
3.2、文件下载(下载目录、文件至本地、网盘资源)
3.3、文件操作(删除、移动、复制、重命名)
3.4、文件排序
3.5、文件操作记录
Windows(RDP文件传输)
RDP文件传输
批量文件上传(文件分发控制台)
注意:
1、目录过大极易造成浏览器假死。
2、不支持上传根目录或空文件夹。
3、文件分发仅支持通过主机Agent来完成,因此需要确保目标主机已经安装了Agent并处于正常运行状态。
在现实场景中,经常需要将文件批量分发到多台主机中,如安装补丁包。在行云管家中,可以借助文件分发控制台来完成这一功能;目前支持“本地文件(上传文件、上传目录)”、“网盘文件”、“主机文件(某台主机上的文件)”三种文件上传途径;
1、点击菜单——》选择作业中心——》文件分发控制台
2、选择需分发的文件
3、填写目标主机文件分发的路径,所有的文件将会被传输到指定的路径,我们还可以设置目标主机存在重名文件和路径不存在时的处理策略;
主机选择完毕后,点击“立即分发”图标即开始将文件分发至所选主机;
4、文件分发完毕示意图
批量文件下载(文件采集控制台)
注意:
1、文件采集需要Agent支持,请确保待选主机已经安装了行云管家Agent且运行正常;
在文件批量操作场景中,除文件分发外,还存在从多台主机中批量采集某些共同特征文件的情况,如:定期收集多台主机上的日志文件。在行云管家中,我们可以通过文件采集控制台来实现这个需求。
1、打开“文件分采集控制台”,可以看到一个流程化的界面,分别是:选择源主机、设置待采集的文件规则、设置文件的网盘存储目录;
2、在“源主机”对话框中,点击下方“选择”按钮,弹出主机选择对话框,选择要批量采集文件的主机。
3、在“待采集的文件”节点中,输入待采集的文件/文件夹完整路径,点击“添加”即可,可重复添加多个采集目标,支持Windows/Linux操作系统。所选主机中如果存在这些文件/文件夹,将会全部采集,若不存在,将跳过继续采集下一个目标;
3.1、在文件采集控制台中,行云管家支持我们使用通配符来定义待采集的文件,具体规则如下:
*:匹配指定目录下文件名中0或多个字符;
**:匹配指定目录及其子目录下文件名中0或多个字符;
?:匹配文件名中的一个字符;
3.2、文件采集规则示例:有4个文件,分别是:
1、bar.txt;
2、src/bar.c;
3、src/baz.c;
4、src/test/bartest.c;
3.3、对于这些文件,我们可以通过以下的通配符规则来匹配其中若干个文件:
*.c:无法匹配,因为*只能在当前目录下进行匹配,而当前目录下没有.c文件;
src/*.c:匹配文件2和3,在src下存在src/bar.c和src/baz.c两个文件;
*/*.c:匹配文件2和3 ,因为*只在当前目录下进行匹配,文件4位于子目录,因此无法匹配;
**/*.c:匹配文件2、3和4,因为**可以在子目录下进行匹配;
bar.*:匹配文件1;
**/bar.*:匹配文件1和2 ;
**/bar*.*:匹配文件1、2和4;
src/ba?.c:匹配文件2和3,因为?可以匹配任意一个字符 ;
3.4、采集/tmp/目录下的所有.pdf文件
4、在“目标网盘”中,点击“设置”,设置文件存放到网盘的路径,可选团队网盘、任何一台主机网盘中的任意位置,文件采集完毕后,我们可前往该网盘地址下载已采集的文件。采集条件设置完毕后,点击“立即采集”即开始从所选主机中采集文件,并最终存放在目标网盘中;
5、采集进度和结果将以新的tab页签的形式进行展示,同时在审计日志中也将提供记录。
6、采集成功
至此大家已经可以将文件传输功能应用于日常运维工作中,减少不必要的时间浪费,利用空闲时间学习公司所需技术,发现公司业务上可优化的点,提升运维的价值。