오픈솔라리스는 복수개의 부트 환경을 가질 수 있는 기능 및 툴을 제공합니다.
이 글은 복수 부트 환경 관리에 대해 설명 드립니다.
종종 개발자들은 복수개의 시스템 설정을 유지하고 테스트를 위해서 각 환경을 전환해가면서 사용해야할 필요가 있습니다. 2005년솔라리스10 의 ZFS 소개로, 최소한의 추가 공간과 시간 지연으로도 파일 시스템의 스냅샷을 만들고 복제 할 수 있게 되었습니다. 이를 통해서 환경의 백업 및 복구가 가능해 졌습니다. 간편하다고는 하지만 몇단계의 과정을 거쳐야 하고 특히 복수개의 파일시스템을 가진 환경일때에 특히 추가 과정을 더 밟아야 합니다.
오픈솔라리스 의 새롭게 새롭된 beadm 이라는 유틸리티는 부트 환경들(Boot Environment, 줄여서 BE 라고 함)을 효과적으로 관리 할 수 있도록 도와 줍니다. beadm 은 모든 관계된 파일 시스템의 복사 작업을 처리해 주고 x86, x64 플랫폼상의 GNU GRUB [GRand Unified Bootloader] 메뉴를 수정해 줍니다. 또한 단일 과정으로 BE 들을 생성, 수정 및 삭제할 수 있습니다.
이 글에서 여러분은 오픈솔라리스의 beadm 를 이용해서 BE 를 관리하는 방법을 예제를 통해서 배우게 됩니다.
| - | 여러분의 환경 검사하기 |
| - | 여러분의 환경 복제하기 |
| - | 설정 살펴보기 |
| - | 부트 환경들 관리하기 |
| - | 결론 |
새롭게 설치된 오픈솔라리스, 오픈솔라리스 2008.05 를 부팅할때에 여러분은 그림 1 과 유사한 GRUB 메뉴를 보게 됩니다.
위의 메뉴는 현재 오직 하나의 BE 만이 사용가능함을 보여 줍니다. OS 가 부팅되고 나서는 beadm list 를 실행함으로써 BE 의 목록을 보실 수 있습니다:
jack@opensolaris:~$ beadm list
jack@opensolaris:~$ beadm list
BE Active Active on Mountpoint Space
Name reboot Used
---- ------ --------- ---------- ------
opensolaris yes yes / 4.77G
여기서 BE 는
opensolaris 로 불립니다. df 커맨드를 수행함으로써 , ZFS 루트 파일 시스템이 동일한 이름을 공유 하고 있음을 보실 수 있습니다:
jack@opensolaris:~$ df /
Filesystem 1K-blocks Used Available Use%
Mounted on rpool/ROOT/opensolaris 29950875 4250701 25700174 15% /
BE 를 구성하는 파일 시스템의 셋은 루트 파일 시스템 자체와 그의 모든 자식들 입니다. 일반적으로 BE 는 / 와 /opt 디렉토리들을 가지고 있습니다. 그러나 필요에 따라 더 늘리실 수 있습니다. 예를 들어 아래의 커맨드 (root 로 실행했고 모두 한 줄임) 는 빈 파일 시스템을 만들고 /MyData 아래 마운트 되었습니다:
|
ZFS 내의 디렉토리를 살펴 보면 다음과 같습니다:
jack@opensolaris:~# zfs list -r rpool/ROOT/opensolaris
NAME USED AVAIL REFER MOUNTPOINT
rpool/ROOT/opensolaris 4.68G 24.6G 4.06G legacy
rpool/ROOT/opensolaris/MyData 18K 24.6G 18K /MyData
rpool/ROOT/opensolaris/opt 644M 24.6G 644M /opt
여러분이 BE 에 큰 변화를 줄 생각이지만 그 이전에 환경을 보존을 하고 필요에 따라 다시 복구한다고 가정해 봅시다. 간단하게 여러분은 또 다른 BE test_be 를 beadm 로 만듭니다.:
jack@opensolaris:~# beadm create test_be
jack@opensolaris:~# beadm list
BE Active Active on Mountpoint Space
Name reboot Used
---- ------ --------- ---------- ------
opensolaris yes yes / 4.68G
test_be no no - 72.5K
beadm create 커맨드는 수행하는데 몇초가 걸립니다. test_be 의 최소공간을 확인하시기 바랍니다. 재부팅 후에 test_be 가 GRUB 메뉴에 나타납니다. 그림 2를 보시기 바랍니다.
|
그림 2. GRUB 메뉴와 두개의 부트 환경들 |
여러분은 이제 opensolaris 의 모든 파일 시스템과 본래 BE 를 복제하였고 GRUB 메뉴를 단일 커맨드로 업데이트 하였습니다.
좀 더 자세히 살펴 보겠습니다. 여러분은 beadm 이 opensolaris 의 모든 파일 시스템의 읽기 전용 파일 시스템 이미지인 스냅샷을 만들었음을 알 수 있습니다:
jack@opensolaris:~$ zfs list -r rpool/ROOT/opensolaris
NAME USED AVAIL REFER MOUNTPOINT
rpool/ROOT/opensolaris 4.68G 24.6G 4.06G legacy
rpool/ROOT/opensolaris@test_be 24K - 4.06G -
rpool/ROOT/opensolaris/MyData 18K 24.6G 18K /MyData
rpool/ROOT/opensolaris/MyData@test_be 0 - 18K -
rpool/ROOT/opensolaris/opt 644M 24.6G 644M /opt
rpool/ROOT/opensolaris/opt@test_be 0 - 644M -
스냅샷은 스냅샷 이름 뒤에 따라오는 @ 구분자로 구분 가능하고 위에서는 test_be 입니다. 모든 스냅샷을 캡춰한 다음 beadm 은 본래 BE 를 복제 하기 위해 이 스냅샷을 사용합니다:
jack@opensolaris:~$ zfs list -r rpool/ROOT/test_be
NAME USED AVAIL REFER MOUNTPOINT
rpool/ROOT/test_be 75.5K 24.6G 4.06G legacy
rpool/ROOT/test_be/MyData 0 24.6G 18K /MyData
rpool/ROOT/test_be/opt 0 24.6G 644M /opt
마지막으로 beadm 은 또한 GRUB 메뉴를 그것에 맞게 수정합니다:
|
이 시점 부터 test_be 는 opensolaris BE 의 정확한 복제 버전입니다. 여러분이 / 와 /opt 디렉토리를 수정해 주었기 때문에 좀 더 많은 디스크 용량을 소비할 것입니다.
원래의 BE 로 돌아가기 위해 재부팅을 하고 GRUB 메뉴에서 본래 BE 를 선택합니다.=
만약 BE 가 더이상 필요가 없다면 삭제합니다:
1. root 권한으로 아래의 커맨드를 입력합니다:
jack@opensolaris:~# beadm destroy test_be
beadm 은 확인을 요구합니다:
|
2. y 를 눌러서 확인 합니다.
이후에 beadm 은 test_be 의 모든 스냅샷과 복제본들을 삭제하고 ZFS 풀이 그 즉시 공간을 회수 합니다. 마지막으로 beadm 은 GRUB 메뉴를 수정합니다.
오픈솔라리스 beadm 유틸리티는 여러분의 시스템에서 복수개의 부트 환경을 관리할 수 있는 간편하고 유연하고 다양한 기능들을 제공 합니다. 좀 더 자세한 정보는 beadm Command Reference documentation 을 참고하시기 바랍니다.
이 글의 영문 원본은
Working With Multiple Boot Environments on the OpenSolaris OS
에서 보실 수 있습니다.
"오픈솔라리스" 카테고리의 다른 글
- 수동으로 네트워크 설정하는 방법 (댓글 0개 / 트랙백 0개) 2009/12/17
- Indiana 란 무엇이고 어떻게 참여할 수 있나요? (댓글 0개 / 트랙백 0개) 2008/04/17
- Xen: 다운로드, 설치 및 설정 정보 (댓글 0개 / 트랙백 0개) 2008/01/21
- 존 클로닝하기 (댓글 0개 / 트랙백 0개) 2009/08/27
- 오픈솔라리스에서 복수개의 부트 환경 구성하기 (댓글 0개 / 트랙백 0개) 2009/01/16
- 향상된 리소스 관리 및 존 통합 (댓글 0개 / 트랙백 0개) 2008/06/16
- 오픈솔라리스 Bug 보고하기 (댓글 0개 / 트랙백 0개) 2009/12/17
- 리눅스 가이가 썬에서 무슨 일을 하고 있나요? (댓글 1개 / 트랙백 0개) 2008/05/19
- Inside OpenSolaris: 솔라리스 드라이버 프로그래밍 Part 2 of 2 (댓글 1개 / 트랙백 0개) 2006/05/23
- OpenSolaris Project: Visual Panels (댓글 0개 / 트랙백 0개) 2007/10/22


댓글을 달아 주세요