[OMNIOSce] 서버로 SAN 스토리지 구축
2018.03.30 01:19
원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어
Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
원문 : http://www.ischo.net -- 조인상 //시스템 엔지니어
참고 : https://docs.oracle.com/cd/E62102_01/html/E62692/fmvcd.html#scrolltoc
COMSTAR(Common Multiprotocol SCSI TARget)를 사용하여 저장 장치 구성
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
[OMNIOSce] 서버로 SAN 스토리지 구축
Oralce Solaris 의 저장장치 관리 프레임워크인 COMSTAR(Common Multiprotocol SCSI TARget)를 이용하여
서버를 SAN 환경의 스토리지로 구성하는 방법이다.
오픈소스의 OmniOS Community Edition 환경은 ZFS와 COMSTAR가 같이 갖추어져 있어서 스토리지로 바로 구축할 수 있다.
1. OmniOSce 설치
다운로드 및 설치가이드는 https://omniosce.org/setup/freshinstall.html 를 참고한다.
2. HBA카드 드라이버 모드를 TARGET 모드로 변경하기
: SAN스토리지 환경에서 스토리지 서비스를 하는 쪽을 TARGET,
스토리지를 사용하는 HOST쪽을 INITIATOR 라고 칭한다.
OmniOSce를 설치한후 HBA카드는 기본적으로 INITIATOR 모드로 되어있는데, 스토리지로 사용할 것이므로 TARGET 모드로 변경한다.
- HBA카드 모드 확인
: Port Mode가 Initiator 모드인걸 확인 가능
: 그리고 Driver Name이 qlc 인것을 확인한다.
root@omnios:~# fcinfo hba-port
HBA Port WWN: 5001438024222ed8
Port Mode: Initiator
Port ID: 10500
OS Device Name: /dev/cfg/c4
Manufacturer: QLogic Corp.
Model: AJ764A or AH401A
Firmware Version: 05.03.01
FCode/BIOS Version: BIOS: 2.16; fcode: 2.03; EFI: 2.22;
Serial Number: MY524621ZH
Driver Name: qlc
Driver Version: 20100408-3.01
Type: N-port
State: online
Supported Speeds: 2Gb 4Gb 8Gb
Current Speed: 8Gb
Node WWN: 5001438024222ed9
Max NPIV Ports: 254
NPIV port list:
HBA Port WWN: 5001438024222eda
Port Mode: Initiator
Port ID: 10400
OS Device Name: /dev/cfg/c5
Manufacturer: QLogic Corp.
Model: AJ764A or AH401A
Firmware Version: 05.03.01
FCode/BIOS Version: BIOS: 2.16; fcode: 2.03; EFI: 2.22;
Serial Number: MY524621ZH
Driver Name: qlc
Driver Version: 20100408-3.01
Type: N-port
State: online
Supported Speeds: 2Gb 4Gb 8Gb
Current Speed: 8Gb
Node WWN: 5001438024222edb
Max NPIV Ports: 254
NPIV port list:
- HBA카드 드라이버로 PCI주소 얻기
root@omnios:~# mdb -k
Loading modules: [ unix genunix specfs dtrace mac cpu.generic uppc pcplusmp scsi_vhci zfs sd ip hook neti sockfs arp usba uhci stmf stmf_sbd mm lofs idm cpc crypto kvm random ufs logindmux nsmb ptm smbsrv nfs ]
> ::devbindings -q qlc
ffffff194b646aa0 pciex1077,2532, instance #0 (driver name: qlc)
ffffff194b6467f8 pciex1077,2532, instance #1 (driver name: qlc)
- 드라이버 모드를 TARGET모드로 변경
: initiator 모드 삭제
root@omnios:~# update_drv -d -i 'pciex1077,2532' qlc
Cannot unload module: qlc
Will be unloaded upon reboot.
: TARGET 모드 추가
root@omnios:~# update_drv -a -i 'pciex1077,2532' qlt
devfsadm: driver failed to attach: qlt
Warning: Driver (qlt) successfully added to system but failed to attach
- 재부팅
root@omnios:~# init 6
- 재부팅후 TARGET모드로 바뀐 HBA카드 확인
root@omnios:~# fcinfo hba-port
HBA Port WWN: 5001438024222ed8
Port Mode: Target
Port ID: 0
OS Device Name: Not Applicable
Manufacturer: QLogic Corp.
Model: HPAJ764
Firmware Version: 0.0.0
FCode/BIOS Version: N/A
Serial Number: not available
Driver Name: COMSTAR QLT
Driver Version: 20100505-1.05
Type: unknown
State: offline
Supported Speeds: 2Gb 4Gb 8Gb
Current Speed: not established
Node WWN: 5001438024222ed9
HBA Port WWN: 5001438024222eda
Port Mode: Target
Port ID: 0
OS Device Name: Not Applicable
Manufacturer: QLogic Corp.
Model: HPAJ764
Firmware Version: 0.0.0
FCode/BIOS Version: N/A
Serial Number: not available
Driver Name: COMSTAR QLT
Driver Version: 20100505-1.05
Type: unknown
State: offline
Supported Speeds: 2Gb 4Gb 8Gb
Current Speed: not established
Node WWN: 5001438024222edb
- STMF(SCSI Target Mode Framework) 서비스 활성화
root@omnios:~# svcs stmf
STATE STIME FMRI
disabled 23:25:44 svc:/system/stmf:default
root@omnios:~# svcadm enable stmf
root@omnios:~# svcs stmf
STATE STIME FMRI
online 23:26:47 svc:/system/stmf:default
2. ZFS 파일시스템 설정
- POOL을 만들 DISK를 확인
root@omnios:~# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c1t0d0 <HP-LOGICAL VOLUME-6.00-838.33GB>
/pci@0,0/pci8086,3408@1/pci103c,3245@0/sd@0,0
1. c1t1d0 <HP-LOGICAL VOLUME-6.00-3.27TB>
/pci@0,0/pci8086,3408@1/pci103c,3245@0/sd@1,0
2. c2t0d0 <HP-LOGICAL VOLUME-5.70-4.91TB>
/pci@0,0/pci8086,340f@8/pci103c,3243@0/sd@0,0
위의 c1t0d0,c2t0d0 는 각각 900GB의 물리적디스크로 이루어진 RAID 5 볼륨이다.
우리는 여기서 c1t1d0 를 pool_3TB 로, c2t0d0를 pool_5TB 이라는 이름의 POOL로 생성할 계획이다.
- POOL 생성
root@omnios:~# zpool create pool_3TB c1t1d0
root@omnios:~# zpool create pool_5TB c2t0d0
- 생성된 POOL 확인
root@omnios:~# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
pool_3TB 3.25T 447G 2.81T - 10% 13% 1.00x ONLINE -
pool_5TB 4.91T 137K 4.91T - 0% 0% 1.00x ONLINE -
rpool 832G 17.3G 815G - 0% 2% 1.00x ONLINE -
- ZFS LU 생성
root@omnios:~# zfs create -V 3198156M pool_3TB/lun01
: -V 옵션을 사용하면 실제
: zfs create -V 3.25T pool_3TB/lun01 와 같이 생성하면 단위가 틀리다는 에러가 나오므로 MB단위로 적정용량을 준다.
zfs 파일시스템 오버헤드상 전체용량을 다 줄수는 없는듯 하다.
- 생성된 LU 확인
root@omnios:~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
pool_3TB 3.15T 3.10G 23K /pool_3TB
pool_3TB/lun01 3.15T 3.15T 12K -
pool_5TB 124K 4.75T 23K /pool_5TB
rpool 33.2G 773G 23K /rpool
rpool/ROOT 747M 773G 23K legacy
rpool/ROOT/omnios 747M 773G 747M legacy
rpool/dump 16.0G 773G 16.0G -
rpool/swap 16.5G 789G 56.2M -
3. STMF(SCSI Target Mode Framework)를 이용한 스토리지 LUN 생성 및 할당
- 생성된 LU에 LUN을 생성
root@omnios:~# stmfadm create-lu /dev/zvol/rdsk/pool_3TB/lun01
Logical unit created: 600144F06509056F00005AB903770001
- LUN까지 매겨진 LU의 정보를 확인
root@omnios:~# stmfadm list-lu -v
LU Name: 600144F06509056F00005AB903770001
Operational Status: Online
Provider Name : sbd
Alias : /dev/zvol/rdsk/pool_3TB/lun01
View Entry Count : 0
Data File : /dev/zvol/rdsk/pool_3TB/lun01
Meta File : not set
Size : 3353509625856
Block Size : 512
Management URL : not set
Vendor ID : SUN
Product ID : COMSTAR
Serial Num : not set
Write Protect : Disabled
Writeback Cache : Disabled
Access State : Active
- host의 WWN 확인
: 해당 LU를 할당해줄 가상화호스트 머신의 HBA WWN은 다음과 같다.
10000000c9f3b989
10000000c9f3bbe7
이건 가상화호스트 머신에서 직접 확인한 정보이고,
스토리지 머신과 호스트 머신의 HBA가 케이블로 연결되어있다면, omniOSce 환경에서도 호스트머신의 WWN을 확인할 수 있다.
- 호스트쪽 Initiator WWN 확인방법
: 먼저 TARGET쪽 WWN을 확인한다.
root@omnios:~# fcinfo hba-port
HBA Port WWN: 5001438024222ed8
Port Mode: Target
Port ID: 10500
OS Device Name: Not Applicable
Manufacturer: QLogic Corp.
Model: HPAJ764
Firmware Version: 5.2.1
FCode/BIOS Version: N/A
Serial Number: not available
Driver Name: COMSTAR QLT
Driver Version: 20100505-1.05
Type: F-port
State: online
Supported Speeds: 2Gb 4Gb 8Gb
Current Speed: 8Gb
Node WWN: 5001438024222ed9
HBA Port WWN: 5001438024222eda
Port Mode: Target
Port ID: 10400
OS Device Name: Not Applicable
Manufacturer: QLogic Corp.
Model: HPAJ764
Firmware Version: 5.2.1
FCode/BIOS Version: N/A
Serial Number: not available
Driver Name: COMSTAR QLT
Driver Version: 20100505-1.05
Type: F-port
State: online
Supported Speeds: 2Gb 4Gb 8Gb
Current Speed: 8Gb
Node WWN: 5001438024222edb
: TARGET WWN 을 기입하여 연결된 Initiator 쪽 WWN을 확인
root@omnios:~# fcinfo remote-port -p 5001438024222ed8
Remote Port WWN: 10000000c9f3b989
Active FC4 Types: SCSI
SCSI Target: unknown
Port Symbolic Name: Emulex PPN-10:00:00:00:c9:f3:b9:89
Node WWN: 20000000c9f3b989
Remote Port WWN: 10000000c9f3bbe7
Active FC4 Types: SCSI
SCSI Target: unknown
Port Symbolic Name: Emulex PPN-10:00:00:00:c9:f3:bb:e7
Node WWN: 20000000c9f3bbe7
root@omnios:~# fcinfo remote-port -p 5001438024222eda
Remote Port WWN: 10000000c9f3b989
Active FC4 Types: SCSI
SCSI Target: unknown
Port Symbolic Name: Emulex PPN-10:00:00:00:c9:f3:b9:89
Node WWN: 20000000c9f3b989
Remote Port WWN: 10000000c9f3bbe7
Active FC4 Types: SCSI
SCSI Target: unknown
Port Symbolic Name: Emulex PPN-10:00:00:00:c9:f3:bb:e7
Node WWN: 20000000c9f3bbe7
여기서 얻어낸 WWN은 10000000c9f3b989, 10000000c9f3bbe7 로써 양쪽 포트에 중복된 값이 다시 나오는 이유는
멀티패스로 연결되었기 때문이다.
- 호스트 정보 생성
: WWN 10000000c9f3b989, 10000000c9f3bbe7 2개를 vhost01 이라는 호스트그룹으로 포함시켜준다.
root@omnios:~# stmfadm create-hg vhost01
root@omnios:~# stmfadm add-hg-member -g vhost01 wwn.10000000c9f3b989
root@omnios:~# stmfadm add-hg-member -g vhost01 wwn.10000000c9f3bbe7
- 목표 LU를 원하는 호스트그룹에 매핑
root@omnios:~# stmfadm add-view --host-group vhost01 600144F06509056F00005AB903770001
- 목표 LU의 매핑결과 확인
root@omnios:~# stmfadm list-view -l 600144F06509056F00005AB903770001
View Entry: 0
Host group : vhost01
Target group : All
LUN : 0
4. 해당 host에서 디스크 스캔 및 사용
다시 검색시 나타난 SUN Fibre Channel Disk 쪽이 새로 추가된 LU이다.