/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

결국 나는 교환을 포기하지 않을 것입니다.재구성꼭 필요한 경우가 아니면(메모리가 부족한 경우) 이것을 사용하지 마십시오.

우분투에서 시스템 스왑 값을 변경하려면 /etc/sysctl.conf루트로 엽니다. 그런 다음 다음 줄을 변경하거나 파일에 추가하세요.

vm.swappiness = 10

관련 정보