小编Ita*_*Ale的帖子

Docker 服务在 ZFS 之前启动

我在 Ubuntu 16.04 上使用 Docker CE,使用 ZFS 作为 Docker 的存储。设置非常标准:

  1. 有一个 zpool 有多个磁盘
  2. 在 zpool 上,有一个带有 mountpoint 的 zfs 文件系统/var/lib/docker
  3. Docker 看到文件系统是 ZFS,并自动使用它

大部分时间一切正常。但是,有时当我的 VM 启动时,zpool 无法挂载。我相信(虽然我不是 100% 确定)这是因为 Docker 服务在 ZFS 文件系统安装之前启动,实际上我看到/var/lib/docker在根 FS 上创建了一个文件夹。

如何确保在挂载所有 ZFS 文件系统之前 Docker 服务不会启动?

ubuntu zfs zfsonlinux docker ubuntu-16.04

8
推荐指数
1
解决办法
3153
查看次数

Docker/CoreOS 上的 Galera 集群 (MariaDB):第二个节点在第一次尝试时不起作用

我正在尝试使用 MariaDB 创建 Galera Cluster 的自动部署,在 CoreOS 上的 Docker 容器内运行。

使用的软件: - MariaDB 官方Docker 镜像,版本 10.1.10 - CoreOS 899.5.0,Docker 1.9.1

一切都在 2 个独立的虚拟机上运行:10.2.0.4 和 10.2.0.5

我可以成功启动第一个节点 (10.2.0.4) 并引导集群。

但是,当我启动第二个节点时,我在复制mysql.time_zone_transition_typemysql.time_zone_name表时遇到了很多错误。在那之后,mysqld守护进程不会崩溃,所以我的 Docker 容器继续运行(它运行了几分钟没有问题),但它似乎没有加入集群(查询第一个节点上的状态显示只有 1 个节点已加入)和它不接受任何连接(尝试连接到该节点失败)。然而,奇怪的是,如果我重新启动 Docker 容器(保留数据文件夹),它就会加入节点并完美运行。

这是 MySQL 配置文件(添加到/etc/mysql/conf.dDocker 容器中):

# this is read by the standalone daemon and embedded servers
[server]

# this is only for the mysqld standalone daemon
[mysqld]

#
# * Galera-related settings
#
[galera]
# Mandatory …
Run Code Online (Sandbox Code Playgroud)

mysql mariadb galera

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

SELinux:手动更改 /etc/selinux/targeted/contexts/files/ 中的文件

我正在设置一个 CentOS 7 服务器,其中的/home目录必须位于另一个分区上,然后使用绑定挂载进行挂载。所以:/data/homes应该绑定安装到/home.

问题在于确保正确应用 SELinux 上下文。实际上,以下命令具有相互矛盾的结果:

# Applies the rules for /home to all the files
restorecon -R -v /home
# Applies the generic rules (standard files) to all the files
restorecon -R -v /data/homes
Run Code Online (Sandbox Code Playgroud)

如果系统必须重新标记文件,这会导致问题。

为了解决这个问题,我/etc/selinux/targeted/contexts/files/file_contexts.homedirs通过复制所有规则来修改策略文件/data/homes

$ sed -n '/^\/home/p' /etc/selinux/targeted/contexts/files/file_contexts.homedirs \
  | sed 's/^\/home/\/data\/homes/' \
  >> /etc/selinux/targeted/contexts/files/file_contexts.homedirs
Run Code Online (Sandbox Code Playgroud)

但是,当使用 重新构建策略时semodule -B,我的更改将丢失。

我知道修改这些文件的推荐方法是使用semanage fcontext,但我总共需要添加近 200 条规则,并且运行semanage for each不是一种选择。

如何手动更改文件/etc/selinux/targeted/contexts/files/file_contexts并确保保留更改?

linux redhat selinux centos rhel7

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

标签 统计

centos ×1

docker ×1

galera ×1

linux ×1

mariadb ×1

mysql ×1

redhat ×1

rhel7 ×1

selinux ×1

ubuntu ×1

ubuntu-16.04 ×1

zfs ×1

zfsonlinux ×1