【Cisco】ファイル共有のスループットが上がらない

この前,ファイル共有のスループットが上がらないからインタフェースの設定を変えたのだが,どうにも100Mbps以上スループットが出ない。

ホストマシン上もインタフェースは1Gでアップしているし,他に何か調整余地あるかなと調べてみた。
以下2パターンでは状況は変わらず。
・ PC → ファイルサーバ(インスタンス上)
・ PC → ファイルサーバ(ホストマシン)
ということはサーバ側の問題ではないなと。

C841MでNATの制御が引っかかってスループット上がってないんじゃ?なんておもってログインしようとしたら,ファイルコピー中はSSHの応答が無い。CPU100%張り付いていた・・・。

オマエか。原因は。

PCをファイルサーバと同一セグメントにうつしてためしたところ,先の2パターンどちらも800Mbps以上出ていた。

状況証拠から結論が出た。

・C841Mではルーティング処理は約100Mbpsが限界値。
・L2処理は800Mbps以上は出る。というか,前の検証結果に準ずるのだろう。

【OpenStack】yum update したらダメになった・・・ orz

先週末, yum updateした後からインスタンスが起動しなくなった。

Cinder bootができず,しゃーないからスナップショットからバックアップをとりPackStack入れ直そうとおもっても,それも出来ず。

あれこれやっていたら本格的にダメになり,いっそnewtonにアップグレードしてみたが,それでもダメ。

DB SyncしてHorizonでちゃんと見れるが,アップグレード前と同じでインスタンスが起動しない。
新規インスタンス作成もダメ。osloあたりでエラーメッセージが出ているのだが原因がわからずじまいで結局キレイに入れ直すことにした。

が,ここでlvmのボリュームが消えずでまたこまった。
lvchange -an からのlvremove -f でやってもダメ。

レスキューモードで起動して無事消えました。

さて,こっからまた作り直すかね・・・。

【OpenStack】稼働中のインスタンスでOpenStackコマンド

毎度毎度コントローラーにログインするのもあれなので,インスタンスとして動いていてメインで使っているCentOSでOpenStackコマンドを叩くようにするメモ。

参考サイト

How to Install Pip on CentOS 7
Install the OpenStack command-line clients

■ PIP入れる準備

1. EPEL リポジトリ登録

# rpm -iUvh https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm

2. gccインストール
# yum install gcc

3. setuptoolsインストール
# wget https://bootstrap.pypa.io/ez_setup.py -O – | sudo python

4. pipインストール
# yum install python-devel python-pip

■ OpenStackクライアントインストール

# pip install python-openstackclient
# pip install python-neutronclient (何故かneutronコマンドだけ入っていなかった)

以上。

これで基本こっちでいじればよくなった。
ホスト側にあまり領域割かなかったから,イメージ登録とか楽になったわ。

【OpenStack】CentOS7でファイルサーバ立てたけどやたらとスループットが悪い

使っていたNASの容量がもうパンパンだったので,大量にDisk詰んだRDOにCentOS7をたててファイルサーバとしてNAS代わりにした。

が,やったらと速度が出ない。
ファイル移行で8Mbps程度しか出ていない。

で,「Neutron 速度がでない」とかでぐぐってみると,大体同じ事象がたくさん出てくる。

NICにトラフィック処理をオフロードしていることが原因のようで。

ここらを参考にGROをOFFにした。

・ Slow network speed between VM and external
・ NICのオフロード機能を無効にする

    $ ethtool -k enp4s0
    Features for enp4s0:
    rx-checksumming: on
    tx-checksumming: off
            tx-checksum-ipv4: off
            tx-checksum-ip-generic: off [fixed]
            tx-checksum-ipv6: off
            tx-checksum-fcoe-crc: off [fixed]
            tx-checksum-sctp: off [fixed]
    scatter-gather: off
            tx-scatter-gather: off
            tx-scatter-gather-fraglist: off [fixed]
    tcp-segmentation-offload: off
            tx-tcp-segmentation: off
            tx-tcp-ecn-segmentation: off [fixed]
            tx-tcp6-segmentation: off
    udp-fragmentation-offload: off [fixed]
    generic-segmentation-offload: off [requested on]
    generic-receive-offload: on
    large-receive-offload: off [fixed]
    rx-vlan-offload: on
    tx-vlan-offload: on
    ntuple-filters: off [fixed]
    receive-hashing: off [fixed]
    highdma: off [fixed]
    rx-vlan-filter: off [fixed]
    vlan-challenged: off [fixed]
    tx-lockless: off [fixed]
    netns-local: off [fixed]
    tx-gso-robust: off [fixed]
    tx-fcoe-segmentation: off [fixed]
    tx-gre-segmentation: off [fixed]
    tx-ipip-segmentation: off [fixed]
    tx-sit-segmentation: off [fixed]
    tx-udp_tnl-segmentation: off [fixed]
    fcoe-mtu: off [fixed]
    tx-nocache-copy: off
    loopback: off [fixed]
    rx-fcs: off
    rx-all: off
    tx-vlan-stag-hw-insert: off [fixed]
    rx-vlan-stag-hw-parse: off [fixed]
    rx-vlan-stag-filter: off [fixed]
    l2-fwd-offload: off [fixed]
    busy-poll: off [fixed]

    $ sudo ethtool -K enp4s0 gro off
    $ ethtool -k enp4s0
    Features for enp4s0:
    rx-checksumming: on
    tx-checksumming: off
            tx-checksum-ipv4: off
            tx-checksum-ip-generic: off [fixed]
            tx-checksum-ipv6: off
            tx-checksum-fcoe-crc: off [fixed]
            tx-checksum-sctp: off [fixed]
    scatter-gather: off
            tx-scatter-gather: off
            tx-scatter-gather-fraglist: off [fixed]
    tcp-segmentation-offload: off
            tx-tcp-segmentation: off
            tx-tcp-ecn-segmentation: off [fixed]
            tx-tcp6-segmentation: off
    udp-fragmentation-offload: off [fixed]
    generic-segmentation-offload: off [requested on]

    generic-receive-offload: off   # OFFになった

    これで転送やりなおしたら200Mbpsくらいまで改善された。100Mbpsでした。
    しかし,これって再起動したらまた戻るんだっけか?

    rcスクリプトとかにethtoolを仕込んでおかないとダメっぽい。

    Turning off GRO on startup
    ・ How to persist ethtool settings through reboot

    # /etc/sysconfig/network-scripts/ifcfg-enp4s0
    ETHTOOL_OPTS=”gro off”

    これでどうかしら。

    NAT除外設定

    Cisco IOSでNAT設定を入れている時に,特定のセグメントへの通信のみNATさせずに実アドレスで通信させる設定のメモ。

    単純にaccess-listのPermitの前段に除外したいACLを入れてあげればよいかと思いきや,うまくいかない。
    どうしたらいいかというと,Route-Mapを使う。

    ! ACL設定

    ip access-list extended No_NAT
    deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
    permit ip 192.168.1.0 0.0.0.255 any

    ! Route-Map設定
    route-map RM_NAT permit 10

    match ip address No_NAT

    ! NAT設定
    ip nat inside source route-map RM_NAT pool VLAN1

    メモ) AristaのvEOSをESX6で動かすとき

    vmdkファイルをthickへ変換しないとESX6では動かない模様。

    参考)Tip for Arista vEOS on VMware ESX 6

    ESXへログインして以下コマンドでvmdkファイルをthinからthickへ変更する。

    #  vmkfstools -i ./vEOS-lab-4.16.6M-s001.vmdk -d eagerzeroedthick
    ./vEOS-lab-4.16.6M-s001-thick.vmdk

    で,あとはこのディスクをアタッチしてisoからbootすれば無事に起動。

    完全にCiscoライクね

    2020年

    なんだかんだ,こういうものを描けるのってすごいよね。
    見ていてわくわくするわ。


    ただ,インフラエンジニアとしてこの辺どう絡むのかサッパリだ。

    要件定義書とか設計書を未だにエクセルでゴリゴリ書いているのを見るとゲンナリするから,こんなデバイスでニュイーンニュイーンて欲しい機能を集めると勝手に要件定義書ができるって仕組みできるとイイナ。

    そう考えるとやっぱある程度コードできんとダメなんだな。未だに全然だけど。

    ESXアップデートメモ

    UPDATE2にしようしようと忘れていた。

    ので,ちゃっちゃとやった。
    参考)ESXi 5.x/6.x ホストにコマンド ラインからパッチをインストールする (2092895)
    my vmwareからパッチをDL。

    ESXへSSHで接続。
    チャレンジレスポンスでやらんと認証うまくいかない。

    ・現状チェック
    esxcli system version get
       Product: VMware ESXi
       Version: 6.0.0
       Build: Releasebuild-2494585
       Update: 0
       Patch: 0

    ・profile確認
    # esxcli software profile get
    ESXi-6.0.0-2494585-standard
       Name: ESXi-6.0.0-2494585-standard
       Vendor: VMware, Inc.
       Creation Time: 2015-05-13T15:47:49
       Modification Time: 2015-05-13T15:49:08
       Stateless Ready: True

       Description:

    ・メンテナンスモード移行
    vim-cmd hostsvc/maintenance_mode_enter

    ・パッチ中身確認
    # software sources profile list
    -d /vmfs/volumes/datastore1/patch/update-from-esxi6.0-6.0_update02.zip
    Name                              Vendor        Acceptance Level
    ——————————–  ————  —————-
    ESXi-6.0.0-20160301001s-no-tools  VMware, Inc.  PartnerSupported
    ESXi-6.0.0-20160302001-standard   VMware, Inc.  PartnerSupported
    ESXi-6.0.0-20160301001s-standard  VMware, Inc.  PartnerSupported
    ESXi-6.0.0-20160302001-no-tools   VMware, Inc.  PartnerSupported

    ・テスト
     esxcli software profile update –dry-run
    -d /vmfs/volumes/datastore1/patch/update-from-esxi6.0-6.0_update02.zip
    -p ESXi-6.0.0-20160302001-standard

    ・Go!
     esxcli software profile update
    -d /vmfs/volumes/datastore1/patch/update-from-esxi6.0-6.0_update02.zip
    -p ESXi-6.0.0-20160302001-standard

    Update Result
       Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.

       Reboot Required: true

    ・再起動
    # reboot

    ・確認
    # esxcli system version get
       Product: VMware ESXi
       Version: 6.0.0
       Build: Releasebuild-3620759
       Update: 2

       Patch: 34
    esxcli software profile get
    (Updated) ESXi-6.0.0-2494585-standard
       Name: (Updated) ESXi-6.0.0-2494585-standard
       Vendor: esxhome
       Creation Time: 2016-07-01T00:18:32
       Modification Time: 2016-07-01T00:19:18
       Stateless Ready: True
       Description:

    ・メンテナンスモードExit
    vim-cmd hostsvc/maintenance_mode_exit

    以上。