服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器
在2.6.31-302 x86-64内核上运行Ubuntu。 总体问题是,我在“caching”类别中有内存不断上升,即使在我们的应用程序需要它时也不会被释放或使用。 所以这里是我从“免费”命令中得到的。 乍一看,这一切都不寻常。 # free total used free shared buffers cached Mem: 7358492 5750320 1608172 0 7848 1443820 -/+ buffers/cache: 4298652 3059840 Swap: 0 0 0 有人想说的第一件事就是“别担心,linux会自动pipe理这个内存”。 是的,我知道内存pipe理员应该如何工作。 问题在于它没有做正确的事情。 这里“caching”的1.4 GB似乎是保留和不可用的。 我的Linux知识告诉我,3 GB是“免费”的; 但系统的行为却另有说法。 当1.6GB的真实可用内存在高峰使用期间用完时,只要需要更多的内存(并且第一列中的“空闲”接近0),调用OOM杀手,处理被终止,并且问题开始出现即使 – / + buffers / cache行中的'free'仍然有大约1.4 GB的空闲空间。 我已经调整了关键进程的oom_adj值,所以它不会使系统陷入瘫痪,但即使如此,重要的进程也将被杀死,而我们也不希望达到这一点。 特别是当理论上,如果只驱逐磁盘caching,则1.4GB仍然是“免费”的。 有没有人知道这里发生了什么? 互联网充满了关于Linux“自由”命令的愚蠢问题,“为什么我没有任何可用的内存”,因此我找不到任何关于这个问题的信息。 我的脑海里浮现的第一件事就是换掉了。 我们有一个系统pipe理员是坚决的, 如果他们备份,我愿意解释。 这会导致问题吗? 在运行echo 3 > […]
当磁盘上的SMART检查报告坏扇区时,能够识别具有坏扇区的文件并将其从备份中恢复很重要。 下面,我展示了我是如何为我的Linux / ext3 VMWARE服务器做到这一点的 – 但是有谁知道这是否可以在Windows / NTFS上完成? 下面是我为Linux / ext3所做的工作:我首先要求驱动器进行硬件表面扫描(操作系统级以下,带有驱动器SMART电路): vserver:~# smartctl -t long /dev/sdc 我看了一下结果: vserver:~# smartctl -a /dev/sdc … 196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always – 1 197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always – 9 … Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Extended offline Completed: […]
我正在寻求帮助,我敢肯定,这是一个古老的问题。 我发现自己处于一种渴望更清楚地了解networking吞吐量的状况,但似乎无法find使其“点击”的信息, 我们有几个地理分布的服务器,运行各种版本的Windows。 假设我们总是使用一台主机(桌面)作为数据源,当将数据从主机复制到全国其他服务器时,我们发现速度变化很大。 在某些情况下,我们可以一直以12MB / s的速度复制数据,而在另一些情况下,我们可以看到0.8 MB / s。 应该注意的是,在testing8个目的地之后,我们似乎总是在0.6-0.8MB / s或11-12MB / s。 在我们主要关心的build筑中,我们有一个OC-3连接到我们的ISP。 我知道有很多变数在起作用,但我想我希望这里的专家可以帮助回答一些基本的问题来帮助我加深理解。 1.)对于使用100Mbps以太网卡和72 ms典型延迟的运行Windows XP,Server 2003等的旧式机器,是否合理地提供0.8 MB / s的声音? 或者你觉得这个速度足够慢,以表明一个问题? 2.)“吞吐量= TCP窗口/延迟”的经典“math最快速度”在本例中计算为0.8 MB / s(64Kb / 72 ms)。 我的理解是,这是一个上限; 你永远不会期望达到(由于开销),更不用说超过这个速度。 但在某些情况下,我们看到的速度是12.3 MB / s。 networking中散布着Steelhead加速器,那么这些加速器可以占据如此高的传输速率吗? 3.)有人build议使用SMB与SMB2可以解释速度的差异。 事实上,正如我们所料,数据包捕获显示正在使用,取决于操作系统版本。 我明白什么决定了SMB2的使用与否,但是我很想知道SMB2能带来什么样的性能提升。 我的问题似乎只是一个缺乏经验,更重要的是,在什么是和不是合理的networking速度的angular度来看。 任何人都可以帮助传播来临的背景/观点
我正在考虑将我们的一些服务器和应用程序迁移到coreOS环境。 我在这里看到的一个问题是持久化数据的pipe理,因为在将容器移动到新机器时,coreOS不处理Docker卷。 经过一番研究,我发现glusterFS声称是一个集群文件系统,可以解决我所有的问题。 我目前的想法是这样的:我有一个glusterFS容器,作为每个coreOS机器上的特权容器来运行,并公开一个存储,例如/mnt/gluster 。 在我的Dockerfile我指定我的所有卷都应该安装在这个path上。 接下来我考虑的是哪些容器应该获得自己的容量,哪些容器应该共享一个容器。 例如,每个mysql容器都可以获得自己的卷,因为它本身可以处理复制。 我不想乱搞。 服务于同一网站的Web服务器会正确使用像“用户上传的图片”等相同的音量,因为他们无法复制这些数据。 有没有人试过这样的东西,还是有什么我错过了?
我直接在两个不同的PCIe适配器上连接两台PowerEdge 6950交叉(使用直线)。 我在这些线路(1000兆,全双工,双向stream量控制)上都得到一个千兆链路。 现在我正尝试使用两边的rralgorithm将这些接口绑定到bond0(我希望获得单个IP会话的2000 MBit)。 当我通过在tcp模式下使用dd bs = 1M和netcat将/ dev / zero传输到/ dev / null来testing吞吐量时,我得到的吞吐量为70 MB / s,而不像预期的那样大于150MB / s。 当我使用单行的时候,如果每行使用不同的方向,我会在每行上得到大约98 MB / s。 当我使用单线时,如果stream量进入“相同”方向,则可以获得70 MB / s和90 MB / s的速度。 读完bonding-readme(/usr/src/linux/Documentation/networking/bonding.txt)后,我发现以下部分是有用的:(13.1.1单交换机拓扑的MT绑定模式select) balance-rr:此模式是允许单个TCP / IP连接跨多个接口分段stream量的唯一模式。 因此,它是唯一允许单个TCP / IPstream利用多个接口的吞吐量的模式。 然而,这是有代价的:分条通常会导致对等系统无序地接收数据包,从而导致TCP / IP的拥塞控制系统通常通过重新传输数据段来启动。 It is possible to adjust TCP/IP's congestion limits by altering the net.ipv4.tcp_reordering sysctl parameter. […]
对于允许用户指定OpenID提供者(OP)的那些依赖方(RP),对我来说似乎比知道或猜测你的OpenID的人 input他们自己的OP地址。 让它validation他们拥有你的OpenID。 在RP上访问您的帐户。 RP“可以”采取措施来防止这种情况,只允许OpenID由原始的OP进行validation,但… 你怎么知道他们做的? 你永远不能改变你的OP而不改变你的OpenID。
在networking接口上,随着时间的推移,数据的速度是不同的,特别是每秒的比特数。 然而,在超高速运算的世界里 – 第二种是相当长的一段时间。 例如,给定一个线性衰减。 每秒1 GBit的接口每半秒可以处理500MBit,每秒处理250Mbit等等。 我想在某些时间单位,这不再是线性的。 也许这是由以太网频率,系统时钟速度,中断计时器等设置。我相信这取决于系统 – 但有没有人有更多的信息或白皮书呢? 我很好奇的一个主要原因是理解接口上的输出下降。 即使每秒的速度远低于接口可以处理的速度 – 也许有尖峰导致只有很小的毫秒数下降。 也许各种合并会隐藏这种效果 – 或者可能在接收界面上增加它? 排队在这里有所作为? 例: 所以,如果这是线性下降到MS,我们将有1Mbit / MS,如果Wireshark没有扭曲我所看到的,当我有超过1Mbit的峰值时,我应该看到下降?
好的,所以我想要开始比以前多使用我的SAN,同时还要利用ESXi。 目前,我已经将一系列戴尔PowerEdge 1955刀片式服务器连接到单机箱EMC AX4-5 FC存储arrays。 我基本上使用SAN作为DAS。 我在SAN上有指向特定物理机器的LUN,这些机器根据目标服务器使用LUN(主要是数据库和Samba / NFS共享)。 我有多个物理文件服务器,每个都有一个sambaconfiguration设置来提供相应的共享。 由于我从来没有使RHCS正常工作,所以只有一台文件服务器一次安装了LUN。 在文件服务器死亡的情况下,我手动进行隔离(通过卸载和取消提交驱动器,使用navisphere实用程序,或通过DRAC电源closures),然后使用navisphere实用程序在下一个竞争者上启动所提供的LUN之后,启动apache和其他守护进程)。 所有的手,现在。 我觉得像Ferris Bueller演奏单簧pipe那样sorting。 从来没有一个教训! 无论如何,我正在努力改善。 我想要做的是在物理主机上安装ESXi,然后创buildLUN以容纳两个文件服务器映像(以防其中一个文件服务器损坏),其中一个文件将处于活动状态,另一个文件服务器处于备用状态。 至less这样,我不会改进自动化(尽pipe我会尽快编写一个脚本来切换“主动”服务器),但我觉得我正在增加灵活性,另外我可以使用ESXi主机托pipe其他虚拟机,硬件不会像现在这样被浪费。 我的问题是: 1)我的计划有多愚蠢? 2)在实际应用中,我应该在LUN上创build一个正常的vmdk映像,还是给它一个“原始”分区(如果ESXi甚至可以的话)? 3)有没有“好”的方式来使用非群集文件服务器?
当SAN中出现错误时,ext3检测到磁盘写入错误并以只读方式重新挂载文件系统,这是一个相对常见的问题。 这一切都很好,只有当SAN是固定的,我不知道如何重新重新挂接文件系统读写无需重新启动。 看吧: [root@localhost ~]# multipath -ll mpath0 (36001f93000a310000299000200000000) dm-2 XIOTECH,ISE1400 [size=1.1T][features=1 queue_if_no_path][hwhandler=0][rw] \_ round-robin 0 [prio=2][active] \_ 1:0:0:1 sdb 8:16 [active][ready] \_ 2:0:0:1 sdc 8:32 [active][ready] [root@localhost ~]# mount /dev/mapper/mpath0 /mnt/foo [root@localhost ~]# touch /mnt/foo/blah 一切顺利,现在我把它从下面抽出来。 [root@localhost ~]# touch /mnt/foo/blah [root@localhost ~]# touch /mnt/foo/blah touch: cannot touch `/mnt/foo/blah': Read-only file system [root@localhost ~]# tail […]
我在一个新的盒子上为SSH设置了基于密钥的authentication,并且正在阅读一些提到将PasswordAuthentication与UsePAM设置为no文章。 我的问题是,如果您已经将PasswordAuthentication和ChallengeResponseAuthentication设置为no ,那么将UsePAM设置为no的目的是什么?