24GB RAM과 8GB 스왑 파일이 있습니다. Arch Linux에서 /dev/shm
이 용도 가 있다는 것을 알고 있지만 작업을 위해 민감한 파일을 임시로 저장할 수 있는 장소를 원하기 때문에 마운트 지점을 tmpfs
만들고 싶습니다 . ramfs
이러한 파일이 어떤 모양이나 형태로든 디스크에 닿지 않는 것이 매우 중요합니다.
공간이 충분하지 않으면 tmpfs가 내가 원하지 않는 스왑 파일을 사용할 것이라는 것을 알고 있기 때문에 tmpfs 대신 ramfs를 사용하고 싶습니다.
제 질문은 최소 12G의 저장 공간이 있는 ramfs 마운트 지점을 어떻게 생성합니까?입니다.
나는 그것을 시도했지만 mount none ~/RAM -t ramfs -o size=12G
성공하지 못했습니다. 마운트 지점을 생성하지만 여기에 파일을 넣으려고 하면 Need more than 3.1G space
파일을 저장하라는 메시지가 표시됩니다(5GB ISO를 복사해 보았습니다).
답변1
Linux에서 RAM 기반 파일 시스템의 두 가지 주요 유형은 tmpfs와 ramfs입니다. ramfs는 대부분의 경우 tmpfs로 대체된 오래된 파일 시스템 유형입니다. tmpfs는 ramfs의 많은 단점을 극복한 최신 RAM 파일 시스템입니다.
ramfs
관련이 없는 것 같아요오늘, 현재 커널에는 적용되지 않습니다.
최소 12G 저장 공간을 갖춘 ramfs 마운트 지점을 만드는 방법은 무엇입니까?
mkdir /ramdisk
# ramdisk is slang here, reads better than tmpfsdisk.
# my server has 512gb ram, so
mount -t tmpfs -o size=500G tmpfs /ramdisk
# in your case with 24gb ram I would do
mkdir /whatever
mount -t tmpfs -o size=22G tmpfs /whatever
폴더가 생기기 때문에 크기는 동적이며 폴더 /whatever
에 물건을 던질 때까지 메모리를 차지하지 않지만 폴더에 size
도달하면 실패합니다. 더 많은 물리적 메모리를 만들 수 있고 size
, 크기도 늘릴 수 있습니다(실제로는가장 큰 크기) 숫자에 관계없이 실제 RAM보다 크면 모든 메모리가 다 사용되었을 때 OS가 잠길 위험이 있습니다.
/whatever_ramdisk
비아 df -h
디스플레이를 시청하십시오 Filesystem Size Used Avail Use% Mounted on
.
뭔가 만지고 싶지 않다면디스크, 디스크에서 마운트된 스왑 파티션을 사용하지 마십시오. 처음부터 디스크에 스왑 파티션을 생성하지 마십시오. 또는 귀하의 경우 8GB 디스크를 분실하고 스왑 파티션을 마운트하지 않았거나 삭제하거나 /etc/fstab
. 파티션을 로 다시 포맷 ext4
하거나 .xfs
/data
커널 스왑 페이지[항상] 디스크의 스왑 파티션에 데이터를 쓰는 것을 의미하지는 않습니다.
지난 10년 동안 디스크에서 스왑 파티션을 사용하지 않았습니다... 스왑 전쟁을 다시 시작할 준비를 하십시오... 768GB RAM이 있는 서버가 있고 1개의 300GB 디스크를 사용하는 경우 스왑 사용 방법을 알려주십시오. 디스크에서 파티션에는 값이 없습니다. 더 좋은 점은 PXE 부팅 및 rhel 8의 디스크 없는 클러스터 노드가 디스크가 없는 노드(서버)의 RAM에서 완전히 실행된다는 것입니다. 보안 위험이 있다고 생각되면 tmpfs
나머지 Linux와 마찬가지로 파일 [권한] 기반입니다. - /ramdisk
이것이 당신이 말하는 문제라면 , /etc
마운트 /usr
된 다른 모든 폴더와 24GB 메모리의 다른 모든 비트입니다.
답변2
디스크에 닿지 않는 데이터 측면에서 ramfs는 tmpfs보다 낫지도 나쁘지도 않습니다.
비록예ramfs는 스왑을 지원하지 않지만 민감한 데이터를 처리하는 애플리케이션 페이지가 스왑에 기록되는 것과 동일한 방식으로 tmpfs 파일이 스왑에 기록됩니다.
따라서 tmpfs 대신 ramfs를 사용하는 경우의 전반적인 보안 이점은 부정적이지는 않더라도 0입니다! 일반적으로 애플리케이션이 다수의 임시 파일을 생성하도록 하는 것은 상대적으로 쉽습니다. ramfs를 사용하면 커널이 임시 파일에 기록되지 않은 기밀 데이터를 포함하여 프로세스 공간에서 페이지 교체를 시작하도록 강제할 수 있습니다. 갑자기 안전한 작업을 시도하면 시스템이 더욱 취약해집니다.
왜냐하면: tmpfs를 사용하고암호화됨교체하는 경우 tmpfs 콘텐츠 교체나 응용 프로그램 데이터 교체로 인해 보안 문제가 발생하지 않습니다.
또한: 저는 귀하의 시스템을 신뢰할 수 있지만 스왑 저장 장치는 그렇지 않은 위협 모델에 관심이 있습니다. 스토리지를 신뢰할 수 없다면 적어도 신중한 부팅이 있기를 바랍니다. 그러면 부팅 중인 OS도 신뢰할 수 없기 때문에 기밀 데이터를 다시 판매하려는 사람에게 보낼 수는 없습니다. 소액의 수수료로. 만약 너라면가지다부팅을 측정하면 스왑 장치를 신뢰할 수 없습니다(흥미로운 조합! 코드가 포함된 파일 시스템은 런타임에 공격자가 변경할 수 없지만 스왑은 그렇지 않습니까?). 그러면 공격자가 분명히 내용을 수정하기 때문에 여전히 실패합니다. 코드, 스크립트, 구성 파일을 포함한 교환이 프로세스를 빠르게 인계받을 수 있습니다.
따라서 내 관점에서는 암호화된 교환은 이러한 위협 모델에서 안전한 유일한 교환이며 tmpfs를 사용할 수도 있습니다. 따라서 교환을 암호화하고 tmpfs를 사용하여 행복하세요 :)