/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