RAM 디스크 + 디스크 대신 RAM에 마운트할 수 있습니까?

RAM 디스크 + 디스크 대신 RAM에 마운트할 수 있습니까?

데이터를 저장하기 위해 디스크를 사용하는 Linux 시스템이 있고 /dev/sdb마운트 지점을 다음에서 구성했습니다./etc/fstab

디스크는 100G이고 마운트 지점은 폴더입니다./data

256G이제 우리는 디스크 대신 메모리(우리가 가지고 있는)를 사용하고 싶습니다 .

256G그렇다면 디스크를 마운트하는 대신 메모리 RAM을 사용할 수 있습니까 ?

그렇다면 폴더를 /dataRAM 메모리에 마운트하는 방법

RAM 디스크란 무엇입니까?

기본적으로 RAM 기반 파일 시스템은 마치 디스크의 파티션인 것처럼 메모리에 저장소를 생성하는 시스템입니다. 이를 RAM 디스크라고 합니다. RAM은 휘발성이므로 시스템을 다시 시작하거나 충돌이 발생한 후에 데이터가 손실됩니다. RAM 드라이브의 가장 중요한 이점은 SSD보다 10배 이상 빠른 속도입니다. 이러한 매우 빠른 스토리지 유형은 속도와 빠른 캐시 액세스가 필요한 애플리케이션에 이상적입니다. 반복: 이 유형의 파일에 기록된 데이터

답변1

당신이 원하는 것과 비슷합니다 /dev/sdb1.

먼저 마운트를 해제합니다 /dev/sdb1(다른 곳에 마운트할 수 있습니다).

umount /dev/sdb1

다른 디렉터리를 만들고 거기에 디스크를 마운트할 수 있습니다.

mkdir /physical-data
mount /dev/sdb1 /physical-data ...(the other options you already have).

에서 /etc/fstab"/data"의 이름을 "/physical-data"로 바꿉니다. 이제 하드 디스크가 이전과 같이 마운트되었지만 /data자유롭게 사용할 수 있습니다.

따라서 /data디렉토리를 마운트 지점으로 사용할 수 있으면 RAM tmpfs 인스턴스를 디렉토리에 연결하고 "ramdisk1"(또는 다른 모든 것)과 같이 이를 호출하는 램디스크를 생성할 수 있습니다.

mount -t tmpfs -o size=100G ramdisk1 /data

부팅 시 자동으로 다시 마운트되도록 fstab을 설정할 수 있습니다.

ramdisk1  /data tmpfs nodev,nosuid,noexec,nodiratime,size=100G  0  0

예를 들어 부팅 시 실행할 스크립트를 설정할 수 있습니다.

rsync -a /physical-data/ /data/

/dev/sdb1이 에 마운트되어 /physical-data있고 수정된 RAM 디스크의 내용을 다시 복사하는 종료 전에 실행될 스크립트가 있다고 가정합니다./dev/sdb1

rsync -a --delete /data/ /physical-data/

"--delete" 옵션을 사용하면 RAM 디스크에서 파일을 삭제하면 나중에 하드 디스크에서도 삭제됩니다.

이렇게 하면 전원이 꺼졌을 때 데이터가 하드 디스크에 상주하고 전원을 켜면 훨씬 빠른 RAM 디스크에 다시 나타납니다.

말할 필요도없이,먼저 실험하고 주의하세요. 문제가 발생하면 하드 드라이브의 모든 데이터가 쉽게 손실될 수 있습니다.

관련 정보