ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 가상화 이미지 빌더 도구인 Oz
    Cloud 2015. 3. 24. 09:00
    반응형
    Oz는 OS 설치, OS 커스터마이징, ICICLE(메니페스트 생성) 등을 지원한다.

    OS별 지원 현황
    Operating system Install Customize ICICLE
    RHEL/CentOS/ScientificLinux/OEL 7.x yes yes yes
    RHEL/CentOS/ScientificLinux/OEL 6.x yes yes yes
    RHEL/CentOS/ScientificLinux/OEL 5.x yes yes yes
    Fedora 7 - 21 yes yes yes
    OpenSUSE 10.3 - 13.x yes yes yes
    RHEL/CentOS/ScientificLinux 4.x yes no no
    RHEL/CentOS 3.x yes no no
    Debian 5, 6, 7 yes no no
    Fedora Core 1 - 6 yes no no
    Red Hat Linux (RHL) 7 - 9 yes no no
    RHEL 2.1 U1 - U6 yes no no
    Ubuntu 6.06 - 14.10 yes yes yes
    Mandrake 8.2, 9.1, 9.2, 10.0, 10.1 yes no no
    Mandriva 2005, 2006.0, 2007.0, 2008.0 yes no no
    Mageia 4 yes no no
    FreeBSD 10 yes no no
    RHEL 7.x yes yes yes
    Windows 2000, XP, 2003, 7, 2008, 8 yes no no

    Oz에서 진행되는 단계
    OS설치
    OS마다 다르긴 하지만 다음 단계를 따름.
    1. 설치 미디어 다운로드
    2. 자동화된 설치 파일 생성
    3. 설치 파일을 포함한 수정된 설치 미디어 생성
    4. KVM(또는 Qemu) 게스트에서 네이티브 인스톨러 실행
    5. 설치끝나고 난후 게스트 종료

    OS 커스터마이징
    추가 패키지들을 설치하는 단계.

    OS설치하고 분리해서 진행하는 이유.
    - 초기 OS 설치동안에 실패율을 감소시킴.
    - yum, apt-get 같은 네이티브 도구로 설치 진행
    - 처음에 Oz로 설치되지 않은 OS의 커스터마이즈가 가능함.

    Oz가 커스터마이즈하는 과정
    1. OS 디스크 이미지를 원격접속 가능하게 수정
    2. KVM 게스트가 관리하는 OS 실행
    3. 원격 명령어(ssh등)로 패키지와 파일 설치.
    4. OS 종료
    5. 1번에서 작업한 원격접속 기능 되돌림.

    OS에 관한 메타데이터(ICICLE) 생성
    패키지 메니페스트 같은 메타데이터를 생성.
    메타데이터 형식은 XML이고 ICICLE가 호출함.
    메타데이터 생성은 OS설치하고는 분리되서 진행됨. OS 커스터마이징때랑 같은 이유.

    메타데이터 생성하는 과정
    1. OS 디스크 이미지를 원격접속 가능하게 수정
    2. KVM 게스트가 관리하는 OS 실행
    3. 설치된 패키지를 찾기위해 원격 명령어 수행
    4. OS 종료
    5. 1번에서 작업한 원격접속 기능 되돌림.
    6. 패키지가 나열된 ICICLE 문서 출력


    Oz 설치
    sudo apt-get install -y devscripts
    sudo apt-get install -y debhelper python-all build-essential python-pycurl python-lxml python-guestfs python-m2crypto python-libvirt kpartx libguestfs-tools

    git clone https://github.com/clalancette/oz.git
    cd oz
    make deb
    cd ..
    sudo dpkg -i oz_*_all.deb
    sudo apt-get -f install


    예제 TDL 파일 centos64.tdl
    <template>
    <name>centos64</name>
    <os>
    <name>CentOS-6</name>
    <version>4</version>
    <arch>x86_64</arch>
    <install type='iso'>
    <iso>http://mirror.rackspace.com/CentOS/6/isos/x86_64/CentOS-6.4-x86_64-bin-DVD1.iso</iso>
    </install>
    <rootpw>CHANGE THIS TO YOUR ROOT PASSWORD</rootpw>
    </os>
    <description>CentOS 6.4 x86_64</description>
    <repositories>
    <repository name='epel-6'>
    <url>http://download.fedoraproject.org/pub/epel/6/$basearch</url>
    <signed>no</signed>
    </repository>
    </repositories>
    <packages>
    <package name='epel-release'/>
    <package name='cloud-utils'/>
    <package name='cloud-init'/>
    </packages>
    <commands>
    <command name='update'>
    yum -y update
    yum clean all
    sed -i '/^HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth0
    echo -n > /etc/udev/rules.d/70-persistent-net.rules
    echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules
    </command>
    </commands>
    </template>

    oz로 이미지 만들기
    oz-install -d3 -u centos64.tdl -x centos64-libvirt.xml

    참고


    반응형

    'Cloud' 카테고리의 다른 글

    etcd 기본사용  (0) 2015.09.11
    libvirt 사용하기  (0) 2015.03.25
    OpenStack 이미지 만들기  (0) 2015.03.23
    OpenStack이 지원하는 하이퍼바이저 종류  (0) 2015.03.20
    RabbitMQ RPC(Remote procedure call)  (0) 2015.03.18

    댓글

Designed by Tistory.