Knoppix를 이용해서 백업/리스토어 솔류션, 더 나아가서 베어메탈 프로비저닝 솔류션을 만들 계획이다. 궁극적으로는 백업, 리스토어, 프로비저닝 모든 과정이 자동화 할 계획이다.
자동화를 하려하면 knoppix 라이브 시디로 PXE-BOOT가 돼야 한다. 대략 다음의 프로세스다.
PXE-BOOT를 한다.
Knoppix 라이브 시디 부팅된다. 이 라이브 시디는 백업, 프로비저닝, 리스토어를 위한 애플리케이션을 포함하고 있다.
ssh 혹은 웹으로 백업,복구 애플리케이션을 실행한다.
Knoppix PXE-Boot 환경 만들기
PXE-Boot 환경은 모두 설정 된 것으로 가정한다. 구성은 다음과 같다.
VirtualBox : 가상환경에서 테스트 한다. 베어메탈 노드는 virtualbox 게스트로 시뮬레이션 한다.
Knoppix 라이브 OS는 /srv/iso/KNOPPIX 에 위치한다. NFS를 이용해서 OS를 실행한다.
테스트에 사용할 라이브 ISO의 이름은 knoppix_yun.iso로, 리마스터링한 라이브 운영체제다.
TFTP 루트 디렉토리는 "/srv/tftp"다. knoppix 부트 파일들이 위치할 디렉토리는 "/srv/tftp/images/knoppix" 이다.
vmlinuz과 initrd 파일을 부트 디렉토리에 복사해야 한다. 대게의 리눅스 운영체제들이 initrd 파일의 이름은 initrd.img로 하는데, knoppix의 이름은 minirt.gz 이다.
이제 VM을 실행하면 PXE boot로 라이브 운영체제가 올라와야 한다. 하지만 modules/net에 있는 모듈들을 올릴 수 없다는 메시지와 함께 라이브 운영체제가 올라오지 않는다.
모듈정보는 minirt.gz 에 들어간다. 이 파일을 압축을 풀어보면, 실제 리눅스 커널 모듈들이 하나도 들어있지 않음을 알 수 있다. 당연히 실패한다. 제대로 라이브 시디가 올라오려면, 네트워크 모듈, scsi 모듈, nfs 모듈들이 반드시 필요하다.
해서 어쩔 수 없이 minirt 에 모듈 파일을 복사하는 노가드를 했다. (확장자가 .ko인)커널 모듈들은 실행중인 knoppix 운영체제에서 찾을 수 있으니 복사해서 사용하면 된다. 커널 모듈들은 /lib/modules 디렉토리에 위치한다.
minirt.gz의 압축을 푼다. minirt는 cpio로 묶여있다.
압축을 풀면 modules 디렉토리가 보일 것이다. 지금은 텅 비어 있을건데, 여기에 필요한 커널 모듈을 복사한다.
먼저 scsi 관련 커널 모듈이다. modules/scsi 디렉토리에 복사하면 된다. 별 쓸데없는 커널 모듈들도 있겠는데, 필수 커널모듈을 선택하기가 귀찮아서 그냥 되는데로 전부 복사했다.
Contents
PXE-Boot를 하려는 이유
Knoppix PXE-Boot 환경 만들기
NFS 서버 구성
Knoppix 라이브 운영체제 복사
TFTP boot 설정
minirt.gz 수정
히스토리
Recent Posts
Archive Posts
Tags