본문 바로가기

OS & network/solaris

솔라리스 11 부트 환경 관리


솔라리스 11 부트 환경 관리 


저작권 : 비상업적용도로만의 배포를 허용하며 , 배포시 저작자의 정보 및 출처를 표기하여야 합니다.

작성자 : 김재벌 ( ostoneo@gmail.com )

블로그 : 김재벌의 IT 이야기 ( http://blog.solaris.co.kr )

버전 : ver 0.1



솔라리스 11 부트 환경 관리라는 주제로 간략하게 포스팅 해 보도록 하겠습니다.


솔라리스의 가장 강력한 기능중에 하나인 ZFS 를 이용하여 부트 환경을 다중으로 관리하도록 해 주는 기능입니다.


부트 환경관리 ( Boot Enviroment : 이하 BE ) 는 솔라리스 11의 시스템 이미지 인스턴스 입니다.

쉽게 말해서 다중 부트 환경을 구성, 관리 할 수 있도록 해 준다는 점입니다.


그러면 우리가 기존에 알고 있는 멀티 부트와 뭐가 다른가? 하는 것입니다.


BE는 단순하게 멀티 부팅이 지원되는 것을 떠나 보다 강력하게 시스템의 부트 환경을 관리해 줍니다.


어떻게?


예를 들어 솔라리스 시스템에서 업데이트를 수행하고 난 뒤에 이전 버전으로 되돌아가야 하는 경우 ( 이를 테면 레거시 소프트웨어의 호환성 문제 같은 경우 ) BE를 이용하면 쉽게 되돌아 갈 수 있습니다.


또한, BE를 이용하여 손쉽게 다양한 테스트나 개발 환경을 만들어서 운영해 봄으로써 리스크를 낮출 수 있게 됩니다.


BE를 관리하는 방법은 beadm 명령어와 package manager 라는 GUI 도구를 통해 할 수 있는데 , 여기서는 beadm 명령어를 이용하여 관리하는 방법에 대해서만 간략하게 알아 보도록 하겠습니다.




beadm 유틸리티를 사용하면 다음과 같은 작업을 수행할 수 있습니다.

  • 활성 부트 환경을 기반으로 새 부트 환경 생성

  • 비활성 부트 환경을 기반으로 새 부트 환경 생성

  • 기존 부트 환경의 스냅샷 생성

  • 기존 스냅샷을 기반으로 새 부트 환경 생성

  • 새 부트 환경을 만들고 이를 다른 zpool에 복사

  • 새 부트 환경을 만들고 x86 GRUB 메뉴 또는 SPARC 부트 메뉴에 사용자 정의 제목과 설명을 추가

  • 기존의 비활성 부트 환경 활성화

  • 부트 환경 마운트

  • 부트 환경 마운트 해제

  • 부트 환경 삭제

  • 부트 환경의 스냅샷 삭제

  • 기존의 비활성 부트 환경 이름 바꾸기

  • 해당 부트 환경 스냅샷 및 데이터 세트에 대한 정보 표시 



(1) 부트 환경 확인

 root@solaris:~# beadm list

BE               Active Mountpoint Space  Policy Created          

--               ------ ---------- -----  ------ -------          

solaris          NR     /          2.79G  static 2013-02-27 07:03 

solaris-backup-1 -      -          65.0K  static 2013-05-04 03:42 

solaris-backup-2 -      -          157.0K static 2013-05-04 03:45 


Active 필드에 NR 의 의미는 아래와 같습니다


N : 현재 부트 환경

R: 리부팅 이후 부트 환경


(2) solaris 부트 환경 모든 정보( -a : all )  확인

 root@solaris:~# beadm list -a solaris

BE/Dataset/Snapshot                           Active Mountpoint Space   Policy Created          

-------------------                           ------ ---------- -----   ------ -------          

solaris

   rpool/ROOT/solaris                         NR     /          2.44G   static 2013-02-27 07:03 

   rpool/ROOT/solaris/var                     -      /var       218.11M static 2013-02-27 07:03 

   rpool/ROOT/solaris/var@2013-05-03-18:42:53 -      -          31.97M  static 2013-05-04 03:42 

   rpool/ROOT/solaris/var@2013-05-03-18:45:40 -      -          33.99M  static 2013-05-04 03:45 

   rpool/ROOT/solaris/var@install             -      -          39.02M  static 2013-02-27 07:09 

   rpool/ROOT/solaris/var@snap                -      -          1.51M   static 2013-05-06 08:41 

   rpool/ROOT/solaris@2013-05-03-18:42:53     -      -          137.0K  static 2013-05-04 03:42 

   rpool/ROOT/solaris@2013-05-03-18:45:40     -      -          155.0K  static 2013-05-04 03:45 

   rpool/ROOT/solaris@install                 -      -          8.44M   static 2013-02-27 07:09 

   rpool/ROOT/solaris@snap                    -      -          27.87M  static 2013-05-06 08:41 


스냅샷이 생성되어 자동으로 변경사항을 저장하고 있음을 확인할 수 있습니다.



(2)부트 환경 생성하기


부트 환경의 이름을 solaris1 으로 생성합니다.

root@solaris:~# beadm create solaris1 


(3)부트 환경 스냅샷 생성하기


 부트 환경의 스냅샷을 생성합니다. 스냅샷을 생성하기 위해서는 부트환경 이름 뒤에 @ 를 입력하여 스냅샷 이름을 지정할 수 있습니다.

 root@solaris:~# beadm create solaris1@snap


(4)부트 환경 복제하기 ( 클론 )


 부트 환경의 스냅샷을 기반으로 복제(클론)을 생성합니다.

 root@solaris:~# beadm create -e solaris1@snap solaris1-1


(5) 부트 환경 활성화


 부트 환경을 활성화 합니다. Active 필드의 N과 R이 따로 적용됨을 확인할 수 있습니다.

 root@solaris:~# beadm activate solaris1-1


(6) 부트 환경의 삭제


 부트 환경을 삭제하고자 하면 아래와 같이 삭제 할 수 있습니다.

 root@solaris:~# beadm destroy solaris1-1
Are you sure you want to destroy solaris1?  This action cannot be undone(y/[n]): y


(7) 부트 환경의 이름 변경


 부트 환경의 이름을 변경하고자 하면 아래와 같이 변경할 수 있습니다.

 root@solaris:~# beadm rename solaris1-1 solaris3


(8)비활성 부트 환경의 마운트 / 언마운트 / 패키지 관리

 현재 부트 환경으로 사용되지 않지만 부트 환경을 마운트 하여 해당 부트 환경에 패키지를 설치 할 수 있습니다.
 마운트를 하고 cd 명령으로 해당 마운트 경로에 이동하여 디렉토리 및 파일을 확인 할 수 있고 , 별도의 패키지 관리도 할 수 있습니다. 마운트 해제도 가능합니다.

 root@solaris:~# beadm mount solaris1-1 /solaris3
 

root@solaris:~# pkg -R /solaris3 list apptrace          // 목록확인

root@solaris:~# pkg -R /solaris3 info apptrace         // 정보확인

root@solaris:~# pkg -R /solaris3 install apptrace     // 설치

root@solaris:~# pkg -R /solaris3 uninstall apptrace  // 설치제거


root@solaris:/# beadm umount solaris-1-1


솔라리스 부트 관리 기능은 매우 단순합니다. 그렇지만 활용해 보면 그 기능은 단순하지 않습니다.

다양한 부트 환경을 보다 쉽게 관리할 수 있고 , 추적할 수 있으며, 원하는 부트 환경으로 롤백이 된다는 점은 매우 유용합니다.


꼭 한번 활용해 보시길 바랍니다...~