Articles of linux

什么networking文件共享协议有最好的性能和可靠性?

我们有一个安装了一些Web服务器负载平衡。 我们希望有一些networking共享存储,所有的networking服务器都可以访问。 它将被用作存储用户上传文件的地方。 一切都在运行Linux。 我们应该使用NFS,CIFS,SMB,fuse + sftp,fuse + ftp吗? networking文件共享协议的select非常多,select它非常困难。 我们基本上只是想在多台机器上永久安装这个共享。 安全function不是一个问题,因为除了安装它的服务器之外,其他任何地方都无法访问networking。 我们只是希望它能可靠和快速地工作。 我们应该使用哪一个?

如何在Windows和Unix / Linux格式之间转换文本文件中的换行符?

如何在Windows和Unix / Linux格式之间转换文本文件中的换行符? 我有一个* nix环境,但是我需要导入和导出Windows样式换行符的数据。 我以为会有一个标准的工具或命令来做到这一点,但我似乎无法find它。

如何在linux上ping主机直到知道?

我怎么能ping一个特定的地址,发现时,停止ping。 我想在一个bash脚本中使用它,所以当主机启动时,脚本不断ping,从主机可用的那一刻起,脚本继续…

有没有人真正了解Linux / BSD中的HFSC调度是如何工作的?

我读了关于HFSC的原始SIGCOMM '97 PostScript文件 ,这在技术上非常有用,但是我理解这个基本概念。 您可以指定一个凸或凹的服务曲线,而不是给出线性服务曲线(与其他几乎所有其他调度algorithm一样),因此可以分离带宽和延迟。 然而,尽pipe本文提到了正在使用的调度algorithm(实时和链接共享),但每个调度类总是只提到一条曲线(通过指定该曲线来完成解耦,只需要一条曲线)。 现在已经使用ALTQ调度框架为BSD(OpenBSD,FreeBSD等)实现了HFSC,并使用TC调度框架 (iproute2的一部分)实现了Linux。 两个实现都添加了两条额外的服务曲线,这些曲线并不在原始文件中! 实时服务曲线和上限服务曲线。 再次请注意,原文提到了两种调度algorithm(实时和链接共享),但是在这篇论文中,这两种调度algorithm都是单一的服务曲线。 BSD和Linux目前都没有两个独立的服务曲线。 更糟糕的是,某些版本的ALTQ似乎给HSFC增加了一个额外的队列优先权(在原始文件中没有优先权)。 我发现了几个BSD HowTo提到这个优先级设置(尽pipe最新的ALTQ版本的手册页不知道HSFC的这个参数,所以官方它甚至不存在)。 这一切都使得HFSC的调度比原始文件中描述的algorithm更复杂,互联网上有大量的教程互相矛盾,一个声称与另一个相反。 这可能是没有人真正了解HFSC调度真正起作用的主要原因。 在问我的问题之前,我们需要一些样本设置。 我将使用一个非常简单的,如下图所示: 替代文字http://f.imagehost.org/0177/hfsc-test-setup.png 以下是我无法回答的一些问题,因为教程互相矛盾: 我该怎么做需要一个实时曲线? 假设A1,A2,B1,B2都是128kbit / s的链路共享(任何一条都没有实时曲线),那么如果根分配512kbit / s,每个链路将得到128kbit / s A和B当然都是256kbit / s),对吗? 为什么我还要给A1和B1 128 kbit / s的实时曲线? 这有什么好处? 为了给予这两个更高的优先? 根据原始文件,我可以通过使用曲线给予他们更高的优先级,这就是HFSC最重要的。 通过给这两个类别[256kbit / s 20ms,128kbit / s]的曲线,它们的优先级比A2和B2的优先级高两倍(平均只能达到128kbit / s) 实时带宽是否计入链路共享带宽? 例如,如果A1和B1都只有64kbit / s的实时和64kbit / s的链路共享带宽,这是否意味着一旦它们通过实时服务64kbit / […]

在具有大量连接和高数据包stream量的千兆networking上提高TCP性能

我试图通过一个“有很多连接和高stream量小包的千兆networking”来提高我的TCP吞吐量。 我的服务器操作系统是Ubuntu 11.10 Server 64bit。 通过TCP套接字连接到我的服务器(全部在同一端口)有大约50,000(和增长)的客户端。 我的数据包中的95%的大小为1-150字节(TCP报头和有效载荷)。 剩下的5%从150到4096+字节不等。 使用下面的configuration我的服务器可以处理高达30 Mbps(全双工)的stream量。 你可以请build议最佳实践调整操作系统为我的需要? 我的/etc/sysctl.cong看起来像这样: kernel.pid_max = 1000000 net.ipv4.ip_local_port_range = 2500 65000 fs.file-max = 1000000 # net.core.netdev_max_backlog=3000 net.ipv4.tcp_sack=0 # net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.core.somaxconn = 2048 # net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 # net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_mem = […]

LVM上的RAID或RAID有什么更好的LVM?

我目前在软件RAID上有LVM,但是我想问你,你认为这是更好的解决scheme,也许有利弊? 编辑:这是关于软件突袭在lvm或lvm软件突袭。 如果我们考虑性能,我知道比硬件RAID更好。

从apt软件包安装的文件列表

如何获取已安装或将要安装的文件列表? 相反,我可以find什么包引起了一个特定的文件被安装?

我怎样才能在Linux中安排重启?

我是Linux新手,我想在午夜安排重启。 我应该怎么做? 编辑: 对不起,我没有把完整的细节。 我想在每个第三个星期六的23:30重新开机。 我不知道什么是错的,但我找不到crontab。 我有什么是cron.d ; cron.daily ; cron.weekly ; cron.monthly ; 我很抱歉noob问题。 请帮助我。 谢谢。

我如何编辑我的Linux服务器上的另一个用户的crontab?

我有一个用户在我的Linux服务器谁sudo。 我想编辑另一个用户的crontab。 我是新来的,但不明白手册页告诉我什么。 man crontab告诉我可以使用这种格式的crontab命令: crontab [ -u user ] { -l | -r [ -i ] | -e } 但是,这是什么意思? 我想编辑名为jake的用户的crontab 所以我试了 crontab jake -e crontab [jake] -e crontab [-u jake] -e 而且我每次都得到同样的错误:“使用错误:在这个选项后没有允许的参数” 那么我怎样才能编辑jake的crontab呢?

尾巴多个远程文件

有没有办法远程尾巴2档案? 我有两个服务器(a和b)后面的负载平衡器,我想这样做,如果可能的话: tail -f admin@serverA:~/mylogs/log admin@serverB:~/mylogs/log 谢谢!