DomU partitioning
원글: http://linuxsysadminblog.com/2012/11/xen-add-extra-partitions-to-guest-os/
XEN Guest VM의 partition을 추가할 필요가 생겼다.
VM의 커널에서 I/O trace point를 잡고 ftrace로 출력하는 것을 trace.txt로 저장하는데,
ftrace 파일 저장 자체의 trace가 다른 I/O trace와 섞이기 때문에 문제가 되었다.
fio를 이용해서 실험하는 중에 나오는 I/O trace와 ftrace를 저장하는 과정에서 나오는 I/O trace가 섞여버린다면, 실험은 엄밀하게 보았을 때 잘못되는 것이다.
그리고 fio 실험을 할 때 100GB를 write하는데, VM에 할당된 용량은 8G 뿐이므로 fio 실험시 디스크 용량을 꽉 채우고도 몇 바퀴나 overwrite하게 된다. 그래서 trace 파일을 동시에 저장할 용량은 부족하게 된다.
하지만 ftrace 파일 저장을 위한 별도의 파티션을 추가한다면, 이 모든 문제가 해결된다.
파티션을 나누는 방법은 원글에서 참고하여 정리한다.
1) 새로운 논리 파티션을 생성하고 포맷한다. 보통 자신의 XEN VM을 /dev/vg0에 설치했을 것이다. 아래 예제는 ftrace_storage라는 이름으로 2GB를 할당하는 것이다.
lvcreate -L 2G -n ftrace_storage vg0
mkfs -t ext3 -v /dev/vg0/ftrace_storage
2) 자신의 guest VM xen config를 수정해서 guest OS에 새로운 파티션을 추가한다. "xvda3"와 같이 새로운 device name을 할당한다. 그리고 VM을 halt했다가 새로 create하여 새로운 파티션을 인식시킨다. 단순히 VM에서 reboot하는 것으로는 새로운 xen config를 읽을 수 없다.
disk = [
'phy:/dev/vg0/ftrace_storage,xvda3,w',
3) VM을 새로 생성하면, VM에 로그인하고 새 파티션을 mount한다. 새 파티션은 아까 추가한 것처럼 "/dev/xvda3"에 있다.
mount /dev/xvda3 /ftrace_space
/dev/xvda3 /ftrace_space ext3 noatime,nodiratime,errors=remount-ro 0 1
fstab을 보면, 기존에 있던 xvda2의 설정이 있다. 이것을 그대로 참고하여 xvda3를 추가하면 된다. 그 중 noatime, nodiratime과 같은 설정도 그대로 가져왔는데, 아직 무슨 뜻인지는 모른다. fstab에 대해 자세히 공부하면 알 수 있을 것 같다.