존 클로닝하기

솔라리스/오픈솔라리스 2009/08/27 13:45 Posted by Sun
존 클로닝하기
The Observatory, 2009년 7월 17일  

오픈솔라리스에서 존을 설치 하는 것은 네트워크 접근을 요구하고 70MB 정도의 데이타가 다운로드 되어야 함으로 약간의 인내심이 요구 됩니다. 운좋게도 첫번째 존을 설치한 다음에는, 이후의 존들은 클론이 가능합니다. 이것은 IPS로 설치하는 것보다 빠를 뿐만 아니라 디스크 공간을 훨씬 더 효율적으로 사용할 수 있습니다. 추가적으로 여러분이 존에 추가적인 소프트웨어 (혹은 더 적은 수의 소프트웨어) 를 설치하도록 커스터마이징 했다면 이것들 또한 여러분의 복제본에 그대로 따라오게 될 것입니다.

4단계의 생성 프로세스는 이전과 거의 동일 합니다. 이제 우리는 생성, 설치, 부팅 그리고 설정과 달리 - 생성, 클론, 부팅 그리고 설정을 이용 합니다.

시작하기 전에 여러분은 이미 존을 하나 가지고 있어야 합니다. 필자는 "존과 Crossbow" 에서 사용한 myzone 을 사용할 것입니다. 저는 새로운 존을 myzoneclone 으로 부를 것입니다.

단게 1: 존 생성하기

새로운 존을 위한 설정 파일은 다음과 같습니다. 차이점들은 굵게 표시하였습니다:

bleonard@opensolaris:~$ cat myzoneclone.config  
create
set zonepath=/zones/myzoneclone	
set ip-type=exclusive	
add net
set physical=myzoneclone0 
end

ip-typeexclusive 임을 살펴 보시기 바랍니다. myzoneclone0 는 VNIC 이고 존을 생성하기 전에 생성해야 합니다:

pfexec dladm create-vnic -l e1000g0 myzoneclone0

이제 존을 생성합니다:

pfexec zonecfg -z myzoneclone -f myzoneclone.config 

단계 2: 존 클론하기

IPS 를 통해서 설치하는 대신에 우리는 완료에 몇초 걸리지 않는 기존의 myzone 을 클론할 것입니다:

bleonard@opensolaris:~$ pfexec zoneadm -z myzoneclone clone myzone 
sys-unconfig started Thu Jul 16 15:25:10 2009
rm: cannot remove `/zones/myzoneclone/root/etc/vfstab.sys-u': No such file or directory
grep: /zones/myzoneclone/root/etc/dumpadm.conf: No such file or directory
sys-unconfig completed Thu Jul 16 15:25:10 2009

sys-unconfig 에서의 주의 메세지들은 무시해도 괜찮습니다. 존이 설치되었음을 보실 수 있습니다:

bleonard@opensolaris:~$ zoneadm list -cv 
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   - myzone           installed  /zones/myzone                  ipkg     excl
   - myzoneclone      installed  /zones/myzoneclone             ipkg     excl  

단계 3 & 4: 부트 & 설정

이 2 단계들은 이전과 동일합니다. 먼저 sysidcfg 파일을 생성합니다. myzone 과의 다른점은 굵게 표시하였습니다:

bleonard@opensolaris:~$ cat sysidcfg 
system_locale=C
terminal=xterms
network_interface=myzoneclone0 {
	hostname=myzone
	ip_address=10.0.1.26 
	netmask=255.255.255.0
	default_route=NONE
 	protocol_ipv6=no}
security_policy=none
name_service=NONE
nfs4_domain=dynamic
timezone=US/Eastern
root_password=fto/dU8MKwQRI

존을 준비시킵니다:

pfexec zoneadm -z myzoneclone ready 

sysidcfg 파일을 존에 복사 합니다:

pfexec cp sysidcfg /zones/myzoneclone/root/etc/.

존에 로그인합니다:

bleonard@opensolaris:~$ pfexec zlogin -C myzoneclone 
[Connected to zone 'myzoneclone' console]

또 다른 터미널 윈도우에서 존을 부팅시킵니다:

pfexec zoneadm -z myzoneclone boot

그 다음에 첫번째 터미널로 돌아오면 존 설정이 완료된 다음에 존에 로그인 하실 수 있습니다. 만약 위의 root_password 를 이용하였다면 패스워드는 abc123 입니다:

[NOTICE: Zone booting up]
 
 
SunOS Release 5.11 Version snv_111b 64-bit
Copyright 1983-2009 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Hostname: myzoneclone
Reading ZFS config: done.
Mounting ZFS filesystems: (5/5)
 network_interface=myzoneclone0 {
myzoneclone0 is not a valid network interface  line 3 position 19
Creating new rsa public/private host key pair
Creating new dsa public/private host key pair
Configuring network interface addresses: myzoneclone0.
 
myzone console login: root 
Password: 
Jul 16 15:52:39 myzone login: ROOT LOGIN /dev/console
Last login: Thu Jul 16 14:41:03 on console
Sun Microsystems Inc.   SunOS 5.11      snv_111b        November 2008
root@myzone:~#

존 클론에 대해서 한가지 더 지적할만한 점은 이것이 ZFS 클론이라는 것입니다. 그러므로, myzone 의 스냅샷이 만들어진 다음에 myzoneclone 의 기반으로 사용되게 됩니다. 결국 myzoneclonemyzone 스냅셧과의 차이 만큼만의 공간을 차지하게 됩니다:

bleonard@opensolaris:~$ zfs list -t all 
NAME                                                        USED  AVAIL  REFER  MOUNTPOINT
rpool                                                       112G  34.3G    76K  /rpool
rpool/ROOT                                                 14.2G  34.3G    18K  legacy
rpool/ROOT/opensolaris                                     66.0M  34.3G  7.02G  /
rpool/dump                                                 1.43G  34.3G  1.43G  -
rpool/export                                               43.6G  34.3G    19K  /export
rpool/export/home                                          43.6G  34.3G  40.1G  /export/home
rpool/swap                                                 1.43G  35.6G   212M  -
rpool/zones                                                 142M  34.3G    21K  /zones
rpool/zones/myzone                                          139M  34.3G    22K  /zones/myzone
rpool/zones/myzone/ROOT                                     139M  34.3G    19K  legacy
rpool/zones/myzone/ROOT/zbe                                 139M  34.3G   139M  legacy
rpool/zones/myzone/ROOT/zbe@myzoneclone_snap                   0      -   139M  -
rpool/zones/myzoneclone                                    2.17M  34.3G    22K  /zones/myzoneclone
rpool/zones/myzoneclone/ROOT                               2.15M  34.3G    19K  legacy
rpool/zones/myzoneclone/ROOT/zbe                           2.13M  34.3G   140M  legacy

myzone 은 139M 를 사용하고 있지만 myzoneclone 은 오직 2MB 를 차지하고 있음을 주의깊게 보시기 바랍니다. 그러므로 존 클로닝은 시스템에 존을 생성하는 매우 효율적인 방법입니다.

참고로, 존을 제거하기 위해서는 이전과 동일하게 uninstall 을 사용합니다:

bleonard@opensolaris:~$ pfexec zoneadm -z myzoneclone halt 
bleonard@opensolaris:~$ pfexec zoneadm -z myzoneclone uninstall 
Are you sure you want to uninstall zone myzoneclone (y/[n])? y 

"오픈솔라리스" 카테고리의 다른 글

2009/08/27 13:45 2009/08/27 13:45

TRACKBACK :: http://blog.sdnkorea.com/blog/trackback/820

댓글을 달아 주세요

[로그인][오픈아이디란?]

◀ Prev 1  ... 55 56 57 58 59 60 61 62 63  ... 806  Next ▶