제 구성은 ESXi 에서 Areca-1220 카드를 PCI-Passthough 하여 FreeNAS VM 머신에 직결한 것입니다.

모든 스토리지가 해당 Areca-1220 에 붙어 있고 zpool 구성되어 있습니다.

 

FreeNAS 는 기본적으로 ARECA 를 자동 인식하므로 별도의 드라이버 세팅이 필요 없습니다.

기본적인 커맨드 관리는 다음과 같이 합니다.

 

이벤트 목록 : areca-cli event info
하드웨어 모니터 : areca-cli hw info
디스크 목록 : areca-cli disk info
디스크 정보 : areca-cli disk info drv=디스크번호
SMART 정보 : areca-cli disk smart drv=디스크번호

 

목록 : zpool list
상태 : zpool status
히스토리 : zpool history 
IO 상태 보기 : zpool iostat -v
zil 상태 보기 : zilstat
arc 상태 보기 : arcstat.py
arc 보고서 보기 : arc_summary.py
cached dmu buffer 보기 : dbufstat.py

 

- smartctl 사용
SMART 정보 : smartctl -a -d areca,디스크번호 /dev/arcmsr0
SMART 정보(확장) : smartctl -x -d areca,디스크번호 /dev/arcmsr0

 

※ Areca의 Write-back 기능은 디스크마다 꺼 주는것이 좋다고 합니다.

이유는 FreeNAS의 ZFS 시스템은 자체적으로 캐쉬를 구성하며, Passthought 상태. 즉 확장 SATA 용도로

쓰고 있을 경우에는 카드에 다른 부하를 줄 필요가 없습니다. 배터리가 없다면 끄는 것이 안정성과 성능에도 더 좋다고 합니다.

 

아레카 SETUP 에서 Passthough 구성시 별도로 설정하지 않았다면 Write-Back 은 기본이 Enable 상태 입니다.

패스스루 디스크 캐시 끄기 :

areca-cli disk modify drv=디스크번호 cache=N ( 연결된 모든 디스크 번호에 각각 적용 )

 

 

 

블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,

인터넷에 나도는 SSH 무인증 접근 방법과 거의 다른 방법은 없으나

차이점은 ESXi Hypervisor 의 sshd_config 에 굳이 손 댈 필요는 없다는 것입니다.

 

[ 필요한 예시 ]

 

FreeNAS 에서 상위의 ESXi 하이퍼바이저로 무인증 명령 ( 보통 esxcli 커맨드명령.. ) 을

보내야 할 때가 있습니다.

 

저는 FreeNAS 에서 iSCSi Target 으로 ESXi 의 소프트웨어 iSCSi Adapter 를 이용하여 Zpool 에서 zvol 을 생성하여

바깥 ESXi 의 다른 VM 머신의 하드디스크로 붙이고 있습니다.

 

그런데 이 경우, 가끔 하이퍼바이저 리부팅을 해 버리면... 어댑터(실제로는 물리 HBA 역할일 것입니다)가

부팅후 별도 리프레시를 해 주지 않으면 제대로 iSCSi 된 디스크들이 인식을 안 하는 경우가 발생합니다.

 

이럴 경우엔 FreeNAS 가 완벽히 올라온 후, 상단의 ESXi 에 리프레시(Rescan) 명령을 보내줘야 정상화될 경우가 있습니다.

고로 이런 경우엔 FreeNAS 의 스케쥴 중에 init command 부분에 원격 명령을 자동으로 때리게 하면 됩니다.

 

이 방법을 이용하려면 일단 FreeNAS 에서 ESXi hypervisor 의 SSH 에 무인증(패스워드 없이) 자동 접근이 가능해야 합니다.

 

[ 무인증 접근하기 ]

 

1. FreeNAS SSH 에서 ssh-keygen 명령을 실행합니다. yes 후에 엔터만 쭉쭉 쳐서 패스워드 없는 인증키를 하나 만듭시다

( id_rsa.pub 파일의 경로를 보아두도록 합니다 )

2. 해당 파일을 scp 로 하이퍼바이저 서버에 복사합니다.  하이퍼바이저 경로는 /etc/ssh/keys-root 디렉토리 안입니다.

건드린 적이 없다면 해당 디렉토리 안에는 이미 authorized_keys 라는 파일이 0 byte 로 있을 텐데요.

일단 복사합니다

scp /경로/id_rsa.pub /하이퍼바이저IP/:/etc/ssh/keys-root

이 때는 당연히 하이퍼바이저 ssh쪽의 루트 로긴 패스워드를 요구할 것입니다

 

3. 하이퍼바이저 서버로 해당 파일이 복사가 됐다면, 거기에서 이제 id_rsa.pub 이름을 authorized_keys 로 바꿔줍니다.

4. 하이퍼바이저 ssh 를 재시작 합니다. ( /etc/init.d/SSH restart )

5. FreeNAS SSH 에서 무인증 접근이 되는지 테스트해 봅시다 ( ssh /하이퍼바이저 IP/ ) - 패스워드 없이 바로 진입되면 성공

 

아주 간단하죠? 참.. ESXi 는 6.0.0 기준 입니다.

 

 

[ FreeNAS 스키쥴에 init command 추가하기 ]

무인증 조건이 선행된 후

GUI 로긴 해서 크론잡 옆의 Init/Shutdown scripts 탭을 클릭한 후 ADD 해 줍니다.

타입은 물론 Command 로, 부팅후 실행되어야 하는 명령어니 조건은 Pre-init 로 해 줍니다.

명령어는 다음과 같습니다

ssh 하이퍼바이저ip esxcli storage core adapter rescan --adapter=vmhba37

제 ESXi 의 software iSCSi Adapter str 가 vmhba37 이기 때문이지요 뭣하면 -all 로 전체검색 하셔도 큰 무리는 없을 듯.

 

이러면 하이퍼바이저 부팅되고, FreeNAS 머신이 올라온 후, ESXi 내부에 HBA 리스캔을 한방 자동으로 때리게 됩니다.

 

(해당 커맨드에서 ssh명령어 빠져 있습니다. 넣어주세요)

 

리스캔한 후 iSCSi 로 디스크를 할당받는 vm들을 수동으로 켜 주는게 좋습니다. ESXi 의 스케쥴에 등록해 두면

디스크 제대로 인식 전에 VM Power on 하려고 시도하다 에러를 뿜을 가능성이 큽니다.

즉, FreeNAS VM 정상 부팅 -> HBA 리스캔 -> iSCSi 디스크 사용하는 VM 들 부팅 순으로 가는게 좋겠지요.

 

VM 머신들의 id 를 찾아서 수동으로 cli 켜 주면 됩니다.

vm ID 는 하이퍼바이저에 ssh root 로 접근하여 다음을 입력해 주면 됩니다.

#vim-cmd vmsvc/getallvms

vm 머신들이 차례대로 출력 되며, 가장 앞에 vmid 라고 표기된 것이 VM id 번호 입니다.

해당 번호로 vm머신들의 파워를 on 시켜주면 됩니다. 물론 반대는 off입니다만 쓸 일이 없지요.

#vim-cmd vmsvc/power.on id

 

위 명령을 Freenas의  init command 에 HBA 리스캔 후열로 차례대로 ssh 로 원격 입력해 주면 됩니다.

sleep 로 조금 지연시간 둔 후에 실행하는 것도 나쁘지 않을지도 모릅니다. ^^

 


 

 

 

 

 

블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,

FreeNAS Shell 에서 warden [옵션] [jail명] 으로 간단하게 조작할 수 있다

( ex : warden start jail01 ) -- jail01 컨테이너를 시작한다

 

warden 만 쳐도 사용 가능한 옵션들이 나열되니 참조하면 된다.

블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,

FreeNAS 는 FreeBSD 기반의 Unix 라서

일반 리눅스처럼 sysconfig 의 n18i 같은 설정이 아니다.


글로벌 디폴트는 /etc/login.conf 가서 default 하단에 다음을 추가해 주면 된다


:umask=022:\

:charset=UTF-8:\

:lang=ko_KR.UTF-8:\

:setenv=LC_COLLATE=C:


저장한 후 cap_mkdb /etc/login.conf 로 컴파일 해 준 후 세션을 재시작 하면 된다.

(물론 putty 같은 곳에서 UTF-8 세션으로 특성 설정하고 열어야 한다)

 

locale 명령어로 확인 시

[root@freenas] ~# locale
LANG=ko_KR.UTF-8
LC_CTYPE="ko_KR.UTF-8"
LC_COLLATE="ko_KR.UTF-8"
LC_TIME="ko_KR.UTF-8"
LC_NUMERIC="ko_KR.UTF-8"
LC_MONETARY="ko_KR.UTF-8"
LC_MESSAGES="ko_KR.UTF-8"

라고 출력되면 정상


블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,

Web GUI 에서 기본적으로 대부분의 모든 서비스를 사용가능하다.

ZFS 데이터셋 /backup 를 웹에 게시하려고 한다.

 

 [추가하기 클릭]

 

 

[ Path ] 지정

 

 

[ 서비스 ] - [ Webdav ON ] - [ Configure ]

- 다이제스트 인증으로 하면 웹브라우저에서 인증이 되지 않는다.

기본 인증에 https 정도를 걸어둬도 좋다.

 

[ 8080 포트 포트포워딩 ]

 

http://공인ip:8080/test 로 접근하면 webdav 가 출력될 것이다.

 

 

 

 

블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,

ESXi 환경에서 FreeNAS 를 가상머신으로 구동시 Freenas Jails 컨테이너가 연결이 되지 않는 문제가 있다.

이는 메뉴얼을 참조하면 ESXi vSwitch 를 Promiscuous Mode ( 모든 패킷 송수신 모드 = 스니핑 모드 )  로 설정해야 정상 작동한다.

( If you are using VMware, make sure that the vswitch is set to “promiscuous mode”.)


== vSphere 여건이 되지 않을 시 Cli 입력하기

( 해당 Jail 까지 통하는 모든 스위치에 해당됨.. 홈나스는 wan단의 vSwitch0 과 거기서 다시 FreeNAS 로 통하는 LAN 단의 vSwitch1 두 개 다
promiscuous mode 를 해줘야 한다 )

#esxcli network vswitch standard policy security set -v vSwitch0 --allow-promiscuous=yes ( WAN 스위치 )

#esxcli network vswitch standard policy security set -v vSwitch1 --allow-promiscuous=yes ( LAN 스위치 )


둘 다 허용하면 내부 컨테이너에서 외부로 핑이 통하게 된다.

당연한 이야기지만, 모든 작업은 당연히 ESXi 하이퍼바이저의 SSH root 권한에서 실행한다.

'Home NAS 구축' 카테고리의 다른 글

[FreeNAS] SSH 한글 표시 설정  (0) 2016.02.02
[FreeNAS] Webdav 추가하기  (0) 2016.02.01
[FreeNAS] FTP 설정  (0) 2016.01.29
[FreeNAS] SSH 외부 허용하기  (0) 2016.01.29
[FreeNAS] FreeNAS 외부관리를 위한 포트포워딩  (0) 2016.01.29
블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,

별다른 건 없고 SSH 와 동일하다.

외부아이피로 매칭되기 위해 포트포워딩 설정해준 후에

서비스 컨피그에서는 클라이언트/접속 수를 자기 상황에 맞게 적당히 늘려주자

 

( 너무 적으면 세션수 부족으로 예를 들면 동영상 자막이 나오지 않는 경우가 있다 )

동영상 + 리스트 + 자막 이 3개만 생각해도 이미 3개의 접속이 필요하다.

기본적으로 root 불허이므로, root로 FTP 로그인하고 싶다면 따로 설정해 주어야 한다.

 

 

 

블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,

서비스에서 일단 ON을 시켜야 한다.

다 해놓고 이거 안 해서 헤매는 경우 있다.

하는김에 사용할 몇몇 서비스들도 미리 ON.

 

 

기본적으로 root 로그인이 [비허가] 되어 있다.

root 로 로그인하고 싶다면, ON 옆의 스페어를 눌러 설정 root 로그인 허용해준다.

 

 

마찬가지로 공인 아이피의 포트포워딩해줘야 한다. 192.168.1.20:22 이기 때문이다.

 

pfsense Web UI 에 접속한다.

NAT/Rules 에 각각 추가해 준다.

( 일반적으로 NAT 추가하면 Rule 자동추가되나 수정한 경우에는 각각 해 주어야 한다 )

 

 

 

포트 포워딩 하고

 

 

 

외부에서는 지정한 아이피만 접속할 수 있게 설정하였다.

이제 공인아이피 22번 포트로 FreeNAS의 SSH 접근이 가능해졌다.

블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,

FreeNAS 웹접근은 ip4v 설정했던 그 주소로 하면 된다

http://192.168.1.20 이 될 터이니, 방화벽에 설정된 공인 IP에 포트포워딩하자.

 

pfsense Web UI 에 접속한다.

 [ Firewall ] - [ NAT ] 에 가서 + 눌러서 새 규칙을 추가한다

192.168.1.20의 HTTP포트(80)을 800으로 목적지 공인 IP의 800번 포트로 포워딩하겠다는 소리이다.

 

설정 후 저장 하고, 웹에 공인아이피:800으로 접속해보면 FreeNAS 초기화면이 반겨줄 것이다.

 

 

 

'Home NAS 구축' 카테고리의 다른 글

[FreeNAS] FTP 설정  (0) 2016.01.29
[FreeNAS] SSH 외부 허용하기  (0) 2016.01.29
[FreeNAS] FreeNAS 설치 후 네트워크 상황  (1) 2016.01.29
[FreeNAS] 가상디스크에 설치하기  (0) 2016.01.29
[FreeNAS] Boot TIP  (0) 2016.01.29
블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,

 WAN 에서 vmnic1 ( Onboard NIC ) 으로 100 Full 연결 --> pfsense --> LAN 단

DMZ -- 방화벽(pfsense) 투명모드 관련.

FreeNAS 의 iSCSi --> ESXi 로 내보내서 ESXi 가상머신의 디스크로 사용.

 

 

 

블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,