小编duc*_*ck.的帖子

在执行其他任何操作之前,如何让 systemd 启动我的 ZFS 挂载脚本?

现在我在 Fedora 19 上使用 zfsonlinux,它运行良好。使用 systemd 调用的 initscript(包含在 zfs 中)按计划在启动时进行挂载,但有一个非常严重的缺陷:ZFS 挂载方式,在启动过程中太晚了,以至于没有 /zfs 传输和其他服务会非常丢失安装并且无法恢复,因此使它们失败。

我所追求的是一种让 systemd 在做任何其他事情之前启动脚本的方法。我知道如何使用 initscripts(只需将其设置为较低的运行级别,例如 2),但是在使用 systemd 的目标系统执行此操作时,我并不是最迷茫的。

我试过在需要 zfs 启动的服务中设置一些东西,但它不起作用,除非 Type=idle (但无论如何必须有更好的方法):

Requires=network.target
After=zfs
Type=idle
Run Code Online (Sandbox Code Playgroud)

为了参考,这里是 Fedora 提供的 initscript。由于 ZFS 在 linux (?) 上的挂载方式的性质,我不能只是将一个条目放入 fstab 并完成它,它必须使用命令进行挂载。

fedora zfs automounting systemd

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

对于弹性文件系统(用于以后添加存储)来说,什么是一个不错的选择?

我目前正在运行带有 EXT3 的 Debian 6.0 服务器,但我想转移到 Arch。它现在被用作文件服务器,其中有一个 1TB 驱动器(其中使用了 650GB)。稍后(当我没有完全破产时)我想做的是购买另一个驱动器并将其添加到同一个系统中(用于备份我的主设备)。实现这一目标的最简单方法是什么?我已经研究过 RAID,但它没用,因为每次添加新驱动器时我都必须重新初始化阵列。注意:我对冗余并不大惊小怪,它只会托管镜像备份,在数据丢失的情况下我可以轻松地重新制作。

基本上:系统装有干净的 1TB 驱动器,我现在应该怎么做才能在以后准备新的条带驱动器而不必重新初始化任何阵列?

filesystems raid arch-linux debian hard-disk

5
推荐指数
1
解决办法
558
查看次数

有没有办法使用 FFMPEG 之类的东西在两个 RTMP 流(取决于哪个流)之间进行混合?

(对问题标题表示歉意,不太确定如何措辞)

因此,我正在为本地 LAN 派对开发交钥匙流媒体解决方案/服务器,使用出色的nginx-rtmp处理来自我们主 PC 的传入 RTMP 流,并(希望)向 Twitch 和其他此类流媒体服务提供不间断的信号。

我想实现的主要目标之一是,如果我们不向其发送任何内容,则将服务器切换到本地网络摄像头(或其他流),这将完善我正在使用的零停机时间方法把目标放在。我已经研究过为此使用 ffmpeg,参数如下:

ffmpeg -i "rtmp://127.0.0.1/in/stream" -i "rtmp://127.0.0.1/webcam/stream" -vcodec copy -acodec copy rtmp://127.0.0.1/out/stream
Run Code Online (Sandbox Code Playgroud)

但是 ffmpeg 拒绝开始输出,除非它同时接收两个输入,如果丢失一个,则完全停止。

问题是我想不出任何替代方案,除了:

  • 连接到 nginx-rtmp 的 on_publish_done 钩子并触发脚本或其他东西以触发网络摄像头流在短暂延迟后启动(然后使用控制界面停止该流),或
  • 让另一个系统运行 Open Broadcaster Software 之类的东西并处理混音

如果有人有任何想法,无论多么愚蠢,我都会很感激,因为我很难过!

ffmpeg video nginx video-encoding

5
推荐指数
1
解决办法
3715
查看次数