내장바구니 | 주문배송조회 | 내적립금
6만원 이상 무료배송
주문하시는
총상품금액의 합계가
6만원 이상일 경우
택배비가 무료입니다.
리눅스에서 램디스크 만들기
작성자: 방장    작성일: 2009-03-06 12:52   조회: 17619   댓글: 0
리눅스 커널 2.4 이후 버젼의 리눅스를 사용하고 있으면 이미 램디스크 지원이 내장되어 있다. 확인하고 싶으면 다음의 명령어를 사용하면 된다.
$ dmesg | grep RAMDISK
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
CentOS나 RHEL인 경우 위와 같은 출력이 나오고 다른 리눅스 배포판인 경우도 유사한 결과가 나온다. 아래 명령어로 만들어 져 있는 램 디스크를 볼 수 있다.
$ ls -l /dev/ram*
lrwxrwxrwx 1 root root 4 Apr 24 12:05 /dev/ram -> ram1
brw-rw---- 1 root disk 1, 0 Apr 24 12:05 /dev/ram0
brw-rw---- 1 root disk 1, 1 Apr 24 12:05 /dev/ram1
brw-rw---- 1 root disk 1, 10 Apr 24 12:05 /dev/ram10
brw-rw---- 1 root disk 1, 11 Apr 24 12:05 /dev/ram11
brw-rw---- 1 root disk 1, 12 Apr 24 12:05 /dev/ram12
brw-rw---- 1 root disk 1, 13 Apr 24 12:05 /dev/ram13
brw-rw---- 1 root disk 1, 14 Apr 24 12:05 /dev/ram14
brw-rw---- 1 root disk 1, 15 Apr 24 12:05 /dev/ram15
brw-rw---- 1 root disk 1, 2 Apr 24 12:05 /dev/ram2
brw-rw---- 1 root disk 1, 3 Apr 24 12:05 /dev/ram3
brw-rw---- 1 root disk 1, 4 Apr 24 12:05 /dev/ram4
brw-rw---- 1 root disk 1, 5 Apr 24 12:05 /dev/ram5
brw-rw---- 1 root disk 1, 6 Apr 24 12:05 /dev/ram6
brw-rw---- 1 root disk 1, 7 Apr 24 12:05 /dev/ram7
brw-rw---- 1 root disk 1, 8 Apr 24 12:05 /dev/ram8
brw-rw---- 1 root disk 1, 9 Apr 24 12:05 /dev/ram9
lrwxrwxrwx 1 root root 4 Apr 24 12:05 /dev/ramdisk -> ram0
결과에 나온 모든 램 디스크 크기는 동일하다. 위의 예제에서는 모두 16MB이다. 이걸 128MB까지 사용할 수 있게 변경해 보겠다. 단 여기서는 사용할 수 있게 해 주는거지 실제로 128B를 할당해주는게 아니다. 후에 드라이브중 하나를 포맷해 줌으로서 실제 영역을 할당해주게 된다. 램디스크 용량은 1024의 배수로 지정해 줘야 하기 때문에 128MB인 경우 131072K가 된다.
에디터를 사용해 /etc/grub.conf 파일을 열어보면 아래와 같은 라인을 찾을 수 있을 것이다.
kernel /vmlinuz-2.6.9-42.0.10.EL ro root=/dev/VolGroup00/LogVol00
이 라인의 뒤쪽 부분에 ramdisk_size=131072를 추가해주면 된다.
kernel /vmlinuz-2.6.9-42.0.10.EL ro root=/dev/VolGroup00/LogVol00 ramdisk_size=131072
변경된 파일을 저장하고 에디터를 종료한다. 이 시점에서 램디스크 용량을 변경했지만 변경된 내용을 적용하려면 시스템을 리부트 시켜줘야 한다. 시스템이 리부트되고 나서 나머지 설정을 해 주면 된다.
$ mke2fs -m 0 /dev/ram0
위의 명령을 사용해서 ram0 램디스크를 사용할 수 있게 포맷 해 준다. 이 과정에서 커널이 메모리에 램디스크를 위한 용량을 할당해주게 된다. 포맷이 끝나면 램디스크를 마운트 시켜주면 된다.
$ mkdir /mnt/rd
$ mount /dev/ram0 /mnt/rd
이제 램디스크를 사용할 수 있다. 이렇게 만들어 진 램디스크를 특정 사용자가 사용할 수 있게 해 주려면 chown 명령을 사용해서 오너를 변경해주면 된다.
$ chown testuser.testuser /mnt/rd
mount명령을 사용하면 램디스크가 /mnt/rd에 마운트 된 걸 볼 수 있다.
$ mount
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda2 on /home type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/ram0 on /mnt/rd type ext2 (rw)
주의할것은 램디스크이기 때문에 여기에 저장된 내용은 시스템을 리부팅하면 모두 지워지게 된다는 것이다. 단 램디스크를 언마운트 했다가 다시 마운트 하는 경우에는 램디스크 내용이 그대로 살아있다.
시스템이 부팅할 때 마다 자동으로 램디스크를 만들도록 설정하고 싶으면 아래의 내용을 /etc/rc.local 파일에 추가해주면 된다.
mke2fs -m 0 /dev/ram0
mount /dev/ram0 /mnt/rd
chown testuser.testuser /mnt/rd

 
 
 
 * 관련 댓글 한말씀 부탁합니다.
  작성자:    비밀번호:   (비밀번호는 숫자 4자리이며 본인댓글 삭제시 필요합니다.)
이용약관 | 개인정보취급방침