2017년 6월 13일 화요일

[Ansible] NX-OS 테스트 환경 구축하기 (5)



글의 작성 순서가 산으로 가는 거 같긴 한데..
국내에 NX-OS 테스트 환경을 버추얼 박스(Virtualbox)로 구축하고 포스팅 한 글 자체가 없고...누군가는 또 시간 허비하거나... VMware workstation으로 해야만 하는 경우가 발생할 것 같아서 이 글을 씁니다아~~

그 동안 저도 보통 VMware사의 vsphere(하이퍼바이저가 포함된 제품이름)를 사용해서 그냥 ova 넣고 serial에 대한 파이프 설정만 하면 끝~!

이라 -_-; 이렇게 고생하지 않았는데 말이죠...

(한번 10번 넘게 이런듯)

그렇다고 어디 정리되어 있는 글은 시스코 홈페이지 밖에 없는데 그게 따라하기가 완벽한게 아니라서...;;; 몇개 Tip도 있고요~

0. 우선 vNXOS는 시스코 홈페이지에서 파트너, 고객, 내부 직원만 다운로드 받을 수 있습니다. (실습을 하기가 완전 제한적이라는거죠.... 하하하;;; 이래서 다른 걸로 어떻게 해보려고 했는데 방법이... 이전 글 참조)
그리고, 링크를 넣을까 하다가 수시로 바뀌는 페이지때문에, 멱등성을 위해서 그냥 그림에 설명합니다.




다양한 종류의 패키지들이 있습니다. 그래서 그냥 쓰면 될꺼 같죠?
생각보다 아닙니다.....녹록하지가 않아요 세상에는 쉬운 일이 정말로 없어요.

그나마 VMware 제품들하고 붙는 경우에는 ova를 그냥 붙이면 몇개 할게 없는데...
버추얼 박스는 핸드메이드하는 느낌이더라고요..

가장 참고해야 하는 페이지
NX-OSv 9000 Guide
http://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/nx-osv/configuration/guide/b_NX-OSv_9000/b_NX-OSv_chapter_01.html#reference_87A8E971F9804A04A4AFC5151BDA9FBB

이 페이지 중에서 'Deploying NX-OSv 9000 on VirtualBox' 여기부터 읽으시면 됩니다.
영어로 되어 있지만, 가독성도 나쁘지 않은데...따라서 하면 막힙니다...

자 이제 막힐만한 부분이나 고려해야 할 부분을 살펴 볼까요?


1. OVA는 안됩니다. (step 1)
이건 읽어보면 아는건데, vmware에서 하듯 그냥 ova 쓰면 에러가 나고..구글링을 아무리 해보고 해결을 하려고 해도 안됩니다. vmdk로 받고 디스크 이미지를 자체를 붙여줘야 합니당.

2. 메모리 많이 많이 드십니다.  (step 3)
step3에 보면 8192MB를 권장하고 있기도 하고 대략 한 VM당 6GB정도 드십니다.
따라서...VM 두개와 앤서블 컨트롤러를 돌리려면 최소 16GB는 있어야..딴거 안 하면서 돌릴수가 있고..vNXOS에 부하가 가는 경우(지금 테스트에서는 거의 발생을 안 하겠지만..)에는 시스템이 '우잉잉....'하는 것을 자주 들을 수 있습니다.


이게 지금 vNXOS 2개와 앤서블 컨트롤러(RHEL 7.2)가 로드된 상태의 자원 상태입니다. 건들이면 싫어할꺼 같은 느낌이 들죠..
아침에 메모리 추가할까 가격을 알아보고 가격보고 포기했습니다.-_-;
오히려 삼성 주식을 사야 하나 싶더라고요.

3. IDE/SATA Controller (step 6)
이 부분이 제일 어이가 없었던 곳인데...제일 간편한 것은 다 지우고 SATA Controller를 새로 만들어서 거기에 다운받은 vmdk를 링크해주세요.
그게 제일 쉽습니다. IDE는 240M(vNXOS 이미지가 한 500에서 700MB정도 하는데) 로드하다가 포기하고 다시 부팅해서 합니다. 몇번까지 이러나 몇시간동안 구경도 해 봤는데 안됩니다. IDE로는...
역시 메뉴얼을 꼼꼼히 읽어봐...야 겠는데 지우라는 얘기는 없습니다. 추가하라고만 했지...

4. EFI (step 7)
지금까지 생각도 안 했던건데...vNXOS는 uEFI기반이었습니다.
BIOS가 아니었더라고요...BIOS(기본)으로 하면 시스템이 그냥 부팅하다가 뻗습니다.
이것도 몇시간 잡아 드셨죠...생각도 안 했던거라...--;

5. 네트워크 (step 9)
버추얼박스의 경우 NAT가 기본인데, 메뉴얼은 기본에서 포트포워딩 하라고 했는데 이거보다는 그냥 브릿지로 변경하는게 휠씬 편합니다. 나중에 GUI 실습(-_-; 시스템이 버텨준다면...) 할때를 봐서도 호스트와 통신이 그냥 다 뚫려 있고 IP가 고정되는게 편합니다.

6. Console 통신 
네트워크 엔지니어분들이 아시는 Console은 Serial로 통신하게 되는데...pipe로 리바인딩 해줍니다. 그냥 시키는대로 \\.\pipe\COM1 이렇게 설정하는 것도 방법이지만,
개성 있게 \\.\pipe\hoonjo 이렇게 해도 돌아갑니다. 어짜피 그 이름으로 바인딩되는거라서요


접속은 푸티로 했습니다 글로벌 모든 엔지니어들이 가볍게 쓰는 울푸티~!



7. loader???? what the...
처음 부팅은 다 잘되고 잘 돌아가는데, 다음 부팅부터 이런 화면을 만나시게 될 겁니다.




여기서 또 삽질은..메뉴얼에는 별 내용도 없고..다시 이미지 넣고 위의 과정을 몇번 반복하다 보면... 또 이런 그림을 만나게 됩니다.
(열이 받을땐, 일단 자고 일어납니다.)


생각을 해 보니 loader가 저러는건 다 이유가 있을 꺼 같아서 생각해 보다 보니 이미지를 일단 rmon하듯 로드를 시켜주고 조사해 보는게 좋겠더라고요. 


메뉴얼 로드 시켜줍니다.
그리고 로딩이 다 끝난 이후에 구성 파일을 봤더니..boot가 구성이 안되어 있습니다.
1회용으로 쓰라는 C모사의 배려일까요..?
...아..오해가 없으시길..저 C모사 정말 좋아합니다...

어쨌든 구성 파일 중에 아래와 같이 boot nxos를 구성을 해주고 저장 합니다.

n9k-1# conf t 
n9k-1(config)# boot nxos bootflash:///nxos.7.0.3.I6.1.bin
Performing image verification and compatibility check, please wait....
n9k-1(config)# copy run start
[########################################] 100%
Copy complete.

최종 완성본






참고 정보 : 
네트워크 엔지니어가 아닌 분들을 위해서 
몇가지 명령어만 기입해 드리겠습니다. 

호스트에서 vNXOS를 접근하게 하기 위해서 
(버추얼 박스에서 브릿지로 되어 있다고 가정 / 브릿지가 보통 172.30.1.nnn을 써서요)
n9k-1(config)# int mgmt0 
n9k-1(config-if)# ip add 172.30.1.nnn
n9k-1(config-if)# no sh 

호스트 이름과 admin 패스워드 변경 
n9k-1(config)# hostname <원하는 이름>
n9k-1(config)# username admin password <원하는 패스워드>

다음 글에서는 진짜 nx-api도 이제 되니까..ansible로 한번 vlan좀 만들어 봅시다 ㅠㅠ

0 개의 댓글:

댓글 쓰기

 
Copyright © . 엔지니어를 위한 파이썬 및 기술 블로그 - Posts · Comments
Theme Template by BTDesigner · Powered by Blogger