ESXi 6.5でVMDirectPath I/Oが設定できるけど使えない


ESXi6.5環境において、16Gb FC HBAのQLogic QLE2662に対して、VMDirectPath I/Oで仮想マシンから直接使える様にパススルー設定をした。
設定は問題なくできたものの、仮想マシンを起動してみると、全然認識してくれない。

よく、パススルー設定で選択できない、という話は聞くが、今回は、設定は出来ている。

ためしに8GbのFC HBA QLE2540 を使ってみると、同様の手法で設定でき、仮想マシンからちゃんと認識している。

ここら辺に糸口があるな、と調査。


<調査過程は省略>

結論からすると「VMware vSphere VMDirectPath I/O:プラットフォームとデバイスの要件」(英語版:VMware vSphere VMDirectPath I/O: Requirements for Platforms and Devices)の「PCI 機能リセット」設定の問題だった。

パススルー設定したPCIeデバイスは、物理サーバ起動時に初期化しているが、接続されている仮想マシンが起動する毎にPCIeデバイスの初期化を行う必要がある。
この初期化手法をどういう風に行うか、という設定を適切に行わないと、仮想マシン側で認識できないようだ。

設定はESXi上の /etc/vmware/passthru.map で行われている。

うまく動いたQLE2540のVender ID/Product IDを「esxcfg-info」コマンドで確認すると「1077」「2523」。
これは /etc/vmware/passthru.map で「1077 2532 default false」という定義で設定されている。
意味は、初期化手法がdefaultで、fptShareableがfalseなので全体初期化になる、というもの。
全体初期化であるため、1枚に複数ポートがある場合、別の仮想マシンに割り当てることができず、同じ仮想マシンに全部のポートを割り当てる必要がある、ということになる。

動かなかったQLE2662の方は「1077」「2031」。
記載が無いので、適切な初期化方法を見つけて追加する必要がある。
KBに「PCI ホスト ブリッジ直下の PCI 機能を VMDirectPath I/O で使用するには、FLR または D3Hot リセットをサポートする必要があります」とあるため「flr」の場合と「d3d0」の場合をそれぞれ実験。
結果、「d3d0」の時のみ仮想マシン側でもデバイスを認識してくれた。

ということで、/etc/vmware/passthru.mapの最終行に「1077 2031 d3d0 default」という記載を追加した。

なお、 passthru.map の修正を行った後は、ESXiを再起動する必要がある。

# cd /etc/vmware/passthru.map
# passthrough attributes for devices
# file format: vendor-id device-id resetMethod fptShareable
# vendor/device id: xxxx (in hex) (ffff can be used for wildchar match)
# reset methods: flr, d3d0, link, bridge, default
# fptShareable: true/default, false

# Intel 82579LM Gig NIC can be reset with d3d0
8086  1502  d3d0     default
# Intel 82598 10Gig cards can be reset with d3d0
8086  10b6  d3d0     default
8086  10c6  d3d0     default
8086  10c7  d3d0     default
8086  10c8  d3d0     default
8086  10dd  d3d0     default
# Broadcom 57710/57711/57712 10Gig cards are not shareable
14e4  164e  default  false
14e4  164f  default  false
14e4  1650  default  false
14e4  1662  link     false
# Qlogic 8Gb FC card can not be shared
1077  2532  default  false
# QLogic QL45604 cards need to be reset with "link" and cannot be shared
1077  1634  link     false
1077  1629  link     false
1077  1636  link     false
1077  1656  link     false
1077  1644  link     false
1077  1654  link     false
# LSILogic 1068 based SAS controllers
1000  0056  d3d0     default    
1000  0058  d3d0     default
# NVIDIA
10de  ffff  bridge   false
# for QLE2662
1077  2031  d3d0     default
#

fail2banで全部JAILのステータスを確認したい



Linuxサーバでfail2banを使ってアクセス拒否設定を行っている。

JAILを複数している場合に、全部を一括で確認する手段が標準ではない模様。
調べたところ「kamermans/fail2ban-allstatus.sh」の下記コメントを発見

joergludwig commented on 20 Dec 2017
Shorter version:
fail2ban-client status | sed -n ‘s/,//g;s/.*Jail list://p’ | xargs -n1 fail2ban-client status

これを ~/.bashrc に下記にように追加し、「fail2ban-check」で確認出来るように設定した。

alias fail2ban-check="fail2ban-client status | sed -n 's/,//g;s/.*Jail list://p' | xargs -n1 fail2ban-client status"

HPE 5700 スイッチの日付設定



旧H3C系の流れをくむ「HPE 5700 Switch」の設定をしていたところ、現在時刻の設定を手動で行う場合の手順がよくわからなかったのでメモ

なお、使用したfirmwareのバージョンは「HPE Comware Software, Version 7.1.045, Release 2432P01」です

・現在時刻の確認

<HPE>display clock
18:01:34 Tokyo Fri 01/26/2018
Time Zone : Tokyo add 09:00:00
<HPE>

・NTPを設定している場合の確認

<HPE>display ntp-service status
 Clock status: unsynchronized
 Clock stratum: 16
 Reference clock ID: none
 Clock jitter: 0.000000 s
 Stability: 0.000 pps
 Clock precision: 2^-17
 Root delay: 0.00000 ms
 Root dispersion: 101.79138 ms
 Reference time: 00000000.00000000  Thu, Feb  7 2036 15:28:16.000
<HPE>

上記だと「Clock status: unsynchronized」なので、NTPサーバとの同期が取れていない。

・NTPサーバに関しての情報確認

<HPE>display ntp-service session
       source          reference       stra reach poll  now offset  delay disper
********************************************************************************
    [5]xxx.xxx.xx.xx1  INIT              16     0   64    - 0.0000 0.0000 0.0000
    [5]xxx.xxx.xx.xx2  INIT              16     0   64    - 0.0000 0.0000 0.0000
    [5]xxx.xxx.xx.xx3  INIT              16     0   64    - 0.0000 0.0000 0.0000
Notes: 1 source(master), 2 source(peer), 3 selected, 4 candidate, 5 configured.
 Total sessions: 3
<HPE>

上記はNTPサーバを3つ指定している場合の出力。
接続できていないのでreferenceが「INIT」となっている。

・時刻の設定
標準のモード(system-viewを実行してない状態)でclock datetimeコマンドを実行して設定する

<HPE>clock datetime 16:09:00 2018/01/26
<HPE>%Jan 26 16:09:00:008 2018 HPE DEV/5/DEV_CLOCK_CHANGE: -User=**-IPAddr=** ; System clock changed from 14:48:09 Tokyo Wed 01/05/2011 to 16:09:00 Tokyo Fri 01/26/2018.
<HPE>

なお、NTP設定がされている場合は、下記のように「clock protocol none」を設定してから実行しろと表示される。

<HPE>clock datetime 16:09:00 2018/01/26
To manually set the system time, execute the clock protocol none command first.
<HPE>

clock protorolはsystem-viewでないと設定できなかったので、下記のように実行する。

<HPE>system-view
System View: return to User View with Ctrl+Z.
[HPE]clock protocol none
[HPE]quit
<HPE>clock datetime 16:09:00 2018/01/26
<HPE>system-view
System View: return to User View with Ctrl+Z.
[HPE]clock protocol ntp
[HPE]quit
<HPE>

・タイムゾーンの設定
日本で使う場合は9時間ずらす設定を入れる

<HPE>system-view
System View: return to User View with Ctrl+Z.
[HPE]clock timezone Tokyo add 09:00:00
[HPE]quit
<HPE>

・NTPサーバの設定
NTPによる時刻同期を行う場合は「clock protocol ntp」を実行し、
「ntp-service unicast-server IPアドレスまたはホスト名」でNTPサーバを指定する。
NTPサーバの指定が複数ある場合は複数回実行する。

<HPE>system-view
System View: return to User View with Ctrl+Z.
[HPE]clock protocol ntp
[HPE]ntp-service unicast-server xxx.xxx.xx.xx1
[HPE]ntp-service unicast-server xxx.xxx.xx.xx2
[HPE]ntp-service unicast-server xxx.xxx.xx.xx3
[HPE]quit
<HPE>

なお、誤って登録してしまった場合は「undo ntp-service unicast-server xxx.xxx.xx.xx1」と実行すると削除できる。

Aliexpressで$39.99で売ってる1000Mbps対応のPLC(電力線LAN)は日本で使えるのか?


2021/08/02: リンク先がいくつか無くなったりしてたので修正

Aliexpressを見てたら、PLC(電力線LAN)装置のペアが$39.99で販売していた。

安いけど、日本で使えるんだろうか?と調べてみた。

まず、上記の機器について調査。
中国の「Tenda」というメーカの「PH3」といい商品。
HomePlug AV2という規格に対応し、通信速度は1000Mbs。
この他に旧規格のHome Plug AVとIEEE 1901にも対応とのこと。

Tendaでは、HomePlug AV2に対応した製品を全部で4種類出している
・「PH3」ペア販売で、基本系で、LANは1ポート(2台セット)
・「PA6」無線LAN APを兼ねているもの。LANは2ポート(1台)
・「P1001P」コンセントを消費してしまうのを避けるためにタップ機能も用意。LANは1ポート(1台)
・「P1002P」P1001PのLANが2ポートになったモデル(1台)
この4製品で混在可能。


さて、規格について確認。

・HomePlug(団体名)
 「HOMEPLUG
 ここが制定してる規格がHomePlug
 2019年4月以降Webがアクセスできず、HomePlugの現状は不明

・HomePlug 1.0
 2001年リリース。
 2008年にTIA-1113として承認

・HomePlug AV 1
 2005年リリース。13Mbps~200Mbpsの規格
 家庭内でのAudio/Video配信に耐えられる規格として制定
 2010年にIEEE1901として承認された
 2~30MHzの帯域幅を使う

・HomePlug AV 2
 2012年リリース。~1300Mbpsの規格
 実行速度は出ても550Mbps
 2~30MHzに加えて、30~86MHzの帯域幅を使う

・HomePlug Green PHY
 2010年リリース。スマートグリッド向け
 HomePlug AV 1のサブセット
 10Mbpsまで

・HD-PLC(団体名)
 「HD-PLCアプライアンス
 HomePlugとは別の団体で、日本のパナソニックなどが主体となっている。
 ここが制定してる規格がHD-PLC

・HD-PLC 1
 2~28MHzの帯域幅を使用

・HD-PLC 2
 2~28MHzの帯域幅を使用
 ~210Mbpsの規格
電力線を使うだけでなく、同軸ケーブルを使用する製品も存在している

・HD-PLC 3
 新世代IEEE1901 「HD-PLC3」
(Complete、inside)について

 2~28MHzの帯域幅を使用
 ~240Mbpsの規格
電力線を使うだけでなく、同軸ケーブルを使用する製品も存在している

HD-PLC4 (Quatro Core)
 2019年3月にIEEE 1901aとして承認されたもの
 2~100MHz帯を使用し、~1000Mbpsの規格
 ただし1000Mbpsは同軸ケーブル利用の場合で、電力線は250Mbpsまで

・HomeGrid Forum(団体名)
 「HomeGrid Forum
 中国発祥の規格。

・G.hn
 HomeGrid Forumが制定するGigabit Home Networkingの規格
 TVアンテナ用の同軸ケーブルなどを利用する製品
 先日エレコムが出した「エレコム、既設の同軸ケーブルをイーサネット化するコンバーター、最長1100mの通信が可能はG.hn製品

GiGA Wire
 G.hnをベースにした拡張規格


日本で使えるか?という点について確認する

HD-PLCフォーラムの「高速PLC通信とは?」に下記記載があった。

一方、日本国内では、これまで低速PLC通信が、450kHz以下の周波数帯で商用認可されていましたが、高速PLC通信の利用は、規制されていました。 その後、高速PLC通信ニーズの高まりにより、2006年10月から短波帯(2M~30MHz)を使用した屋内利用が、規制緩和されインターネット利用で順調に市場が拡大し、出荷累計120万台を超える市場に成長しています。 また、最近では、無線LAN利用拡大に伴う通信障害対策としての利用ニーズも高まりを見せています。 このような背景の下、2013年9月には、屋外利用の規制緩和も行われ今後、高速PLCの利用範囲は、更にさまざまな分野に広がるものと期待されています。

2~30MHz帯を使えば問題ないが、それ以上を使うHomePlug AV2では問題があるようだ。

ZentyalというExchange互換をうたうUbuntuベースのメール/グループウェアアプライアンス


2019/07/02追記:「Zentyalを日本語で使う場合の設定手順」という別記事もあります。

なお、Exchangeサーバ互換としては、OpenChangeは死んだプロダクト(ドメインも関係無い業者にとられている)で、2021年6月時点でも使えるものは SOGo になります。


以前、UbuntuをWeb GUIで管理するツールとしてZentyalというものを見つけたが、結局使わなかった。
現状、どんな感じになっているかを確認してみたところ、Web GUIメインというよりは、メールアプライアンスの管理画面として元気に動いていた。

商用版サイト:http://www.zentyal.com/
非商用版サイト:http://www.zentyal.org/
github:https://github.com/Zentyal/zentyal

Zentyal 5.0が2016/11にリリースされている。

ベースOSはUbuntu 16.04で、そこにOpenChange®, SOGo, Samba4, Heimdal Kerberos®, Dovecot, Postfix, Postgrey, Sieve, Fetchmail, Amavis, SpamAssasin, ClamAV, Apache, CUPS, Netfilter, BIND9, ISC DHCP, NTPd, OpenSSL, OpenVPNを載せてアプライアンスとしている。

興味深いのは「OpenChange
Microsoft Exchange Server互換をうたっており、メールやスケジュール管理のグループウェア的な利用方法もサポートしているらしい。
OutlookからExchange Serverとして使えるようだ。
いままでも、そういう製品はいくつかあったが、大抵商用ライセンスのみで、非商用版でも使えそうなのは見かけなかった。

Zentyalの場合、商用版と非商用版で何が違うのか?
DIFFERENCES BETWEEN ZENTYAL EDITIONS
どちらも「All the latest features.」とあり、機能差はないようだ。
非商用版は、常に最新パッケージを使うので、安定版にとどめておく、ということができない、という違いがあるようだ
まぁ、小規模で使うんだったら、まぁ、関係無い感じですね

Zentyalを使うには以下の4つのパターンがあるようだ
・Zentyal Cloudを契約し、Zentyalが提供する基盤を借りる
・Zentyal Serverを購入し、指定されたISOイメージを使ってインストールを行い、運用する
・Zentyal Development editionのISOイメージを使ってインストールを行い、運用する
・UbuntuにZentyal Development editionのレポジトリを追加し、インストールを行い、運用する

とりあえず試してみるのであれば「Zentyal Development editionのISOインストール」か「UbuntuにZentyal追加」になる。

公式Wiki」の更新状況が微妙なのだが、
いろいろ探すと「5.0対応のInstallation Guide」が出てくる。
この手順にしたがうと、素のUbuntu 16.04に対して、レポジトリを追加することでzentyalがセットアップできるようになるらしい。

この手順でインストールしたものは「DEVELOPMENT EDITION」という扱いで、zentyal.orgで入手できるバージョン扱いになる。
なお、development editionから商用版へのアップデートはできない、とのこと。

で・・・本来であれば導入に関する記事を書くはずだったのですが
いまだのConoHaでUbuntu 16.04 64bit環境がデプロイできないという件が解決していないので、続きがかけていません。

いつになったら解決するかなぁ・・・

2016/12/09 「ConohaでUbuntu16.04 64bitを構築すると高確率で設定したパスワードが利用できない

2016/12/16 「ConoHaでUbuntu 16.04 64bitを指定したパスワードでデプロイできない件は未解決のままもうすぐ10日経過

結局、1ヶ月以上経ってからバグで修正終わりました、という報告があっただけで、使えなかったことと検証したことに対するConoHaからの謝罪はありませんでした。あと、こちらから指摘しなければ利用料金を全額支払わせるつもりでしたね。