Oracle® Solaris 10 JumpStart에서 Oracle Solaris 11.2 자동 설치 프로그램으로 전환

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

js2ai를 사용한 규칙 및 프로파일 변환

이 단원에서는 하나의 js2ai 명령을 사용하여 JumpStart rules 파일과 해당 rules 파일에서 참조하는 모든 프로파일 파일을 변환하는 방법을 보여줍니다. 기본적으로 변환된 각 프로파일은 AI_profile-filename이라는 디렉토리에 출력됩니다. 해당 프로파일을 선택하는 규칙은 AI 조건 파일과 동일한 디렉토리에 대한 출력입니다.

샘플 JumpStart 규칙 파일 및 프로파일 파일

다음 예에서는 다음 rules 파일이 사용됩니다.

# The following rule matches only one system:

hostname sample_host    - fdisk.profile         -

# The following rule matches only one system:

hostaddress 10.6.68.127 - mirrorfilesys.profile -

# The following rule matches any system that is on the 924.222.43.0 network:

network 924.222.43.0    - rootdisk.profile      -

# The following rule matches all x86 systems:

arch i386               - mirrorpool.profile    -

fdisk.profile 파일의 컨텐츠는 다음과 같습니다.

install_type initial_install
system_type server
root_device c1t0d0s0
usedisk c1t0d0
fdisk rootdisk solaris all
partitioning explicit
filesys rootdisk.s1 5000 swap
filesys rootdisk.s0 10000 /
cluster SUNWCall

mirrorfilesys.profile 파일의 컨텐츠는 다음과 같습니다.

install_type initial_install
partitioning default
filesys mirror c6t0d0s0 c6t1d0s0 60048 /
cluster SUNWCuser

mirrorpool.profile 파일의 컨텐츠는 다음과 같습니다.

install_type initial_install
partitioning default
pool newpool auto auto auto mirror any any
cluster SUNWCuser

rootdisk.profile 파일의 컨텐츠는 다음과 같습니다.

install_type initial_install
partitioning explicit
filesys rootdisk.s0 15000 /
filesys rootdisk.s1 1000 swap
cluster SUNWCall

js2ai를 사용하여 연관된 프로파일로 rules 파일 처리

rules 파일을 처리하려면 다음 명령을 사용하십시오. 검증이 수행되지 않았으므로 오류 보고서에서 검증 오류는 하이픈으로 표시됩니다. 검증은 –S 옵션으로 생략할 수 있습니다.

# js2ai -rS
                                Process  Unsupported  Conversion  Validation
Name                  Warnings  Errors   Items        Errors      Errors
-------------------   --------  -------  -----------  ----------  ----------
rules                        0        0            1           0           -
fdisk.profile                0        0            2           0           -
mirrorfilesys.profile        0        0            2           0           -
mirrorpool.profile           0        0            1           1           -
rootdisk.profile             0        0            1           2           -

Conversion completed. One or more failures and/or warnings occurred.
For errors see js2ai.log
# cat js2ai.log
rules:line 3:UNSUPPORTED: unsupported keyword: hostname
fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server
fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster
mirrorfilesys.profile:line 3:UNSUPPORTED: unsupported mount point of 'unnamed' specified,
mount points other than '/' and 'swap' are not supported
mirrorfilesys.profile:line 4:UNSUPPORTED: unsupported keyword: cluster
mirrorpool.profile:line 3:CONVERSION: unable to convert 'any' device to physical device. Replace 'any' 
with actual device name
mirrorpool.profile:line 4:UNSUPPORTED: unsupported keyword: cluster
rootdisk.profile:line 3:CONVERSION: unable to convert 'rootdisk.s0'.  Replace'rootdisk.' with actual
device name
rootdisk.profile:line 4:CONVERSION: unable to convert 'rootdisk.s1'.  Replace'rootdisk.' with actual
device name
rootdisk.profile:line 5:UNSUPPORTED: unsupported keyword: cluster

출력 내용은 AI_profile-filename이라는 디렉토리에 저장됩니다. JumpStart 규칙에서 생성된 AI 조건 파일의 경우 rules 파일에 있는 규칙의 위치에 대해 이름이 지정됩니다. AI 매니페스트의 이름은 profile-filename.arch.xml로 지정됩니다. 여기서 archgeneric, x86 또는 sparc입니다.

# ls AI_*
AI_fdisk.profile:
fdisk.profile.x86.xml

AI_mirrorfilesys.profile:
criteria-2.xml      mirrorfilesys.profile.generic.xml

AI_mirrorpool.profile:
criteria-2.xml      mirrorpool.profile.generic.xml

AI_rootdisk.profile:
criteria-3.xml      rootdisk.profile.generic.xml

hostname 키워드 바꾸기

로그 파일에는 JumpStart 규칙 키워드 hostname이 AI 매니페스트 선택을 위한 AI 조건 키워드로 지원되지 않는다고 보고됩니다. hostname 키워드는 fdisk.profile 프로파일을 사용할 클라이언트를 지정합니다. hostname은 AI 매니페스트 선택 시 지원되는 키워드가 아니므로 새 AI_fdisk.profile 디렉토리에는 AI 조건 파일이 포함되어 있지 않습니다.

이 문제는 rules 파일에서 hostnamehostaddress로 변경하면 해결할 수 있습니다.

MAC 주소나 IP 주소를 지정하여 hostname 시스템을 식별하는 AI 조건 파일을 만들어 이 문제를 해결할 수도 있습니다. 예를 들어, 0:14:4F:20:53:97sample_host의 MAC 주소인 경우 다음 조건 파일은 JumpStart 규칙 hostname sample_host와 같습니다.

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="mac">
    <value>0:14:4F:20:53:97</value>
  </ai_criteria>
</ai_criteria_manifest>

시스템의 MAC 주소를 찾으려면 dladm(1M) 매뉴얼 페이지의 설명에 따라 dladm 명령을 사용합니다.

JumpStart 규칙 hostaddress 10.6.68.127의 경우, js2ai 명령이 JumpStart hostaddress 키워드를 AI ipv4 키워드로 대체하여 AI 조건 파일 AI_mirrorfilesys.profile/criteria-2.xml을 자동으로 만들었습니다.

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="ipv4">
    <value>
      10.6.68.127
    </value>
  </ai_criteria>
</ai_criteria_manifest>

JumpStart 규칙 network 924.222.43.0의 경우, js2ai 명령이 제공된 네트워크 주소를 기준으로 하는 IP 주소 범위를 지정하여 AI 조건 파일 AI_rootdisk.profile/criteria-3.xml을 자동으로 만들었습니다.

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="ipv4">
    <range>
      924.222.43.0 924.222.43.255
    </range>
  </ai_criteria>
</ai_criteria_manifest>

JumpStart 규칙 arch i386의 경우, js2ai 명령이 JumpStart arch 키워드를 AI cpu 키워드로 대체하여 AI 조건 파일 AI_mirrorpool.profile/criteria-4.xml을 자동으로 만들었습니다.

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="cpu">
    <value>
      i386
    </value>
  </ai_criteria>
</ai_criteria_manifest>

AI 매니페스트 파일 수정

js2ai 명령은 대개 오류가 보고되더라도 JumpStart 프로파일마다 AI 매니페스트를 만듭니다. 이 단원에서는 출력 AI 매니페스트가 보다 완전하도록 몇 가지 일반 오류를 해결하는 방법에 대해 설명합니다.

예 2-4  fdisk.profile 오류 수정

js2ai 명령이 fdisk.profile JumpStart 프로파일에 대해 표시하는 오류는 다음과 같습니다.

fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server
fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster

이 두 라인은 무시되므로 출력 AI 매니페스트에 영향을 주지 않습니다. 변환 시 오류 메시지가 표시되지 않도록 하려는 경우 이 두 라인을 삭제할 수 있습니다. fdisk.profile 파일의 컨텐츠는 다음과 같습니다.

install_type initial_install
root_device c1t0d0s0
usedisk c1t0d0
fdisk rootdisk solaris all
partitioning explicit
filesys rootdisk.s1 5000 swap
filesys rootdisk.s0 10000 /

이 프로파일만 처리하려면 js2ai 명령의 –p 옵션을 사용합니다.

# js2ai -p fdisk.profile
Successfully completed conversion

출력 AI 매니페스트 AI_fdisk.profile/fdisk.profile.x86.xml에서 target 스탠자의 컨텐츠는 다음과 같습니다.

<target>
  <disk whole_disk="true">
    <disk_name name="c1t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice name="1" action="create" force="true" is_swap="true">
        <size val="5000mb"/>
      </slice>
      <slice name="0" action="create" force="true" in_zpool="rpool" in_vdev="rpool_vdev">
        <size val="10000mb"/>
      </slice>
     </partition>
  </disk>
  <logical noswap="false" nodump="true" >
    <zpool name="rpool" is_root="true">
      <vdev name="rpool_vdev" redundancy="none"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home"/>
      <be name="solaris"/>
    </zpool>
  </logical>
</target>

이 프로파일에는 패키지 지정 사항이 포함되어 있지 않으므로 software 스탠자는 /usr/share/auto_install/manifest/default.xml에서와 같습니다.

예 2-5  mirrorfilesys.profile 오류 수정

js2ai 명령이 mirrorfilesys.profile JumpStart 프로파일에 대해 표시하는 오류는 다음과 같습니다.

mirrorfilesys.profile:line 3:UNSUPPORTED: unsupported mount point of 'unnamed' specified,
mount points other than '/' and 'swap' are not supported
mirrorfilesys.profile:line 4:UNSUPPORTED: unsupported keyword: cluster

JumpStart 프로파일 파일에서 filesys mirror 지정의 file-system 매개변수를 생략할 수 있습니다. js2ai 변환에서 file-system 매개변수는 생략할 수 없으며 / 또는 swap 값 중 하나를 가져야 합니다.

filesys 지정의 끝에 "/"를 추가하고 cluster 행을 삭제하도록 mirrorfilesys.profile 파일을 편집합니다. mirrorfilesys.profile 파일의 컨텐츠는 다음과 같습니다.

install_type initial_install
partitioning default
filesys mirror c6t0d0s0 c6t1d0s0 60048 /

AI_mirrorfilesys.profile/criteria-2.xml 파일을 다른 위치에 저장하십시오. 그런 다음 이 프로파일만 처리하려면 –js2ai 명령의 p 옵션을 사용합니다.

# js2ai -p mirrorfilesys.profile
Successfully completed conversion

AI_mirrorfilesys.profile 디렉토리에 포함된 두 개의 출력 AI 매니페스트는 mirrorfilesys.profile.sparc.xmlmirrorfilesys.profile.x86.xml입니다. 이 두 AI 매니페스트 간의 유일한 차이점은 mirrorfilesys.profile.x86.xml에 두 개의 partition 지정이 포함되어 있다는 것입니다. mirrorfilesys.profile.x86.xml 매니페스트에서 target 스탠자의 컨텐츠는 다음과 같습니다.

<target>
  <disk>
    <disk_name name="c6t1d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
        <size val="60048mb"/>
      </slice>
    </partition>
  </disk>
  <disk>
    <disk_name name="c6t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
        <size val="60048mb"/>
      </slice>
    </partition>
  </disk>
  <logical noswap="false" nodump="false" >
    <zpool name="newpool" is_root="true">
      <vdev name="rpool_vdev" redundancy="mirror"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home">
      <be name="solaris">
    </zpool>
  </logical>
</target>

이 프로파일에는 패키지 지정 사항이 포함되어 있지 않으므로 software 스탠자는 /usr/share/auto_install/manifest/default.xml에서와 같습니다.

예 2-6  mirrorpool.profile 오류 수정

js2ai 명령이 mirrorpool.profile JumpStart 프로파일에 대해 표시하는 오류는 다음과 같습니다.

mirrorpool.profile:line 4:CONVERSION: unable to convert 'any' device to physical device.
Replace 'any' with actual device name
mirrorpool.profile:line 8:UNSUPPORTED: unsupported keyword: cluster

    다음 두 방법 중 하나를 사용하여 이 오류를 수정하십시오. 두 방법 모두 AI 매니페스트 출력은 같습니다. any 장치가 변환되는 방식도 참조하십시오.

  • any 항목을 물리적 장치 이름으로 대체하여 mirrorpool.profile 프로파일을 편집합니다. cluster 라인도 삭제합니다. mirrorpool.profile 파일의 컨텐츠는 다음과 유사합니다.

    install_type initial_install
    partitioning default
    pool newpool auto auto auto mirror c6t0d0s0 c6t1d0s0
  • pool 지정의 vdev-list 목록에서 물리적 장치 이름 대신 any를 지정한 경우 any 매개변수를 포함하는 지정 사항 앞에 장치 정보를 제공해야 합니다. 풀 지정 앞에 usedisk 지정을 추가하도록 mirrorpool.profile 프로파일을 편집합니다. cluster 라인도 삭제합니다. mirrorpool.profile 파일의 컨텐츠는 다음과 유사합니다.

    install_type initial_install
    partitioning default
    usedisk c6t0d0 c6t1d0
    pool newpool auto auto auto mirror any any

AI_mirrorpool.profile/criteria-4.xml 파일을 다른 위치에 저장하십시오. 그런 다음 이 프로파일만 처리하려면 –js2ai 명령의 p 옵션을 사용합니다.

# js2ai -p mirrorpool.profile
Successfully completed conversion

AI_mirrorpool.profile 디렉토리에 포함된 두 개의 출력 AI 매니페스트는 mirrorpool.profile.sparc.xmlmirrorpool.profile.x86.xml입니다. 이 두 AI 매니페스트 간의 유일한 차이점은 mirrorpool.profile.x86.xml에 두 개의 partition 지정이 포함되어 있다는 것입니다. mirrorpool.profile.x86.xml 매니페스트에서 target 스탠자의 컨텐츠는 다음과 같습니다.

<target>
  <disk>
    <disk_name name="c6t1d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="newpool" name="0"/>
    </partition>
  </disk>
  <disk>
    <disk_name name="c6t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="newpool" name="0"/>
    </partition>
  </disk>
  <logical noswap="false" nodump="true">
    <zpool name="rpool" is_root="true">
      <vdev name="rpool_vdev" redundancy="mirror"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home">
      <be name="solaris">
    </zpool>
  </logical>
</target>

이 프로파일에는 패키지 지정 사항이 포함되어 있지 않으므로 software 스탠자는 /usr/share/auto_install/manifest/default.xml에서와 같습니다.

예 2-7  rootdisk.profile 오류 수정

js2ai 명령이 rootdisk.profile JumpStart 프로파일에 대해 표시하는 오류는 다음과 같습니다.

rootdisk.profile:line 3:CONVERSION: unable to convert 'rootdisk.s0'.
Replace'rootdisk.' with actual device name
rootdisk.profile:line 4:CONVERSION: unable to convert 'rootdisk.s1'.
Replace'rootdisk.' with actual device name
rootdisk.profile:line 5:UNSUPPORTED: unsupported keyword: cluster

    다음 두 방법 중 하나를 사용하여 이 오류를 수정하십시오. 두 방법 모두 AI 매니페스트 출력은 같습니다.

  • rootdisk.c0t0d0으로 대체하여 rootdisk.profile 프로파일을 편집합니다. cluster 라인도 삭제합니다. rootdisk.profile 파일의 컨텐츠는 다음과 같습니다.

    install_type initial_install
    partitioning explicit
    filesys c0t0d0s0 15000 /
    filesys c0t0d0s1 1000 swap
  • root_device 지정을 추가하고 cluster 행을 삭제하도록 rootdisk.profile 파일을 편집합니다. rootdisk.profile 파일의 컨텐츠는 다음과 같습니다.

    install_type initial_install
    partitioning explicit
    root_device c0t0d0s0
    filesys rootdisk.s0 15000 /
    filesys rootdisk.s1 1000 swap

AI_rootdisk.profile/criteria-3.xml 파일을 다른 위치에 저장하십시오. 그런 다음 이 프로파일만 처리하려면 –js2ai 명령의 p 옵션을 사용합니다.

# js2ai -p rootdisk.profile
Successfully completed conversion

AI_rootdisk.profile 디렉토리에 포함된 두 개의 출력 AI 매니페스트는 rootdisk.profile.sparc.xmlrootdisk.profile.x86.xml입니다. 이 두 AI 매니페스트 간의 유일한 차이점은 rootdisk.profile.x86.xmlpartition 지정이 포함되어 있다는 것입니다. rootdisk.profile.x86.xml 매니페스트에서 target 스탠자의 컨텐츠는 다음과 같습니다.

<target>
  <disk>
    <disk_name name="c0t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
        <size val="15000mb"/>
      </slice>
      <slice action="create" force="true" is_swap="true" name="1">
        <size val="1000mb"/>
      </slice>
    </partition>
  </disk>
  <logical noswap="false" nodump="true" noswap="false">
    <zpool name="rpool" is_root="true" >
      <vdev name="rpool_vdev" redundancy="none"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home">
      <be name="solaris">
    </zpool>
  </logical>
</target>

이 프로파일에는 패키지 지정 사항이 포함되어 있지 않으므로 software 스탠자는 /usr/share/auto_install/manifest/default.xml에서와 같습니다.