![]() 글쓴이: Mark Nielsen 글쓴이 소개: 글쓴이(홈페이지)는 The Computer Underground, Inc.에서 파일담당자로 800linux.com에서 전문컨설턴트로 일하고 있습니다. 여가시간에는 리눅스가젯이나 linux.com에 실릴 글을 적습니다. 이 문서는 Nedit와 ispell로 작성되었습니다. Content: |
요약:
이 글은 램을 가상 하드디스크처럼 사용하는 방법에 대해 설명하고 있습니다. 만약 글 내용에 변경된 점이 있다면 아래 주소를 통해 보실 수 있습니다.: http://www.tcu-inc.com/mark/articles/Ramdisk.html
"내가아는한 리눅스는 프로그램에 의해 사용되지 않는 모든 메모리를 통일된 버퍼캐쉬로 사용한다. 그렇기 때문에 만약 충분한 램을 가지고 있다면 매우 자주 사용되는 파일들은 램에 캐쉬되어 사용되어질 것이다. 그럼 왜 램디스크를 사용해야하는가? 정말 속도향상이 이루어질 수 있는가?"
먼저 RamDisk가 무엇인지 알아야겠지요? RamDisk란 메모리의 일부분을 여러분이 사용하고자 하는 파티션으로 설정하는 것입니다. 다른말로 하자면 여러분의 메모리를 하드디스크드라이브인것처럼 해서 메모리에 파일을 저장할 수 있다는 것을 의미합니다. 왜 RamDisk를 사용하느냐구요? 음...여러분이 어떤 파일을 계속해서 사용하고 싶을 경우 그 파일을 메모리상에 두고 사용하는 것이 컴퓨터의 성능을 향상시킵니다. 하드디스크보다 메모리의 속도가 빠르기 때문이죠. 많은 자료를 처리하는 웹서버와 같은 경우 이러한 방법으로 속도를 향상시킵니다. 또는 여러분이 제정신이 아니라서 1기가의 메모리와 500메가의 하드디스크가 장착된 PII 500Mhz시스템을 가지고 있다면 여러분은 이 방법을 사용해서 하드드라이브의 공간을 절약할 수도 있습니다. 만약 이렇다면 디스크드라이브가 없는 컴퓨터를 원하는 것이나 별반 차이가 없기 때문에 완전히 제정신이 아니라고 할 수는 없겠지요.
아래 자료들을 읽어보면 많은 도움이 될 것입니다.
mkdir -p /tmp/ramdisk0 mkfs -t ext2 /dev/ram0 mount /dev/ram0 /tmp/ramdisk0이 세줄의 명령은 램디스크를 다룰 디렉토리를 생성하고 램디스크를 포맷한 다음(기본적으로 4메가로) 그리고 램 디스크를 "/tmp/ramdisk0"디렉토리로 마운트시키는 것입니다. 이제 여러분은 마치 한 파티션에 있는 디렉토리처럼 사용하시면 됩니다! 다른 디렉토리나 파티션처럼 동작시켜보시기 바랍니다.
감잡았습니까? 여러분의 컴퓨터가 재부팅되면 모든 것이 사라집니다. 따라서 중요한 데이터라든지 다른곳에 복사되어 있지 않은 데이터를 램디스크에 두지 마시기 바랍니다. 만약 디렉토리에 변화가 생겼는데 그 변화를 저장하고 싶다면 반드시 백업을 해 두시기 바랍니다.
힘든 방법부터 살펴보죠. 먼저 아래 파일을 살펴보세요:
/usr/src/linux/drivers/block/rd.c
then edit it, change this line
int rd_size = 4096; /* 램디스크의 크기 */
이 숫자에 여러분이 원하는 램디스크의 크기를 킬로바이트단위로 적어주세요.
그 다음 커널을 다시 컴파일하고, 커널을 설치한 다음 이 커널을 설치하고 다시 컴퓨터를 켜주시면 됩니다.
음 쉬운 방법은 lilo.conf파일에 다음 줄을 추가하는 것입니다.:
ramdisk=10000
이렇게 추가한 다음 "lilo"명령을 실행시키고 다시 컴퓨터를 껐다켜면
기본적으로 10메가의 램디스크가 만들어집니다. 아래는 제가 쓰고 있는 /etc/lilo.conf파일의
예입니다.
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 image=/boot/vmlinuz-2.2.5-15 label=linux root=/dev/hda2 read-only ramdisk=10000실제로 적용해본 결과 저는 약 9메가 조금 넘는 램디스크를 이용할 수 있었습니다.
mv /home/httpd/ /home/httpd_real mkdir /home/httpd mkdir /home/httpd/cgi-bin mkdir /home/httpd/html mkdir /home/httpd/icons그 다음 /etc/rc.d/rc.local파일에 아래 명령들을 추가합니다.
### 램디스크의 파티션을 만듭니다. /sbin/mkfs -t ext2 /dev/ram0 /sbin/mkfs -t ext2 /dev/ram1 /sbin/mkfs -t ext2 /dev/ram2 ### 적절한 디렉토리로 램디스크를 마운트 시킵니다. mount /dev/ram0 /home/httpd/cgi-bin mount /dev/ram1 /home/httpd/icons mount /dev/ram2 /home/httpd/html ### 실제 디렉토리에 있는 내용을 램디스크로 복사합니다. tar -C /home/httpd_real -c . | tar -C /home/httpd -x #### 웹서버를 다시 시작합니다. /etc/rc.d/init.d/httpd restartrc.local을 다시 실행시키면 바로 작동하겠지만 저는 컴퓨터를 새로 껐다켰습니다.:
/etc/rc.d/rc.local
Webpages maintained by the LinuxFocus Editor team
© Mark Nielsen LinuxFocus 1999 |
1999-10-26, generated by lfparser version 0.8