さくらVPSにVyOSインストール

1. さくらのVPS契約

IHANetへの接続形態については色々検討しました。当初、自宅の光回線固定IPアドレスの契約を行い、小型PCを購入しソフトウェアルータを動かす事を考えました。ただ、自宅で小型PC等の機器を24時間365日の連続稼働をさせたくないことや、ひかり電話が使えなくなるという理由で諦めました。

最終的にさくらインターネットVPS(仮想専用サーバー)を契約し、その上でソフトウェアルータを動かす事としました。ちなみにソフトウェアルータとしては、当面の間はVyOSを利用し、その後、CentOS + FRroutingに変えたいと思っています(私のLinuxスキルが向上次第、移行します)。

なお、契約したさくらのVPSは、VyOSが稼働できれば良いので最小構成のモノを選択しました。月額685円で利用できるのでお得感がありますね。

項目 スペック
CPU 仮想1Core
メモリ 512MB
ストレージ 20GB SSD
利用料金 初期費用:1,080円、月額:685円

2. さくらのVPS上でのVyOSインストール

さくらVPSのサイトに記載の案内を読む限りでは、利用可能なOSは事前に用意されている「標準OS」または「カスタムOS」しかないのではないか...と思ったのですが、以下のさくらVPSコントロールパネルの画面イメージの通り、アップロードした任意のISOイメージから仮想サーバを起動してインストールを行うことが可能です。

2-1. VyOSインストール

VyOSのサイトからイメージをダウンロードします。検証環境では、VMware用のOVAイメージを利用しましたが、今回はISOイメージをダウンロードします。そのISOイメージをさくらのVPSにSFTPでアップロード後、さくらVPSコントロールパネルからISOインストールを実行します。

起動後、VyOSにログインします。ログインユーザー名/Passwordは、共に"vyos"になります。 ログイン後、下記コマンドを実行します。

install image

2018/07/07:追記

仮想マシンの再起動を行うと、VyOSが正常に起動しないというトラブルに見舞われました。色々とネット上の情報を確認した所、インストール手順でディスクのパーティション指定をしなければならない事が分かりました。

ディスクのパーティションの仕様には、MBR(Master Boot Record)とGPT(GUID Patition Table)があり、さくらVPSではGPTとなっているところを、VyOSがサポートしているMBRに変更する必要があるようです。

  • インストール手順中、"Partition (Auto/Union/Parted/Skip) [Auto]:"と表示されたら、"Parted"と入力する。
  • Parted対象のドライブの選択。デフォルト値のままなのでEnterキーを押下する。
  • プロンプトが(parted)と表示されたら、mklabel msdosと入力する。
  • 対象ドライブのデータが消えること旨の警告が表示される。Enterキーを押下する。

再度、"install image"コマンドでインストールを実行しますが、今度"Partition (Auto/Union/Parted/Skip) [Auto]:"が表示された際は、[Auto]のままで結構ですので、そのままEnterキーを押下して下さい。

2-2. VyOS基本設定

インストール完了後にリブートを行います。起動後、VyOSの初期設定を行っていきます。

VyOSのインターネットに接続しているインターフェースは、eth0になります。eth0インターフェースにグローバルIPアドレスを割り当て、デフォルトゲートウェイDNSタイムゾーンSSH等の基本設定を下記の通り行います。なお、使用するグローバルIPアドレス、ネットマスク、ゲートウェイDNSサーバアドレスは、全てさくらVPSコントロールパネル上で確認できます。

configure

set system host-name VyOS

set interfaces ethernet eth0 address 160.xxx.xxx.xxx/16
set interfaces ethernet eth0 description Internet

set protocols static route 0.0.0.0/0 next-hop 160.xxx.xxx.xxx

set system name-server 210.188.xxx.xxx
set system name-server 210.188.xxx.xxx
set system time-zone Asia/Tokyo
set service ssh port 10022

commit
save
exit

これで基本的な設定は終了です。

VyOSを用いたBGP接続(後編)

VyOSを用いたBGP接続(前編)で、VyOSのインストール、及び物理的な結線を終えましたので、後編ではVyOSのコンフィギュレーションを進めることにします。

1. ネットワーク構成(論理)

1-1. 論理構成図

1-1-1. ユニークローカルIPv6ユニキャストアドレス(ULA)

IHANetのBGPネットワークに接続するには、独自にIPv6アドレスの割り当てを受けている必要があります。今回は検証環境ですので、IPv4でいうところのプライベートIPアドレスに相当する、ユニークローカルIPv6ユニキャストアドレスを利用することにします。下記JPNICのサイトに詳しい説明がありますが、fd00::/8で始まるユニークローカルIPv6ユニキャストアドレスは、「いつでも誰でも利用可能なアドレス」として用意されています。

サブネットプレフィックスのグローバル識別子を任意の値に決めて利用すれば良いと思われますが、NTPやMACアドレスなどの情報を基にランダムな値を得る方法も紹介されているようです。

今回の例では、Tunnel-Segment、Site-A-Segment、Site-B-Segmentのそれぞれのセグメント用に、適当に決めた3つのユニークローカルIPv6ユニキャストアドレスを用意しました。

インターネット10分講座:IPv6アドレス~技術解説~ - JPNIC

2. VyOSセットアップ

2-1. VyOS 基本設定

VyOSのログインユーザー名/Passwordは、共に"vyos"になります。

ログイン後、上図の論理構成図に記載のIPアドレスを、各インターフェースに設定します。その他、ホスト名/SSH/Timezoneの設定も行います。

一点、注意が必要なのは、eth0はデフォルトでDHCPによるアドレス取得を行うように設定されています。この為、eth0にIPアドレスを設定しcommitコマンドで反映すると、"Can't configure static IPv4 address and DHCP on the same interface."というエラーメッセージが表示されます。下記コマンド例の通り、deleteコマンドでDHCPによるアドレス取得設定を削除しておく必要があります。

configure

set system host-name VyOS-A

delete interfaces ethernet eth0 address dhcp
set interfaces ethernet eth0 address 172.16.0.1/16
set interfaces ethernet eth0 description Internet

set interfaces ethernet eth1 address fd5d:c9b2:2451:0::1/64
set interfaces ethernet eth1 description Site-A-Segment

set service ssh port 10022
set system time-zone Asia/Tokyo

commit
save
exit

2-2. GRE/IPIPトンネル確立

トンネリングプロトコルとしてIPIP(IP-in-IP)とGRE(Generic Routing Encapsulation)の二つがありますが、どちらを使うべきでしょうか。IPIPは、カプセル化できるプロトコルとしてIPしか対応していませんが、元のIPパケットを包む形で新規にIPヘッダーのみを付加するシンプルな構成です。対してGREは、4~16バイトのGREヘッダを追加することにより、他のレイヤ3プロトコルカプセル化に対応していることや、オプションでチェックサムやTunnelキーの追加などの機能を備えているようです。

基本的にGREの付加機能は不要であり、シンプルでオーバーヘッドの少ない、IPIPが良いように思います。ただ、どうもVyOSではIPIPの設定がうまくいきませんでした。今回の要件はIPv6パケットをIPv4で包むIPv6 over IPv4となります。VyOSで用意されているIPIPのカプセル化タイプは以下の通りです。色々と試したのですが、うまく設定の反映、Tun0 I/Fに対する疎通確認ができませんでした。今回の要件はIPv6 over IPv4であり、VyOSがサポートしているIPIPタイプでは対応できないのかもしれません。結局、カプセル化タイプとしてGREを採用することにしました。

※2018/07/02:追記 IPv6 over IPv4のトンネリングプロトコルとしてSITというものがあり、このタイプはVyOSでサポートされている。

Eencapsulation Type 説明
ipip IP in IP encapsulation
ipip6 IP in IP6 encapsulation
ip6ip6 IP6 in IP6 encapsulation
set interfaces tunnel tun0 address fdce:3feb:5e29:0::1/64
set interfaces tunnel tun0 description Tunnel-Segment
set interfaces tunnel tun0 encapsulation gre
set interfaces tunnel tun0 local-ip 172.16.0.1
set interfaces tunnel tun0 remote-ip 172.16.0.2

2-3. BGP設定

AS番号は、上図論理構成図の通り、プライベートAS番号から採番しています。ピアのアドレスとして指定するアドレスは、ピアのtun0インターフェースに割り当てたIPv6アドレスになります。また広報するアドレスとして、自身のLAN側インターフェースであるeth1インターフェースに割り当てたIPv6アドレスセグメントを指定します。

set protocols bgp 65001 neighbor fdce:3feb:5e29::2 remote-as 65002
set protocols bgp 65001 neighbor fdce:3feb:5e29::2 address-family ipv6-unicast
set protocols bgp 65001 address-family ipv6-unicast network fd5d:c9b2:2451::/64

3. 動作確認

  • インターフェースのステータス確認

    全てのインターフェースのステータスがUpとなっていることを確認。

vyos@VyOS-A:~$ show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface        IP Address                        S/L  Description
---------        ----------                        ---  -----------
eth0             172.16.0.1/16                     u/u  Internet
eth1             fd5d:c9b2:2451::1/64              u/u  Site-A-Segment
lo               127.0.0.1/8                       u/u
                 ::1/128
tun0             fdce:3feb:5e29::1/64              u/u  Tunnel-Segment
vyos@VyOS-A:~$
  • BGP セッションステータス

    BGPピアが確立できていることを確認。IPv6でBGPピアを張る為、show ipv6 bgp summaryである事に注意。"State/PfxRcd"フィールドが、"1"となっている。

vyos@VyOS-A:~$ show ipv6 bgp summary
BGP router identifier 172.20.30.1, local AS number 65001
RIB entries 3, using 288 bytes of memory
Peers 1, using 4560 bytes of memory

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
fdce:3feb:5e29::2
                4 65002      28      31        0    0    0 00:26:44        1

Total number of neighbors 1
vyos@VyOS-A:~$
  • ルーティングテーブルの確認

    対向拠点のLAN側IPv6アドレスセグメントがルーティングテーブル上に乗っていることを確認。

vyos@VyOS-A:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       I - ISIS, B - BGP, > - selected route, * - FIB route

C>* 127.0.0.0/8 is directly connected, lo
C>* 172.16.0.0/16 is directly connected, eth0
vyos@VyOS-A:~$
vyos@VyOS-A:~$ show ipv6 route
Codes: K - kernel route, C - connected, S - static, R - RIPng, O - OSPFv3,
       I - ISIS, B - BGP, * - FIB route.

C>* ::1/128 is directly connected, lo
B>* fd58:cbd2:b752::/64 [20/0] via fe80::5efe:ac14:1e02, tun0, 00:04:46
C>* fd5d:c9b2:2451::/64 is directly connected, eth1
C>* fdce:3feb:5e29::/64 is directly connected, tun0
C * fe80::/64 is directly connected, eth1
C * fe80::/64 is directly connected, eth0
C>* fe80::/64 is directly connected, tun0
vyos@VyOS-A:~$
  • 疎通確認

    対向ピアのTun0/eth0/eth1の各アドレスに対して、Pingで疎通が取れることを確認。

vyos@VyOS-A:~$ ping fdce:3feb:5e29::2 count 3
PING fdce:3feb:5e29::2(fdce:3feb:5e29::2) 56 data bytes
64 bytes from fdce:3feb:5e29::2: icmp_seq=1 ttl=64 time=0.240 ms
64 bytes from fdce:3feb:5e29::2: icmp_seq=2 ttl=64 time=0.354 ms
64 bytes from fdce:3feb:5e29::2: icmp_seq=3 ttl=64 time=0.432 ms

--- fdce:3feb:5e29::2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.240/0.342/0.432/0.078 ms
vyos@VyOS-A:~$
vyos@VyOS-A:~$ ping 172.16.0.2 count 3
PING 172.16.0.2 (172.16.0.2) 56(84) bytes of data.
64 bytes from 172.16.0.2: icmp_req=1 ttl=64 time=0.201 ms
64 bytes from 172.16.0.2: icmp_req=2 ttl=64 time=0.360 ms
64 bytes from 172.16.0.2: icmp_req=3 ttl=64 time=0.382 ms

--- 172.16.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.201/0.314/0.382/0.081 ms
vyos@VyOS-A:~$
vyos@VyOS-A:~$ ping  fd58:cbd2:b752::1 interface eth1 count 3
PING fd58:cbd2:b752::1(fd58:cbd2:b752::1) from fdce:3feb:5e29::1 eth1: 56 data bytes
64 bytes from fd58:cbd2:b752::1: icmp_seq=1 ttl=64 time=0.264 ms
64 bytes from fd58:cbd2:b752::1: icmp_seq=2 ttl=64 time=0.263 ms
64 bytes from fd58:cbd2:b752::1: icmp_seq=3 ttl=64 time=0.301 ms

--- fd58:cbd2:b752::1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.263/0.276/0.301/0.017 ms
vyos@VyOS-A:~$

今回、初めてVyOSを利用しましたが、昔、JUNOSをそこそこ使い込んでいた経験が活きて、違和感なく利用することができました。

動作検証も想定通りに進み成功しました。次のステップは、さくらインターネットVPS上でのVyOS稼働、及びIPv6アドレスの調達になります。

VyOSを用いたBGP接続(前編)

1. 検証目的

以前、「ネットワークエンジニアのためのプロキシサーバの教科書」という記事が読みたくて、Software Design 2014年3月号を購入しました。そこで何気なく目にした「自宅ラックのススメ」というコラムで、IHANetというユーザーグループが紹介されていました。

IHANetでは、参加者がプライベートAS番号を用いてBGP4+を使用し、相互に接続してIPv6アドレスの経路交換を行うBGPネットワークを運用しています。

常々、書籍を読み込む勉強だけではなく、実際に手を動かして機器/ソフトウェアを設定・運用していく事が重要だと感じていたことや、得られた知識や知見を論理的で分かりやすい文章にまとめて公表・プレゼンするアウトプット活動やエンジニア同士の交流・意見交換等を進めていきたいと考えていた事もあり、それらの実践の場としてIHANetの活動はとても魅力的に思えました。

接続形態・使用機材については色々検討した結果、さくらのVPSでVyOSというオープンソースのルーティングソフトウェアを利用する事を想定しています(将来的にはCentOS + FRRoutingを採用したい)。

ここではIHANetの活動に参加する前に、自宅の検証環境(ESXi)を利用して、VyOSを利用したIPIP/GREトンネル、BGP接続、IPv6経路広報の動作検証を行う事にします。

2. ネットワーク構成(物理)

2-1. 物理構成図

構成は見ての通り非常にシンプルで、特に説明は不要かと思います。

3. VyOSインストール

ESXiの操作は、GUIにて特に迷うことなく見たなりに進めていくことができました。この為、詳細な手順の紹介は省略し、以下にポイントだけ記載します。

3-1. vSwitch ・ポートグループの作成

デフォルトで存在するvSwitch0に加えて、Site-A用のvSwitch1と、Site-B用のvSwitch2を作成します。その後、下表のようにポートグループを作成して、vSwitchと関係付けます。

vSwitch名 ポートグループ VLAN ID
vSwitch0 Internet 0
vSwitch1 Site-A-Segment 0
vSwitch2 Site-B-Segment 0

3-2. VyOSのデプロイ

VyOSのサイトにVMware用のOVAイメージが用意されています。最新バージョンの1.1.8をダウンロードします。ESXiにて、[仮想マシンの登録] → [OVFファイルまたはOVAファイルから仮想マシンをデプロイ]とクリックし、ダウンロードしたOVAイメージを選択します。

インストール先のデータストアを選択した後、[デプロイのオプション] - [ネットワークのマッピング]という項目に進みますが、ここでは、[public]に先ほど作成したポートグループである"Internet"を選択し、[internal]には同じく先ほど作成したポートグループである"Site-A-Segment(またはSite-B-Segment)"を選択します。この後、[完了]ボタンをクリックすると、VyOSのデプロイを行うことができます。

1台のVyOSに、デフォルトで割り当てられるハードウェアリソースは以下の通りです。

ハードウェア構成
CPU 1vCPU
メモリ 512MB
ハードディスク 10GB
NIC 2個

週末を利用し、後半でVyOSのコンフィギュレーションを進めていきたいと思います。

Intel NUCへのESXiインストール

Intel NUCとESXiの相性について

前回の記事「Intel NUC(NUC7i7DNHE)セットアップ」でも言及したように、「ESXi標準のISOイメージでは、PCのNICSATAコントローラを認識できない」という問題が往々にしてあるようです。Intel NUCも意外と高額なので、相性問題が起こらないという導入事例の確認、もしくは問題を解決する方法の目途が立たない限り、購入までには踏み切れませんでした。

事前の情報収集で参考にさせて貰ったVirten.netでは、これまでリリースされてきた歴代Intel NUCへのESXiインストール方法を紹介しています。リリースされたばかりのNUC7i7DNHEについても、早速、ESXiのインストールレポートをアップしてくれました。それによると、ESXi 6.5 Update 2とESXi 6.7であれば、NICやストレージ周りのトラブルは起こらず、特別なカスタマイズをせずにインストールが可能という事でした。

導入ESXiのバージョン

2018年4月にESXiの最新リリース バージョン6.7がリリースされました。ただ、今回は広く使われており、業務でも関係があるバージョン6.5 Update 2を利用する事にします。

ESXiインストールメディア作成

Intel NUCにESXiをインストールするには、別途外付けのDVDドライブ等を用意する必要があります。前述のVirten.netでは、フリーソフトウェアRufusを使用したUSBインストールメディアの作成・インストールを簡単な方法として紹介しています。早速、Rufusを利用して、ESXiのUSBインストールメディアを作成してみる事にします。

  1. Rufusをダウンロードします。

  2. VMware vSphere Hypervisor (ESXi) 6.5 U2をダウンロードします。初めてVMware製品のダウンロードを行う場合、「My VMware」にアカウントが必要ですので登録手続きを行って下さい。

  3. ダウンロードした"rufus-3.0.exe"をクリックすると以下の画面が表示されます。

    1. [デバイス]に用意したUSBメモリが表示されている事を確認します。
    2. [選択]ボタンをクリックしてESXi 6.5 Update 2のISOイメージファイルを選択します。[ブートの種類]に選択したファイル"VMware-VMvisor-Installer-6.5.0.update02-8294253.x86_64.iso"が表示されている事を確認します。
    3. その他の項目については、既定値で問題ありません。
    4. 準備が整いましたので、[スタート]ボタンをクリックします。
  4. 「menu.c32を置き換えますか?」との画面が表示されるので、[はい(Y)]をクリックします。

  5. USBメモリーのデータが消去される警告メッセージが表示されます。[OK]をクリックします。

  6. ISOファイルのコピーが始まります。

ESXi 6.5 Update 2のISOイメージファイルのサイズは337.94MBとさほど大きくはないのですが、上記[スタート]をクリックしてからUSBインストールメディアの作成完了まで30分ほどかかりました。

ESXiインストール

  1. 「ESXiインストールメディア作成」で作成したUSBインストールメディアをIntel NUCに刺してから電源を入れます。ESXiインストーラーのロードが始まります。

  2. イメージのロードが完了すると、「Welcome to the VMware ESXi 6.5.0 Installation」という画面が表示されます。「Enter」キーを押下し、[Continue]を選択します。

  3. 「End User License Agreement (EULA)」画面が表示されます。内容を確認し、「F11」キーを押下し、[Accept and Continue]を選択します。

  4. 「Select a Disk to Install or Upgrade」画面が表示されますので、インストールするSSDを選択します。今回の私の環境では、内臓SSDが「Local: NVMe INTEL SSDPEKKW51 // 省略 // 476.94 GiB」と表示されていました。ハイライト表示がされている事を確認の上「Enter」キーを押下し、[Continue]を選択します。

  5. 「Please select a keyboard layout」画面が表示されます。[Japanese]を選択の上、「Enter」キーを押下し、[Continue]を選択します。

  6. 「Enter a root password」画面が表示されます。Root passwordを入力の上、「Enter」キーを押下し、[Continue]を選択します。

  7. 「Confirm Install」画面で[Warning: This disk will be repartitioned.]の警告が表示されます。「F11」キーを押下し、[Install]を選択します。

  8. インストールが行われ、しばらくすると「Installation Complete」画面が表示されます。無事、ESXiのインストールが成功しました。Intel NUCを再起動する為、「Enter」キーを押下し、[Reboot]を選択します。USBインストールメディアは抜いて下さい。

ESXi初期セットアップ

  1. Intel NUCを起動すると、VMware ESXi 6.5.0のコンソール画面が表示されます。コンソール画面の表示を見ると、ESXiにはDHCPIPアドレスが割り当てられており、別のPCからWebブラウザでアクセスできるようです。サーバ用途ですので、固定IPアドレスを割り当てることにします。「F2」キーを押下し、[Customize System/View Logs]を選択します。

  2. 「Authentication Required」画面が表示されます。[Login Name:]に「root」、[Password:]にインストール時に設定したパスワードを入力し、「Enter」キーを押下し、[OK]を選択します。

  3. IPアドレスを設定します。

    1. 「System Customization」画面で、[Configure Management Network]を選択し、「Enter」キーを押下し、[More]を選択します。
    2. 「Configure Management Network」画面で、[IPv4 Configuration]を選択し、「Enter」キーを押下し、[Change]を選択します。
    3. IPv4 Configuration」画面で、[Set static IPv4 address and network configuration:]を選択し、「Space」キーを押下し、[Mark Selected]を選択します。
    4. [IPv4 Address]、[Subnet Mask]、[Default Gateway]それぞれに適切な値を入力し、「Enter」キーを押下し、[OK]を選択します。
    5. 「Configure Management Network」画面に戻ります。「Esc」キーを押下し、[Exit]を選択します。
    6. 「Configure Management Network: Confirm」画面が表示されます。「Y」キーを押下し、[Yes]を選択します。
  4. ESXi Shell、及びSSHを有効にします。

    1. 「System Customization」画面で、[Troubleshooting Options]を選択し、「Enter」キーを押下し、[More]を選択します。
    2. [Troubleshooting Mode Options]画面が表示されます。[Enable ESXi Shell]を選択し、「Enter」キーを押下し、[Change]を選択します。画面右側で、[ESXi Shell is Enabled]と表示されていることを確認します。
    3. 続けて、同画面で[Enable SSH]を選択し、「Enter」キーを押下し、[Change]を選択します。画面右側で、[SSH is Enabled]と表示されていることを確認します。
    4. 「Esc」キーを押下し、[Exit]を選択します。
  5. 設定終了後、「Esc」キーを押下し、[Log Out]を選択します。

VMware Host Client

ESXiの管理は、インストールしたESXiホストに対して、他のPCからWebブラウザでアクセスして行います。ESXi 6.5では、1台のESXiホストを管理するツールをVMware Host Clientと呼びます。VMware Host Clientは、WebブラウザでESXiに接続する事でアクセスできます。

  1. Webブラウザで以下のようにESXiに割り当てたIPアドレスを指定して接続します。

    • https://ESXiホストのFQDNまたはIPアドレス/ui
    • 初回アクセス時、「安全な接続ではありません」(Firefox利用時)というエラーメッセージが表示されますので、該当アドレスについて「セキュリティ例外の追加」を行いました。
  2. VMware Host Clientのログイン画面が表示されます。[ユーザ名]に"root"、[パスワード]にインストール時に設定したパスワードを入力し、[ログイン]ボタンをクリックします。

  3. VMware Host Clientの画面が表示されます。画面の通り、ESXiホストのステータス確認の他、仮想マシン、ネットワーク、ストレージの各設定が行えるようになります。

最初から最後まで全くトラブルもなく、インストール作業を完了することができました。VMware Host ClientでESXiホストのステータスを確認しても、Intel NUCのCPU・メモリ・ストレージが正常に認識されている事を確認できました。

VMware vSphere Hypervisor (ESXi)の動作概念は頭では理解しているのですが、実際に仮想マシンの作成や管理等の操作を行ってみないと見えてこない事もあるかと思います。また、感覚的な理解も進むでしょう。これで仮想化基盤が整いましたので、仮想マシンを活用した様々な検証に挑戦していきたいと思います。

参考サイト・書籍

Intel NUC(NUC7i7DNHE)セットアップ

導入目的

長らくネットワークエンジニアとしてキャリアを積み重ねてきましたが、いまやルータ・スイッチだけしか分からないエンジニアが通用する時代ではなくなってきています。業界の潮流として、ネットワークだけではなく、仮想化やサーバなどインフラ全般について統合的な知識・スキルが求められており、ネットワークエンジニアからいわゆるインフラエンジニアとして技術領域を広げていく必要性を感じていました。

仮想化基盤としてデファクトスタンダードとなっているVMware vSphere Hypervisor(ESXi)と、Windows Server(特にAcitveDirectory)及びLinux(Web、DNS、Mail、etc.)の技術習得を目的に、学習用プラットホームとしてPCサーバを導入する事としました。

当初、Mini-ITXベースでPCを組み上げるつもりでしたが、よくよく調べてみると、ESXi標準のISOイメージでは、PCのNICSATAコントローラを認識できない問題が起こりえるという事が分かりました。ESXi-Customizer-PSというツールを利用して、ISOイメージにドライバを追加する、という手法で解決できるらしいのですが、なんだか手間だし少しハードルも高いです…。結局、自作PCは諦め、ネット上でESXi稼働の実績や導入事例の紹介が少なからず見つかったIntelのNUC(Next Unit of Computing)というベアボーンキットを採用する事にしました。

Intel NUC(NUC7i7DNHE)スペック

Intel NUCは数多くのモデルがありますが、今回購入したのは2018年5月頃に発売されたNUC7i7DNHEというモデルです。CPUに4コア/8スレッドを実現した、いわゆる第8世代Coreプロセッサーを搭載し、それまでの2コア/4スレッドだった従来モデルより大幅に性能を高めています。

学習の主要テーマの一つが仮想化である以上、コア/スレッド数が増えて仮想マシンに割り当てられるCPUリソースに余裕ができることは重要なポイントです。

ただ、Core i7を搭載し性能が良くなった分、価格は高めとなっています。同じ4コア/8スレッドを実現しているCore i5 8250U / 8350Uを搭載したモデルがあれば良かったのですが、2018年6月時点ではラインナップにありません。今後、4コア/8スレッドのCore i5を搭載した手頃な価格帯のモデルも登場することでしょう。

  • CPU Intel Core i7 8650U(4コア/8スレッド)
  • TDP 15.0W
  • Memory DDR4-2400 SO-DIMM
  • 最大メモリサイズ 32GB
  • NIC Intel i219-LM
  • VT-x対応
  • I/O USBポート x 4 , HDMI2.0a x 2
  • サイズ 115(W)×111(L)×52(H)mm

追加購入パーツ類

Intel NUCはベアボーンキットですので、SSD、メモリ等の追加パーツが必要となります。今回、追加で用意したパーツは以下になります。

品目 型番 品名
SSD SSDPEKKW512G8XT Intel SSD 760p M.2 PCIEx4 512GB
メモリ CT16G4SFD824A Crucial DDR4 16GB (PC4-19200/SODIMM) x 2
電源コード GR-PZ005 ACケーブル

Intel NUC(NUC7i7DNHE)セットアップ

同梱されているのは本体に加えて、ACアダプタ、VESAマウント、簡単な説明書。ACアダプタはありますが、コンセントに刺す方のACケーブルは別途購入する必要があります。小さいとは思っていましたが、実物を見ると思っていたよりも小さいです。

f:id:komo-jp:20180616204249j:plain

前面は電源スイッチに、USBポートが2つ。

f:id:komo-jp:20180616205114j:plain

背面は、USBポート x 2、HDMI x 2、LANポート、電源INPUTが並びます。

f:id:komo-jp:20180616205117j:plain

底面のゴム足にあるネジ4か所を緩めると開けることができます。

f:id:komo-jp:20180616204631j:plain

用意したM.2 SSDSATA接続の2.5インチSSDをイメージしていたので、小ささに驚きました。ガム程度の大きさ、薄さです。写真の通り、モジュール上には放熱に役立てる為かシートが貼ってあります。

f:id:komo-jp:20180616204639j:plain

仮想マシンを多数立ち上げる事を想定して、メモリは最大の32GBを用意しました(Cisco VIRLで多数の仮想ルータを立ち上げて検証を行った経験から、メモリは最大限積んでおきたかった)。

f:id:komo-jp:20180616204642j:plain

マザーボードSSDとメモリを刺したところ。用意されているスロットに刺し込むだけなので、特段難しいことはありません。

f:id:komo-jp:20180616204645j:plain

底板は2.5インチスロットを兼ねています。右側のSSDと接するところに、金属製のシャーシに熱を逃がすサーマルパッドが張り付けてあります。PCI Express/NVMeに対応したSSDは高速だが発熱が激しいと聞いており気になっていたのですが、このように対策はとられているようです。

f:id:komo-jp:20180616204649j:plain

Intel NUCのセットアップはこれで完了です。後編で、VMware vSphere Hypervisor(ESXi)のインストールを紹介します。

【書評】地の日 天の海

地の日 天の海(上) (角川文庫)

地の日 天の海(上) (角川文庫)

徳川三代に仕え黒衣の宰相として知られる天海僧正ですが、若かりし頃のことは会津出身であること、比叡山で修業したこと程度しか知られていません。「地の日 天の海」は、2006年から2007年にかけて日経夕刊に連載され、信長、秀吉、家康、光秀が活躍する戦国の動乱を随風(後の天海僧正)という僧侶の目を通して描いた小説です。

数々の危機を乗り越え、旧体制を打破するかのような革新的な政策の下、天下布武を推し進める信長。その政権下で感情の機微を捉え現実的で明るい秀吉と、生真面目で旧体制の権威を重んじる光秀という対照的な性格の二人が頭角をあらしていくが、やがて光秀は”本能寺の変”へと追いつめられていく...。

隋風との親交を中心に、戦国の世の変転、そして盛衰が、最新の研究成果を踏まえて生き生きと描かれています。

当時、日経夕刊を読む習慣がなかったのですが、この小説を読みたいが為によく購入し、隋風の活躍に興奮したものです。とても楽しみにしていたのですが、中国大返し辺りで突如連載が終了し、機会があれば最初から最後まで読んでみたい手に取った次第です。歴史小説の好きな方に、これまでとは違った視点で楽しめる良書としてお勧めします。

高尾山~小仏峠

今年はこれまで3回、高尾山に登ってきましたが、今回から奥高尾縦走に挑戦していきます。まず手始めに、奥高尾縦走路でも一番距離が短い高尾山~小仏峠のコースに挑戦してきました。

高尾山山頂からの尾根筋は道がよく整備されており、初めてでも特に迷うことなく城山→小仏峠を経由して目的地である小仏バス停までたどり着くことができました。

f:id:komo-jp:20171223215924j:plain

1~2か月に1回は山に登ろうと思っているのですが、タイミングが合わず、実に4か月ぶりの登山となりました。

f:id:komo-jp:20171223215929j:plain

私は薬王院の健康登山の手帳を持っており、毎回必ず寄ってスタンプを押してもらっています。まだ5回目で、21回目の満行まで程遠いのですが、いつかは到達したいですね。

健康登山については、下記URLを参照して下さい。

ご朱印・健康登山 | 高尾山薬王院公式ホームページ

f:id:komo-jp:20171223215931j:plain

高尾山山頂にて。寒い季節に食べるおでんは格別です。トコロテンも楽しみにしてたのですが、今は用意していないとのこと。そっか、アレは夏の食べ物ですね。

f:id:komo-jp:20171223215933j:plain

高尾山山頂にあった案内図。小仏城山、景信山と徐々に行程を伸ばしていく計画なのですが、陣馬山はかなり遠いようですね。

f:id:komo-jp:20171223222640j:plain

これより奥高尾。私にとって未踏の地となります。

f:id:komo-jp:20171223215937j:plain

が、その前にもみじ台 細田屋で腹ごしらえ。山菜そばを頂きました。高尾山は景色も良いのですが、山小屋で食べる食事も楽しみの一つですね。

f:id:komo-jp:20171223215953j:plain

このように尾根筋は道が整備されており、特に迷うことはありませんでした。

f:id:komo-jp:20171223221300j:plain

一丁平の見事な眺望。

f:id:komo-jp:20171223222921j:plain

小仏城山にある見事な造形の天狗像。

f:id:komo-jp:20171223220004j:plain

明治天皇が御巡幸の途次、小仏峠で小休止なされたようです。

f:id:komo-jp:20171223220010j:plain

小仏峠にはたぬきの置物が。そういえば、海外ではたぬきは珍しい生き物だそうですね。

f:id:komo-jp:20171224195514j:plain

高尾山口から小仏バス停までのGPS移動記録。移動距離は10.41km、所要時間は途中昼食等の休憩もはさみながら3時間54分でした。

これまでと比べて大幅に活動時間が増え、私にとってはかなりハードな行程でした(翌日、翌々日と疲労が激しく、また足・お尻が筋肉痛でした...)。最終的な目標は高尾山~陣馬山の縦走なのですが、まだまだ体力的なトレーニングを積み重ね、タイムを短縮していく必要があると感じています(それと体重を落とし、体を絞らなければ...)。