1. 첫번째

본 기사에서는 IBM Cloud (Bluemix Infrastructure / SoftLayer)의 Vyatta Gateway Appliance (vRouter 5400)와 Virtual Router Appliance (vRouter 5600)의 차이를 설명하고, 5400에서 5600으로 마이그레이션 하는 것을 목표로 합니다. 
불행히도 Vyatta Gateway Appliance (vRouter 5400)는

  • 2017 년 9 월 1 일에 EOM (End of Market : 판매 종료)
  • 2018 년 2 월 20 일에 EOS (End of Support : 지원 종료)

됩니다. 공식 마이그레이션 가이드 같은 것은 존재하지 않기 때문에 전반적으로 설명 하기는  어려운 상황입니다.
먼저 마이그레이션전 준비사항에 대해 알아 보겠습니다.
참고 자료 :

2. vRouter5400 / 5600의 차이점 요약

  • vRouter 5400의 후속 버전이 vRouter 5600이지만, 불행히도 설정이 서로 호환 되지 않습니다. 따라서 5400 구성 스크립트를 5600에서 그대로 실행할 수 없습니다. 기본적인 설정 방법은 기존 방법 처럼, Operation Mode와 Configuration Mode를 구분하여 설정합니다.
  • CloudZ IBM Bluemix IaaS는 Portal에서 Vyatta Gateway Appliance (vRouter 5400)를  여러 VLAN을 연결(associated)시킨 후, Routed 모드로  전환하여, 연결 된 VLAN에 대한 라우팅을 Vyatta Gateway Appliance의 VRRP에 할당 된 VIP 통하도록 설정 가능했습니다. 당연히 Virtual Router Appliance (vRouter 5600)에서도 동일 하게 할 수 있습니다.
  • 기존 vRouter 5400은 받은 패킷을 Linux Kernel에서 처리했지만 이것만으로는 10Gbps 같은 고속 NIC환경에서는 인터럽트 처리가 따라잡지 못했습니다. 충분한 성능 상의 혜택을 받기 위해서, vRouter 5600에서는 컨트롤 플레인(전송 경로의 결정)와 데이터 플레인(실제 전송)처리 부분을 분리하고 특히 데이터 플레인에서 Intel DPDK를 이용하고 유저 랜드에서 효율적으로 처리를 목표로 하였습니다. (https://namu.wiki/w/Intel%20DPDK) 따라서 데이터 플레인의 인터페이스가 설치되고, iptables를 이용하지 않는 유저 랜드에서 처리하는 필터링 방식으로 변경되어 있습니다. slideshare에있는 «고성능 가상 Router»Brocade Vyatta 5600 vRouter 아키텍처 개요를 참조하십시오.
  • vRouter의 OS 비용은 vRouter 5400는 $219 로 고정이 였지만, vRouter5600는 다음과 같이 변경되어 있습니다. (기타 비용은 변경되지 않습니다)
    • Single Processor 모델은 $219그대로 동결.
    • Dual Processor 모델은 $399로 증가.
vRouter5400 (VGA)
vyatta @ vga01 : ~ $ show version
Version : VSE6.7R10
Description : Brocade vRouter 5415 6.7 R10
Copyright : 2016 Brocade Communications Systems, Inc.
Built by : autobuild@vyatta.com
Built on : Thu Jan 28 01:12:37 UTC 2016
Build ID : 1601280114-ec94d79
System type : Intel 64bit
Boot via : image
HW model : PIO-628U-TR4T + -ST031
HW S / N : A16640424B01844
HW UUID : 00000000-0000-0000-0000-002590FA8E5C
Uptime : 15:49:23 up 6 days, 21:03, 1 user, load average : 0.07, 0.20, 0.27
vRouter5600 (VRA)
vyatta @ vga02 : ~ $ show version
Version : 5.2R5S3
Description : Brocade Vyatta Network OS 5600 5.2R5S3 Standard License
License : Standard
Built on : Fri Jun 30 13:09:25 UTC 2017
System type : Intel 64bit
Boot via : image
HW model : PIO-628U-TR4T + -ST031
HW S / N : A16640427510214
HW UUID : 00000000-0000-0000-0000-0CC47AD310C0
Uptime : 01:49:12 up 9 min, 1 user, load average : 0.42, 0.46, 0.34

3. 마이그레이션 전략

마이그레이션 전략은 다음의 두가지 방법을 생각할 수 있습니다.

3.1 새로 vRouter 5600을 구축하는 방법.

장점

  • 새로운 환경에서 충분히 테스트 한 후 기존 vRouter 5400에서 VLAN disassociate 후 신규 vRouter 5600에 VLAN associate 함으로써 다운타임을 최소화 하면서 전환 할 수있다.
  • 전환시 문제가 발견된 경우에는 VLAN의 associate / disassociate 만 바꾸어서 즉시 이전 vRouter 5400 환경으로 되돌릴 수있다.

단점

  • vRouter 자신의 IP 주소와 VRRP의 VIP 등의 IP 주소가 변경되어 버린다. 그 결과 vRouter 와 연결된 상대 쪽 VPN 장비 및 On-Prem의 NW 구성 변경이 필요하기 때문에, 만약 이러한 상대 쪽 환경이 존재한다면 영향 범위를 클라우드로만 볼 수 없다.
  • 신규로 프로비저닝한 vRouter 5600과 기존 vRouter 5400의 동시 사용을 위한 과금을 고려해야 한다. (월말 변경 추천)
  • 전환전 Firewall등을 검증 하기 위해 서버 및 스토리지가 필요하다.( 테스트만 사용할 시간 과금 추천)

3.2 기존 vRouter 5400을 직접 OS Reload에서 마이그레이션하는 방법

기존 자원의 OS를 vRouter5400 -> vRouter 5600 로 바꾸는 것은 OS reload (기존 서버에 OS를 다시 설치하는 기능)기능으로 실행 가능하며, 다음 문서에 방법이 나와 있습니다.

장점

  • IP 주소가 변경되지 않는다.
  • 기존 서버를 재사용하기 때문에 추가 요금이 최소 밖에 발생하지 않는다. (OS 라이선스 비용 일할 과금)
  • 기존 서버를 재사용하기 때문에 서버를 새로 주문을 할 필요가 없다.
  • vRouter 5400의 EOM(End of Market)까지는 OS reload를 해서vRouter 5600을 다시 vRouter 5400에 되돌릴수도 있다.
  • 기존 HA로 구성이 되어 있을 경우 Slave 1대만 reload를 해서 vRouter 5400과 vRouter 5600 두개로 VRRP에 따른 HA 구성을 만들 수 있기 때문에, vRouter 5600로 전환하고 본격적인 테스트를 한 후, 문제가 발생하면 vRouter 5400로 되돌릴 수 있다.

단점

  • 서비스 영향을 최소화하기 위한 테스트를 충분히 실시 할 수 없을 가능성이 있다. (특히, HA 구성이 안되어 있는 경우)

vRouter 5400과 vRouter 5600에는 많은 차이가 있기 때문에 사전에 이론적으로 문서상으로만 탁상 공론해서 정리하기는 어렵다고 생각됩니다. 만약 OS Reload으로 전환하더라도 1) vRouter 5600에서 동작 확인을 다른 환경에서 미리 실시하는 것과, 2) 유지 보수 시간을 충분히 마련하여 테스트 시간와 장애시 복구할 시간을 확보해 둔 다음 작업하는 것이 바람직 합니다.


4. 마이그레이션 전에 해 두어야 할 일

4.1 유지 보수 시간의 확보

VLAN의 route / bypass 변경 및 associate / disassociate 중 네트워크 중단이 발생하기 때문에, 이전 하는 동안에 Vyatta 통한 스토리지 액세스 등은 피해야 합니다. 마이그레이션 시간과 테스트 시간, 만일의 경우 복구 시간까지 고려해서  유지 보수 시간을 미리 확보 해 두어야 합니다.

4.2 미리 백업해두기

  • vRouter 5400에서 vRouter 5600은 IBM Cloud에서 OS reload을하여 upgrade 할 수 있습니다. 이때에는 설정 파일은 초기화되어 버리기 때문에 다음 방법등을 이용하여 백업을 해 두어야 합니다. 당연하지만 백업 한 파일은 다른 서버 등으로 복사 해 두십세요.
구성 파일의 백업 방법

#config 파일 백업
$ cp -pr /config/config.boot /config/config.boot_20170601

# tech-support용 파일을 수집한다./config/support/ 아래에 파일이 생성된다
$ show tech-support save
$ generate tech-support archive

  •  Vyatta / VyOS 설정 정보를 그대로 또는 암호 정보를 은폐하고 명령 형식으로 추출하는 방법

4.3 Master / Backup 노드의 확인

두 노드가 MASTER / BACKUP인지 확인합니다. 만약 OS Reload 마이그레이션을 수행 할 때 BACKUP NODE에서 실시합시다.

두 노드가 MASTER / BACKUP인지 확인
$ show vrrp
                                 RFC Addr Last Sync
Interface Group State Compliant Owner Transition Group
--------- ----- ----- --------- ----- ---------- -----
bond0 1 MASTER yes no 10s vgroup1
bond0.1449 1 MASTER no no 10s vgroup1
bond1 1 MASTER yes no 10s vgroup1
bond1.1438 1 MASTER no no 10s vgroup1

MASTER / BACKUP을 전환하기 위해서는 MASTER 노드 측에서 reset vrrp master명령을 실행합니다. 다음 예제는 group 1을 전환 하였을 때의 예이지만, group 2, 3도 마찬가지로 명령을 실행하여 전환 할 수 있습니다.

MASTER / BACKUP 전환
$ reset vrrp master interface bond0 group 1
vrrp group 1 on bond0 is in sync-group vgroup1
Forcing vyatta-bond1-1 to BACKUP ...
Forcing vyatta-bond0-1 to BACKUP ...
Forcing vyatta-bond0.1449-1 to BACKUP ...
Forcing vyatta-bond1.1438-1 to BACKUP ...

$ show vrrp
                                 RFC Addr Last Sync
Interface Group State Compliant Owner Transition Group
--------- ----- ----- --------- ----- ---------- -----
bond0 1 BACKUP yes no 18s vgroup1
bond0.1449 1 BACKUP no no 18s vgroup1
bond1 1 BACKUP yes no 18s vgroup1
bond1.1438 1 BACKUP no no 18s vgroup1


4.4 Preempt 기능 비활성화 및 Priority 값 확인

Preempt 기능을 비활성화하면 1호기에 장애가 생겨서 2호기로 Takeover가 발생한 후, 1호기가 다시 복구되어도 Priority 값(높을수록 우선 순위 높음)과 관계없이 2 호기가 계속 MASTER로 동작합니다. 
반면, Preempt 기능을 활성화하면, 1호기에 장애가 생겨서 2호기에 Takeover가 발생한 후, 1호기가 다시 복구되었을 때 만약 1호기의 Prioirty 값이 높으면 1호기에 다시 FailBack을 합니다. 작업 중에 Priority값이 높은 서버로 자동적으로 돌아가고 싶지 않으면 두 노드에서 Preempt기능은 미리 해제하도록 권장합니다.
※ 원래 Preempt 기능은 VRRP 구성을 하는 두대의 Vyatta에 성능 차이가있을 때 가능한 성능 수치가 높은 노드에서 처리시키는 경우에 유효하지만, 모두 동일한 성능과 기종을 이용한다면 Preempt 기능을 이용하는 것은 별로 의미가 없습니다.

Preeempt 및 Priority 확인
$ show vrrp detail | grep Preempt
  Preempt : disabled
  Preempt : disabled
  Preempt : disabled
  Preempt : disabled

$ run show vrrp detail | grep Priority
  Priority : 254
  Priority : 254
  Priority : 254
  Priority : 254

4.5 Config-Sync 기능 해제 확인

# show system config-sync구성에서 알 수 있듯이 기본적으로 nat, firewall, vpn 구성이 자동으로 동기화되도록 구성되어 있습니다. 만약 vRouter 5400과 5600을 섞어서 구성하면 동기화하려고 됨으로써 시스템이 불안정해질 수 있습니다. 5400과 5600의 구성이 다르기 때문에 서로 동기화하는 것은 의미가 없습니다. 만약 Config-Sync를 수행한다면 두 노드를 5600로 upgrade 후에해야합니다. 마이그레이션 전에 두 노드에서 Config-Sync는 사전에 삭제 해 두어야 합니다.

config-sync 설정 삭제
vyatta @ vga01 # delete system config-sync
vyatta @ vga01 # commit
vyatta @ vga01 # save


+ Recent posts