Articles of linux kernel

在linux中添加iptables snat或dnat规则时出错

我在Raspberry Pi 3上使用Arch Linux(32位版本)。 当我尝试添加任何-j SNAT或-j DNAT规则到iptables ,它不起作用 – 我收到一个错误 iptables: No change/target/match by that name 我通常不会遇到与iptables有关的问题。 例如,标准的INPUT , OUTPUT和FORWARD有很多规则。 此外, POSTROUTING包含一个MASQUERADE规则,它可以正常工作,允许内部LAN与Internet通话。 我在尝试允许互联网向公共IP发送stream量到达内部networking上的一台机器时遇到了SNAT问题。 当这不起作用,然后我尝试了更简单的规则,他们也没有工作。 然后我试图添加DNAT规则,并有同样的问题。 我可以将更复杂的规则添加到PREROUTING和POSTROUTING而不指定-j DNAT或-j SNAT ,然后他们将添加,计数器将递增。 以下是添加-j SNAT和-j DNAT规则和错误的最简单尝试的一些示例。 无论我尝试添加什么样的SNAT或DNAT规则,错误总是与下面显示的相同。 [root@hostname ~]# iptables -F PREROUTING -t nat [root@hostname ~]# iptables -A PREROUTING -t nat -d $public_IP -j DNAT –to-destination $internal_IP iptables: No […]

CentOS / RHEL中用于KVM热插拔的acpiphp和pci_hotplug内核模块在哪里?

在这个如何,我读了以下内容: 我加载了下面的模块来获得PCI热插拔的工作: acpiphp pci_hotplug 您可以将这些添加到您的发行版的模块列表来加载启动,或者像这样运行一个命令。 for m in acpiphp pci_hotplug; do sudo modprobe ${m}; done 但是,在CentOS 6.3和Red Hat Enterprise Linux 6.3上,这个模块在Ubuntu Server和Debian 6上不存在。 为什么? 任何解决方法?

内核3.8,Apache2与WSGI:信息:任务apache2阻塞超过120秒

我们在Debian系统上将我们的内核从2.6.32升级到了3.8.7。 我们与NFS共享以获取Apache2的数据。 而Nginx只提供静态文件作为代理。 由于我们已经安装了内核3.8.7,所以负载平均值有时会增长(到40以上),并且在'/ var / log / messages'中发现错误。 这是常见的错误: Apr 17 06:07:44 node1 kernel: [116569.387483] INFO: task apache2:18604 blocked for more than 120 seconds. Apr 17 06:07:44 node1 kernel: [116569.387527] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. Apr 17 06:07:44 node1 kernel: [116569.387598] apache2 D 0000000000000002 0 18604 17528 0x00000000 Apr 17 06:07:44 node1 […]

内核恐慌 – 不同步:VFS:无法挂载根目录

我上传了一个centos 6.2 VMDK到s3,然后使用ec2导入音量将其转换为音量。 然后我把卷的快照,并删除它。现在我试图从快照创build一个实例,并继续得到以下错误: “内核恐慌 – 不同步:VFS:无法在未知块(8,1)上挂载根fs” 即使我不知道哪些AKI使用,同时恢复快照…目前我正在尝试使用默认值进行恢复。 完整的系统日志如下: Linux version 2.6.16-xenU (root@ip-10-204-118-8) (gcc version 4.0.2 20051125 (Red Hat 4.0.2-8)) #14 SMP Wed Nov 23 08:48:06 EST 2011 BIOS-provided physical RAM map: Xen: 0000000000000000 – 0000000026f00000 (usable) 0MB HIGHMEM available. 623MB LOWMEM available. NX (Execute Disable) protection: active Built 1 zonelists Kernel command line: root=/dev/sda1 […]

Linux内核设置:启用Cryptographic API中的所有内容是否好主意?

一些algorithm有几种实现,它们使用CPU指令,这些指令可能在当前系统上可用,也可能不可用。 只是启用(在内核,而不是模块)所有这些是好主意 – 即在当前的CPU上可用的最快的实现将被自动select? 另外,OpenSSL是否会开始自动使用内核提供的优化实现,或者应该以某种方式进行configuration?

当select的时钟源是Hyper V时,Linux内核抱怨TSC

我们在Windows Server 2012上运行HyperV上的RHEL 6盒。在我们的RHEL盒子上,我在/ var / log / messages中看到这个错误 kernel: Clocksource tsc unstable (delta = -62519781 ns). Enable clocksource failover by adding clocksource_failover kernel parameter. 当前的时钟源是 – [root@server ~]# cat /sys/devices/system/clocksource/clocksource0/current_clocksource hyperv_clocksource 可用的时钟源是 – [root@server ~]# cat /sys/devices/system/clocksource/clocksource0/available_clocksource hyperv_clocksource tsc acpi_pm jiffies 我的问题是 – 1.当时钟源是HyperV时,为什么服务器抱怨tsc? 2.我应该select哪个时钟源作为故障切换? PS – 我知道红帽解决scheme – https://access.redhat.com/site/solutions/434883 。 我只是想知道为什么会发生这种情况? 对于那些没有RedHat Access,解决scheme如下 […]

CIFS错误-512在一个安装

所以我们有Alfresco在工作,我喜欢通过CIFS来安装我们的仓库: mount /mnt/alfresco/ -v mount.cifs kernel mount options: ip=192.168.8.91,unc=\\alfresco.example.com\alfresco,dir_mode=0755,nounix,sec=ntlm,uid=1001,gid=1000,user=me,pass=******** 这是第一次运行,它工作正常。 我可以使用它几个小时,但它完全locking。 如果我尝试ls / mnt / alfresco,它只会挂几分钟。 我能做的唯一的事情是umount -lf /mnt/alfresco但是,如果我尝试重新挂载它,它只是挂起。 当我做Ctrl + C时,我看到以下内容: [86897.151480] CIFS VFS: cifs_mount failed w/return code = -512 [86897.155297] CIFS VFS: No task to wake, unknown frame received! NumMids 6 [86897.155302] Received Data is: : dump of 37 bytes of data at […]

我怎样才能做我自己的Linux发行版?

我的问题是有点偏离主题或可能是不切实际的。 事情是,在网上有太多的材料可以下载定制的Linux发行版。 但是如果我想制作自己的Linux发行版呢? 可以说我已经下载了linux内核,gnome dekstop,gnu grub。 如何在这些帮助下build立我自己的发行版。 我想要你的帮助,参考,链接。 谢谢。

Linux OOM杀手禁用灾难

我有一个没有交换的Linux机器,其中vm.overcommit_memory=2和vm.overcommit_ratio=100设置。 但是这些设置似乎没有效果。 一些试图消耗大量内存的新启动进程仍然被OOM杀死,而不是被拒绝内存分配。 是因为在sysctl -w vm.overcommit_memory=2 vm.overcommit_ratio=100之前启动的进程sysctl -w vm.overcommit_memory=2 vm.overcommit_ratio=100 (例如,在启动时应用/etc/sysctl.conf之前)可能仍然能够访问其overcommitted内存,从而触发OOM杀手? 是否有可能(1)使用内核参数禁用内存过量使用,或(2)在运行时强制内核为所有进程分配所有过度使用的内存? 编辑:浏览相关的Documentation/和一些Linux源代码(git c6fa8e6de3) (1)似乎不太可能。

Oracle甚至在内存和交换空间充足的情况下调用了OOM杀手?

你能告诉我是什么原因导致这个Oracle进程死亡? 看起来像大量的RAM免费,大量的SWAP免费。 随之而来的是其他几个oracle进程被杀害 VM有16M的vMem和8个vCPU。 但是我在这里发布了第一个被杀死的oracle进程: 3月1日20:00:58 ******* kernel:oracle调用oom-killer:gfp_mask = 0x280da,order = 0,oom_adj = 0,oom_score_adj = 0 Mar 1 20:00:58 ******* kernel:oracle cpuset = / mems_allowed = 0 Mar 1 20:00:58 ******* kernel:Pid:2370,comm:oracle没有污染2.6.32-431.el6.x86_64#1 Mar 1 20:00:58 ******* kernel:Call Trace: Mar 1 20:00:58 ******* kernel:[]? cpuset_print_task_mems_allowed + 0x91 / 0XB0 Mar 1 20:00:58 ******* kernel:[]? dump_header + […]