macOS, ZFS를 사용해서 RAM 디스크 만들기
Posted on 2018-10-18(목) in zfs
Change Logs
- 2016-11-20 15:33 : $DEVDISK 변수를 이용해서 RAM 디스크 만듬.
- 2016-11-15 20:35 : 최초 작성.
용도는 주로 $HOME/Library/Caches 디렉터리에서 브라우저용 캐시와 같은
속도를 높이고 싶은 파일들을 RAM Disk로 옮겨서 빨리 실행되도록 한다.
특히, 필자와 같이 HDD를 주 Disk로 사용하는 경우 RAM Disk가 보다 효과적일 것 같다.
관련 링크:
mkRamDisk.sh
RAM 디스크를 생성하고 Disk에 backup 된 내용을 복사한다.
% cat ~/bin/mkRamDisk.sh
#!/usr/bin/env sh
export PATH=$HOME/bin:/usr/local/bin:$PATH
# 1GB RAM 디스크 만들기, 1024*2048
#
# stdout 으로 "/dev/disk1" 와 같이 만들어진 disk 정보가 출력된다.
# 이 정보를 $DEVDISK 변수로 받아 저장하고 쓴다.
DEVDISK="$(hdid -nomount ram://2097152 2>&1)"
# RamDisk => /Volumes/RamDisk 로 mount 됨.
sudo zpool create RamDisk $DEVDISK
# Permission
sudo chown -R $(whoami) /Volumes/RamDisk
# RamDisk 원복, 백업데이터 복원
cp -rf /Some/Path/RamDisk/ /Volumes/RamDisk/
※ “/Some/Path” 는 환경에 맞게 수정 필요.
ramsync.sh
RAM 디스크를 /Some/Path/RamDisk 로 backup 한다.
#!/usr/bin/env sh
rsync -av --delete /Volumes/RamDisk/ /Some/Path/RamDisk
※ “/Some/Path” 는 환경에 맞게 수정 필요.
launchd, mkRamDisk.plist
부팅 후 RAM 디스크를 만들고 Disk에 저장된 이전 데이터를 원복한다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.riin.mkRamDisk</string>
<key>Program</key>
<string>/Users/[User ID]/bin/mkRamDisk.sh</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
※ “[User ID]”는 본인 계정ID.
Desktop 의 RamDisk
= 끝 =