Articles of linux

如何从Linux远程启动Windows 8.1的进程?

我尝试了winexe – 对于Windows XP和Windows 7来说,它工作正常,但是对于Windows 8.1并不适用。 我得到的是 ERROR: Cannot open control pipe – NT_STATUS_INVALID_PARAMETER 相同的命令在老版本的Windows上运行良好。 据我了解,这是因为Windows 8.1下降了对winexe使用的SMB 1.0的支持。 有没有办法强制winexe使用SMB 2? 或者也许有一些其他工具可以与Windows 8.1一起使用? 我尝试了PsExec(它确实支持SMB2,因此Windows 8.1),但是却无法让它工作。

Debian + nginx / apache的低吞吐量

在相同的局域网/广域网上,我有一台运行IIS 7.5的Windows Server 2012服务器和一台运行Nginx 1.4.5的Debian(wheezy)服务器。 两台服务器都连接到相同的LAN / WAN。 当我从debian服务器上下载一个10MB的文件时, curl报告的平均下载速度为1157k 。 使用相同的文件,在相同的networking上,但在Windows服务器上,Curl报告3588k的平均下载速度。 多次运行脚本显示,debian服务器的平均下载速度有很大的变化,有时我只有40万 ,而Windows服务器是相当稳定的。 在局域网而不是广域网上testing给了我更好的性能,但Windows服务器在那里也performance得更好。 Windows服务器正在生产,并有一定的负载,而debian服务器没有负载比我的testing。 客户端,如果我使用wireshark捕获TCPstream量,我不太熟悉tcp捕获,但是我发现debian的TCP窗口大小比windows服务器小。 Debian: Window size value: 913 Calculated window size: 14608 Window size scaling factor: 16 Windows: Window size value: 256 Calculated window size: 65536 Window size scaling factor: 256 我试过Apache而不是Nginx,它没有改变任何东西。 我已经通过互联网尝试了不同的“Linux tcp tuning”指南,没有任何明显的影响。 两台服务器的Ping时间相同。 没有涉及SSL / TLS。 我不知道该从哪里出发。 任何人有一些build议来调查或解决这个问题?

如何在Linux上获取与NFS文件句柄对应的文件名?

我有一些NFSstream量的tcpdump输出,它显示正在读取或写入哪个文件句柄。 我想知道他们对应的文件。 有一个现有的工具,将列出目录中的所有文件的文件名和文件句柄,不是? 我的备份计划是启动tcpdump,然后挂载数据存储和文件,然后从tcpdump中的NFS查找命令中挖出文件名/文件句柄对。 但是这相当耗时和手动。

在具有64GB内存的系统上,Linux缓冲区运行完整,同时使用dd复制到dev和null,直到手动drop_caches停止

我正在运行一个Linux软件突袭10的服务器。这是一个双CPU系统与64GB RAM。 与每个CPU相关的2x16GB调光器。 我想用dd来备份kvm虚拟机,并且遇到严重的io问题。 首先我认为是与raid有关,但这是linux内存pipe理的一个问题。 这里是一个例子: 内存很好: http : //i.stack.imgur.com/NbL60.jpg 我开始dd: http : //i.stack.imgur.com/kEPN2.jpg 你也看到nmon显示磁盘访问: http : //i.stack.imgur.com/Njcf5.jpg 过了一会儿,“缓冲区”很大,复制进度停止http://i.stack.imgur.com/HCefI.jpg 这里是meminfo: http : //i.stack.imgur.com/KR0CE.jpg 这里的dd输出: http : //i.stack.imgur.com/BHjnR.jpg 我可以手动解决临时的问题,强制删除caching:“sync; echo 3> / proc / sys / vm / drop_caches” 通话需要几秒钟,然后立即dd速度达到正常水平。 当然,我可以每分钟都有一个cronjob或者这样的事情,但那不是一个真正的解决scheme。 http://i.stack.imgur.com/zIDRz.jpg http://i.stack.imgur.com/fO8NV.jpg 有没有人有解决scheme或configuration提示? 这里也是我的sysctl,但所有的值都是centos默认值: http : //i.stack.imgur.com/ZQBNG.jpg EDIT1 我做了另一个testing,而不是/ dev / null dd到磁盘。 这一次也在一个没有光伏的命令。 所以它只有一个过程。 […]

我可以依靠scsi主机号码始终保持不变吗?

我想检测一个磁盘是否连接到正确的SATA端口。 虽然lsscsi给了我关于使用的主机的一些有用的信息,但我想知道SCSI主机号是否总是保持不变: [0:0:0:0] disk ATA 2.5" SATA SSD 3M P130 /dev/sda [1:0:0:0] disk ATA 2.5" SATA SSD 3M P130 /dev/sdb [4:0:0:0] disk ATA SATADOM D150SV-L 1209 /dev/sdc 一个小的testing表明,既不重新启动系统,也不移除一个磁盘影响其他主机号码之一。 另外,我在http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/scsiaddr.htmlfind了以下内容: SCSI适配器编号通常是计算机内部IO总线(如PCI,PCMCIA,ISA等)上适配卡的任意编号。 SCSI适配器号由内核按照从0开始的升序发出。 两者一起使我想到,SCSI主机号码总是应该始终保持不变,因为总线总是以相同的方式枚举。 它是否正确? 更新:似乎附加一个ATA通过(ATP)设备可以更改所有设备的主机号码。

ha.cf文件在心跳/心脏起搏器环境中的重要性?

我有几个问题试图了解ha.cf以及集群如何在更新上采取行动。 例如,当创build一个新的群集时,我通常: 在节点1-节点x上设置ha.cf中的一些默认选项 启动群集。 在任何节点上运行crm,configuration资源。 虽然我通常上/下节点,资源上/下,我以后从来没有实际添加一个新的节点。 只是为了“有趣”,我决定运行一个新的服务器,它只在ha.cf中的集群中指定一个节点,然后启动心跳。 这台机器成功地join了群集,并将其本身添加到群集中的每个其他节点….我感到困惑的是,即使我closures所有节点,并重新启动原来的2个节点,他们都仍然有第三个服务器群集但脱机,尽pipe第三个不在原始2节点的ha.cf文件中。 即使我编辑ha.cf并改变一些无意义的值或者触摸文件,重启服务器和集群,它仍然存在。 所以我的结论是CIB优先于ha.cf,但是,我没有得到的是为什么/如何。 我真的在寻找最佳实践 – 如果任何一台机器都有足够的ha.cf来“搞定”,那么在CRM中做一切事情呢? 是ha.cf浪费时间,还是应该使用它更多? 试着不要这么模糊 – 我只是在寻找我应该在CRM中做什么,以及我应该在ha.cf中做什么? 谢谢, 会

我的内存在linux上(没有cache / slab / shm / ipcs)

这是一个8GB RAM(内核3.12)的无头服务器…即使在几天之后,我的内存也很低。 事实上,这个服务器已经OOMed前几天…有些东西正在失去记忆,但我不知道在哪里… 看到下面的输出: 简而言之: 64位系统和操作系统 不是pipe理程序,也不是虚拟机 低空闲的内存 交换使用 低caching 低缓冲区 无效+有效== 1GB? 低ipcs 低shm 低板 约500MB的tmpfs使用 实际上所有进程的总共RSS是262MB 所有进程的HWM小于600MB 我失去了超过6GB的地方…? [root @ localhost〜]#cat / proc / meminfo MemTotal:8186440 kB MemFree:251188 kB 缓冲区:144 kB caching:853548 kB SwapCached:9988 kB Active:480036 kB 无效:529456 kB Active(anon):256196 kB Inactive(anon):333072 kB Active(file):223840 kB Inactive(file):196384 kB Unevictable:13656 kB Mlocked:0 kB SwapTotal:4194300 kB […]

我怎样才能使守护进程运行一个简单的服务,而无需手动调用监督?

根据networking上的各种入门指南,我用来从没有安装守护进程到有自动运行的简单服务的步骤顺序如下(在Ubuntu 14.04上): $ sudo apt-get install daemontools $ sudo apt-get install daemontools-run # not clear if this is necessary $ sudo apt-get install csh # unsure why csh would be needed to run dt $ sudo mkdir /service $ sudo mkdir /service/test $ sudo chmod 1755 /service/test $ vi /service/test/run # see below $ vi […]

通过PXE一次安装多个操作系统

我想使用PXE设置networking安装来安装多个操作系统。 我发现这个指南,做了类似的事情: https://help.ubuntu.com/community/PXEInstallMultiDistro 但是我想要的是在4个不同的分区上安装4个独立的操作系统。 一种select是手动重复安装4次。 我需要在16台机器上这样做,所以能够快速,一次地做到这一点非常好。 我想我可以做的是按照我想要的方式手动安装分区,然后保存图像。 然后,我可以从networking上提供这个图像,并运行一个ddforms来映射驱动器。 如何使用PXE以这种方式运行dd命令? 你认为还有其他方法可以实现吗? 评论可能的方法 创build主映像,并从PXE脚本中使用dd 使用Type 1 Hypervisor可以在启动时select多个操作系统映像 使用联盟FS。 存储每个组在自己的分区中进行的修改。 或者,学生拿着修改的USB记忆棒

php-fpm:维护php_mod日志格式

我最近把所有的实验室服务器从apache pre_fork / mod_php切换到了apache worker / fcgi / php-fpm,并且在正确设置了一切后,我注意到了最后一个问题。 php-fpm将它自己的日志logging“标题”添加到php错误日志中。 所以这(php-fpm添加它自己的头): Sep 21 22:01:50 dev-a-1 php-fpm: pool www: 2014-09-21@22:01:50 dev-a-1.sn1.j1n.us DEBUG(7): VB9KzAoAAAQAAFGbEuQAAAAQ: Hobis_Api_Bootstrap initalized (should only happen once) 应该看起来像这样(使用mod_php的日志条目的一个例子): 2014-09-21@22:01:50 dev-a-1.sn1.j1n.us DEBUG(7): VB9KzAoAAAQAAFGbEuQAAAAQ: Hobis_Api_Bootstrap initalized (should only happen once) 因为我将所有日志logging到系统日志,并在那里过滤,所以我可以添加一个正则expression式: .*(pool www:) 但我希望有一个更优雅的解决scheme。 有没有一个configuration选项,我可以设置,所以php-fpm只是直传? 我试着将catch_workers_output设置为yes,但是没有帮助。