노무현 대통령 배너


2006. 10. 27. 18:19

[본문스크랩] 리눅스 신형 ramdisk 메커니즘 tmpfs

리눅스에서는 tmpfs라는 형태의 신형 램디스크를 메커니즘을 제공한다. (커널 2.4이후)

이것은일정크기의램 디스크를 잡고 필요할 경우에만 램에서 공간을 할당하여 디스크로 사용된다.

즉 사용되지 않는 공간은 일반 램으로서 얼마든지 프로세스가 사용될 수 있다.

즉 2G 시스템에서램디스크를 1.5G를 잡고 실제 디스크 사용은0,5G를 사용한다 가정하면

기존의 램디스크시스템의 사용가능 한메모리는2-1.5가 된어 0.5G만큼만 사용가능하다.

그러나새로운 방법론인 tmpfs는 2-(실제디스크사용량) = 1.5G만큼 사용해진다.

즉 디스크의 크기가 최대 크기만 지정되어 있으면 얼마든지 가변적이라는 이야기 이다.

앞으로 다른 /dev/ram을 사용하는 멍청한 램디스크는 쓸 필요가 없다.

효율적으로 메모리를 사용하는 tmpfs를 사용하는 것이 매우 효과적이라 볼 수 있다.

/etc/fstab파일을 보면

none /dev/shm tmpfs defaults 0 0

기본적으로 /dev/shm이라는마운트 위치가 메모리파일시스템인 tmpfs로 할당되었음을 알 수있다.

옵션은 defaults로 되어 있는데 만일 크기를 변경하고자 하는 경우 defaults대신 size=1500M

를 넣으면 된다.

defaults옵션은 크기는 현재 시스템 메모리의 0.5배만큼 잡는것을 기본으로한다.

따로 명령행에서 넣고자 할 경우

mount -t tmpfs tmpfs /mount_point -o size=1500M

를 넣으면 된다.

활용처

명월이는 ram이 2G인 개발 서버를 한대 가지고 있으며 이 서버에는 자료 저장 및 인터넷 자료를

다운로드 하는 역활을 수행하고 있다. (메모리만 크다.)

여기서 1.5G를 tmpfs를 이용한 램 디스크를 사용하고있다.

그리고 samba로 다른 windows와 공유되고 있으며 nfs로 다른 유닉스들과 공유되고 있다.

그리고 다른 모든 시스템들은 임시적인파일이나 작업들을 전부 여기서 하고 있다.

장점은 전체 시스템들의 hdd의 사용량을 급격하게 줄여 시스템의 안전성이 올라간다.

HDD대신 network를 사용하는데 1G네트이기 때문에 hdd보다 느리다고 말 할 수가 없다.

초당 50Mbyte (400Mbit)정도 전송한다.

특정 시스템같은 경우 hdd를 아에 사용하지 않도록 되어 있다. 기가빗 네트워크와 원격메모리

디스크로만 되어 있다.

만일 DB를 사용한다면매우 빠른 형태의 access를 보인다.

물론 update, insert에서도 발군의 속도를 자랑하게 되지만.. 시스템 다운과 백업, 동기화의 문제가

심각하게 고려될 필요는 있다.

Oracle같은 DB를 사용한다면 굳이 램디스크를 사용하는 것 보다는 오라클 자체의 캐쉬및 메모리

관리능력을 사용하는 것이 보다 효율적이라 생각된다.

만일 고속의 응답성능을 요구하는 DB가필요할경우 램디스크에 올라가는 DB나 혹은 메모리디비

보다는 가격이 비싸지만 인텔리전스 스토리지(EMC를 개인적 추천)를 사용을 권장한다.

물론 캐쉬용 메모리를 가득 꼽아서... 해당 SAN 전체의 속도와 시스템 신뢰성은 매우 크게

신장된다.

당연하겠지만 비싼 스토리지가 그 값어치를 분명히 한다.

from 명월..