几天前,我注意到一些很奇怪的事情(至少对我而言)。我运行 rsync 复制相同的数据,然后将其删除到 NFS 挂载,称为/nfs_mount/TEST. 这/nfs_mount/TEST是从nfs_server-eth1. 两个网络接口上的 MTU 都是 9000,中间的交换机也支持巨型帧。如果我这样做,rsync -av dir /nfs_mount/TEST/我将获得 X MBps 的网络传输速度。如果我这样做,rsync -av dir nfs_server-eth1:/nfs_mount/TEST/我的网络传输速度至少为 2X MBps。我的 NFS 挂载选项是nfs rw,nodev,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountvers=3,mountproto=tcp.
底线:两种传输都通过相同的网络子网、相同的线路、相同的接口、读取相同的数据、写入相同的目录等。唯一不同的是,一个是通过 NFSv3,另一个是通过 rsync。
客户端是 Ubuntu 10.04,服务器是 Ubuntu 9.10。
为什么 rsync 快得多?如何使 NFS 匹配该速度?
谢谢
编辑:请注意我使用 rsync 写入 NFS 共享或 SSH 到 NFS 服务器并在本地写入。两次我都这样做rsync -av,从明确的目标目录开始。明天我将尝试使用普通副本。
Edit2(附加信息):文件大小范围为 1KB-15MB。文件已经被压缩,我试图进一步压缩它们但没有成功。我tar.gz从那个dir. 这是模式:
rsync -av dir /nfs_mount/TEST/ = 最慢的传输;rsync -av dir nfs_server-eth1:/nfs_mount/TEST/= …目前我正在阅读 SSD 评论,我想知道如果我将 24 GB 交换从 7200 rpm HDD 移到 SSD,我将受益多少。有没有人在 SSD 上实现交换空间?这通常是个好主意吗?
附带说明:我读到如果日志在 SSD 上,ext4 的性能要好得多。有人有这样的设置吗?
谢谢!
编辑:在这里我将回答发布的问题:偶尔,我很少遇到交换。我知道交换是为了什么,最好获得更多的内存。当服务器开始交换时,其性能会下降(不足为奇)。这个想法是,如果我有很少的内存占用进程在运行,为了提高当时的整体系统性能,使用 SSD 进行交换,而不是较慢的旋转媒体。最后 - 我希望能够更快地登录并在交换期间检查服务器状态,而不是等待登录提示。我所看到的每 GB SSD 比 RAM 便宜。
与 HDD 相比,在使用 SSD 进行交换期间(这种情况很少见),我是否会获得更好的服务器性能?在这种情况下,10k 或 15k rpm HDD 的额定值在哪里?
感谢大家的快速和及时答复!
我touch /forcefsck && reboot在远程机器上使用 Ubuntu 9.10。
我如何才能知道是否有任何错误更正?我怎样才能知道 fsck 的结果是什么?
谢谢
AFAIK文件系统损坏的原因如下:
问题:
dd,但还有比这更多的东西吗?我对 Linux 很好奇,但这可能也适用于 Windows。
我有一个服务器,它通过 NFS 导出主目录。它们位于软件 RAID1(/dev/sdb 和 /dev/sdc)上,操作系统位于 /dev/sda 上。我注意到我的%iowait报告top和sar相对较高(与其他服务器相比)。值范围在 5-10% 之间,至于其他服务器(比这台服务器负载更多)与 0-1% 相同。当%iowait达到 12% 以上时,所谓的用户体验就会下降。然后我们会经历延迟。
我在日志中没有任何驱动器错误。我想避免使用试错法来玩驱动器。
如何找出哪个设备(/dev/sda、/dev/sdb 或 /dev/sdc)是瓶颈?
谢谢!
编辑:我使用 Ubuntu 9.10 并且已经iostat安装。我对 NFS 相关问题不感兴趣,但更多的是如何找到使系统变慢的设备。NFS 没有加载,我有 32 个线程可用,结果是
grep th /proc/net/rpc/nfsd
th 32 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
Run Code Online (Sandbox Code Playgroud)
Edit2:这是iostat -x 1输出的一部分(我希望我没有在这里违反一些规则):
avg-cpu: %user %nice %system %iowait %steal %idle
45.21 0.00 0.12 4.09 0.00 50.58
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz …Run Code Online (Sandbox Code Playgroud) 如果某些值超过我的阈值,我让 Munin 通过电子邮件通知我。这很好用,我很满意。但是,有一个小故障。如果我的任何值处于严重或警告状态,并且 Munin 向我发送了有关它的通知,那么在下一次 Munin 更新运行时,我会再次收到相同的通知,无论状态没有变化。我发现 Munin 默认每 5 分钟运行一次更新。
有没有办法让/强制 Munin 仅在状态更改时发送单个电子邮件(即第一封电子邮件用于临界值,第二封用于恢复正常,而不是临界-临界-...-临界-正常)?
有没有办法查看用户在日常工作中删除了哪些文件。我知道bash_history,但我想知道是否还有比这更多的东西。问题是关于普通 Ubuntu(大概是任何 Linux)服务器安装。
如果 a在其主目录中user运行rm -fr dir1,是否会有事件日志?我有办法轻松启用这样的功能吗?
编辑:我可以在安装任何东西之前找到吗?两个答案都很棒!
谢谢
我有一个 NFSv3 服务器和大约 15 个客户端。我正在寻找async在服务器端启用的利弊。我已经读过它,但对我来说仍然有点不清楚。我知道如果服务器在写操作过程中崩溃,它会导致数据损坏。但是,我也读到客户端存储了相同操作的缓存,并且可以在需要时恢复它。我的问题是:
fsck也许)?;sync或者async?所有机器都是 Ubuntu OS 10.04。
我试图在这里找到类似的问题,但没有。我已经阅读了 NFS 主页并快速浏览了管理 NFS 和 NIS,第 2 版书籍。
这是我的配置:
我已经阅读了在客户端的配置选项卡下的健康状态下,我应该能够看到比下面屏幕截图中显示的更多的硬件信息。

我想要的很简单 - 一种监视服务器硬件状态以及 RAID 阵列状态的方法。现在,我无法知道驱动器是否出现故障、温度是否过高等。我设法安装了 3ware RAID CLI ( tw_cli),这可能会有所帮助,但它只能部分解决问题。
最好的解决方案应该是免费的,因为我只有这台服务器而没有钱花在它上面。
我该如何解决这个问题?
linux ×8
ubuntu ×5
nfs ×3
corruption ×1
drbd ×1
filesystems ×1
fsck ×1
io ×1
iowait ×1
logging ×1
monitoring ×1
munin ×1
optimization ×1
rsync ×1
ssd ×1
swap ×1
vmware-esxi ×1
windows ×1