小编vca*_*rel的帖子

在 CentOS 7 EC2 实例上禁用 THP 和 THP 碎片整理

我想在 CentOS 7 EC2 实例上禁用 transparent_hugepage (THP),默认情况下启用:

# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
Run Code Online (Sandbox Code Playgroud)

可以手动更改此设置:

# echo never > /sys/kernel/mm/transparent_hugepage/enabled
# echo never > /sys/kernel/mm/transparent_hugepage/defrag
# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
# cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]
Run Code Online (Sandbox Code Playgroud)

...但重新启动后更改将丢失。

我试图将echo never [...]指令放入我的rc.localcloud.cfg文件中,但没有奏效。

我也试图追加设置transparent_hugepage=never到内核行/etc/grub.conf(如解释),但它并没有更好地工作。

那么...如何在 AWS EC2 实例上运行的 CentOS 7 上禁用 THP?

编辑:更改标题...我需要禁用 THPTHP 碎片整理

grub amazon-ec2 centos7

9
推荐指数
2
解决办法
8275
查看次数

在 Docker 中运行 nginx 时我应该如何配置 SELinux

Docker 的文档中有一篇关于 Docker 安全性的好文章:https : //docs.docker.com/articles/security/

然而,我不太清楚容器中的 root 特权进程如何在主机系统中实际运行,以及我应该如何配置 SELinux 以处理进程“泄漏”到容器外的风险。

例如,我在容器中运行 nginx,当我在容器外执行“ps”时,我可以看到所有 nginx 进程。

根 7281 4078 0 01:36 ? 00:00:00 nginx:主进程 nginx
www-data 7309 7281 0 01:36 ? 00:00:00 nginx:工作进程
www-data 7310 7281 0 01:36 ? 00:00:00 nginx:工作进程
www-data 7311 7281 0 01:36 ? 00:00:00 nginx:工作进程
www-data 7312 7281 0 01:36 ? 00:00:00 nginx:工作进程

这并不奇怪,因为这就是 Docker 的工作方式——它不是虚拟化,在虚拟机之外没有任何东西出现。使用 Docker,容器的进程在命名空间和有限权限内的主机操作系统上运行。它们直接与主机内核对话。

在这种情况下,我认为我应该配置 SELinux 来保护 nginx 进程而不是 docker 进程,就像它在没有 docker 的情况下运行一样。那是对的吗?

另外,是否有任何特定的 Docker 配置更适合运行像 nginx 这样的网络服务器?

security nginx selinux docker

6
推荐指数
1
解决办法
7807
查看次数

标签 统计

amazon-ec2 ×1

centos7 ×1

docker ×1

grub ×1

nginx ×1

security ×1

selinux ×1