キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
4619
閲覧回数
5
いいね!
0
コメント
Daijiro Kido
Cisco Employee
Cisco Employee

 

 

はじめに

Nexus から show tech-support や tac-pac ファイルを外部に転送したり、 Nexus へNX-OSイメージファイルを転送する際、数百 MB のファイルを転送する必要がありますが、ファイル転送環境によっては非常に時間がかかる場合があります。
単純に回線速度が遅い場合はどうしようもありませんが、それ以外では以下3点のような方法で改善される場合もあります。

 

解決策 1. 転送プロトコルを変えてみる

Nexus ではファイル転送プロトコルとして scp, tftp, sftp, ftp がサポートされています。
Nexus をクライアントとして動作させる場合は scp, tftp, sftp, ftp がサポートされています。
Nexus をサーバとして動作させる場合は scp, sftp がサポートされ、それぞれ feature scp, feature sftp により有効にできます。

Nexusシリーズ: NexusをSCP/SFTPサーバとして利用する方法

 

サーバ / クライアントで使用しているアプリケーションと通信特性によってはプロトコルを変えてみることで転送速度が改善する場合があります。

 

解決策 2. use-kstack オプションを使用 (SCPのみ)

7.0(3)I6(2) / 7.0(3)I4(8) より copy コマンドに use-kstack というオプションが実装されています。
このオプションは 従来の実装(Netstack) で低品質回線 もしくは 長距離で高RTTの回線での通信速度低下を大きく改善します。

※ CSCvd62161 により実装されました。
※ ftp 系のコマンドは use-kstack オプションに対応していません。

弊社の試験環境で SanJose から Sydney にファイル転送する場合 (RTT ≒ 100ms) の改善速度は以下の通りです。

 

<use-kstack なし>
switch# copy scp://xxxx@192.168.1.1//directory/nxos.7.0.3.I4.8.bin nxos.7.0.3.I4.8.bin vrf management nxos.7.0.3.I4.8.bin 4% 38MB 164.2KB/s 1:31:44 ETA <use-kstack あり> switch# copy scp://xxxx@192.168.1.1//directory/nxos.7.0.3.I4.8.bin nxos.7.0.3.I4.8.bin vrf management use-kstack nxos.7.0.3.I4.8.bin 100% 920MB 14.6MB/s 01:03

 

7.0(3)I6(2) / 7.0(3)I4(8) 以前の実装で kstack による転送を行う場合は feature bash を有効にし、run bash の root 権限から実行する必要があります。

 

switch# conf
switch(config)# feature bash-shell 
switch(config)# exit
switch# run bash
bash-4.2$ sudo su -
root@F# ip net exec management scp xxxx@192.168.1.1:/directory/nxos.7.0.3.I4.8.bin /bootflash/
  

 

解決策 3.  CoPP の変更 (management ポートを使用しない場合)

management ポートを使用せずに switch のポートからファイル転送を実行する場合、自発着通信については CoPP による policing 対象となります。以下のコマンドにより drop が発生していることが確認できる場合は CoPP の設定を変更することで改善する場合があります。

 

switch# show policy-map interface control-plane class copp-system-p-class-management
Control Plane

  Service-policy  input: copp-system-p-policy-strict

    class-map copp-system-p-class-management (match-any)
      match access-group name copp-system-p-acl-ftp
      match access-group name copp-system-p-acl-ntp
      match access-group name copp-system-p-acl-ssh
      match access-group name copp-system-p-acl-http
      match access-group name copp-system-p-acl-ntp6
      match access-group name copp-system-p-acl-sftp
      match access-group name copp-system-p-acl-snmp
      match access-group name copp-system-p-acl-ssh6
      match access-group name copp-system-p-acl-tftp
      match access-group name copp-system-p-acl-https
      match access-group name copp-system-p-acl-snmp6
      match access-group name copp-system-p-acl-tftp6
      match access-group name copp-system-p-acl-radius
      match access-group name copp-system-p-acl-tacacs
      match access-group name copp-system-p-acl-telnet
      match access-group name copp-system-p-acl-radius6
      match access-group name copp-system-p-acl-tacacs6
      match access-group name copp-system-p-acl-telnet6
      set cos 2
      police cir 36000 kbps , bc 512000 bytes 
      module 1 :
        transmitted 0 bytes;
        dropped 123456789 bytes;


CoPP のポリシングレートを暫定的に変更する方法は以下の通りです。

 

switch# show run copp
version 7.0(3)I7(3)
copp profile strict /// 現在適用しているプロファイルを確認してください。

switch# conf
switch(config)# copp copy profile strict prefix ftp
switch(config)# show policy-map type control-plane | i policy
policy-map type control-plane copp-system-p-policy-strict
policy-map type control-plane ftp-copp-policy-strict /// これが生成されます

switch(config)# policy-map type control-plane ftp-copp-policy-strict switch(config-pmap)# class ftp-copp-class-management switch(config-pmap-c)# police cir 100000 kbps bc 100000 bytes conform transmit violate drop /// drop が発生しないように適宜値を大きくしてください。 switch(config-pmap-c)# control-plane switch(config-cp)# service-policy input ftp-copp-policy-strict This operation can cause disruption of control traffic. Proceed (y/n)? [no] yes switch(config-cp)# end switch# show policy-map interface control-plane class ftp-copp-class-management Control Plane Service-policy input: ftp-copp-policy-strict class-map ftp-copp-class-management (match-any) match access-group name ftp-copp-acl-ftp match access-group name ftp-copp-acl-ntp match access-group name ftp-copp-acl-ssh match access-group name ftp-copp-acl-http match access-group name ftp-copp-acl-ntp6 match access-group name ftp-copp-acl-sftp match access-group name ftp-copp-acl-snmp match access-group name ftp-copp-acl-ssh6 match access-group name ftp-copp-acl-tftp match access-group name ftp-copp-acl-https match access-group name ftp-copp-acl-snmp6 match access-group name ftp-copp-acl-tftp6 match access-group name ftp-copp-acl-radius match access-group name ftp-copp-acl-tacacs match access-group name ftp-copp-acl-telnet match access-group name ftp-copp-acl-radius6 match access-group name ftp-copp-acl-tacacs6 match access-group name ftp-copp-acl-telnet6 set cos 2 police cir 100000 kbps , bc 100000 bytes module 1 : transmitted 0 bytes; dropped 0 bytes; control-plane service-policy input ftp-copp-policy-strict
<設定を元に戻す場合> switch# config Enter configuration commands, one per line. End with CNTL/Z. switch(config)# control-plane switch(config-cp)# copp profile strict This operation can cause disruption of control traffic. Proceed (y/n)? [no] y switch(config-cp)#

 

 

 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします