将 /var 移动到熔断池 fs

将 /var 移动到熔断池 fs

/var关于移动到另一个目录或另一个分区或设备似乎确实存在几个问题。我想做的是将其移至熔丝池 fs。

我的目标:将 Linux 服务器安装到 USB 上,并使用保险丝来管理已安装的 JBOD。但我想转向/var存储池,因为很多人警告不要对 USB 进行过多写入,从而缩短其寿命。如果我搬到/var附属的/storage游泳池,那么棍子的寿命就会大大延长。

问题是当我将绑定安装添加到我的指向/etc/fstab时,操作系统在重新启动时挂起。我必须进入恢复模式才能撤销我的更改。 /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 移动到 tmpfs,而不是将 /var 移动到池中。看完之后来自 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 的页面),我还跟进了其他配置...

这可以确保 apache2、postgresql 和 debconf 在安装在 tmpfs 文件系统上时都能正确/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

相关内容