자동 설치 프로파일
운영 체제가 설치되는 방법은 자동 설치 프로파일에 따라 다릅니다. 예를 들어, 설치 프로그램에 전달한 추가 커널 파라미터를 지정할 수 있습니다.
프로파일에서 가장 중요한 부분은 "자동 설치 파일"입니다. 수동으로 설치하는 경우 파티셔닝 및 네트워크 정보, 사용자 상세 정보와 같은 정보를 설치 프로그램에 제공해야 합니다. 자동 설치 파일은 이러한 정보를 스크립트된 형식으로 제공하는 방법입니다. 이러한 유형의 파일을 종종 "답변 파일"이라고도 합니다.
SUSE Manager에서 설치할 클라이언트의 운영 체제에 따라 두 가지 유형의 프로파일을 사용할 수 있습니다.
-
SUSE Linux Enterprise 또는 openSUSE 클라이언트에 대해서는 AutoYaST를 사용하십시오.
-
Red Hat Enterprise Linux 클라이언트에 대해서는 Kickstart를 사용하십시오.
운영 체제가 다양한 클라이언트를 설치하려는 경우 AutoYaST 및 Kickstart 프로파일을 모두 사용할 수 있습니다.
-
프로파일을 선언하는 방법은 프로파일 선언에서 확인할 수 있습니다.
-
AutoYaST 프로파일에 대한 설명은 AutoYaST 프로파일을 참조하십시오.
-
Kickstart 프로파일에 대한 설명은 Kickstart 프로파일을 참조하십시오.
프로파일에 포함된 자동 설치 파일에는 변수 및 코드 조각이 포함될 수 있습니다. 변수 및 코드 조각에 대한 설명은 템플릿 구문을 참조하십시오.
1. 프로파일 선언
자동 설치 파일 및 배포를 준비했으면 프로파일을 생성하여 SUSE Manager 서버에서 자동 설치를 관리할 수 있습니다. 프로파일은 선택한 이 배포판을 설치하는 방법을 결정합니다. 프로파일을 만드는 한 가지 방법은 AutoYaST 또는 Kickstart 파일을 업로드하는 것입니다. 또는 Kickstart의 경우에만 Web UI 마법사를 사용할 수 있습니다.
-
SUSE Manager Web UI에서
로 이동합니다. -
Kickstart/AutoYaST 파일 업로드를 클릭합니다.
-
레이블
필드에 프로파일의 이름을 입력합니다. 공백을 사용하면 안 됩니다. -
자동 설치 트리
필드에서 이 프로파일에 사용할 자동 설치 가능한 배포판을 선택합니다. -
가상화 유형
필드에서 이 프로파일에 사용할 가상화 유형을 선택하거나, 이 프로파일을 사용하여 새로운 가상 시스템을 생성하지 않으려면없음
을 선택합니다. -
자동 설치 파일의 내용을
파일 내용
필드에 복사하거나업로드할 파일
필드를 사용하여 직접 파일을 업로드합니다.여기에 포함되는 세부 정보에 대한 자세한 설명은 AutoYaST 프로파일 또는 Kickstart 프로파일을 참조하십시오.
-
생성을 클릭하여 프로파일을 생성합니다.
-
SUSE Manager Web UI에서
로 이동합니다. -
Kickstart 프로파일 생성을 클릭합니다.
-
레이블
필드에 프로파일의 이름을 입력합니다. 공백을 사용하면 안 됩니다. -
기본 채널
필드에서 이 프로파일에 사용할 기본 채널을 선택합니다. 이 필드는 사용 가능한 배포에서 채워집니다. 필요한 기본 채널을 사용할 수 없는 경우 배포를 올바르게 생성하였는지 확인하십시오. -
가상화 유형
필드에서 이 프로파일에 사용할 가상화의 유형을 선택합니다. 가상화가 없는 경우없음
을 선택합니다. -
다음을 클릭합니다.
-
배포 파일 위치
에서 SUSE Manager 서버에 설치된 설치 미디어의 경로를 입력합니다. -
다음을 클릭합니다.
-
클라이언트에서 루트 사용자에게 비밀번호를 제공합니다.
-
완료를 클릭합니다.
-
새 프로파일의 상세 정보를 검토하고 필요에 따라 사용자 정의합니다.
자동 설치 프로파일을 생성할 때 이 기본 채널에 항상 최신 트리를 사용합니다.
의 확인란을 선택할 수 있습니다. 이 설정은 SUSE Manager가 특정 기본 채널과 연결된 최신 배포를 자동으로 선택하도록 허용합니다. 나중에 새 배포를 추가하는 경우 SUSE Manager는 최근에 생성되거나 수정된 것을 사용합니다.
가상화 유형
을 변경하려면 일반적으로 프로파일 부트로더 및 파티션 옵션을 변경해야 합니다. 이렇게 하면 사용자 정의가 덮어쓰기될 수 있습니다. 신규 또는 변경된 설정을 저장하기 전에 파티셔닝
탭으로 이동하여 확인하십시오.
배포판 및 프로파일의 커널 옵션은 결합되어 있습니다.
로 이동해 편집하려는 프로파일의 이름을 클릭하여 자동 설치 프로파일의 상세 정보 및 설정을 변경할 수 있습니다. 또는 으로 이동하여 프로비저닝할 클라이언트를 선택한 후 하위 탭으로 이동합니다.
2. AutoYaST 프로파일
AutoYaST 프로파일은 프로파일을 식별하는 레이블
, 자동 설치 가능한 배포판을 가리키는 자동 설치 트리
, 여러 옵션과 가장 중요한 AutoYaST 설치 파일로 구성됩니다.
AutoYaST 설치 파일은 AutoYaST 설치 프로그램에 방향을 제공하는 XML 파일입니다. AutoYaST에서는 이 파일을 "제어 파일"이라고 부릅니다. AutoYaST 설치 파일의 전체 구문은 https://doc.opensuse.org/projects/autoyast/#cha-configuration-installation-options를 참조하십시오.
SUSE는 사용자 정의 파일의 시작점으로 사용할 수 있는 AutoYaST 설치 파일의 템플릿을 제공합니다. 이 템플릿은 AutoYaST
디렉토리의 https://github.com/SUSE/manager-build-profiles에서 확인할 수 있습니다. 이러한 각 프로파일은 사용하기 전 일부 변수를 설정해야 합니다. 필요한 변수는 스크립트에 포함된 README
파일에서 확인합니다. AutoYaST 스크립트에서 변수 사용에 대한 자세한 설명은 변수를 참조하십시오.
다음은 SUSE Manager로 설치하기 위한 AutoYaST 설치 파일에서 가장 중요한 부분입니다.
-
<add-on>
은 설치에 하위 채널을 추가할 수 있습니다.``<add-on>`` 예제가 있는 https://doc.opensuse.org/projects/autoyast/#Software-Selections-additional[]에서 참조하십시오.
-
<general>$SNIPPET('spacewalk/sles_no_signature_checks')</general>
은 서명 확인을 비활성화합니다. -
<software>
를 사용하면 Unified Installer에 제품을 지정할 수 있습니다."<software>" 예제가 있는 https://doc.opensuse.org/projects/autoyast/#CreateProfile-Software[]를 참조하십시오.
-
<init-scripts config:type="list">$SNIPPET('spacewalk/minion_script')</init-scripts>
을 사용하면 클라이언트가 SUSE Manager를 Salt client로 등록할 수 있습니다.
AutoYaST에 대한 자세한 내용은 https://doc.opensuse.org/projects/autoyast/를 참조하십시오.
AutoYaST를 대체하는 가장 최신 Salt 기반 제품은 Yomi입니다. Yomi에 대한 설명은 Yomi를 사용한 설치를 참조하십시오.
3. 킥스타트 프로파일
Kickstart 프로파일은 매우 다양한 구성 옵션을 제공합니다. 이러한 프로파일을 생성하려면 해당 프로파일을 업로드하거나 전용 마법사를 사용합니다.
Kickstart 프로파일을 사용하면 파일 보관 목록을 사용할 수 있습니다. Kickstart를 사용하여 다시 설치할 클라이언트에 사용자 정의 구성 파일이 여러 개 있는 경우 해당 파일을 목록으로 저장하고 사용할 Kickstart 프로파일과 이 목록을 연결할 수 있습니다.
-
SUSE Manager Web UI에서
으로 이동하여 파일 유지 목록 생성을 클릭합니다. -
적절한 레이블을 입력하고 저장하려는 모든 파일 및 디렉토리의 절대 경로를 나열합니다.
-
목록 생성을 클릭합니다.
-
Kickstart 프로파일에 파일 보관 목록을 포함시킵니다.
-
로 이동한 후 편집할 프로파일을 선택하고 하위 탭으로 이동하여 포함할 파일 보관 목록을 선택합니다.
파일 유지 목록은 전체 크기가 1 MB로 제한됩니다. |
Kickstart에 대한 자세한 설명은 Red Hat 문서를 참조하십시오.
4. 템플릿 구문
설치 파일의 일부는 설치 중에 대체됩니다. 변수는 단일 값으로 대체되며 코드 조각은 텍스트의 전체 섹션으로 대체됩니다. 이스케이프된 기호 또는 섹션은 대체되지 않습니다.
Cheetah라는 템플릿 엔진을 사용하면 Cobbler가 해당 대체를 수행할 수 있습니다. 이 방식을 통해 각각에 대한 프로파일을 수동으로 생성할 필요 없이 대량의 시스템을 다시 설치할 수 있습니다.
SUSE Manager Web UI에서 자동 설치 변수 및 코드 조각을 생성할 수 있습니다. 프로파일의 자동 설치 파일
탭을 사용하면 대체 결과를 확인할 수 있습니다.
4.1. 변수
자동 설치 변수를 사용해 값을 Kickstart 및 AutoYaST 프로파일로 대신할 수 있습니다. 변수를 정의하려면 프로파일에서 변수
하위 탭으로 이동하여 텍스트 상자에서 name=value
쌍을 생성합니다.
예를 들어, 클라이언트의 IP 주소를 가진 변수와 게이트웨이의 주소를 가진 변수를 생성할 수 있습니다. 그러면 이러한 변수를 동일한 프로파일에서 설치된 모든 클라이언트에 대해 정의할 수 있습니다. 이 작업을 수행하려면 변수
텍스트 상자에 다음 줄을 추가합니다.
ipaddr=192.168.0.28 gateway=192.168.0.1
변수를 사용하려면 프로파일에서 $
기호를 앞에 추가하여 변수를 대체합니다. 예를 들어, Kickstart 파일의 네트워크
부분은 다음과 같습니다.
network --bootproto=static --device=eth0 --onboot=on --ip=$ipaddr \ --gateway=$gateway
$ipaddr
은 192.168.0.28
로, $gateway
는 192.168.0.1
로 확인됩니다.
설치 파일에서 변수는 계층 구조를 사용합니다. 시스템 변수는 프로파일 변수에 우선하고, 프로파일 변수는 배포 변수에 우선합니다.
4.2. 코드 조각
SUSE Manager는 미리 정의된 다양한 코드 조각과 함께 제공됩니다.
으로 이동하여 기존 조각의 목록을 확인합니다.자동 설치 파일에 $SNIPPET()
매크로를 삽입하여 코드 조각을 사용합니다. 예를 들어, Kickstart에서는 다음과 같습니다.
$SNIPPET('spacewalk/rhel_register_script')
또는 AutoYaST에서는 다음과 같습니다.
<init-scripts config:type="list"> $SNIPPET('spacewalk/sles_register_script') </init-scripts>
매크로는 Cobbler로 구문 분석되고 코드 조각의 컨텐트로 대체됩니다. 또한 나중에 자동 설치 파일에서 사용할 자체 코드 조각을 저장할 수 있습니다. 조각 생성을 클릭하여 새 코드 조각을 생성하십시오.
다음 예에서는 일반 하드 드라이브 파티션 구성에 대한 Kickstart 코드 조각을 다음과 같이 설정합니다.
clearpart --all part /boot --fstype ext3 --size=150 --asprimary part / --fstype ext3 --size=40000 --asprimary part swap --recommended part pv.00 --size=1 --grow volgroup vg00 pv.00 logvol /var --name=var vgname=vg00 --fstype ext3 --size=5000
예를 들어, 다음과 같이 코드 조각을 사용합니다.
$SNIPPET('my_partition')
4.3. 이스케이핑
자동 설치 파일에 $(example)
와(과) 같은 셸 스크립트 변수가 포함된 경우 백슬래시를 사용하여 컨텐트를 이스케이프해야 합니다. \$(example)
. $
기호를 이스케이프하면 템플릿 엔진이 기호를 내부 변수로 평가하지 못하게 됩니다.
코드 조각이나 스크립트와 같은 텍스트 블록은 \#raw
및 \#end raw
지시어로 래핑하여 이스케이프할 수 있습니다. 예:
#raw #!/bin/bash for i in {0..2}; do echo "$i - Hello World!" done #end raw
#
기호 다음에 공백이 있는 모든 줄은 주석으로 취급되므로 평가되지 않습니다. 예:
# 특정 섹션 시작(주석임) echo "Hello, world" # 특정 섹션 종료(주석임)