/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.conf
rootとして開きます。次に、次の行を変更するか、ファイルに追加します。
vm.swappiness = 10