ディレクトリのコピーオンライトコピーを作成する方法はありますか?


14

私は、ディレクトリのコピーを作成し、いくつかのファイルを微調整し、その結果に対していくつかの処理を行うようなものがある状況を考えています。これはかなり頻繁に、おそらく1日に数十回行われます。(正確な使用例は、パッチの提出をテストすることです。コードを複製し、パッチを当て、ビルド/テスト/レポート/などを行います。)

私が探しているのは、新しいディレクトリ構造を作成し、そのディレクトリ構造に、オリゴナルからのハードリンクを追加することです。ただし、これは、使用するすべてのツールがファイルを編集するのではなく、削除して再作成する場合にのみ機能します。

ファイルシステムにファイルのコピーオンライトを実行させる方法はありますか?


注:多くのFSはブロックレベルでCOWを使用します(すべての更新は新しいブロックへの書き込みを介して行われます)が、これは私が望むものではありません。


維持されているようには見えませんが、おそらくboklm.eu/copyfs
ゾレダチェ

だから、ファイルシステムを介してコピーオンライトを実行したいが、コピーオンライトを使用するファイルシステムが必要ないのですか?よくわかりません。
カミルKisiel

1
@Kamil Kisiel:ブロックレベルのCOWではなく、ファイルレベルのCOWが欲しい。ファイルレベルのCOWはcplnほぼ同じことを実行します。:ブロックレベルのCOWは、FSメタデータが正しくないことインターバル最小限にするトリックですen.wikipedia.org/wiki/ZFS#Copy-on-write_transactional_model
BCS

これはどのようなシステムで使用されると予想されますか?
ジョンガーデニアーズ

いくつかのセットアップのためにそれを行う方法を知っていない限り(その場合は投稿するだけです)、私は人々がそれを行う方法を理解する時間を費やしたくないでしょう(彼らが楽しみのためにそれをやっていない限り:)
BCS

回答:


7

ファイルサーバーにプラットフォームを選択できる場合は、最近のOpenSolarisビルドを使用して、ZFSの重複排除機能を使用します。この方法では、ファイルのコピーは追加のスペースを使用せず、ファイル間の共通セグメントでさえ複製されません。

Jeff Bonwickのブログのこの投稿 ZFS重複排除に関するすべてを読むことができます。


1
ZFSは素晴らしいです。ストレージに関する考え方が変わります
テグベイン

ドライブ全体でそれをオンにすることのマイナス面がない限り、きちんとしています。
BCS

技術的な詳細が記載されたブログ投稿へのリンクを追加しました。必要なものかどうかを確認できます。
カミルキジエル

Jeff Bonwickの投稿の新しいURL:blogs.oracle.com/bonwick/zfs-deduplication-v2
Mathieu

0

ほとんどのLinux仮想化ソリューションは、仮想化OS間でファイルレベルのCOWを提供します(WPからコピー)。

  • はい:
    • Docker、Linux-VServer、lmctfy、LXC、Singularity、Virtuozzo、Sandboxie、systemd-nspawn、Solaris Containers(ZFS)、FreeBSD jail(ZFS)、OpenVZ
  • 番号:
    • chroot、sysjail、WPAR、iCore Virtual Accounts、Turbo

このリンクは質問に回答するかもしれませんが、回答の重要な部分をここに含め、参照用のリンクを提供する方が良いでしょう。リンクのみの回答は、リンク先のページが変更された場合、無効になることができます
ロメオNinov

-2

SVNまたは他のバージョン管理ツール(git、cvs)かもしれませんか?


さらに悪いことに、各ファイルのコピーを2つ作成し、それらをソケットに吸い込みます。
BCS
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.