Tag: oracle
Solaris zfs ISCSI 장비를 이용하여 remote booting 하기.
by joony on 12.04, 2009, under IT & Tech
제목이 좀 그래서 어쩔 지는 모르겠지만, solaris zfs iscsi 를 이용하여 부팅이 가능 하도록 하게 하는 방법을 소개 할 까 합니다.
일단 이 방법은 제한 사항도 많이 존재하고, 또 복잡 하지만, 아 이런 방법도 가능 하구나 라고 생각 하시고 봐주시면 좋을것 같습니다.
먼저 이 방법을 하기 위해선, 제 두개의 글을 참고 하시구요. iscsi zfs 성능편, solaris zfs iscsi 구축기.
사실 솔라리스를 이용하여 zfs 구성하고, iscsi target 로 내보내는 작업 까지는 어렵지 않습니다만, 클라이언트에서 바로 마운트 까지도 쉽습니다만, 이걸 가지고 부팅하게 하고자 하면, 상당한 노고를 필요로 합니다. 한마디로 키보드 노가다를 시작 해야만 가능 하므로, 참고 바라오며..
일반 가정 피씨에서 ISCSI 로 부팅을 하려면, 거의 불가능 하시다고 보면.. 정답일겁니다. 일반적으로 사용 되는 nic 랜카드가, ISCSI 지원을 안하기 때문인데요. 그도 그럴 것이 지금 막 나온 새로운 개술인지라, SAN Host card 들 처럼 특수한 요소들을 가지고 사용 하는 기술이 아닌 약간은 새로 나오고 System D 의 효과로 나온 기술이어서 약간의 비 통합적인 스탠으로 인해 아직도 걸음마 단계의 기술 이긴 합니다. 비스타 부터 iscsi initiator 가 내장 된걸 봐도, 새로나온 기술임을 알 수 있습니다.
일단 지원하는 장비는 intel pro lan card pci-e 종류의 카드들이 지원을 하며, Broadcom NICS: BCM5721, BCM5755, BCM5755M, BCM5754,
BCM5754M, BCM5714, BCM5714S, BCM5715, BCM5715S, BCM5780, BCM5780S, BCM5756, BCM5722 랜카드가 iSCSI Boot Firmware Table 을 지원하면, network boot over iscsi 가 가능해 집니다. 혹시 해보고 싶으신 분들은 내 카드가 지원 가능한지 확인해 보시고.. 특히 Intel Pro nic 들은 rom 에서 바로 iscsi target 을 잡을 수 있는 rom 이 존재 하니까, 인텔 사이트에서 확인 하셔서 필요로한 프로그램 패치를 다운 로드 받으신 후 설치 설정하셔서 하시면 됩니다. 참고로 이해를 도와주는 인텔 제공 문서.
그럼 일반 피씨에서 노가다 안하고 하드웨어 변경 없이 가능한 iSCSI 를 사용 가능하게 하는 방법과, legacy 방법 두개를 애기 해볼까 합니다.
스크롤의 압박으로 인한 혹은 복잡한 생각이 많으신 분들은 패스를…
자 그럼 가상화 소프트에서 iscsi 마운트 해보도로고 하겠습니다. 저의 경우는 VirtualBox 를 이용해 iscsi 마운트 해보려 합니다.
먼저 cmd 를 실행 하셔서, virtualbox 가 설치된 경로로 이동 합니다. 보통의 경우, C:\Program Files\Sun\VirtualBox 에 위치 하겠죠. cd 로 이 경로 까지 오셨다면, 제 컴퓨터에서, 잡히는 iscsi target ID 를 얻어야 합니다. 방법은 윈도우 iscsi initiator 에서
확인해 보시고, 원하는 타겟에 log on 버튼을 누르신 상태에서, 나와있는 리스트를 복사만 하시고 cancel 취소를 누르신 후 (로그인 하시면 안됩니다. iSCSI 장비는 여러대 공유하는것이 아니기 때문에, 여기선 VirtualBox 로 마운트 할것이라서요.) 자 그럼 타겟 리스트내용이 클리보드에 저장이 되어 있겠죠. 저의 경우엔,
“VBoxManage.exe addiscsidisk -server 192.168.0.3 -target iqn.1986-03.com.sun:02:17b559ac-4bb8-c202-f749-c0675fca026e”
이렇게 입력 하시고 enter 하시면, iSCSI disk created. UUID: iqn.1986-03.com.sun:02:17b559ac-4bb8-c202-f749-c0675fca026e 하는 성공 메세지가 나옵니다.
하지만 강조 중요한 것은 이 과정을 수행 하시기 전에 일단 Virtual Machine 이 생성 되어 있어야 합니다. 그리고 VirtualBox 프로그램은 닫으신 후에 해주셔야 합니다. 이 과정을 이행 하지 않으시면, 잘 안될 수 있다는 사실!
이 캡쳐 화면은 아까 생성된 iSCSI 잘 인식한 결과 이며, 혹시라도 안나와 있다면, 기존 장비를 제거 하시고 + 아이콘을 눌러 보시면 아마 리스트에 떠 있을 겁니다.
역시 Cd rom 설정으로 전 solaris 10 U8 을 설치 하려 합니다.
여기까지는 기본적인 솔라리스 설치 입니다. 하지만, 이제 두가지로 나뉘게 됩니다, 자신의 환경이 iSCSI 부팅을 지원 한다면, 혹은 그냥 virtualbox 에서 마운트 한 기본 iSCSI 장비로 설치를 하는것 두가지가 나뉘게 됩니다. 앞에서도 설명 들었지만, 진정한 iSCSI 방법도 설명 하려 하는데 괜시리 2개로 나누는게 좋을것 같기도 했지만. 여러분의 능력을 믿습니다.
자 이상태에서, 여러분 시스템 환경에 차이로 설치 방법이 바뀌오니, 눈 크게 뜨시고..
혹시! 솔라리스 말고 리눅스 윈도우도 설치 가능 한가요? 란 물음을 하시면 됩니다.
그럼 모든 시스템은 지원이 가능 한가요? 란 물음엔 가능 합니다. 근데 외 솔라리스 샘플을 사용 하였냐란 질문을 하시면? 그건 제 마음 입니다. 그리고 Solaris 에서 간단하게 터미널로 iscsi initiator 로 마운트가 가능한 방법이 있기에. 솔라리스를 모델로 이용 합니다.
VirtualBox 에서 설치는 그냥 진행하시면 disk 파티션 부분에서 c0t0 이란 하드 디스크가 떠 있습니다. 다음을 눌러서 설치를 계속 하시면 됩니다.
지금 부터는, iscsi 를 이용한 legacy 인스톨 방법입니다. iscsi 장비가 가능한 컴퓨터에서 직접 설치 하시는 방법입니다.
먼저 이 상태에서 종료를 누루신면 아래오 같은 경고 메세지가 뜹니다. 그럼 거기서 확인을 눌러 주시면 터미널이 뜹니다.
위의 그림은 잠깐 차용한 것인데, 부팅이 가능한 컴퓨터에서, 부팅시 iscsi 를 마운트 하는 내용입니다.
명령어는 iscsiadm 을 이용해 iSCSI 타겟을 마운트 하여, 솔라리스에서 인식 시키는 내용입니다. 이렇게 해야 하는 이유는 앞 단계에서, 솔라리스 서버 혹은 컴퓨터에서, ip 주소등을 설정하고 ip 가 정상적으로 작동하는 순간부터, iscsiadm 을 이용해 타겟을 마운트 하는 단계 입니다. 이 단계가 마치고 다시 install-solaris 를 입력 하시면, 설치 화면이 나오면서, 시스템 하드를 인식하게 됩니다.
iscsiadm 에서 인식한 사용 가능한 iSCSI 부팅 가능 하드 디스크 목록입니다.
그리고 원하시는 파티션을 생성 하시고 설치를 진행하시면 됩니다.
여기 까지 이지만, 위의 방법을 이용하면, diskless 를 이용한 VritualMachine 이나, 혹은 VM 을 이용한 cluster 구성에 아주 좋은 구성이라 할 수 있습니다. 그리고 이렇게 되면, 클라이언트의 컴퓨터 백업이나, 혹은 스냅샷 등 많은 부분들의 일들이 좀더 안정적으로 관리가 가능 하게 되어, 좀드 관라자가 편안한 방법으로 시스템을 관리 할 수 있습니다. 클라이언트 마다, Raid 1로 데이타를 지키는 일이 필요 없어 지고 중앙에서 관리 복제 등이 가능 하기 때문에, 같은 사양의 피씨라면, 위의 방법으로 한번만 설치 하여, 무한 배포도 가능하게 됩니다.
아직 까지는 좀더 호환성이나 혹은 하드웨어 특성도 많이 타기 때문에 위에 자신의 nic 가 제대로 지원을 확인 하여야 하고. 지원이 되더라도 System 에서 지원이 가능 한지 여부도 체크 해 봐야 합니다.
SAN infra 형태에서 가능 하기만 했던 Boot over SAN 이 이제 편안하게 누구도 구현 할 수 있는 형태로 배포가 되고 있는 시점에서 한번 소개 해봤습니다. ISCSI 참 매력 적이고 참 편안하게 구축 할 수 있는 초이스를 제공해 주어서, 서버 공부 하시는 분들에겐 더없이 좋은 방법이라 할 수 있습니다.
microsoft iSCSI initiator 에서 Enable multi-path 옵션을 사용하면, 아주 저렴하면서도 휼륭한 복제 시스템 구성도 가능하며.. san 에서만 가능 했던 옵션들이 추가 되어서, 좀더 윤택한 네트웍을 구축 할 수 있게 됩니다.
그리고 jumpstart enterprise manager 를 이용하면, pxe iscsi 마운트도 가능 하지만, 오늘은 여기서 마치고 다음에 jet 에 대한 리뷰도 진행 해 보려 합니다.
zfs iscsi 성능편 입니다.
by joony on 12.02, 2009, under IT & Tech
일전에 올린 zfs 구축에 관련한 글이라면, 이번엔, 성능과 사용 가능한 여러 활용 목적에 대한 탐구를 해보려 합니다.
정말 많은 매력을 가지고 있는 zfs 이지만 정확한 성능이 어떻게 되는지도 알아야 좀더 낳은 접근을 하실 수 있을것 같아서 준비 해보았습니다.
지금 리뷰를 작성하는 환경의 서버 환경은, 집에서 남는 부품을 모아 모아서, 만든 녀석이어서, 성능도 그렇고 네트웍 사정도 별로 인지라, 성능에 대한 문제점은 분명 있을 수 있습니다.
제가 zfs 를 접하고 매력에 빠져 허우적 거릴때 과연 zfs 를 어떻게 더 잘 써볼 수 있을 까 하여 여러 방면으로 연구를 해보았습니다. 하지만, 진정한 매력은 관리적인 차원 보다는, 성능이나, 혹은 하드 디스크에 ssd cache 를 달아 준다던가 혹은 보조 매체를 최대한 이용 할 수 있는 장점의 fs 인지라 그 부분이 끌리고 또 sun 에서도 zfs 홍보할 때 oracle 에서 탁월한 효과로 홍보를 했었기에. X4000 시리즈 서버들은 pci-ex 형태의 ssd cache 장치를 옵션으로 제공 하기도 합니다. 이번에 선과 오라클의 합병함과 동시에 ssd 솔류션을 이용한 시스템도 선보이고 있기에.
zfs 를 사용하면, 가장 얻게 되는 이득은 cache device 를 볼륨에 추가하여 사용 할 수 있다란 장점 일것입니다. 전 usb stick device 일명 usb를 이용하여, cache 를 추가 하였는데, cache 를 추가 하느냐 안하느냐에 따라 오라클 DB 를 로딩하는 전체적인 속도가 차이가 많이 난다고 할 수 있습니다.
그럼.. zfs 성능을 그래프로 보시죠.

zfs 의 가장 큰 장점인 access time 입니다. 어느 ssd 남 부럽지 않은 속도 인데, 일반 IDE 하드에 2개의 cache disk 로 usb 1g 를 cache device 로 지정하여 네트웍에서, iscsi 로 마운트한 볼륨의 access time 입니다.
zpool status 명령어로 본 제 볼륨의 속성입니다.
파란 부분은 흔하게 볼 수 있는 1g 메모리 스틱으로 cache 를 활성화 한 것입니다.
메모리 스틱 두개로도 엄청난 반응 시간을 건질 수 있는걸 알 수 있습니다.
네트웍을 통한 연결 인지라, 쓰기 읽기 성능은 네트웍 속도에 따라 제한 됩니다.
하지만 강력한 장점은 cache 디스크를 이용한 작은 파일의 입출력이라던가 access 타임을 줄일 수 있는 장점이고, 단점은 좋은 속도를 뽑아 내기 위해선, 돈이 많이 든단 사실 입니다. 아무래도 전체적인 환경이 업데이트가 되어야 하기 때문이죠.
속도 보시면, 읽기 쓰기 속도는 스위치와 nic 에 의해 결정 되지만, 디비 사용이나, 혹은 조그만 파일들의 입출력시 휼륭한 performance 를 얻을 수 있는 장점이 있어 보입니다.
다음엔 실전에서 사용 되고 있는 서버를 가지고 테스트 한 결과물을 가지고 찾아 뵙지요.
iscsi 는 1:N 방식의 공유가 아니기에..
zfs iscsi 하드의 경우, 빠른 access time 을 가지고 있어서, 네트웍 속도만 따라 준다면, 좋은 저장 매체가 될 수 있다고 봅니다.
지금 사용중인 하드가, ide 160 g 오래된 하드를 가지고 작업한 내용인지라, 속도가 불만 스러울 수 있긴 하지만, 이런 단점 많은 하드도 휼륭한 access 타임을 바탕으로 사진 저장 매체로 사용 한다면, 좋은 성능을 가지고 올 수 있다고 생각 합니다.
zfs iscsi 를 잘 꾸민다면, 동영상 편집에 필요한 저장 매체도 가능해 보이고 말이죠.
Solaris 에서 오라클 설치시 몇가지 주의 사항.
by joony on 11.26, 2009, under IT & Tech
솔라리스에서 오라클을 설치 하려 하니 이만 저만 한 일이 아니더군요.
워낙 손 놓고 있던 시스템이어서 그렇기도 하고 hostname 과 알수 없는 인터넷 안되는 현상들이 겹쳐서, 생각 보다 솔라리스를 많이 지우고 설치 하기를 여러번 했던것 같습니다.
지금 현재 솔라리스의 경우, 64 비트 환경을 지원 하므로 10g 64 비트 버젼으로 설치가 가능 하기 때문에, 설치를 진행 하였습니다만. 만만치 않은 에러들로 몇날 며칠을 밤늦게 까지.. 고생을 했습죠…
하다 보니, 이제 요령도 생기고, 또 zfs 의 무한한 능력에 찬사를 보내며, zfs 에서 재해 복구 등을 연습하기 위해. 정말 신기한게, zfs 루트에 그냥 설치가 되는게 정말 이상하리 만큼 놀랍다고 해야 하나요. zfs 녀석 때문에, 비싼 하드 웨어 레이드 구축 안하고도 고가용성 설비가 가능 해 보이며, iscsi 를 이용해 가상화도 같이 챙길 수 있어서 참 아름다운 새로운 FS 라 생각 합니다.

참고로 Jdev에서 연결 테스트 입니다. 잘되는군요.. 별것도 아닌데, 컴퓨터에서 성취감도 오프라인에서 성취감 만큼이나 큰 기쁨 입니다.
솔라리스에서 가장 오라클 설치 하면서 힘들었던게 고정 아이피로 설치를 해서 hosts 에 이름이 고정이 되어야 했는데, dhcp 로 설정해서 설치했더니, host name 이 unknown 으로 나오더군요. 이 부분이 가장 힘들었는데, ip 주소를 부여해서 설치하면, 설치후, 인터넷이 안되는 증상이 발생 합니다. dns 설정 하고 svcadm enable /network/dns/client 해줘도 인터넷으로 접속이 될 생각이 없더군요. 수동으로 잡고 별 방법 써보도 안되길래, 수동으로 설치한 상태에서, /etc/dhcp.rtls0 파일 생성으로 dns 는 살렸지만, 오라클 설치 하면, em 이 죽어 버리더군요.. 다시 할려고 해도 em 에서 필요한 설정 파일이.. 없다고.. 이문제는 많은 포럼을 돌아 다니면서 본 내용이기에, 무조건 dhcp 는 하면 안되나보다 생각하고, /etc/dhcp.rtls0 파일을 제거하고 reboot 하니 인터넷도 되고, 오라클 설치 후 em 도 잘 실행이 되더군요. 역시 오라클의 경우, 호스트 네임과 밀접한 관계가 있어서 인지…
두번째로 많이 고생한 문제가, 보통 shell 에서, useradd -d oracle 이런 식으로 생성하면, java 공통 데스크 탑으로 진입이 불가능 합니다. 이게 불가능 하면, 역시 설치도 불가능 한 문제이겠죠. 하지만 방법은 로그인 창에서, 솔라리스 기본 관리자인 cde 로 한번 로그인 해주시면, 바로 활성화가 되더군요. 이게 안되서 애꾿은 솔라리스를 몇번이나 재설치를 했었는지, cde에서 로그인이 되었다 하더라도 xclock 등으로 xhost가 정상 작동 되는지 확인해보는 절차가 필요 할듯 합니다.
그리고 설치 경로가 /opt 가 아닌 zfs 로 설치를 했었기에, legacy mount 가 아니어서 그랬는지는 모르겠지만, chmod 로 권한 한번 챙겨 주시는것도….
참고로 zfs 마운트 하실때 legacy 옵션이 있으므로. 이걸 이용해보심도 좋을듯 합니다.
쓰다 보니 주저리 주저리 군요. 지금 zpool 에 usb 스틱을 이용해 cache를 이용해 사용 중인데, 효과가 좋아 보입니다. 전체적으로 부드럽게 돌아가고. Sun 에서 zfs 에 ssd cache 관련 한 기사 보고 도전 해봤는데, 결과는 만족할만 하군요.
테이블 불러오고 하면 usb stick 에서 불빛이 빤짝 거리는게, 아 제대로 동작 하는구나 하면서 괜한 성취감에 도착 상태.