バージョン 6.12.4 2023-08-31
アップグレードに関する注意事項
既知の問題
一般的な既知の問題については、6.12.0 リリースノート を参照してください。
ロールバック
以前のバージョンにロールバックする前に、Bridging が有効になっていることを確認することが重要です:
- 設定 > ネットワーク設定 > eth0 > Bridging を有効にする = Yes
その後、アレイを Start すると(Docker および VM サービスとともに)、Docker コンテナ、VM、WireGuard トンネルが以前の設定に更新され、古いリリースでも動作するはずです。
古いバージョンに入ったら、次の設定がご利用の構成に対して正しいことを確認してください:
- 設定 > Docker > カスタムネットワークへのホストアクセス
- 設定 > Docker > Docker カスタムネットワークタイプ
6.12.0 より前にロールバックする場合は、6.12.0 リリースノート も参照してください。
macvlan のコールトレースの修正
このリリースでの大きなニュースは、macvlan のコールトレースとクラッシュに関連する問題を解決したことです!
問題の根本は、カスタム Docker ネットワークに使用される macvlan は、親インターフェースが bridge(br0 のようなもの)の場合に信頼性が低く、物理インターフェース(eth0 のようなもの)や bond(bond0 のようなもの)で最もよく動作することです。これは以前からのカーネルの問題だと考えており、バグ報告を投稿しました。
macvlan に関連するコールトレースが発生している場合、最初の手順として Settings > Docker に移動し、 詳細表示に切り替えて、"Docker custom network type" を macvlan から ipvlan に変更することをお勧めします。これは Unraid がバージョン 6.11.5 以降で出荷している既定の構成であり、ほとんどのシステムで動作するはずです。 この設定で問題がなければ、作業は完了です。macvlan に関連するコールトレースは発生しなくなり、 次のセクション へ進めます。
ただし、一部のユーザーからは、ipvlan モードで特定のルーター(Fritzbox)からのポート転送に問題があることや、高度なネットワーク管理ツール(Ubiquity)で機能が低下することが報告されています。
そのようなユーザー向けに、macvlan の問題を回避するためにネットワークを再構成する新しい方法があります。いくつかの設定を調整すると、Docker コンテナ、VM、WireGuard トンネルはそれらを使用するよう自動的に調整されるはずです:
- 設定 > ネットワーク設定 > eth0 > Bonding を有効にする = Yes でも No でも可。この解決策ではどちらでも動作します
- 設定 > ネットワーク設定 > eth0 > Bridging を有効にする = No(これにより macvlan が自動的に有効になります)
- 設定 > Docker > カスタムネットワークへのホストアクセス = 有効
注: 以前に 2 NIC Docker セグメンテーション方式を使用していた場合は、 その設定も元に戻す必要があります:
- 設定 > Docker > インターフェース eth0 または bond0 上のカスタムネットワーク(つまり、eth0/bond0 が eth1/bond1 ではなくカスタムネットワーク用に構成されていることを確認してください)
アレイを Start すると、ホスト、VM、Docker コンテナはすべて通信できるようになり、コールトレースも発生しなくなるはずです!
トラブルシューティング
- カスタム IP を持つ Docker コンテナが起動しない場合は、それらを編集して "Network type" を "Custom: eth0" または "Custom: bond0" に変更してください。これを自動的に行おうとしましたが、カスタマイズの状況によっては手動で行う必要があるかもしれません。
- VM のネットワークに問題がある場合は、それらを編集して Network Source を "vhost0" に設定してください。また、MAC アドレスが割り当てられていることも確認してください。
- WireGuard トンネルが起動しない場合は、各トンネルにダミーの変更を加えて保存してください。
- Docker コンテナへのポート転送に問題がある場合(特に Fritzbox ルーターで)、ルーター上のポート転送を削除して再作成してください。
もう少し技術的に…
このリリースへアップグレードした後、eth0 で bridging が有効なままであれば、すべては以前と同じように動作します。コールトレースへの回避策として、カスタム Docker ネットワークを無効にする、macvlan の代わりに ipvlan を使う、またはコンテナを eth1 上に置く 2 NIC Docker セグメンテーション方式を使う、という方法を試せます。
このリリース以降、eth0 で bridging を無効にすると、Docker コンテナと VM が使用する新しい macvtap ネットワークを作成します。br0 ではなく eth0 を親とすることで、コールトレースを回避しています。
副次的な利点として、macvtap ネットワークは bridged ネットワークより高速だと報告されているため、Docker コンテナや VM との通信時に速度向上が見られるかもしれません。
参考: メインインターフェース(eth0)で bridging が無効になると、Docker カスタムネットワークタイプは macvlan に設定され、非表示になります。システム上で bridging が有効な他のインターフェースがある場合は、従来の ipvlan オプションが利用可能です。ここで説明している新しい修正を使用するには、その設定を macvlan のままにしておく必要があります。
システムドライバー ページ
システムで利用可能な/使用中のドライバーを確認するには、Tools > System Drivers に移動してください。プラグインによってインストールされたサードパーティ製ドライバー(NVIDIA や Realtek など)には、そのドライバーのサポートページへのリンクがあるアイコンがあります。さらに、これで flash ドライブ上のファイルを探さなくても、任意のドライバーの modprobe.d 設定ファイルを追加・変更・削除できるようになりました。
その他のバグ修正と改善
-
このリリースでは、ネットワーク、Libvirt、Docker、WireGuard、NTP、NGINX、NFS、RPC のコーナーケースを解決しています。また、VM Manager に、更新時にも VNC パスワードを保持する改善が含まれています。
-
シャットダウン処理を変更し、NUT プラグインがシステムを適切にシャットダウンできるようにしました。
-
自動的に閉じる前の通知表示時間は、設定可能になりました(設定 > 通知設定 を参照)。
-
小さな変更として、/boot/extra 内のパッケージはプラグインによってインストールされたパッケージにより近い扱いとなり、インストールはコンソールではなく syslog に記録されます。
-
Update OS プロセスは、必要に応じて Plugin-Update-Helper スクリプトを自動的に更新します。
6.12.3 からの変更点
ベースディストリビューション
- create_network_ini:
- dhcp フックを修正
- IP アドレス収集を改善
- diagnostics:
- 診断用 version txt ファイルに以前の Unraid バージョンを追加。
- ntp.conf、sshd.config、および servers.conf(URL は匿名化)を追加
- IP アドレスを匿名化
- docker:
- shim または macvtap ネットワーク使用時にルーティングを追加
- "host access" が有効な場合のルーティングを修正
- shim/vhost インターフェースから IPv6 を削除(一部のルーターは非互換)
- libvirt、nginx、nfs、rpc: 実行中プロセスの検出を変更
- nfsclient: v4 でネゴシエーションを開始し、atime 変更を無効化
- rc.6: シャットダウン中も /usr と /lib をマウントしたままにする
- rc.docker:
- コンテナとサービスに同じ IPv6 ネットワークを作成
- dockerd 停止時のログを増やす
- rc.inet1:
- bridging に promiscuous mode を使用しない
- dhcpcd に永続オプションを追加
- rc.library: インターフェースは常に同じ順序で一覧表示し、ipv6 表示を修正
- rc.libvirt: XML に 'itco' watchdog がある場合は削除
- rc.local: 自動生成された /etc/modprobe.d/zfs.conf ファイルに注釈を追加
- rc.services:
- ログを追加
- WireGuard の "VPN tunneled access for docker" トンネルを services から除外
- ntp 用の WireGuard トンネルを除外(コード最適化)
パッケージの更新
- btrfs-progs: 6.3.3
- curl: バージョン 8.2.0(CVE-2023-32001)
- firefox: バージョン 117.0.r20230824132758(AppImage)
- kernel-firmware: バージョン 20230724_59fbffa
- krb5: バージョン 1.19.2(CVE-2023-36054)
- openssh: バージョン 9.3p2(CVE-2023-38408)
- openssl: バージョン 1.1.1v(CVE-2023-3817 CVE-2023-3446)
- samba: バージョン 4.17.10(CVE-2023-3496 CVE-2022-2127 CVE-2023-34968 CVE-2023-3496 CVE-2023-3347)
Linux カーネル
- バージョン 6.1.49(CVE-2023-20593)
- CONFIG_SCSI_MPI3MR: Broadcom MPI3 ストレージコントローラーデバイスドライバー
WebGUI
- ダッシュボード: ZFS を使用していないときは ZFS バーを非表示にする
- Docker 設定: サブネットサイズを修正
- Feedback: フィードバックスクリプトをリファクタリング
- ネットワーク設定: DNS 設定が時々消える問題を修正
- 通知: 新しい通知オプション: 自動クローズ時間、既定値は 5 秒
- プール: 最小空き領域: アレイ停止時のみ有効
- 共有とプール: "Minimum free space" を割合ではなく絶対値で表示
- System Drivers: 新しいページ
- 翻訳: 言語ファイル内のキーと値をトリム
- VM Manager: 更新中も VNC パスワードを保持
- VM Manager: ダウンロードした '.vv' ファイルを削除
- CSS: overflow-x を 'auto' に設定
- monitor_nchan を更新
パッチ
Unraid Patch plugin をインストールしている場合は、Tools → Unraid Patch に移動して以下のパッチ / ホットフィックスを取得してください:
- セキュリティ更新の一部。詳細は このブログ記事 を参照してください。追加のセキュリティ更新のため、最新の安定版へのアップグレードを推奨します。