목요일 6월 11, 2009

지난 포스팅에서는 기존 버전의 OpenSolaris로부터 OpenSolaris 2009.06로 라이브 업그레이드하는 방법을 알아보았는데요. 이번에는 가장 기본적인 LiveCD 이미지로부터 설치하는 과정을 소개 드리겠습니다. 최소 시스템 사양은 메모리 512GB 이상, 디스크 최소 3.2GB이상, 9GB이상 권장이며 설치 과정은 '이보다 더 쉬울 수 없다' 수준입니다.

우선 라이브 시디 이미지는 www.opensolaris.com/get 사이트를 통하여 무료로 다운로드 받으실 수 있고, 각종 미러 사이트들을 통해서도 배포되고 있습니다. iso 파일로 만들어진 이미지를 다운로드 받아서 CD로 굽거나 하여 부팅하시면 되고, 가상화된 환경에서 이미지를 마운트하여 사용하여도 됩니다. 참고로 저는 제 랩탑의 오픈솔라리스는 이미지업데이트를 통하여 라이브 업그레이드를 하였고, 이번에는 이미지 캡쳐를 위해서 VirtualBox 위에서 새로 설치하였습니다.

라이브 시디 부팅을 하게 되면 위와 같은 설치 메뉴가 나타나게 됩니다. 위부터 순서대로 기본 라이브시디 부팅, VESA 드라이버 모드로 부팅, 텍스트 콘솔 부팅을 하고 시디롬이 아닌 디스크로부터 부팅할 수도 있습니다. 또한 라이브시디 환경에 ssh 로 접속할 수 있는 부팅 모드가 지원됩니다. 재미있는 메뉴는 magnifier와 screen reader인데요. 각각 데스크탑 화면에 대한 돋보기 기능과 보이스 기능을 지원하여 시력이 약한 사용자(???)라도 OpenSolaris를 설치할 수 있도록 합니다. @.@


이번 2009.06 버전부터는 언어지원이 더욱 많아져서 Korean이 21번 메뉴에 있습니다.


키보드 레이아웃을 선택합니다.


짜잔~ 라이브 시디로 부팅한 기본 데스크탑 화면입니다. 바탕화면의 월 페이퍼 이미지가 구름과 같은 이미지로 바뀌었네요. 왠지 며칠 전에 봤던 '천사와 악마' 영화의 이미지가 연상됩니다. 바탕화면 아이콘은 예전과 마찬가지로 시디롬 내용보기, 장치드라이브 유틸리티, 시작가이드, 설치 버튼이 보입니다.


우선 장치 드라이버 유틸리티를 실행하면 위와 같이 내 시스템의 모든 디바이스의 드라이버 지원 여부를 검사해주고 패키지 저장소로부터 다운로드 가능한 드라이버는 바로 설치할 수도 있습니다. 저는 가상 시스템이기 때문에 오디오 컨트롤러의 드라이버가 지원되지 않는다고 나오네요. 제 랩탑에서는 네트워크 드라이버가 지원되지 않아 제조사 웹사이트에서 다운로드 받아서 설치해야 했습니다. 한편 위 창에서 '제출' 버튼을 누르면 내 시스템이 자동으로 썬의 '하드웨어 호환성 목록'에 등록되게 됩니다.


이제 설치를 진행합니다.


설치할 디스크를 선택하는 화면입니다. 디스크를 선택하고 디스크의 파티션을 지정하거나 디스크 전체 사용을 지정하면 그 곳에 설치를 진행하게 됩니다. 그런데 기존에 솔라리스를 설치해보신 분들은 눈치채시겠지만 절차가 굉장히 간단해졌지요? 네 바로 슬라이스를 나누는 과정이 없습니다. 기존 솔라리스 10 이전 인스톨러에서는 선택한 솔라리스 파티션에 다시 슬라이스를 나누고 swap 공간 및 export 등 주요 시스템 디렉토리의 크기 등을 지정하느라고 복잡한 산수계산도 해야되고 번거로운 과정이 있었었는데요. OpenSolaris에서는 이 과정이 없어졌습니다.

OpenSolaris의 가장 큰 특징 가운데 하나가 ZFS 파일 시스템을 사용한다는 것인데요. ZFS 파일 시스템에서는 스토리지 볼륨을 가상화된 스토리지 풀로서 관리하고 이를 데이터셋으로 나누어 관리를 하기 때문에 굳이 기존 슬라이스를 분할할 필요가 없어진 것입니다. 덕분에 설치가 한결 간편해 졌고 또한 잘못된 슬라이스 구성으로 인해서 더 이상 프로그램을 설치하지 못한다거나 사용자 용량을 추가한다거나 하는 일을 못하게 되는 문제도 발생하지 않게 되었습니다.

그러면 swap 공간은 어떻게 지정하는가? 설치 프로그램이 사용자가 선택한 솔라리스 파티션을 스토리지 풀로 생성하면서 아래와 같이 자동으로 rpool/dump, rpool/swap 데이터셋을 생성하게 됩니다.

snoopy@opensolaris-snoopy:~$ zfs list
NAME                       USED  AVAIL  REFER  MOUNTPOINT
rpool                     45.9G   106G  75.5K  /rpool
rpool/ROOT                3.85G   106G    18K  legacy
rpool/ROOT/opensolaris    84.2M   106G  3.32G  /
rpool/dump                1019M   106G  1019M  -
rpool/export              40.0G   106G    21K  /export
rpool/export/home         40.0G   106G    19K  /export/home
rpool/export/home/snoopy  40.0G   106G  40.0G  /export/home/snoopy
rpool/swap                1019M   106G   556M  -

크기는 swap, dump 디바이스 모두 최소 64MB ~ 최대 2GB 한도 내에서 물리적 메모리의 50%를 자동으로 생성하며, 설치 뒤  zfs 데이터셋의 볼륨 크기를 조절함으로서 swap 및 dump 디바이스의 크기를 조절할 수도 있습니다.


15

사용자 지역을 선택합니다. 지도에서 점만 선택하면 되는데, 주의하지 않으면 평양을 찍을 수도 있습니다. 요즘 같은 공안 정국에는 불려갈 수 있으니 주의 하여야 합니다. -_-


언어를 선택하구요.


사용자 계정을 추가하면 바로 설치가 들어가게 되는데요.

눈여겨 볼만한 것이 여기서 루트는 Role, 사용자 계정은 User 입니다. Role은 사용자 홈 디렉토리를 가지지 않고 콘솔 로그인을 할 수 없는 역할 유저이기 때문에 여기서 일반 사용자 계정을 만들고 설치 뒤 루트 사용자로 로그인하게 되면 로그인이 되지 않습니다. 일반 사용자로 로그인 한 뒤 su 커맨드로 root 사용자가 되거나 또는 pfexec 하여 "Primary Administrator" 사용자 프로파일을 통하여 명령어를 실행하여야 합니다.

단 여기서 아무 것도 입력하지 않고, 일반 사용자 계정을 만들지 않으면 root 가 일반 사용자가 되어 로그인할 수 있게 됩니다. 참고로 라이브 시디로 부팅한 환경에서는 사용자 계정/비밀번호는 root / opensolaris 및 jack / jack 이 기본으로 만들어져 있습니다.


모두 입력합니다.


이제 설치 버튼만 누르면 설치를 시작합니다.


위와 같이 다양한 이미지들이 나오면서 설치를 진행하게 됩니다. 설치는 시스템 마다 다르겠지만 15분 전후에 설치할 수 있습니다.

설치를 완료하고 재부팅을 합니다.


디스크에서 부팅하면 새로운 GRUB 메뉴를 확인할 수 있습니다.


'일반 사용자 계정'으로 로그인을 하시구요.


여기까지가 설치 완료입니다. 참 쉽죠~?

일반 랩탑이나 시스템에 설치한 경우는 여기까지가 설치완료이지만, 저처럼 버추얼박스 위에 설치한 경우에는 이후 추가 작업이 필요합니다. 바로 게스트 확장의 설치입니다.


버추얼박스 메뉴에서 장치-> 게스트 확장을 선택하면 CDROM 이미지를 가상시스템에 마운트하여 주게 됩니다. 게스트 확장은 반드시 설치하셔야 게스트-호스트 운영체제를 마우스가 seamless하게 이동할 수 있고, 다양한 해상도로 게스트 운영체제의 창 크기를 조절할 수 있는 등 편리하게 사용할 수 있습니다.


게스트 확장 설치를 누르면 자동으로 설치 프로그램이 실행되고 이를 실행시키면 아래와 같이 설치를 진행하게 됩니다.


게스트 확장까지 설치하고 이제 게스트를 재부팅하면 끝입니다. :)

다음에는 Automated Installer를 이용한 설치 방법에 대해서 포스팅해 보도록 하겠습니다.

화요일 6월 09, 2009

이번에는 OpenSolaris 2009.06을 설치해 보겠습니다.

OpenSolaris 2009.06을 설치하는 경우는 크게 세 가지 정도가 있겠는데요. 기존 오픈 솔라리스로부터 업데이트 하는 방법, LiveCD 이미지로 설치하는 방법 및 Automated Installer 이미지를 통해 설치하는 방법이 있겠습니다.

먼저 기존의 OpenSolaris를 업데이트해 보도록 하겠습니다. 업데이트는 단순히 현재 설치된 패키지들을 보다 최신 빌드의 패키지로 설치하는 패키지 업데이트와 새로운 부트 환경을 생성하는 이미지 업데이트로 나뉘는데요. 패키지 업데이트는 릴리즈가 업데이트되지는 않고 기존에 설치된 패키지들만 이미지 업데이트를 하여야 새로운 릴리즈 환경으로 설치가 가능합니다.

이미지 업데이트는 단지 'pkg image-update' 커맨드만을 실행하면 최신의 OpenSolaris 이미지로 업데이트를 하게 됩니다. 기존 솔라리스 10에서는 운영체제 이미지 업데이트를 위하여 Live Upgrade 기능을 제공했었는데, Live Upgrade는 새로운 부트 환경을 설치할 비어있는 파티션이 있어야 하고 때문에 용량을 많이 차지했었지만 OpenSolaris에서는 ZFS의 데이터셋 및 스냅샷 기능을 이용하여 새로운 부트 환경을 만들 수 있기 때문에 비어있는 파티션이 없어도 되고 마지막에 확인하실 수 있지만 새로운 부트 환경을 위한 용량도 거의 많이 차지하지 않습니다. 아래처럼 pkg 커맨드를 실행하기만 하면 새로운 부트 환경도 자동으로 생성하여 업데이트 합니다. 기존의 Live Upgrade에서는 lucreate-luupgrade-luactivate 를 실행하여야 했었는데, 업그레이드 과정도 매우 쉬워진 것이죠.

업데이트 해보겠습니다.

snoopy@opensolaris-snoopy:~# pkg image-update
경고: pkg(5)가 최신 버전이 아닌 것 같습니다. image-update를 실행하기 전에
업데이트해야 합니다.

'pfexec pkg install SUNWipkg'를 사용하여 pkg(5)를 업데이트한 후
image-update를 시도하십시오.

켁~!! ㅜ.ㅠ 저는 OpenSolaris 2008.11 버전을 설치하여 사용하고 있었는데 SUNWipkg를 먼저 설치하라고 하는군요. pkg 커맨드 자체를 업그레이드하라는 이야기인데요. 해당 패키지를 검색한 뒤 설치해 보겠습니다.

snoopy@opensolaris-snoopy:~# pkg search SUNWipkg
Search capabilities and performance are degraded.
To improve, run 'pkg rebuild-index'.
INDEX      ACTION    VALUE            PACKAGE
fmri       set       fmri             pkg:/SUNWipkg@0.5.11-0.101
snoopy@opensolaris-snoopy:~# pkg search -r SUNWipkg
INDEX      ACTION    VALUE            PACKAGE
srcpkgs    set       SUNWipkg         pkg:/SUNWipkg@0.5.11-0.75
srcpkgs    set       SUNWipkg                  pkg:/SUNWipkg@0.5.11-0.75
noopy@opensolaris-snoopy:~# pkg install SUNWipkg
PHASE                 ITEMS
Indexing Packages     554/554
DOWNLOAD              PKGS       FILES     XFER (MB)
Completed             8/8     480/480     2.20/2.20

PHASE                                        ACTIONS
Removal Phase                                46/46
Install Phase                                431/431
Update Phase                                 236/236
Reading Existing Index                       9/9
Indexing Packages                            8/8

Repository에 있는 패키지와 로컬에 있는 패키지를 검색해 봤더니 각각 111 빌드와 75 빌드의 파일이 있어 최신 빌드인 111 빌드로 패키지를 설치했습니다. 이제 다시 이미지 업데이트를 해보겠습니다.

snoopy@opensolaris-snoopy:~# pkg image-update
Creating Plan \/

이미지 업데이트를 하면 위처럼 업데이트 계획을 세우고 곧 이어 업데이트에 들어가게 됩니다.

snoopy@opensolaris-snoopy:~# pkg image-update
DOWNLOAD                                    PKGS       FILES           XFER (MB)
Completed                                      565/565    23050/23050  439.66/439.66

PHASE                                           ACTIONS
Removal Phase                              8036/8036
Install Phase                                  9205/9205
Update Phase                                31727/31727
PHASE                                           ITEMS
Indexing Packages                         565/565

opensolaris의 복제본이 있으며 업데이트 및 활성화되었습니다.
다음 부트 시 부트 환경 opensolaris-1이(가) '/'에 마운트됩니다.
이 업데이트된 BE로 전환할 준비가 완료되면 재부트하십시오.


---------------------------------------------------------------------------
주: 다음 위치에 게시된 릴리스 노트를 검토하십시오.

http://opensolaris.org/os/project/indiana/resources/relnotes/200906/x86/
----------------------------------------------------------------------! -----


네트워크에 따라 차이가 있겠지만 일정한 시간이 지나고 나서 모두 다운로드 & 설치하였습니다. 오픈 솔라리스의 가장 큰 장점이 바로 이렇게 쉽게 새로운 이미지를 설치해보고 테스트해 볼 수 있다는 것입니다. 단지 pkg image-update 커맨드 하나 만으로 새로운 릴리즈로 업데이트해 볼 수 있고 beadm 커맨드 또는 GRUB 메뉴를 통해서 여러개의 부트 환경(BE, Boot Environment)를 선택해서 부팅해가면서 사용할 수 있습니다. 

아래는 이미지 업데이트 후 새로 부팅하고 난 뒤 GRUB 메뉴 입니다. opensolaris-1 이라는 이름으로 새로운 BE가 생성되어 GRUB 메뉴 리스트에 추가가 되어 있고 자동으로 활성화까지 되어 있는 것을 확인할 수 있습니다.

이제 업데이트한 이미지를 통해 릴리즈 버전이 OpenSolaris 2008.11에서 OpenSolaris 2009.06으로 바뀐 것을 볼 수 있습니다. 그리고 beadm 커맨드를 통해서 보면 새로운 BE를 생성하고 난 뒤에도 추가적인 용량은 25.41MB 정도로 거의 많이 차지하지 않는 것을 확인할 수 있습니다. 바로 ZFS 파일시스템의 힘으로 OpenSolaris 파워 유저들은 매 빌드가 나올 때마다 이미지-업데이트를 해서 GRUB 메뉴만 해도 수페이지에 달하게 되는 진기한(??) 광경도 볼 수 있게 됩니다.

참고로 업데이트는 pkg 커맨드 뿐만 아니라 업데이트 매니저를 통해서도 하��� 수 있습니다. OpenSolaris 메뉴에서 '시스템 -> 관리 -> 업데이트 매니저'를 실행시키면 아래와 같은 화면이 나오고, 각 패키지를 선택하여 업데이트하거나 '모두 업데이트'버튼을 누르면 이미지 업데이트를 실행하게 됩니다.



금요일 6월 05, 2009

2009 년 6월 1일 미국 샌프란시스코의 모스콘센터에서 열린 썬의 CommunityOne 행사에서 OpenSolaris OS의 세번째 릴리즈인 OpenSolaris 2009.06 이 발표되었습니다. CommunityOne 행사는 매년 열리는 JavaOne 행사에 앞서 열리는 오픈소스 기술 및 오픈소스 커뮤니티에 관한 컨퍼런스로 이번 2009년 CommunityOne에서는 크게 OpenSolaris 2009.06 버전의 릴리즈와 올 하반기 서비스 예정이 썬의 퍼블릭 클라우드 컴퓨팅 서비스인 썬 클라우드(Sun Cloud)에 대한 프리뷰의 내용으로 컨퍼런스가 진행되었습니다.

작년 커뮤니티원 행사를 통해 처음 발표된 OpenSolaris 2008.05가 데스크탑 사용자를 위한 릴리즈, 작년 11월 발표된 OpenSolaris 2008.11이 개발자 및 웹 환경을 위한 릴리즈라면 이번에 발표된 OpenSolaris 2009.05 릴리즈는 바로 엔터프라이즈 환경을 위한 릴리즈로 SPARC 플랫폼 지원 및 시스템 가상화 기능 향상, 네트워크 가상화 기능 추가, 스토리지 가상화 기능 추가, 패키지 저장소 기능 향상, Intel Nehalm 프로세서 지원 향상 등 데이터센터 내의 서버 시스템을 위한 새로운 기능들을 다수 포함하였다고 할 수 있습니다.

주요 새로운 기능들을 살펴보면 다음과 같습니다.

SPARC 플랫폼 지원

이번 릴리즈가 엔터프라이즈 환경을 위한 릴리즈라고 할 수 있는 것은 바로 SPARC 플랫폼을 지원하기 때문이라고 할 수 있겠습니다. OpenSolaris 2008.06 은 x86버전과 SPARC버전 두가지 바이너리로 배포가 되며 SPARC 버전은 SPARC64 VI,VII 프로세스를 장착한 SPARC Enterprise M 시리즈 시스템들과 UltraSPARC T1,T2 프로세스를 장착한 SPARC Enterprise T 시리즈 시스템들을 모두 지원합니다.

* 하드웨어 호환 시스템 리스트 - BigAdmin: Hardware Compatibility List

Automated Installer supported version

OpenSolaris 2009.06의 SPARC 바이너리는 Automated Installer 형태로 지원합니다. Automated Installer 기능은 기존 솔라리스10에서 사용되던 Flash Archive에 해당하는 기능으로 일종의 고스트 이미지와 같은 형태로 운영체제 이미지를 생성하여 이 이미지를 기반으로 시스템에 운영체제를 설치하는 기능입니다. 운영체제 설치이미지로부터 설치하는 것에 비하여 원클릭으로 쉽고 빠르게 설치할 수 있는 장점이 있으며 특히 SPARC 시스템과 같은 경우 다른 x86 시스템으로부터 부팅하여 설치가 가능하기 때문에 관리자의 랩탑이나 데스크탑으로부터 설치가 가능하여 설치가 한결 편리해졌다고 할 수 있습니다.

SPARC 바이너리 배포에 따라 현재 OpenSolaris 2009.06은 x86 LiveCD image, x86 Automated Install image, SPARC Automated Install image의 세가지 이미지로 배포되고 있습니다.

* OpenSolaris 2009.06 Download - http://opensolaris.com/get

System Virtualization improvement

한편 OpenSolaris 2009.06의 SPARC 지원에 따라 자연스럽게 SPARC 시스템이 제공하는 시스템 가상화 기능을 지원할 수 있게 되었습니다. UltraSPARC프로세서를 장착한 SPARC Enterprise T 시리즈 시스템은 자체 내장된 펌웨어 하이퍼바이저를 통하여 LDOM(Logical Domain)이라는 시스템 가상화 기술을 제공하고 있습니다. LDOM 가상화 기술은 펌웨어 내장 및 반가상화 기술(Para-Virtualization) 기술을 적용하여 가상화에 따른 시스템의 오버헤드가 훨씬 적은 방식의 효율적인 가상화 기술인데요. OpenSolaris 2009.06은 LDOM 호스트 및 게스트 운영체제로 지원이 가능하게 되었습니다.

 - 썬 가상화 기술 포트폴리오 -

기존 OpenSolaris OS에서는 x86 시스템 가상화를 위한 xVM Hypervisor 및 운영체제 가상화 기술인 컨테이너 기능을 제공하고 있었는데, 이번 릴리즈로 인하여 SPARC 시스템에서의 가상화 기술을 지원함으로서 OpenSolaris가 모든 시스템 가상화 기술을 제공할 수 있게 된 것에 큰 의미가 있다고 할 수 있겠습니다.

Network Virtualization

이번 OpenSolaris 2009.06에서는 Crossbow라는 프로젝트 이름의 네트워크 가상화 기술을 제공합니다. Crossbow에서 제공하는 기능은 크게 VirtualNIC(VNIC)과 플로우 컨트롤(Flow Control)인데요. VNIC은 물리적으로 존재하는 네트워크 인터페이스(NIC)을 분할하여 가상의 네트워크 인터페이스(VNIC)를 제공하는 기능입니다. 예를 들면 e1000g0 인터페이스를 분할하여 VNIC0, VNIC1,...과 같은 인터페이스로 분할하는 것입니다. 기존의 가상 NIC(e1000g0:1, e1000g0:2,..)과 다른 점은 기존의 가상 NIC이 단지 물리적 NIC을 공유하면서 IP 주소를 복수로 사용할 수 있는 기능을 제공하는 데에 그쳤다면 크로스보우 VNIC은 VNIC별로 네트워크 대역폭을 지정할 수 있다는 것입니다. 이를테면 1000MB NIC을 100MB, 200MB, 300MB, 400MB으로 각각의 대역폭을 갖는 VNIC으로 분할 할 수 있다는 것인데요. 이를 통해 VNIC을 사용하는 서비스 들에 대해서 전용으로 할당된 대역폭을 보장해 줄 수가 있게 되었습니다.

- Crossbow Network Virtualization -  

VNIC은 시스템 가상화 환경에서 매우 유용할 수 있는데요. 시스템에 장착된 물리적 NIC의 개수보다 더 많은 가상 머신들이 운영되는 환경이라면 불가피하게 가상머신 들이 NIC을 공유할 수 밖에 없는데, 이 경우 기존의 환경에서는 NIC을 공유하는 특정 가상 머신이 대역폭을 너무 많이 사용하게 되면 다른 가상 머신이 대역폭을 점유하지 못함으로서 문제가 되고 Latency에 있어서도 문제가 될 수 있는데, 크로스보우의 VNIC을 사용하게 되면 가상 머신끼리 NIC을 공유하는 환경에서도 가상 머신 별로 네트워크 대역폭을 보장 받을 수가 있게 됩니다.

한편 VNIC 기능과 함께 제공하는 플로우 컨트롤 기능은 네트워크 플로우에 대하여 대역폭의 제한값, 우선순위, 전용 CPU 자원할당 기능을 제공합니다. 예를 들어 특정 시스템에서 FTP, HTTP, UDP 프로토콜을 사용하는 서비스가 운영되고 있다고 할 때 각 프로토콜 별로 네트워크 대역폭을 제한하여 FTP 서비스가 갑자기 많은 대역폭을 사용함으로서 다른 네트워크 서비스에도 영향을 끼치는 것을 막을 수가 있고, 또 플로우별로 우선순위를 지정하여 네트워크 대역폭에 대하여 서로 사용하기 위한 경쟁 상황이 발생했을 때 이를 스케줄링 할 수 있는 기능을 제공합니다. 또한 특정 CPU 자원을 플로우에 할당하여 네트워크 서비스를 지원하도록 할 수도 있습니다.

가상화된 환경에서의 네트워크 서비스에 있어서 한단계 진화한 수준이라고 할 수 있겠는데요. GLD v2 이상의 네트워크 인터페이스에 대하여 적용되는 기술입니다.

* Supported smard NICs - http://www.opensolaris.org/os/project/crossbow/topics/nic/

Storage Virtualization

또한 OpenSolaris 2009.06부터 COMSTAR 프로젝트를 통하여 스토리지 가상화 기술을 제공하고 있습니다. COMSTAR는 Common Multiprotocol Storage Target이라고 하는 소프트웨어 프레임워크로 이더넷 네트워크를 통하여 멀티 프로토콜의 SCSI 인터페이스를 제공하기 위한 스토리지 가상화 기술입니다. 오른쪽 그림에서 보듯이 OpenSolaris를 탑재한 시스템에서 네트워크를 기반으로 다양한 호스트 들에 대하여 SCSI 타켓을 제공해 주게 되는데요. SAN 구성을 위한 고비용을 들이지 않고 일반 이더넷 네트워크를 기반으로 한다는 점에서 iSCSI나 FCoE와 비슷하나 다른 프로토콜 위에 FC 프로토콜을 탑재하여 동작하는 것이 아니라 FC 케이블의 물리적 인터페이스를 이더넷 인터페이스로 대체하여 오버헤드가 더 작은 방식으로 성능이 뛰어나고 FC, iSCSI 등의 멀티 프로토콜을 지원하는 차이가 있습니다.

기타 기능 향상

한편 Package Manager의 GUI 및 성능 향상, IPS 패키지 기능 향상, 데스크탑 사용자 기능 향상 , HW/Driver 지원 향상 등 많은 지원이 있었는데요.

이번 OpenSolaris 2009.06 버전의 릴리즈로 다른 운영체제와는 궤를 달리하는 솔라리스 운영체제의 한차원 높은 최신 기능 들을 SPARC 시스템 등 엔터프라이즈 환경에서 더욱 쉽게 사용할 수 있도록 한 것과 큰 의미가 있지 않나 싶습니다. 아래 참조할 수 있는 내용들을 정리해 보았습니다.

Resources 

  • OpenSolaris 2009.06 overview - Video
  • What's New in OpenSolaris 2009.06 - Video
  • Networking Technologies within OpenSolaris 2009.06 - Video
  • Ready for the Enterprise: OpenSolaris 2009.06 - Video
  • OpenSolaris support for Developers & the Enterprise - Video

화요일 5월 26, 2009

오늘 있었던 썬 솔루션 데이 행사에서 '가상화 인프라의 선진 운영 기술'이라는 제목으로 제가 발표를 했는데요. 그 중에 썬의 전체 시스템 가상화 기술의 포트폴리오를 나열한 슬라이드 이미지를 올려봅니다. 

짜짠~!! 슬라이드의 내용을 한 눈에 알아보셨나요? 하드 파티션, SPARC 가상머신 기반 기술에서 지원하는 운영체제에 오픈 솔라리스가 올라와 있습니다. 바로 OpenSolaris가 이제 SPARC 플랫폼에서도 지원이 된다는 내용인데요.

매년 썬에서 개최하는 행사 가운데 가장 큰 행사로 유명한 Java One이 있습니다. 전 세계 자바 개발자들의 컨퍼런스인데요. 작년부터는 이 자바원 행사 전날은 Community One이라는 오픈소스 커뮤니티들의 컨퍼런스를 개최해오고 있습니다. 그런데 Community One 행사에서는 가장 하이라이트가 새로운 버전의 OpenSolaris 버전을 공개하는 것이고 작년 6월에 OpenSolaris의 첫번째 버전인 OpenSolaris 2008.05 버전을 발표한 바 있습니다.

올해도 어김없이 6월 1~3 기간 동안 커뮤니티원 컨퍼런스가 개최되고 이번에 OpenSolaris의 세번째 버전인 OpenSolaris 2009.06을 발표할 계획인데요. 이번 버전의 가장 큰 특징이 바로 SPARC 버전의 릴리즈입니다. 이제 공식발표가 며칠 남지 않았는데요. 새버전이 나오면 자세한 내용은 별도 포스팅에서 소개해 드리기로 하고 신기능들의 요약만 올려봅니다. 새로운 오픈 솔라리스 완전 기대입니다. :)

Focus on Web2.0 environments

Installation
 - Automated installation, with JumpStart migration
 - On-disk package repository

SPARC support
 - LDoms Support (2009.06 as Guest OS or Control Domain)

x86 improvements
 - Suspend/resume improvements
 - Nehalem Deep Down C-state
 - Updated FOSS software
 - Ruby, Ruby Gems, Lighttpd, MySQL 5.1, Xorg 1.5, ...

Storage
 - COMSTAR iSCSI Target for x86
 - Turns any OpenSolaris host into a SCSI target
 - Enhanced InfiniBand support
 - SATA RAID

Networking
 - Crossbow Phase 1 (Virtual NICs)
 - Improved IP observability

Shadow copy
Host-based access control
ACLs on shares
Oplocks (Opportunistic Locks)
AD Cross-Forest Trust
Client-side caching
IPv6 support




월요일 5월 11, 2009

솔라리스 9의 EOL(End-of-Life) 발표에 즈음하여 솔라리스의 릴리즈 정책 및 지원 모델에 대하여 정리해 보았습니다. 기업 사용자 입장에서 오픈 소스 소프트웨어를 도입하는데 가장 큰 이슈 가운데 하나는 바로 서비스 지원의 문제인데요. 책임있는 업체에서 충실하게 서비스를 지원하는가, 고객의 투자 보호를 위해서 충분한 기간 동안 서비스를 지원하는가 등의 이슈가 있게 됩니다. 솔라리스는 오픈소스 운영체제이지만 어느 상용 어플리케이션보다 안정적인 개발 모델 및 충실한 서비스 지원 모델을 가지고 있는 것을 확인하실 수 있습니다.

솔라리스 개발, 릴리즈 모델

우선 솔라리스 10 및 오픈 솔라리스의 개발 및 릴리즈 모델은 다음 그림과 같습니다.

- 솔라리스 10 및 오픈 솔라리스 릴리즈 모델 - 

솔라리스는 매 3년~5년마다 새로운 릴리즈(i.e. Solaris 8, Solaris 9, Solaris 10, ...)를 발표하며 매 분기마다 업데이트 버전(i.e. Update 4, Update5, Update 6, ...)을 발표합니다. 업데이트 버전은 버그 픽스, 하드웨어 업데이트, 새로운 기능 등을 포함하는데요. 전체 릴리즈는 약 10년 이상의 장기간 서비스 지원을 제공합니다.

또한 오픈 솔라리스는 매 6개월 마다 새로운 릴리즈를 발표하며 18개월의 서비스 지원을 제공합니다.

위 그림에서 언급되지 않은 것이 OpenSolaris.org에서 개발, 배포되는 Solaris Express Community Edition(이하, SXCE)인데요. SXCE는 Nevada라는 코드 네임으로 리눅스로 치면 페도라 코어와 유사하다 할 수 있는 오픈 솔라리스의 소스코드 베이스로 커뮤니티 사이트를 통해서 매 2주마다 릴리즈가 되고 ..., b101, b102, b103,..., b113 과 같은 이름으로 소스코드 빌드 번호가 붙어 계속해서 업데이트가 됩니다.

SXCE와 OpenSolaris와 Solaris 10은 각각 소프트웨어의 알파 - 베타 - 공개 버전에 해당할 수 있겠는데요. 매 2주마다 릴리즈되는 SXCE로부터 OpenSolaris는 1차 안정화 및 패키징을 거쳐 같은 빌드 번호의 빌드들을 배포합니다. 각 빌드에 따른 배포판을 다운로드(http://www.genunix.com)받을 수도 있구요. 설치돼 있는 OpenSolaris에서는 pkg image-update 커맨드를 통해서 최신의 빌드로 업데이트를 할 수도 있습니다. 이 OpenSolaris 로부터 기능이 검증되고 안정화된 기능들이 비로소 Solaris 10의 업데이트 버전을 통해 배포가 됩니다. 이러한 3단계 개발&릴리즈 모델을 통하여 솔라리스 10의 릴리즈의 안정성이 더해질 수 있습니다. 그런데 기본적인 릴리즈 모델에서는 매 분기마다 업데이트 버전이 발표된다고 하지만 실제로 업데이트 버전의 릴리즈는 규칙적이지는 않아서 2005년 1월에 발표된 이후로 2009년이 되었지만 아직까지 업데이트 버전은 6까지입니다. 

참고로 아래는 지금까지 릴리즈된 솔라리스 10 및 업데이트 버전의 코드네임입니다. 

Solaris 10 = on10/s10 = SunOS 5.10
            s10_52 = SunOS 5.10 Beta 1 (03/04)
            s10_54 = SunOS 5.10 Beta 2 (04/04)
            s10_55 = SunOS 5.10 Beta 3 (05/04)
            s10_58 = SunOS 5.10 Beta 4 (06/04)
            s10_63 = SunOS 5.10 Beta 6 (08/04)
            s10_69 = SunOS 5.10 Beta 7 (10/04)
Solaris 10 = s10_74L2a = SunOS 5.10 FCS (GA 3/05)
Solaris 10 3/05 HW1 = (s10s_wos_74L2a) = SunOS 5.10 HW1 (GA 7/05)
Solaris 10 3/05 HW2 = (s10s_hw2wos_05) = SunOS 5.10 HW2 (GA 9/05)
Solaris 10 1/06 = s10_u1(s10s_u1wos_19a) = SunOS 5.10 Update 1 (GA 1/06)
Solaris 10 6/06 = s10_u2(s10s_u2wos_09a) = SunOS 5.10 Update 2 (GA 6/06)
Solaris 10 11/06 = s10_u3(s10s_u3wos_10) = SunOS 5.10 Update 3 (GA 11/06)
Solaris 10 08/07 = s10_u4(s10s_u4wos_12b) = SunOS 5.10 Update 4 (GA 08/07)
Solaris 10 05/08 = s10_u5(s10s_u5wos_10) = SunOS 5.10 Update 5 (GA 05/08)
Solaris 10 10/08 = s10_u6(s10s_u6wos_07a) = SunOS 5.10 Update 6 (GA 10/08)
Solaris 10 05/09 = s10_u7(s10s_u7wos_08) = SunOS 5.10 Update 7 (GA 05/09) (예정)

 

솔라리스 라이프 사이클 모델

- 솔라리스 10 라이프 사이클 모델 -

위의 그림은 솔라리스의 라이프 사이클 모델(http://www.sun.com/software/solaris/lifecycle.xml)입니다. 솔라리스는 10년 이상의 라이프 사이클을 제공하기 위한 릴리즈 및 지원 모델을 가지고 있는데요. 이를 요약한 것이 위의 그림이 되겠습니다.

  • E1. General Availability : 일반 사용자에게 제공 가능한 기간입니다. 현재 솔라리스9, 솔라리스 10에 해당하는 기간으로 이 기간 동안 사용자는 사용권을 구입하거나 또는 무료로 다운로드 받아서 사용하거나 또는 시스템 구매시 사전 설치되어 사용할 수 있습니다. 일단 릴리즈가 되면 최소 4년 반 이상 가능합니다.
  • E2. End of Life (EOL) 사전 공지 : 해당 버전의 솔라리스가 곧 EOL될 것임을 알리는 시기입니다. 사전 발표 후 1년 뒤 EOL에 대한 정식 발표가 있게 됩니다.
  • E3. End of Life (EOL) 공지 : 지난 4월 28일 솔라리스 9에 대해서 발표된 내용입니다. EOL이 발표되면 그 날로부터 약 90일 동안 마지막 주문(Last Order) 기간을 시작하게 됩니다.
  • E4. Last Order Date (LOD) : 이 기간까지 마지막 주문을 할 수 있습니다. 솔라리스 9의 경우는 7월 31일까지입니다. 다만 마지막 주문은 솔라리스의 사용권 및 미디어에 대한 주문으로 새로운 서비스 계약은 E7 즉, 제품 수명이 다하는 날까지도 신규 계약을 할 수 있습니다.
  • E5. Last Ship Date (LSD) : 마지막 주문 이후 90일 동안 썬에서는 고객에게 솔라리스의 사용권 및 미디어를 제공합니다. 솔라리스 9의 경우는 10월 30일까지입니다. 마지막 주문이후의 일종의 배송기간으로 생각할 수 있습니다. 이 날 이후로는 바로 Retirement Phase 1 기간으로 돌입합니다.
  • E5 to E6. Retirement Phase 1 : 솔라리스가 단종된 이후 단종 지원 기간은 1단계 / 2단계로 나뉘어 지원을 하게 되는데요. 1단계 기간 동안에는 GA기간과 동일하게 서비스 지원이 제공되고 필요에 따라 패치도 제공됩니다. 다만 새로운 Change Request 및 Bug Fix 요청은 받아들여지지 않고, 기존에 알려진 또는 발생한 문제에 대한 패치만 제공되게 됩니다. 1단계 단종 지원은 약 2년간 제공됩니다.
  • E6 to E7. Retirement Phase 2 : 이 기간은 마지막 지원 기간으로 기존에 서비스 받던 내용을 그대로 지원 받고 고객의 요구에 따라 별도 계약에 따라 빈티지 서포트 서비스를 통해 패치를 제공받을 수도 있습니다.

위의 라이프 사이클 모델에 따르면 솔라리스는 10년 가량의 제품 수명 기간을 제공하는데요. 실제로 위 모델은 최소한의 기간으로 솔라리스 10은 GA 기간도 더 길게 제공되고 있고 단종 지원 기간도 충분히 지원되기 때문에 10년~12년 이상의 지원을 제공하고 있습니다. 솔라리스 버전에 따른 주요 날짜는 아래 페이지에서 확인할 수 있습니다.

http://www.sun.com/service/eosl/eosl_solaris.html

* 포스팅을 하는 시점에서는 솔라리스 9에 대한 단종 일자는 웹사이트에 업데이트되어 있지 않은데, 제 이전 포스트(http://blogs.sun.com/snoopy40/entry/solaris_9_eol_announcement)를 참조하시면 됩니다.


솔라리스 서비스 모델

다음은 솔라리스 서비스 모델을 살펴보도록 하겠습니다. 아래는 솔라리스 섭스크립션 서비스 사이트(http://www.sun.com/service/subscriptions/index.jsp)의 서비스 모델에 대한 표입니다.


  - 솔라리스 서비스 모델 -

오픈소스 소프트웨어는 주로 소프트웨어 사용권(RTU, Right to use)은 무료이고, 소프트웨어에 대한 서비스를 연간 구독(Annual Subscription)하는 방식을 취하고 있는데요. 솔라리스도 마찬가지입니다. 솔라리스 구독(Subscription) 서비스는 크게 베이직, 스탠다드, 프리미엄 서비스로 이루어져 있구요. 베이직 서비스는 솔라리스 패치 및 업데이트와 이와 관련한 문서 접근, 최초 설치 지원, 업무시간 중 온라인 및 전화 지원 등을 포함하고 있으며 스탠다드 서비스는 베이직 서비스에 더해 업무시간 중 4시간 이내 전화 지원서비스를 제공하고, 프리미엄 서비스는 24시간 연중무휴 전화지원 및 SunVIP 상호운용성 지원 등을 포함합니다. Solaris Everywhere 서비스는 일종의 사이트 서비스 계약으로 서버의 수와 관계없이 기업 라이센스로 썬과 서비스 계약을 제공하는 서비스입니다. 서비스의 각 항목에 대한 설명은 한국어 홈페이지(http://kr.sun.com/service/solaris10/index.html)에서도 확인할 수 있습니다.

위의 솔라리스 서비스는 시스템에 대한 서비스와 밀접한 관련이 있어서 썬 장비 위에서 솔라리스를 운용하는 경우 하드웨어 유지보수 계약에 해당하는 썬 스펙트럼 서비스 (http://www.sun.com/service/serviceplans/sunspectrum/resources.jsp) 계약이 솔라리스에 대한 서비스를 포함하고 있습니다. 즉, 하드웨어를 구매 후 서비스 계약을 하게 되면 솔라리스 서비스는 기본으로 제공되는 것입니다.

그리고 솔라리스는 썬 뿐만 아니라 HP, IBM, Fujitsu, Dell 등 탑 5 벤더 모두에 의해서 OEM으로 제공되고 있기 때문에 서비스 또한 각 벤더별 서비스 정책에 따라 서비스가 제공되는데요. 썬에서는 Solaris on IBM, Solaris on Dell, Solaris HP, Solaris on Fujitsu 에 대해서도 위의 테이블에 해당하는 솔라리스 서비스를 제공하고 있습니다. 즉 하드웨어는 IBM의 x86 장비를 사용하면서 운영체제는 썬에서 서비스를 받을 수 있다는 뜻입니다. Solaris Everywhere 서비스의 경우 썬 서버 여부에 관계없이 기업 내 모든 솔라리스에 대한 서비스를 제공할 수 있습니다.

참고로 서비스 비용은 위에 USD 기준으로 표시가 돼 있는데, 각 나라마다 가격 기준이 다르고 할인율(Discount Rate)이 다르며, 솔라리스가 설치된 시스템이 1~2소켓일 경우, 그 이상일 경우에 대한 비용이 다릅니다.

현재 포스팅을 올리는 중에 솔라리스 10의 업데이트 7이 릴리즈 (5월 12일자, ) 되었습니다. 아직 발표일 전이지만 릴리즈 문서(http://docs.sun.com/app/docs/coll/1236.10?l=en) 및 다운로드(http://www.sun.com/software/solaris/get.jsp)는 이미 가능하니 다음 포스팅에서 솔라리스 10 업데이트 7의 신기능에 대해서 이야기해 보겠습니다.

목요일 4월 30, 2009

앞선 포스팅에서 소개드린 기능은 LiveUSB로 LiveCD 기능을 USB로 하는 기능이었습니다. 이번에는 USB에 OpenSolaris를 설치해 보도록 하겠습니다. USB에 OpenSolaris를 설치하면 OpenSolaris를 내가 원하는 환경대로 구성하고 데이터를 저장하여 어느 디바이스에나 USB만 연결하면 나의 OpenSolaris 이미지를 사용할 수 있게 되는 것입니다.

설치는 아주 간단해서 LiveCD 또는 LiveUSB 등으로부터 부팅하여 인스톨러를 실행하여 일반 디스크 장치에 설치하듯이 USB 장치에 설치만 하면 되는데 OpenSolaris b106 부터 시디에 바로 설치하는 것을 지원하고 있습니다.

Blogfinger(http://blogs.sun.com/blogfinger/entry/installing_opensolaris_2008_11_on)의 포스팅에 따르면 과정은 아래와 같습니다.

1. BIOS에서 CD또는 USB로부터 부팅하도록 부트 장치 선택

2. OpenSolaris 2008.11 (b106이상) CD (또는 USB) 부팅

3. OpenSolaris를 설치할 USB 메모리 장착

4. Installer 실행 및 설치

그런데 USB 장치의 zpool 로부터 부팅하지 못하는 버그 (4755)가 있어 다음과 같은 추가 과정을 거쳐야 합니다.

1. Download this file (76.8 kB)

2. unzip and untar it to /tmp, using command
   cd /tmp
   gzip -d grub_zfs_devid.tar.gz | tar -xf -
   (will create two files: stage1 and stage2)

3. run
   zpool status
   to find out the device name of the newly created pool on the USB stick. Let's assume the device name shown is /dev/rdsk/c4t0d0s0.

4. and install the two files from the tar file on that device:
      installgrub /tmp/stage1 /tmp/stage2 /dev/rdsk/c4t0d0s0

그리고 시스템을 리붓하면 끝입니다. 다만 버그가 수정되기 전까지는 BIOS에서 부트 디바이스 순서를 변경(?!)하면 USB로 부팅이 실패한다고 합니다.

수요일 4월 15, 2009

OpenSolaris가 기존 Solaris와 다른 점 가운데 하나는 LiveCD 기능을 지원한다는 것입니다. LiveCD는 디스크에 설치 없이 CD만으로 부팅하여 운영체제의 모든 기능을 사용할 수 있도록 하는 기능인데요. OpenSolaris는 LiveCD 뿐만 아니라 LiveUSB 기능도 지원하여 USB 메모리로부터 부팅하여 OpenSolaris의 기능을 사용하거나 디스크에 OpenSolaris를 설치할 수 있도록 합니다. LiveUSB는 LiveCD 보다 속도도 훨씬 빠르고 휴대도 간편한 장점이 있는데요. 간단하게 OpenSolaris LiveUSB를 만드는 방법을 소개합니다.

 - liveUSB booting - 

Clay의 블로그 포스팅(http://blogs.sun.com/clayb/entry/creating_opensolaris_usb_sticks_is)을 보면서 따라해 보도록 하겠습니다. 과정은 간단해서 usbgen 커맨드를 실행하여 usb용 이미지를 생성하고, usbcopy 커맨드를 실행하여 앞서 만든 이미지 파일을 usb 드라이브에 복사하는 두가지 과정으로 되어 있습니다.

1. Get the distribution constructor

OpenSolaris 2008.11 버전에 소개된 기능 가운데 하나로 Distribution Constructor가 있습니다. 개발자 또는 사용자가 자신이 원하는대로 새로운 배포판을 생성할 수 있는 기능인데요. LiveUSB를 위한 이미지를 만들기 위하여 Distribution Constructor의 기능을 이용합니다. Distribution Constructor는 OpenSolaris의 SUNWdistro-const 라는 IPS 패키지로 되어 있고, b99 이후의 빌드부터 기본으로 지원하고 있습니다.

때문에 LiveUSB를 만들기 위해서는 OpenSolaris가 호스트 운영체제로 있어야 하고 OpenSolaris 2008.11 (b101)를 설치하였다면 괜찮지만 OpenSolaris 2008.05 (b86)를 사용하고 이미지 업데이트를 하지 않았다면 OpenSolaris Package Manager를 통하거나 #pkg install SUNWdistro-const 커맨드를 실행하여 Distribution Constructor를 설치하여야 합니다.

2. Get an OpenSolaris iso image

http://www.opensolaris.com/get  페이지에 가시면 iso 이미지를 받으실 수 있습니다. 또는 http://www.distrowatch.com 사이트나 http://www.genunix.org  등을 통해서도 다운로드 받으실 수 있습니다.


3. Create the USB image

이제 다운로드 받은 이미지를 USB용 이미지 파일로 변환합니다.

# usr/bin/usbgen <iso> <new usb file> /tmp


아래와 같이 변환됩니다.

    dev@opensolaris-developer:~$ pfexec /usr/bin/usbgen ~/Desktop/opensolaris2008.11.iso /export/home/dev/Desktop/os2008.11usb.iso /tmp
    /dev/rlofi/2:    1689000 sectors in 2815 cylinders of 1 tracks, 600 sectors
        824.7MB in 176 cyl groups (16 c/g, 4.69MB/g, 2240 i/g)
    super-block backups (for fsck -F ufs -o b=#) at:
     32, 9632, 19232, 28832, 38432, 48032, 57632, 67232, 76832, 86432,
     1593632, 1603232, 1612832, 1622432, 1632032, 1641632, 1651232, 1660832,
     1670432, 1680032
    Copying ISO contents to USB image...
    ..................................................
    ..................................................
    ..................................................
    .............................
    1407024 blocks
    === /usr/bin/usbgen completed at 2009년 4월 15일 수요일 오전 11시 56분 54초

      4. Copy it to a usb stick

      이제 위의 이미지를 USB에 저장합니다.

      # usr/bin/usbcopy <new usb file>


      아래와 같이 저장됩니다. <new usb file>은 절대 경로로 적어주세요.

      dev@opensolaris-developer:~$ pfexec /usr/bin/usbcopy /export/home/dev/Desktop/os2008.11usb.iso
      Found the following USB devices:
      0:    /dev/rdsk/c5t0d0p0    3.8 GB    MWR UFD  Memorette UFD    1100
      Enter the number of your choice: 0
      WARNING: All data on your USB storage will be lost.
      Are you sure you want to install to
      MWR UFD Memorette UFD 1100, 3800 MB at /dev/rdsk/c5t0d0p0 ?  (y/n) y
      Copying and verifying image to USB device
      Finished 824 MB in 172 seconds (4.7MB/s)
      0 block(s) re-written due to verification failure
      Installing grub to USB device /dev/rdsk/c5t0d0s0
      Completed copy to USB


      부팅 전 바이오스 세팅에서 usb만 선택하여 부팅하면 끝입니다. 참 쉽죠? 이제 언제라도 usb로부터 OpenSolaris를 부팅하여 사용할 수 있습니다. 단 운영체제가 설치된 것이 아니라 설치 이미지가 usb에 있어서 이를 통해 live 부팅을 해서 사용할 수 있는 것입니다. 기능을 이용하고 디스크에 설치하는 것은 잘 사용할 수 있지만 데이터를 저장하거나 구성에 대한 변경 사항을 보존하는 것은 되지 않는다는 것입니다.

      다음은 USB 메모리 스틱에 OpenSolaris를 설치하는 것에 대해 포스팅을 올리도록 하겠습니다. :) 


      * 저는 OpenSolaris 호스트에서 LiveUSB를 만들었지만 Windows 호스트에서 만드는 툴도 소개가 되어 쉽게 만드실 수 있을 것 같습니다. 참고하세요.

      http://devzone.sites.pid0.org/OpenSolaris/opensolaris-liveusb-creator

      This blog copyright 2009 by Sangpill Kim