比較・運用

二〇二六年共有リモートマックビルド成果物rsync同期とNFSローカルキャッシュ判断マトリクス

二〇二六年三月二十八日 Meshmac 専門チーム 読了目安 約六分

対象共有ビルド機小チーム技術責任者キーワード共有リモートマックrsyncNFSビルド成果物権限隔離並行でも配布先を壊さないよう、直列/増分同期NFSキャッシュの場面分け、ロックumaskロール別SSH証明書rsync競合パラメータを表とFAQにまとめます。マルチノード協調デプロイ同期権限隔離と併読を。

つまずきの整理

同一成果物パスへの同時書き込みは半端配布と権限ずれを招きます。原則は「局所ビルド→公開は原子的入替え」。共有プールFAQのキューとも揃えてください。

rsync直結・増分同期・NFSローカルキャッシュの適用場面

方式 向く場面 注意
rsync直結(単発フル) リリース単位でスナップショットを丸ごと複製、監査ログを残したいとき 帯域・時間は増えやすい。直列ジョブかオフピーク推奨
rsync増分 日次・コミットごとの差分配布、キャッシュ再利用でビルド時間を削りたいとき 削除同期ポリシー(--delete系)を誤ると他ジョブ成果を消すリスク
NFSマウント+ローカルキャッシュ 開発検証で同一ツリーを低遅延参照、複数ノードが読み取り中心のとき ロック意味が弱く、同時書き込みは設計が要る。オフライン耐性はrsync側

判断マトリクス(並行・権限・競合)

状況 推奨 補足
同時ビルドが多い ジョブ別出力→配布だけ直列または原子的リネーム キュー深度はプールFAQの目安と連動
読み取り主体・低遅延 NFS読み取り+ローカルビルドキャッシュ 書き込みは専用ボリュームかrsyncワンショット
監査・再現性最優先 rsync増分+manifestハッシュ記録 OpenClaw連携はWebhook通知参照
権限トラブル多発 ビルド/配布/閲覧のOSユーザ分離+umask027 SSHは下記ロール別証明書

並行ビルド:ディレクトリロックとumask

  • ディレクトリロック:配布先ルートに対しflockや専用ロックファイルで「publish」ステップを同時一にする。ビルド自体はワークスペース別で並列化。
  • 一時領域.tmp-<job-id>/へrsyncし、成功後にmvで公開名へ入替え。読取側は常にシンボリックリンクまたは固定エイリアスを参照。
  • umask:共有グループ運用なら027(ディレクトリ750・ファイル640目安)、個人のみ077。成果物を権限隔離したい場合はビルドユーザと配布ユーザを分け、配布側のみ書込可能ディレクトリへ限定。

SSHユーザー証明書のロール分離(推奨)

SSH証明書と揃えた最小例です。

ロール 許可の目安 目的
builder ワークツリーとローカル成果ディレクトリのみ書込 コンパイル・テストの爆発半径を限定
publisher 公開ストアとロックスクリプトのみ rsync入替えと権限修正に限定し誤削除を防ぐ
reader 読取と検証コマンドのみ QA・ダウンロード用。秘密鍵を広げない

競合処理のrsyncパラメータ提案

  • 原子性:一時ディレクトリへ同期後リネーム。--inplaceは公開パスでは慎重に。
  • 削除--deleteはジョブ専用宛先に限定し、共有親には--excludeで保護。
  • 退避・帯域--backup-dir--bwlimit。増分は--link-destも検討。

よくある質問

NFS上で直接ビルドしてよいか
検証は可も、ロック遅延で不安定になりやすい。本番系はローカルビルド、NFSは読み取りキャッシュ寄りが安全。
増分で古いファイルが残る
削除ポリシーを固定し--dry-run必須。共有親への--deleteは二重確認。
権限が崩れる
umaskかACLか--chmodを一本化し、publisherのみ最終調整。

まとめ

局所生成と公開配布を分離し、届け手はrsync、低遅延読取はNFS並行はロック+入替え、権限隔離はumaskとSSHロールで。

ホームブログ一覧ヘルプ購入・ノード選定はログイン不要。

共有ビルド

成果物配布を安定運用

購入・ノード選定はログイン不要ヘルプで接続・購入ページで構成を。

rsync NFS 権限隔離
購入・ノード選定