Gentoo:Reiser4の例で圧縮されたファイルシステムの/ dev / loopを介した設定と接続

マルは小さい

GentooをVMWareで実行しているVPSがいくつかありますが、そのために7Gのディスクスペースしか割り当てませんでした。 一度、次のバージョンのgccのリリース後に、そのうちの1つがスペースを使い果たしました。 調べてみると、主なユーザーは/ usr / srcおよび/ usr / portageディレクトリーであることがわかりました。 その後、圧縮を使用したファイルシステム(NTFSに移行)に移動するというアイデアが生まれました。このデータが理想的であるため、選択はReiser4に委ねられました。多くのファイルがあり、それらはすべて小さいからです。



ネットワーク上のこのファイルシステムに関する多くの矛盾する情報があります(2013)が、おそらく主要な開発者による記事 (2010)を読む価値があります。

記事から引用:
過去4年間、reiser4パーティションで動作中のハードウェアでデータを失った人はいません。 私はfsckの仕事について不平を言っている数人の人々からアプローチされました。 最終的に、彼らはすべてデータと機能するfsckを入手しました。
彼女を恐れないでください...



強調しておきたいのは、これらは互いに混同されることが多いため、Reiser4はReiserFSと同じではないということです。 これらは2つの異なるファイルシステムです! ReiserFSは長い間カーネルのメイントランクに存在していましたが、Reiser4の場合、2004年に生まれましたが、パッチを適用する必要があります。パッチは、カーネルの新しいバージョン用に定期的に更新されます。



このページから(私のlinux-3.10.25-gentooシステムの)カーネルのバージョンに応じてパッチをダウンロードして適用します



次のようにできるとしましょう:

cd /usr/src/linux wget -O reiser4-for-3.10.patch.gz 'http://downloads.sourceforge.net/project/reiser4/reiser4-for-linux-3.x/reiser4-for-3.10.patch.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Freiser4%2Ffiles%2Freiser4-for-linux-3.x%2F&ts=1393599138&use_mirror=heanet' gunzip reiser4-for-3.10.patch.gz && patch -p1 < reiser4-for-3.10.patch
      
      





コアを構成します。 注意-ReiserFSのサポートは必要ありません。 私の特定のシステムの画面、あなたのシステムには他の設定があるかもしれませんが、今は興味があるだけです:

ファイルシステム-> Reiser4

画像



忘れないでください:

デバイスドライバー>ブロックデバイス->ループバックデバイスのサポート

画像



以下は、サーバーで実行したコマンドとアクションの実際のシーケンスの例です。突然、誰かにとって便利になります。

 ;    make menuconfig ;   : ;   ,     make && make modules_install ;     /boot,   .   : mount /boot && cp arch/x86_64/boot/bzImage /boot/kernel-3.10.25 && cp .config /boot/.config-3.10.25
      
      





私は完全に新しいカーネルをインストールしているので、ブートローダーの設定を微調整する必要があります。GRUBを使用します。

 vi /boot/grub/grub.conf
      
      





新しいカーネルの作業記録は次のようになります(たとえば、完全に異なる方法ですべてを持つことができます)。

 title Gentoo Linux 3.10.25 md0 root (hd0,0) kernel /boot/kernel-3.10.25 root=/dev/md0 net.ifnames=0
      
      





今のところ、それをデフォルトの構成にしないでください;最初に、サーバーを再起動し、すべてが正常であることを確認してください。



空きディスク領域の制御測定を行います。

 df -h ;  (    ) Filesystem Size Used Avail Use% Mounted on /dev/md0 7.4G 4.1G 2.9G 59% / ;      du --summarize -h /usr/portage ; 2.2G /usr/portage du --summarize -h /usr/src ; 766M /usr/src
      
      





私たちはバリドールとポップコーンを備蓄し、...

 umount /boot && reboot
      
      





ペンでロードするための新しいカーネル構成を選択することを忘れないでください:

画像

サーバーがまだ残っていることを願っています...



最初と2番目を食べた後、デザートに移動します-ループデバイスを作成し、Reiser4でディスクイメージをマウントします。

 ;      Reiser4 emerge reiser4progs ;        cd /mnt && truncate -s 2G reiser4.img ;      du -h reiser4.img ; 0 reiser4.img du --apparent-size -h reiser4.img ;2.0G reiser4.img ;      /dev/loop0 losetup /dev/loop0 /mnt/reiser4.img ;      gzip (  lzo,    , ,   ,   ).   ,         Reiser4 mkfs.reiser4 -f -o create=ccreg40,compress=gzip1 /dev/loop0
      
      





画像



最後に、新しい「ドライブ」をマウントします。

 ;  ,     /etc/fstab echo '/mnt/reiser4.img /mnt/reiser4 reiser4 loop,noatime 0 0' >> /etc/fstab ;    mkdir reiser4 ;  ... ... mount /mnt/reiser4 ; ... ,    mount | grep mnt ;  - /mnt/reiser4.img on /mnt/reiser4 type reiser4 (rw,noatime)
      
      





必要なディレクトリを新しい居住地に移動します(ここでコーヒーを飲んだり、他のことをしたりできます)

 mv /usr/portage /mnt/reiser4 && ln -s /mnt/reiser4/portage /usr/portage mv /usr/src /mnt/reiser4 && ln -s /mnt/reiser4/src /usr/src
      
      





すべて、コントロールを作成して利益を計算できます。

 df -h ;  -      1.2G Filesystem Size Used Avail Use% Mounted on /dev/md0 7.4G 2.9G 4.2G 41% / devtmpfs 1004M 0 1004M 0% /dev tmpfs 201M 392K 201M 1% /run shm 1004M 0 1004M 0% /dev/shm cgroup_root 10M 0 10M 0% /sys/fs/cgroup /dev/loop1 2.0G 1.8G 191M 91% /mnt/reiser4 ;  - reiser4.img  1.8G ;              : mount | grep mnt ;  - /mnt/reiser4.img on /mnt/reiser4 type reiser4 (rw,noatime) ;   portage,  emerge -p world
      
      





合計:ソースは3.9Gを占有しましたが、パッケージング後、この値は元のサイズから1.8G、つまり46% (2回以上圧縮!)に減少しました。 もちろんささいなことですが、素晴らしいです。



私は約1年間この構成を問題なく使用しており、2Gが終了したことはなく、カーネルがパニックに陥ることはなく、emerge -DNuの世界でCPUは​​クラッシュしませんでした。 ただし、マイナスが1つあります。そのようなコンテナでスペースがなくなった場合、サイズを大きくするには、より大きなサイズの新しいファイルを作成し、古いファイルからすべてのコンテンツをそこに転送する必要があります。 残念ながら、resize_reiser4ユーティリティはまだ誰も作成していません。 もし誰かがこのファイルシステムのサイズを増やす別の方法を知っているなら、コメントでシェアしてください。 また、NTFSとBRTFSを除く、どのファイルシステムで透過的なデータ圧縮がサポートされていますか?



記事の冒頭にリンクが記載されている記事からの引用:

Reiser4のパフォーマンス結果はまちまちでしたが、このツリー外のファイルシステムとその不幸な歴史に専念する限られた人員を考えると、全体的なパフォーマンスはEXT4 / XFS / Btrfsと比較してまともでした。 ファイルシステムを新しいバージョンのLinuxカーネルに移植し、バグを修正する以外に、Reiser4での開発の大きな進展は数か月もありません。 ただし、現時点では、Reiser4をメインラインLinuxカーネルにすぐにマージする正式な計画はまだないようです。



All Articles