인터넷에 나도는 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 로 조금 지연시간 둔 후에 실행하는 것도 나쁘지 않을지도 모릅니다. ^^
'Home NAS 구축' 카테고리의 다른 글
[ESXi-FreeNAS] Areca-cli 관리 (0) | 2016.02.16 |
---|---|
[FreeNAS] Jail 커맨드 관리 (0) | 2016.02.04 |
[FreeNAS] SSH 한글 표시 설정 (0) | 2016.02.02 |
[FreeNAS] Webdav 추가하기 (0) | 2016.02.01 |
[FreeNAS] ESXi 가상스위치 사용시 Jail 네트워킹 문제 (0) | 2016.02.01 |