일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Nexenta
- 리눅스
- 펄 코딩스타일
- ZFS
- ext4
- OCFS2
- CVSROOT 세팅
- tomcat
- pgsql
- LVS
- 시그널
- connection tunning
- Replication
- Openfiler
- pgpool-ii
- php-oracle 연동
- PERL
- postfix
- clustering
- inotify
- ext3
- pgbench
- 파일시스템
- 오라클
- perltidy
- pvfs
- 펄
- 포기해버린꿈
- 가상파일시스템
- mailfiler
Archives
- Today
- Total
avicom의 신변잡기
NexentaStor community-edition 설정 본문
오픈소스로 나온 Storage appliance을 찾다가 openfiler 와 nexenta 를 눈여겨 보고 있었다.
openfiler는 지난번에 테스트했고, 이번에 nexenta를 테스트해보고 있는데, 꽤 괜찮다. openfiler와 마찬가지로 iscsi-target, NAS, CIFS, NFS, iscsi-initiator, WebDAV 등을 지원하는데, 다른 건 별로 관심없고 iscsi-target을 집중적으로 테스트해보고 있다.
ubuntu hardy 배포판에 opensolaris 커널을 채용하고 있는데, 덕분에 ZFS를 사용할 수 있고, 이게 상당한 장점으로 작용한다. (openfiler는 rpath linux 기반에 GPT를 사용하고, 그 위에 LVM을 생성한다). raidz 로 raid5나 raid6와 비슷한 레이드 구성을 할 수 있다. 레이드 컨트롤러에서 레이드 구성을 따로 하지 않고 JBOD로 묶기만 한 다음, nexenta에서 raidz로 pool을 구성해서 사용하면 괜찮은 효과를 볼 수 있다. 디스크 관련 모니터링 스크립트 짜기도 간편하고, 무엇보다 zfs의 성능 덕을 많이 볼 수 있다.
맛보기로 nexentastor commnity-edition을 사용해서 iscsi-target을 만들고 이걸 리눅스 클라이언트에서 access하여 파일시스템을 마운트해보자.
우선 설치과정은 skip. 그냥 매뉴얼같은 거 안보고 해도 진행할 수 있다. 다만 설치 후 부팅 과정에서 registraion-key를 요구하는데, 키를 요구하는 화면에 Machine Signature 표기되어 있다. 이걸 잘 적어서 http://www.nexenta.com/corp/developer-edition-registration 에서 등록하면 메일로 EVAL- 어쩌고로 시작하는 Registration Key 가 날아온다. 이 키를 아까의 콘솔 등록 화면에 입력하면 끝.
상용버전이라면 모든 작업을 web ui내에서 진행할 수 있지만 CE버전은 iscsi용 볼륨과 타겟 설정까지만 할 수 있고 실제의 LUN mapping같은 작업은 CLI상에서만 지원하고 있다.
nexenta에서 유닉스 명령어를 사용하여 작업을 하려면 expert mode로 들어가야한다.
nmc@nexenta:/$ option expert_mode=1nmc@nexenta:/$ !bashYou are about to enter the Unix ("raw") shell and execute low-level Unix command(s). Warning: using low-level Unix commands is not recommended! Execute? Yesroot@nexenta:/volumes#
Logical Unit Provider 생성
root@nexenta:/volumes# sbdadm create-lu /dev/zvol/rdsk/xenpool/vol2Created the following LU:
GUID DATA SIZE SOURCE-------------------------------- ------------------- ----------------600144f0b0c04a0000004cf8a7dc0002 161061273600 /dev/zvol/rdsk/xenpool/vol2
root@nexenta:/volumes# stmfadm list-lu -vLU Name: 600144F0B0C04A0000004CF86DCD0001Operational Status: OnlineProvider Name : sbdAlias : /dev/zvol/rdsk/xenpool/vol1View Entry Count : 1Data File : /dev/zvol/rdsk/xenpool/vol1Meta File : not setSize : 107374182400Block Size : 512Management URL : not setVendor ID : NEXENTAProduct ID : COMSTARSerial Num : not setWrite Protect : DisabledWriteback Cache : EnabledAccess State : ActiveLU Name: 600144F0B0C04A0000004CF8A7DC0002Operational Status: OnlineProvider Name : sbdAlias : /dev/zvol/rdsk/xenpool/vol2View Entry Count : 0Data File : /dev/zvol/rdsk/xenpool/vol2Meta File : not setSize : 161061273600Block Size : 512Management URL : not setVendor ID : NEXENTAProduct ID : COMSTARSerial Num : not setWrite Protect : DisabledWriteback Cache : EnabledAccess State : Active
LU를 생성한 직후의 상태이다. /dev/zvol/rdsk/xenpool/vol1은 기 생성되어 외부에서 액세스하고 있는 볼륨이다. vol2와의 차이는 View Entry Count 다. vol1은
View Entry Count : 1
인데 vol2는
View Entry Count : 0
이다. View 엔트리에 포함되지 않은 상태에선 외부에 디스크가 보이지 않는다. target mode framework에 view 엔트리에 포함시켜주자. 이럴때 사용하는 명령어는 stmfadm 이다.
root@nexenta:~# stmfadm add-view 600144f0b0c04a0000004cf8a7dc0002
root@nexenta:~# stmfadm list-lu -vLU Name: 600144F0B0C04A0000004CF86DCD0001Operational Status: OnlineProvider Name : sbdAlias : /dev/zvol/rdsk/xenpool/vol1View Entry Count : 1Data File : /dev/zvol/rdsk/xenpool/vol1Meta File : not setSize : 107374182400Block Size : 512Management URL : not setVendor ID : NEXENTAProduct ID : COMSTARSerial Num : not setWrite Protect : DisabledWriteback Cache : EnabledAccess State : ActiveLU Name: 600144F0B0C04A0000004CF8A7DC0002Operational Status: OnlineProvider Name : sbdAlias : /dev/zvol/rdsk/xenpool/vol2View Entry Count : 1Data File : /dev/zvol/rdsk/xenpool/vol2Meta File : not setSize : 161061273600Block Size : 512Management URL : not setVendor ID : NEXENTAProduct ID : COMSTARSerial Num : not setWrite Protect : DisabledWriteback Cache : EnabledAccess State : Active
이제 vol2도 View Entry Count 가 1이 되었다. 이후에 비로소 iscsi-target 설정을 한다.
Target Portal Group (TPG)을 생성하고 이 tpg를 연동하여 iscsi target을 생성한다.
itadm create-tpg e1000g0 192.168.160.121itadm create-target -t e1000g0
그리고 리눅스 클라이언트에서 tpg 아이피로 엑세스하여 디스크 사용
[root@manticore ~]# iscsiadm -m discovery -t st -p 192.168.160.121
[root@manticore ~]# iscsiadm -m node -Tiqn.1986-03.com.sun:02:f9adb9c0-5ab9-e0b3-9f97-f300dbff81e6 -p 192.168.160.121 -lLogging in to [iface: default, target: iqn.1986-03.com.sun:02:f9adb9c0-5ab9-e0b3-9f97-f300dbff81e6, portal: 192.168.160.121,3260]Login to [iface: default, target: iqn.1986-03.com.sun:02:f9adb9c0-5ab9-e0b3-9f97-f300dbff81e6, portal: 192.168.160.121,3260]: successful
[root@manticore ~]# fdisk -l...Disk /dev/sde: 161.0 GB, 161061273600 bytes255 heads, 63 sectors/track, 19581 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sde doesn't contain a valid partition table
이제 이 디스크에 파일시스템을 생성하고 마운트해서 사용하면 된다. 성능 테스트는 현재 진행중. 왠지 좀 부실한데 테스트가 좀 더 진행되는 보충하기로 하자.
ps. 1
중요한 걸 빼먹었다. 콘솔 작업 후 exit 할 때 이런 메세지가 나온다
root@nexenta:/volumes# exitexit
Important: To re-sync the appliance's management state information, pleaseconsider running 'setup appliance nms restart' command.
콘솔모드에서 작업한 내용이 nexenta의 관리 시스템에 자동으로 반영이 안되기 때문에 관리 시스템을 restart하란 얘기다. 무시하고 가만 있으면 콘솔에서 작업한 내용이 cli모드나 web ui에서 보이지 않는다. 반드시 restart 해준다.
nmc@nexenta:/$ setup appliance nms restartTrying to gain exclusive access to the appliance.This operation may take up to 30 seconds to complete. Please wait...Exclusive access granted.This operation will make Nexenta Management Server temporarily unavailable. Proceed? YesRestarting NMS. Please wait...NMS was successfully restarted
ps. 2
openfiler랑 벤치마킹을 해봤는데 어째 비슷하게 나온다 -_-; 둘 다 ocfs2로 파일시스템을 생성해서 io 테스트를 돌렸는데 별 차이가 안난다. 음. ext3, ext4로 다시 테스트해봐야겠다.