刚刚为SEO博客的新服务器进行了配置,用filezilla架设了ftp服务器,可是在用flashfxp进行连接的时候发现出pasv模式失败,连接很慢,传不了文件,经过检查学习,解决问题!特把相关资料分享出来!
1.什么是ftp中的PASV和PORT模式
FTP的连接一般有两种:一种是客户程和服务器传输命令的,另一种是数据传送的连接。FTP服务程序一般会支两种不同的模式,一种是Port模式,一种是Passive模式(Pasv Mode)。
Port模式:
当客户端向服务端连接后,使用的是Port模式,那么客户端会发送一条命令告诉服务端(客户端在本地打开了一个端口在等着你进行数据连接),当服务端收到这个Port命令后就会向客户端打开的那个端口进行连接,这种数据连接就生成了。
Pasv模式:
当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也建立了。
从上面的解释中,可以看到两种模式主要的不同是数据连接建立的不同,对于Port模式,是客户端C在本地打开一个端口等服务端S去连接建立数据连接;而Pasv模式就是服务端S打开一个端口等待客户端C去建立一个数据连接。
FTP需要2个端口,一个端口是作为控制连接端口,也就是21这个端口,用于发送指令给服务器以及等待服务器响应;另一个端口是数据传输端口,端口号为20(仅PORT模式),是用来建立数据传输通道的,主要有3个作用:
1.从客户向服务器发送一个文件。
2.从服务器向客户发送一个文件。
3.从服务器向客户发送文件或目录列表。
注意:所有FTP服务器软件都支持PORT方式,大部分FTP服务器软件PORT方式和PASV方式都支持,有些FTP服务器不支持PASV方式都支持,故造成了PASV 模式失败,正在尝试 PORT错误 或者 数据Sock错误。对症下药,解决的方法其实很简单――取消PASV模式。
2.具体的方法
1)在ie中如何启用或者取消PASV模式:
如果要在ie里启用或关闭PASV方式,先打开IE,在菜单里选择:工具 -> Internet选项 -> 高级,在“使用被动ftp”前面打上钩或者去掉钩,不过需要IE6.0以上才支持。
2)FTP下载工具取消被动模式的方法:
★Cute FTP 3.5英文版:FTP―>Settings―>Options―>Firewall,将“PASV mode”前复选框中的打勾去掉。
★Cute FTP3.5中文版:FTP―>设置―>选项―>防火墙,“PASV方式(A)”前复选框中的打勾去掉。
★Cute FTP4.0中文版:右击你所建立的ftp站点―>选择属性(properties)―>去掉”use PASV mod” 选择项
★Cute FTP Pro2.0中文版:编辑―>全局设置―>连接―>连接类型,“PASV/PORT”下拉选项菜单选择PORT。
★Leap FTP2.7.2:Sites―>Site Manager―>Advanced,将“Use PASV mode”前复选框中的打勾去掉。
★flashfxp: 选项->参数->代理->去掉“使用被动模式”
★flashget: 选项->参数->代理服务器->编辑->将“Use PASV mode”前复选框中的打勾去掉。
3.其他补充
如果你用Serv-U架设FTP,那么Serv-U默认配置下两种方式都支持。
如果要关闭PASV方式,打开Serv-U,进入 Domains -> user.dns0755.net -> Settings -> Advanced -> 把“Allow passive mode data transfers”前面的钩去掉。
在 Serv-U的Local Server -> Settings -> Advanced -> PASV port range里,填入给PASV模式使用的本地端口范围,如60000-60020。请把端口范围限制在20个以内。之后,再在防火墙里打开这个范围的端口就可以了。
如果你用Filezilla架设FTP,那么filezilla默认配置下两种方式都支持。我在FileZilla Server 设置菜单里被动模式选项(Passive Mode Settings)选项,进入被动模式设置。 选中启动被动模式端口范围的选项,输入3000~3020端口范围,相应的端口要在防火墙里添加放行。
本文介绍如何使用iostat、iotop工具查看I/O负载情况。
查看磁盘I/O负载
iotop是一个用来监视磁盘I/O使用状况的top类工具,可以从进程纬度查看磁盘IO负载。
-
执行如下命令,安装iotop。
yum install iotop
-
执行如下命令,查看I/O负载。
iotop -k -n 5 -d 3
-
-b:记录到日志。
-
-k:以KB为单位显示。
-
-n:统计次数。
-
-d:统计时间间隔。
显示结果如下。
显示结果参数说明如下,更多参数说明,可执行
iotop -h
查询。-
DISK READ:该进程读I/O带宽。
-
DISK WRITE:该进程写I/O带宽。
-
SWAPIN:磁盘的交换使用率。
-
IO:该进程的 I/O 利用率,包含磁盘和交换。
-
kjournald进程占用I/O资源高问题
问题描述
使用iotop排查分析,发现kjournald进程占用了大量I/O资源。
问题原因
该问题通常是由于.ext3
文件系统设置的Journal size太小导致。
kjournald进程是ext3文件系统进行I/O数据操作的内核进程,它在向磁盘内写入和读取数据时占用CPU和内存资源。当循环的向ext3文件系统写数据时,会使Journal size不断增大,到达设置的Journal size时,就会出现该问题。
解决方案
-
远程连接Linux系统的ECS实例。
具体操作,请参见连接方式概述。
-
执行如下命令,查看相应分区的Journal size大小。
dumpe2fs /dev/xvda1 | grep Journal
/dev/xvda1请替换为实际的分区。
系统显示类似如下,表示
/dev/xvda1
分区的Journal size为128M。dumpe2fs 1.42.9 (28-Dec-2013) Journal inode: 8 Journal backup: inode blocks Journal features: journal_incompat_revoke Journal size: 128M Journal length: 32768 Journal sequence: 0x00010ffb Journal start: 10953
-
执行如下命令,修改Journal size大小。
mke2fs -J size=400 /dev/xvda1
请根据业务需要,修改size大小,/dev/xvda1请替换为实际的分区。
I/O性能优化:通过4K对齐提高I/O性能
4K对齐指将符合4K扇区定义格式化过的硬盘,按照4K扇区的规则写入数据。4K对齐可以使簇与扇区相对应,保证了磁盘读写效率,以提高I/O性能。
本操作介绍如何通过以下脚本对磁盘进行格式化并自动配置4K对齐。
运行此脚本会自动格式化所有数据盘,如果非新购数据盘,请在操作前,确认已对相关数据盘进行数据备份。具体操作,请参见创建一个云盘快照。
-
使用root用户远程连接Linux系统的ECS实例。
具体操作,请参见连接方式概述。
-
下载auto_fdisk.zip压缩包后解压,将解压后脚本并上传到目标服务器。
-
依次执行如下命令,为脚本添加执行权限,然后运行脚本。
chmod +x ./auto_fdisk.sh ./auto_fdisk.sh