Articles of linux

无法连接到127.0.0.1端口80

我有运行nginx服务器(无所谓的服务器): $ sudo netstat -tulpn | grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4268/nginx tcp6 0 0 :::80 :::* LISTEN 4268/nginx 然后我发送请求到127.0.0.1 $ curl -v 127.0.0.1 * Rebuilt URL to: 127.0.0.1/ * Hostname was NOT found in DNS cache * Trying 127.0.0.1… * connect to 127.0.0.1 port 80 failed: Connection refused * Failed to […]

pipe理数千台服务器的root密码的最佳解决scheme是什么?

我是系统pipe理员。 在生产环境中,我需要pipe理数以千计的服务器。 我和我的同事使用中央pipe理服务器,并通过其他服务器分配其公钥。 所以我们可以使用这个pipe理服务器ssh到其他服务器。 有时我们需要使用root密码,例如服务器closures时,我们需要使用iLO来确定原因。 目前,我们使用共享的root密码。 这是不安全的。 我也看了一些单一的服务器解决scheme,如OPIE (一次性密码在一切),但由于我们有这么多的服务器,这不是一个好主意。 编辑: 我想从密码pipe理解决scheme中得到的是: 它应该是安全的,所以一次性密码是一个很好的解决scheme。 密码可以很容易地input,有时我们需要将监视器连接到服务器,或者像上面提到的那样使用iLO。 即使服务器处于脱机状态(没有任何networking连接) 因此,将root密码设置为长随机string并不是一个好主意,尽pipe它是由一些已知命令(如openssl passwd )生成的。 这很难记住,有时很难产生(没有我的笔记本电脑)

解密持续的mpt2sas系统日志消息

概要 我已经在syslog中得到了这些神秘的消息,因为我安装了一些新的硬件,我不知道问题是什么,如果是严重的,或者如何处理。 他们来自新的SATA HBA,他们遵循一个模式。 我会收到几条第一条消息,然后是5-30秒后的几条第二条消息。 他们进来的斑点都在同一秒login,其准确的数量在2到35之间变化。它可能是在出现的条目之间的几分钟或几小时。 两条消息的例子: Jul 13 06:06:23 durandal kernel: [366918.435596] mpt2sas0: log_info(0x31120303): originator(PL), code(0x12), sub_code(0x0303) Jul 13 06:06:28 durandal kernel: [366923.145524] mpt2sas0: log_info(0x31110d01): originator(PL), code(0x11), sub_code(0x0d01) 始终总是0x31120303,然后是0x31110d01。 mpt2sas是我使用的SATA主机总线适配器的驱动程序,但错误内容过于隐晦。 它并不告诉我问题是什么,它使用的是什么磁盘或端口,或者它有多严重。 硬件 带Xeon E3-1220和8GB内存的Supermicro X9SCL 。 基于LSI SAS2008的Supermicro AOC-USAS2-L8I SAS / SATA HBA连接到Supermicro CSE-M35T-1B磁盘托架组。 它有三个Western Digital WD30EZRX和两个Segate ST3000DM001插入。 所有3TB驱动器(实际上完全相同的扇区数)。 没有使用端口扩展器。 HBA,磁盘托盘和4个驱动器是新的。 其中一个WD30EZRX已经有好几个月了,没有问题。 如果以前连接到集成的英特尔SATA控制器,则使用此新设置将其移动到驱动器托架中。 HBA出现问题需要经常重置,性能非常糟糕。 […]

Vagrant错误:连接超时。 重试

我有一个服务器与Ubuntu 12.04,Virtualbox 4.3和Vagrant 1.5.1。 我试图使用这个框http://puppet-vagrant-boxes.puppetlabs.com/centos-64-x64-vbox4210.box然而不当。 当我跑“stream浪”时,我得到这个消息: Bringing machine 'default' up with 'virtualbox' provider… ==> default: Importing base box 'centos-64-x64-vbox4210'… ==> default: Matching MAC address for NAT networking… ==> default: Setting the name of the VM: rafael_default_1396403974194_51967 ==> default: Clearing any previously set forwarded ports… ==> default: Clearing any previously set network interfaces… ==> default: Preparing […]

从syslog日志文件中快速提取时间范围?

我有一个标准的syslog格式的日志文件。 它看起来像这样,除了每秒数百行: Jan 11 07:48:46 blahblahblah… Jan 11 07:49:00 blahblahblah… Jan 11 07:50:13 blahblahblah… Jan 11 07:51:22 blahblahblah… Jan 11 07:58:04 blahblahblah… 它不会在午夜时分推出,但它永远不会超过两天。 我经常不得不从这个文件中提取一个时间片。 我想写一个通用脚本,我可以这样调用: $ timegrep 22:30-02:00 /logs/something.log 从22:30开始,直到午夜的边界,直到第二天凌晨2点。 有几个警告: 我不想打扰命令行上的date,只是时间。 该计划应该足够聪明,以弄清楚。 日志格式不包括年份,所以它应该根据当年猜测,但在元旦周围做正确的事情。 我希望它快 – 它应该使用这样一个事实,即行是为了在文件中寻找并使用二分查找。 在我花一大笔时间写这个之前,它已经存在了吗?

在较低的CPU /内存使用情况下,Linux负载较高

我有一个很奇怪的情况,那就是我的CentOS 5.5盒子很高,但是CPU和内存很低: top – 20:41:38 up 42 days, 6:14, 2 users, load average: 19.79, 21.25, 18.87 Tasks: 254 total, 1 running, 253 sleeping, 0 stopped, 0 zombie Cpu(s): 3.8%us, 0.3%sy, 0.1%ni, 95.0%id, 0.6%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 4035284k total, 4008084k used, 27200k free, 38748k buffers Swap: 4208928k total, 242576k used, 3966352k free, 1465008k cached free […]

用软件md-raid在SSD上实现Linux fstrim

我目前正在一个raid镜像中构build一个带有2个256GB固态盘的Ubuntu 13.04新服务器来运行一个MariaDB实例。 我们通常将LVM置于MD RAID 1上的dm-cryptencryption之上 ,但之前还没有在此设置中使用过SSD。 我的问题是,因为我们将使用一个新的(3.8)内核,它应该允许fstrim直接应用到raid卷,据我所知。 我现在可以简单地依靠这个与fstrim -v /通过一个cron工作正常工作,就像我会,如果突袭没有到位? 即使LVM位于RAID的顶部,这是否也是如此? 我们打算使用驱动器上的硬件encryption,所以我们在这里不需要dm-crypt。 注:我知道有几个类似的问题,涉及backporting更新的内核版本和实施丢弃与md卷 – 我问具体是否fstrim对md-raid工作,而不进一步修改更新的内核。 更新:只是想跟进和发布,这工作得很好。 现在在cron.daily上有一个工作,它在/和/boot上运行fstrim,并且工作正常。 此外,事实certificate,SSD上的硬件encryption(Samsung 840 Pros)似乎需要TPM支持,这是我们没有的,所以我们使用软件encryption进行了configuration,如链接所示。 通过向/etc/crypttab ( 而不是 /etc/fstab )中的选项添加discard ,并在/etc/lvm/lvm.conf的devices部分添加issue_discards = 1 ,即使通过LVM,encryption和RAID层,fstrim也能正常工作。 有关在LVM和encryptionSSD上configurationtrim / discard的更多信息,请点击这里。

NT_STATUS_BAD_NETWORK_NAME在Samba中的含义是什么?

我设置了这样一个分享: [global] security = user map to guest = Bad Password usershare allow guests = yes [vms] comment = VirtualBox Virtual Machines path = /home/neil/VirtualBox/HardDisks guest ok = yes read only = yes 而当我作为我自己访问共享,并input我的密码,它工作正常: $ smbclient //neil-ubuntu/vms -U neil Enter neil's password: Domain=[SHUTTERSTOCK] OS=[Unix] Server=[Samba 3.4.0] smb: \> 但是,当我作为访客访问它,它不起作用: $ smbclient //neil-ubuntu/vms -U guest Enter […]

调整Linux磁盘caching行为以获得最大的吞吐量

我遇到了最大的吞吐量问题,需要一些build议来调整我的旋钮。 我们正在运行一个10Gb的文件服务器进行备份分发。 这是LSI MegaRAID控制器上的两个磁盘S-ATA2设置。 服务器也有24G的内存。 我们需要以最大吞吐量镜像我们上次上传的备份。 我们“热”备份的RAID0给我们大约260 MB /秒的写入和275 MB /秒的读取。 一个大小为20GB的testingtmpfs给我们大约1GB /秒。 这种吞吐量是我们需要的。 现在,我怎样才能调整Linux的虚拟内存子系统,将最后上传的文件尽可能长时间地caching在内存中,而不需要将其写入磁盘(甚至更好:写入磁盘并将其保存在内存中)? 我设置了下面的sysctl,但是他们不给我们预期的吞吐量: # VM pressure fixes vm.swappiness = 20 vm.dirty_ratio = 70 vm.dirty_background_ratio = 30 vm.dirty_writeback_centisecs = 60000 这在理论上应该给我们16GB的cachingI / O,并等待几分钟,直到写入磁盘。 尽pipe如此,当我对服务器进行基准testing时,我发现写入没有影响,吞吐量并没有增加。 需要帮助或build议。

如何衡量在Linux中执行SSD的总写入?

我search了互联网find一个工具/实用程序,可以告诉我执行的SSD(或普通磁盘)的总写入。 输出应该是这样的: SSD Intel 320S :- Total data written until now — 2Tb Total data read until now — 4Tb power on Hours — 1234 Hrs etc. 但是我还没有find。 有谁知道这样的工具? 我知道在Windows上的SSDLife工具做到这一点,但我特别希望在Linux上这样做。 我从smartmontoolsbuild议的smartctl查找了smartctl命令。 他的post非常有帮助。 我将在这里添加更多信息,这是我在挖掘互联网后遇到的。 我发现gsmartcontrol (gui版本的smartctrl )特别有帮助。 有关这些工具类的更多信息,请查看Smartmontools – 社区Ubuntu文档 。 这个链接有smartctl例子。 了解每个SMART属性意味着检查此英特尔SMART属性 。 这些属性是特定于英特尔固态硬盘的,但是提供了一个想法,即SMART属性传达了什么样的信息。 一些特定的参数可能会在不同的SSD之间不同。 LBA是其中之一吗?我不知道。 另一个很好的信息来源是如何确定在Linux下SSD的写入周期数或预期寿命? – 服务器故障 。 在这里,最好的答案是SMART Attribute Id 225表示直到现在为SSD执行的总大小为32MiB的写入I / […]