Articles of linux

为什么cgroups(blkio服务字节)和iotop产生分歧的结果

我在Ubuntu 14.04上使用lxc用户空间工具,我想在容器中执行一些压力testing和基准testing。 我知道free和htop在容器中工作不正常。 我在容器中使用dd和bonnie ++来强调硬盘是SSD。 现在在主机端,用iotop我可以看到读写IO使用的带宽,但在cgroups我有不同的结果。 cgroups仅捕获服务字节的一小部分,而iotop显示几百兆字节的带宽使用。 在cgroups中,我正在捕获这个条目:/sys/fs/cgroup/lxc/disk_stress/blkio.throttle.io_service_bytes 任何想法,为什么值不相等? 哪一个是正确的?

傀儡 – 删除login用户?

我刚开始学习木偶,遇到了一个问题,我想知道如果有人知道如何解决。我试图删除一个用户,我得到一个错误消息,说明他们login,所以不能被删除。 现在在这种情况下,我知道他们login的服务器,所以我可以简单地login用户,然后从那里继续。然而我的问题是,当你不知道他们login到什么服务器时,你会怎么做? 请记住它可能是许多服务器。 有没有强制删除选项或一种方式来login用户在木偶? 代码如下: user {'art': ensure => absent, } 错误: 错误:无法删除user art:执行'/ usr / sbin / userdel art'返回8:userdel:user art当前login 错误:/ stage [main] / Main / Node [demo] / User [art] / ensure:从目前更改为不存在失败:无法删除用户art:执行'/ usr / sbin / userdel art'返回8:userdel :用户艺术当前login

ping:sendmsg:操作不允许(有时)

在运行Haproxy的Ubuntu 14.04上,在service haproxy reload ,Haproxy突然将所有服务器都报告为closures。 经过一番挖掘,我注意到ping不能正常工作,有时能够ping通,然后几秒钟后,我们得到ping: sendmsg: Operation not permitted的错误ping: sendmsg: Operation not permitted 。 它也无法parsingsubdomain.domain.com 。 iptables -L没有显示任何规则。 iptables –flush没有帮助。 有任何想法吗? root@some-test:~# ping 107.1.1.1 PING 107.1.1.1 (107.1.1.1) 56(84) bytes of data. 64 bytes from 107.1.1.1: icmp_seq=1 ttl=63 time=0.425 ms ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted […]

将Linux主机无人参与joinActive Directory

我试图设置一个使用kickstart的主机块,并且有两个需要input密码的命令。 一个是kinit,对于那个,只需要生成一个keytab文件并使用-t传递它,而另一个是在执行authconfig命令时间接调用的networking连接。 有没有办法通过凭证文件或使用密码哈希来交付密码? 很明显,我不想把它作为纯文本传递。 @ewwhite感谢您的链接,我会看看。 我不确定任何事情,而且我绝对不反对使用SSSD,如果它能让我完成同样的事情,并且它允许无人值守configuration。 我使用桑巴/ Winbind有更多的关于我的舒适水平。 你能build议我怎么去做同样的事情使用SSSD记住,我不想手动input密码? 相关kickstart内容: cat << EOF > /etc/samba/smb.conf [global] encrypt passwords = yes # logs split per machine log file = /var/log/samba/log.%m # max 50KB per log file, then rotate max log size = 50 passdb backend = tdbsam EOF chkconfig smb on chkconfig nmb on service smb […]

完整性和压力testing

DevOps同事build议我们开始将生产环境转换为使用btrfs。 我们主要使用ext4文件系统,尽pipe一些使用ZFS的低使用率服务器(在Linux上)。 作为决策者之一,作为一个负责我们整体环境的人,我对基于Web上制作网站上的btrfs的评论和文章数量感到犹豫不决。 为了反驳这种说法,Oracle已经发布了支持btrfs的Enterprise Linux,SLES 12( https://www.suse.com/releasenotes/x86_64/SUSE-SLES/12/ )也指出它将使用btrfs,并且有证据像Facebook这样的公司也在受控的生产环境中使用它。 关于为什么朝着这个方向前进(采用btrfs)将是一件好事,我总体上同意他们,但是,我想要谨慎,做尽职调查,并获得更多的操作上的熟悉和在进一步扩大规模之前,在“小生产”或登台环境中login小时。 是否有任何工具可以帮助我构build案例 – 如在压力testing之后进行数据完整性检查或者其他方面的工作? 除了没有看到像这样的语句:“问:btrfs是稳定的吗?简单的回答:不,它仍然被认为是实验性的。 在btrfs维基上我还能做些什么来获得更暖和的模糊?

硬盘驱动器正在起作用,但SMART说一切都很好

在我开始之前,快速的声明。 我基本上是一个开发人员被情况下强迫进入系统pipe理员angular色,所以我提前道歉,如果我说一些愚蠢的或似乎我不知道我在做什么。 所以,我们的主服务器上的HDD-s有问题。 /dev/sda有两个分区,一个安装为/ ,另一个用作PostgreSQL数据驱动器( /dev/sda2 )。 $ df -h Filesystem Size Used Avail Use% Mounted on rootfs 92G 13G 75G 14% / udev 10M 0 10M 0% /dev tmpfs 1.6G 12M 1.6G 1% /run /dev/disk/by-uuid/8ffca87a-ffe4-4c39-ab30-352b61f039f8 92G 13G 75G 14% / tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 3.2G 0 3.2G 0% /run/shm /dev/sda2 826G […]

准备一个虚拟设备

在将正在运行的虚拟机转换为OVA(可再分发的虚拟设备)之前,需要做些什么来确保其处于就绪状态,以便OVA的实例不会在构build过程中带来不必要的或潜在的破坏性后缀? 这是我迄今为止。 我错过了什么? 如果这已经是答案,或者有一个最佳通用实践文档,我会很欣赏一个指向正确的方向。 谢谢。 ################################# ## ##获取所有包up2date和 ##清除任何脏东西 ##本地包 ## ################################# yum -y更新; yum干净一切; ################################# ## ##摆脱我的迹象 ##修补这个 ## ################################# [[-a / etc / issue-original,v]] && unlink / etc / issue-original,v; [[-a / etc / issue,v]] && unlink / etc / issue,v; ci -u / etc / issue; ################################# ## ##删除它们的主机密钥 ##将被重新生成时 ##新的虚拟机已经启动 ## […]

实际的限制

我正在进行的一个项目是将某些傀儡应用的ulimit设置从“听起来正确的”移到了基于环境的dynamic分配。 这是针对单一应用程序环境的,所以我最担心的是防止应用程序资源匮乏,同时保持内核和实用程序空间足够多的句柄,而不是做他们应该做的事情。 我们从应用程序团队持续请求moar文件句柄! 所以我试图find一个方法来处理这个问题。 所以我做了一个傀儡事实: Facter.add('app2_nofile') do confine :kernel => 'Linux' setcode do kernel_nofile = `/bin/cat /proc/sys/fs/file-max`.chomp app2_limit = (kernel_nofile.to_i * 0.85).round app2_limit end end 这就是锡上说的。 它取得/proc/sys/fs/file-max定义的内核值,取其中的85%,剩下15%用于系统使用。 在另一个puppet资源中使用这个::app2_nofile事实来设置一个软和硬的nofile ulimit,以便更新/etc/security/limits.conf,并且tada! 简单! 如果他们想要更多的文件句柄,他们必须更聪明地编写应用程序。 除此之外,它没有工作。 当试图用nofile ulimit用户打开一个用户会话( su app2_user – )时,我们得到错误信息: 无法打开会话 哪个不好。 显然,有一个独立于简单限制的上限。 或者,也许我正在理解他们如何从根本上工作。 nofile限制如何相互影响,会导致会话无法创build? 进一步的testing表明,上限可能是一个静态的边界,或者比简单的百分比更复杂。 一个最大文件大小为797,567的小RAM系统可以将这个ulimit设置得非常高,我就不会再生产了。 在一个更大的系统上,我可以将这个ulimit设置为大约63%,然后才能“打开会话”。 现在我没有更大的内存来testing这个比例是否随着更大的内存而变化。 我得到一个audit.log条目: type=USER_START msg=audit(1416420909.479:511331): user pid=5022 uid=0 auid=1194876420 ses=44826 […]

服务器重载,就像内存不足,但那不是事实

我有一台运行QEMU-KVM虚拟化的Centos 6.5服务器: 硬件: 40个CPU 400 GB RAM 软件: 内核:2.6.32-431.17.1.el6.x86_64 Qemu:0.12.1.2 Libvirt:0.10.2 有3位客人,具有相同的硬件configuration: 16个CPU 120 GB RAM <memory unit ='KiB'> 125829120 </ memory> <currentMemory unit ='KiB'> 125829120 </ currentMemory> <vcpu placement ='static'> 16 </ vcpu> 客户正在运行Apache和MySQL。 在主机上只运行虚拟机旁边的一些备份和维护脚本,没有别的。 总是在几天运行后,问题开始显现。 客人的负担随机高达150左右,盗取CPU时间10-15%。 在主机上的负载大约是38-40,用户CPU时间大约30-40%,系统CPU时间40-50%。 当时主机上CPU消耗最多的进程是虚拟客户端的Qemu进程,之后为kswapd0和kswapd1,CPU使用率为100%。 内存使用情况: 内存总计378.48 GB 内存使用330.82 GB RAM免费47.66 GB SWAP共计500.24 MB SWAP使用497.13 MB SWAP free 3192 kB […]

与Dovecot的后缀:本地和虚拟用户

我刚刚完成了一个Postfix SMTP和Dovecot IMAP / POP3服务器的设置。 它适用于虚拟用户发送和接收,但我需要做到以下几点: 除了虚拟用户能够检索邮件之外,我还希望能够检索本地用户的邮件。 所以,这将从/home/[user]/Maildir获取邮件 目前Dovecot用户以[user@domain]:[pass]:[uid]:[gid]格式存储在文件中[user@domain]:[pass]:[uid]:[gid] 我可以以某种方式将本地用户添加到该文件吗? (我已经尝试过了,但是设置主目录并不妨碍Dovecotparsing为虚拟目录,而不是/home/[user]/Maildir 。) 我如何检索Dovecot用户的邮件以及本地用户的邮件?