2010년 8월 7일 토요일

vmware 우분투(리눅스) 설치 팁(I) - 실제 파티션 사용하기

실제 물리 파티션에 guest OS를 설치하기

 


vmware에서 리눅스를 guest OS로 사용시 성능과 관련해 고려할 주요한 사항을 한번 적어 보겠습니다.
(vmware에 우분투를 설치하는 것은 인터넷에 잠시만 검색해도 다 나오는 내용이니 넘어가겠습니다.)

OS 사용에서 bottleneck 부분의 성능 향상이 결국은 시스템의 전체적인 성능향상으로 이어집니다.
아무리 빠른 CPU와 RAM 이 있어도 Storage의 bottleneck에 정체되면 결국 소용 없는 일이죠.


이 같은 이치는 vmware에서도 동일하게 적용됩니다.
Guest os를 Host OS의 가상화 파일설치할 경우 직접 물리 파티션설치할 때보다 상당한 오버헤드발생합니다.
그래서 호스트 OS가 설치된 HDD가 아닌 다른 여분HDD특정 파티션을 설정하고
 물리 파티션vmware Guest OS직접 설치합니다.
(전체 하드디스크가 아닙니다! 드라이브 내에 있는 하나의 파티션을 말합니다.)

 

문제는 리눅스 배포판의 경우 루트(/) 파티션을 하드의 물리 파티션에 직접 설치하려고 하면,
설치 중간에 grub이 물리 파티션의 파티션 테이블 정보를 직접 수정하려고 할 때,

vmware에서 안정성을 이유로 막아버려서 실제 HDD의 파티션 테이블은 변경되지 않습니다.(당연한거겠죠...)

그래서 정상적인 부팅 진행이 되질 않죠.

 

해결책은 100MB 정도의 작은 가상하드를 만들고 이 하드 전체를 /boot 파티션으로 마운트시키는 겁니다.
그러면 부팅할 때만 grub이 /boot 에서 initrd 와 커널이미지를 참조하고 램디크를 생성한 이후에
실제 물리 파티션루트파티션(/)으로 마운트 시키는 거죠.

 

이렇게 했을 때 좋은 점은 성능상의 잇점뿐만 아니라
호스트 OS의 파티션에 문제가 발생해도 복구가 가능하고,

해당 파티션에 대해 다른 리눅스 시스템에서도 직접 접근이 가능하다는 점이겠죠.

 

 

 

VMWARE에서 물리파티션 추가 보기


 

우분투 설치 중에 파티션 부분을 좀 살펴보죠.

 

 

파티션 설정에서 수동으로 파티션 조정을 선택하고 아래 체크 박스를 누릅니다.

 

 

 

그러면 이렇게 파티션 상황이 나오는데 위에 그림에서
"/dev/sda" 요 하드디스크가 실제 하드디스크 입니다.
/dev/sda2 가 바로 제가 /(루트파티션)으로 마운트할 파티션이죠.

 

 

 

이제 해당 목록을 더블클릭해서 파티션 편집창을 띄우세요.
포맷을 할거면 해당 포맷체크를 하고 기존의 파티션이면 그냥 쓰면 됩니다.
그리고 밑에 마운트 위치/선택해서 루트파티션으로 마운트 합니다.

 

 

 

위에 화면에 보시면 해당 파티션을 제가 사용하고 있었기때문에 실제 수정을 가하지는 않았지만
만약 실제로 변경을 했다면 아래 사진에서도 나오겠지만 타입 ext4 마운트 위치는  /로 나타납니다. ^^;;

 

 

 

이제 /dev/sdb 즉 /boot 로 마운트할 가상드라이브 녀석을 초기화 합니다.

 

 

 

드라이브 초기화를 하면 남은 공간 106MB 가 나오죠.

 

 

 

해당 항목을 다시 더블 클릭하면 위와 같이 파티션 설정을 합니다.
그림처럼 셋팅을 해줍니다.

 

 

 

같은 방법으로 SWAP 도 설정을 해주고 나면 위와 같이 정확하게 마운트할 위치와 해당 파티션이 나오지요.
이제 설치를 진행하면서 마지막 설치 준비 화면이 나올 때까지 진행을 합니다.

 

 

 

여기에서 중요한 셋팅을 해줘야 합니다.
아래부분에 있는 고급 버튼을 선택하고, 생성했던 가상하드디스크 /dev/sdb부트로더를 설치하도록 설정합니다.
실제 루트로 마운트되는 파티션인 /dev/sda 가 아닙니다.
이제 우분투 설치를 시작하고 모두 설치가 되고 나면, 리부팅을 합니다.

 

 

 

리부팅 후에 또 한가지 중요한 셋팅이 있습니다.
리부팅을 하면 vmware부팅 바이오스 화면에서 잽싸게 F2를 눌러줍니다.
그럼 위와 같은 boot 설정에 들어가서 우리가 생성한 가상하드디스크가장 첫 자리에 오도록 합니다.
위에서 VMware Virtual SCSI Hard Drive(0:1)가 바로 그 가상 하드디스크 입니다.
여기 설정을 하지 않으면 부트로더를 찾지 못합니다. 중요!!!
(아마도 vmware 에서 하드 추가한 순서대로 번호가 붙나 봅니다.)
이렇게 해야 /boot 의 grub이 실행이 되겠죠.

이제 변경사항을 저장하고 나오면 vmware 에서 실제 물리 파티션에서 돌아가는 리눅스를 볼 수 있습니다.

 

참고로 게스트 OS에 HDD를 추가하는 순서를 바꿔보면 마지막 바이오스 설정은 필요 없을 수도 있습니다.
예를 들어서 처음 HDD추가를 가상하드로 하게되면 /dev/sda 가  /boot가 되겠죠.
그리고 그 다음에 하드디스크의 실제 물리 파티션을 추가한다면 그 파티션이 있는 하드디스크가 /dev/sdb/ 가 될 겁니다.
그렇게 되면, 그냥 바이오스에서도 첫번재 부팅 순서가 /dev/sda 인 하드디스크가 될테니 말이죠...

 

 

사실 이렇게 장황하게 쓸 필요가 없었는데... ㅡ,.ㅡ;;;

 

 

다음 편에서는 vmware 에서 돌아가는 리눅스인 만큼 가상화와 관련된 매우 중요한 팁을 올려 보겠습니다.
많은 사람들이 헷갈려하는 paravirtualizationcpu 하드웨어 가상화 에 대해서 알아보죠.

댓글 없음: