/ varをサーキットブレーカプールfsに移動します。

/ varをサーキットブレーカプールfsに移動します。

/var他のディレクトリや別のパーティションまたはデバイスに移動することにはいくつかの問題があるようです。私がしたいのは、それをヒューズフルfsに移動することです。

私の目標:LinuxサーバーをUSBにインストールし、ヒューズを使用してインストールされたJBODを管理することです。しかし、/var多くの人がUSBに書きすぎて寿命が短くなることを警告しているので、ストレージプールに移動したいと思います。/var接続されたプールに移動すると、/storageスティックの寿命が大幅に延びます。

問題は、ポインタにバインドマウントを追加すると、再起動/etc/fstab時にOSがクラッシュすることです。変更を取り消すには、回復モードに入る必要があります。 /storage/var/var

これは/etc/fstab私が回復する前のことでした。

# SnapRAID Dsks
/dev/disk/by-id/ata-abc-part1  /mnt/data/disk1 ext4 defaults 0 2
/dev/disk/by-id/ata-def-part1  /mnt/data/disk2 ext4 defaults 0 2
/dev/disk/by-id/ata-ghi-part1  /mnt/data/disk3 ext4 defaults 0 2
/dev/disk/by-id/ata-jkl-part1  /mnt/data/disk4 ext4 defaults 0 2

# Parity Disks
/dev/disk/by-id/ata-lmn-part1  /mnt/data/disk5 ext4 defaults 0 2


# MergerFS 
/mnt/data/* /storage fuse.mergerfs category.create=eplfs,defaults,allow_other,minfreespace=20G,fsname=mergerfsPool 0 00

# bind mount
/storage/var  /var   ext4    defaults    0 0

これは不可能ですか、それともディスクにバインドしてマウントする必要がありますか?

答え1

より良い解決策は、/varをプールに移動するのではなく、/varをtmpfsに移動することです。読んだ後これChris Newlandで/ varをtmpfsに移動し、それをnoatimeルートインストールドライブに追加します。

# /etc/fstab: static file system information. 
# <file system> <mount point>   <type>  <options>                   <dump>  <pass> 
proc            /proc           proc    defaults                      0       0 
/dev/sda1       /               ext2    noatime,errors=remount-ro     0       1 
tmpfs           /tmp            tmpfs   defaults,noatime              0       0 
tmpfs           /var/log        tmpfs   defaults,noatime              0       0 
tmpfs           /var/tmp        tmpfs   defaults,noatime              0       0 
tmpfs           /var/run        tmpfs   defaults,noatime              0       0 
tmpfs           /var/spool      tmpfs   defaults,noatime              0       0 
tmpfs           /var/lock       tmpfs   defaults,noatime              0       0 
tmpfs           /var/cache      tmpfs   defaults,noatime              0       0

一部のプログラムでは、書き込む一時的な場所がないと文句を言ったので(Chris Newlandのページでも参照)、追加の設定も進めました。

これにより、tmpfsファイルシステムにインストールすると、apache2、postgresql、およびdebconfがすべて正しく/var/log実行されます/var/cache

# Put these commands into /etc/init.d/make-tmpfs-dirs 

#!/bin/sh 
mkdir /var/cache/debconf 

mkdir /var/log/apache2 
chown root:adm /var/log/apache2 
chmod 750 /var/log/apache2 

mkdir /var/log/postgresql 
chown root:postgres /var/log/postgresql 
chmod 774 /var/log/postgresql 
exit 0

今これを実行可能にします。

chmod u+x /etc/init.d/make-tmpfs-dirs

...正しいrc.dランレベルディレクトリのmake-tmpfs-dirsスクリプトへのリンク

cd /etc/rc2.d 
ln -s ../init.d/make-tmpfs-dirs S02make-tmpfs-dirs

結局私は交換をあきらめません。再構成必ず必要な場合以外(メモリが足りない場合)、これを使用しないでください。

Ubuntuでシステムスワップ値を変更するには、/etc/sysctl.confrootとして開きます。次に、次の行を変更するか、ファイルに追加します。

vm.swappiness = 10

関連情報