Unix/Solaris10

VMWare에서 돌던 솔라리스를 VirtualBox로 옮기다

ForceCore 2008. 11. 9. 13:23
VirtualBox에서는 vmdk를 마운트 가능하다.
우선은 서버를 켜는 것 까지는 쉬운데 부팅시키기는 어렵다 ㄱ-
안정적으로 옮기기 위해서는 우선...

1. VMWare Converter로 이미 있는 머신을 클론해서 새 머신으로 만든다. linked clone말고 제대로 된 clone으로 모든 데이터를 깨끗하게, 다른 디스크 파일로 옮길 것.
2. VirtualBox로 그 디스크들을 꽂는다. 그리고 솔라리스 부팅CD로 싱글모드로 들어가자. VMWare로 부팅한다면 fail safemode로 virtual box없이 갈 수 있지만, VirtualBox로 부팅하기 때문에 그럴 수 없음.
http://blogs.sun.com/LetTheSunShineIn/entry/vmware_to_virtualbox_migration_solaris
3. http://blogs.sun.com/tdh/entry/grub_error_17_cannot_mount 이 글 따라함....
1. 제대로 된 상태라면 fail safe모드로 들어가면 /a에 솔라리스 파티션이 마운트 된다. 아... ide방식으로 vmdk를 mount하면 잘 되고, sata로 하면 안 된다. 그 외 다른 이상이 있어도 물론 안 되겠죠;;
2. /a/dev, /a/devices, /a/etc/path_to_inst 가 있다. mv명령어로 적당히 백업해두고,
devfsadm -r /a 로 device tree를 다시 짜라고 시킨다.
필자의 경우, /a/dev는 생성되는데 /a/devices는 생성되지 않아서 옛날 /a/devices를 사용해야 했다.
3. TERM=at386; export TERM 으로 vi가 좀 제대로 되게 만든다. -_-
4. c0d0s0이런게 /a에 마운트 되었을텐데, ls -l /dev/dsk/c0d0s0 를 해서 그게 무엇인지 알아내자. /devices/pci@0,0/pci-ide@1,1/ide@0/cmdk@0,0:a 이런 것일거임. 이것을 잘 적어놓는다. 한 글자도 틀리면 안 됨.
5. /a/boot/solaris/bootenv.rc를 열어보자. 디스크에 대한 정보가 있는데, 윗단계에서 적은 정보로 바꿔넣자.
6. bootadm update-archive -v -R /a 로 boot archive를 업데이트
7. /etc/vfstab 을 올바른 정보로 교체.
8. touch /a/reconfigure 로 재설정 하도록 만든다.
9. sync; umount /a ; reboot
흐음...

부팅 뒤 sys-unconfig도 돌려서 ip같은 정보를 다시 설정.

문제는, 해당 서버에 접속이 잘만 되는데, 부팅시
NIC에 plumb할 수 없다는 내용의 에러가 뜨기도 하는데,
그런 경우 그냥 깔끔하게,
/etc/init.d/에서 plumb 할 수 없다고 뜨는,
해당사항 없는 hostname.e1000g0 이런 것을 이동으로 없애든지 하면 해결 되었다.
참고로 진짜 interface가 뭔지 잘 알고 그 일을 해야한다.
필자의 경우 hostname.e1000g1이 진짜.