読者です 読者をやめる 読者になる 読者になる

ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

Vagrant+VirtualBoxで準仮想ネットワークを使う方法

VirtualBoxではVirtualBox 3.1から準仮想ネットワーク(virtio-net)をサポートしています。 これを使うと簡単に言えばネットワークパフォーマンスが向上します。少しでも速くて「軽い」ほうがいいですよね?

で、どうするかというと次のページにあるようにそれぞれの設定に「nic_type: “virtio"」を追加すれば良いみたいです。

www.vagrantup.com

以下にVagrantfileのサンプルを例示してみます。 注意点としてはなぜかこの記述を入れるとFedoraの公式Vagrantファイルがログインできる状態にならないということです。CentOS 7とUbuntu Xenial(16.04)の公式イメージでは問題なく利用できました。

ちなみにデフォルトで割り当てられるNATネットワークの方は手動でvirtio-netに切り替えると準仮想ネットワークが利用できるようです。これで多少CPU使用率が下がればいいですね。仕組み上は完全仮想ドライバーよりもCPU使用率は下がるはずですから。

# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.


  # The most common configuration options are documented and commented below.
  # For a complete reference, please see the online documentation at
  # https://docs.vagrantup.com.

#custum config
Vagrant.configure(2) do |config|
VAGRANTFILE_API_VERSION = "2"
config.vbguest.auto_update = false

#Global
  config.vm.provider "virtualbox" do |vb|
    # Use VBoxManage to customize the VM.
    vb.customize [
      "modifyvm", :id,
      "--cpus", "1",
      "--memory", "1024",
      "--paravirtprovider", "kvm",
    ]
  end

#CentOS7
 config.vm.define :cent7n0 do |cent7n0|
  cent7n0.vm.box = "cent/7"
  cent7n0.vm.hostname = "cent0"
  cent7n0.vm.network "private_network", ip: "192.168.0.211", nic_type: "virtio"
 end
...
end

最近よく見る迷惑広告とその対策

最近、Webサイトを検索していてリンクをクリックすると、次のような迷惑な広告をよく見ます。

f:id:ytooyama:20170427235435p:plain

これは去年くらいから公開されては消え、また別のドメインで復活する迷惑な広告です。 背景にはEl Capitanのデフォルトの壁紙、そしてウィンドウを偽装したメッセージが表示されます。

熟練者であれば、ちょっと見ただけでそれが良いものか、悪いものか判断できると思います。でも、初心者が見たらきっと驚くと思います。

このからくりはどうやら一般の普通のサイトに貼られている広告を経由し、不正な手段でブラウザーの全画面に広告を表示するという手法を使っているようです。

ブラウザーを閉じようとすると、ポップアップウィンドウが現れ、簡単にページを閉じさせようとはしません。さらにブラウザーの戻るボタンをクリックすると前の画面に戻らず、このページが再読み込みされます。非常に悪質です。

ちなみにOKボタン付近をクリックすると、MacKeeperのダウンロードサイトが現れます。またお前か。

しばらくブログユーザーの広告収入の事を考え、広告ブロック機能は使わないようにしていましたが、落ち着くまでは導入せざるをえません。とりあえず、uBlock Originというアドオンを入れてみました。

警告 お使いのMacが危険にさらされているかもしれません」で検索すると色々出てきます。この広告が出た場合は念のため、キャッシュとCookieを削除した方が良いそうです。

ちなみにこれを配信しているドメインは複数あるようです。十分注意してください。

CentOS 7で壮大にはまっている(現在進行形)

Red Hat Enterprise Linux や、そのソースをベースとしてつくられたCentOSのバージョン7はNetwork Managerがデフォルトで実行されており、ネットワーク周りはNetwork Managerによって管理されています。

これはずいぶん前のFedoraからそうなっていました。いざRHEL 7やCentOS 7がリリースされると多くの人がそれに驚いたり焦ったりする人を多く見かけました。私からするとFedoraですっかりおなじみだったので何の問題もありません。

Network Managerによりnmcuiコマンドやnmtuiコマンドを使って、NICやネットワークの設定を柔軟に行うことができます。これらを使うことでIPアドレスの設定をすればifdown/ifupコマンドなどを使うことなく、設定を反映することができます。従来のnetworkサービスも使えますが、これからは積極的にNetwork Managerを使いたいところです。

qiita.com

しかし、今回はOpenStackをCentOS 7で動かす必要がありました。OpenStackはNeutronというコンポーネントがネットワーク周りの機能を実装しています。CentOS 7で手軽にOpenStackを構築するにはPackstackというインストーラーがよく使われます。

PackstackでOpenStackをデプロイするにはだいたい30分程度かかりますが、デプロイが完了すると、「このシステムはNetwork Managerが動作している。現在のOpenStackはNetwork Managerが動いていると正常に動作しないのでnetworkサービスに置き換える必要があります」というメッセージが表示されます。

先に言っておくと、FedoraやRHEL7、CentOS 7はNetwork Managerが動いている限り、私は特に不満はありません。CentOS 7のパッケージのバージョンに不満をあげることはまれにありますが、ソースさえあればrpmbuildすればいいだけなので最近は特に不満はありません。

しかし、いざNetwork Managerからnetworkサービスに切り替えると、次のような問題が発生しました。

(1) (条件によって)Gatewayを設定しているのにデフォルトゲートウェイが設定されない

つまり、再起動するとリモートアクセスできなくなるわけです。

(2) OpenvSwitchのブリッジにコマンドでIPアドレスを設定しても反映されない

ip addr addコマンドを実行した後、ifconfigかifdown/ifupコマンドを実行してもIPアドレスが張り付かないという問題が発生します。こうなったら再起動するしかありません。

(3) OpenvSwitchのExtraオプションが再起動でいろいろ消える

設定したのに再起動したらExtraオプションが消えてしまうので、繋がっていたものが繋がらなくなります。

(4) IPアドレスの設定ファイルにExtraオプションを指定しても一部反映されない

一見、うまくいったかに見えるのですが、微妙に設定されないのでわけががわからなくなります。

(5) ovs-vsctlコマンドでブリッジにOVS関連の設定を追加するとまれにリンクが途切れる

つまり、リモートアクセスで作業していると詰みます。

(6) 複数のGatewayを設定した時の挙動がサーバーごとに異なる

同じように設定しても一方は

# ip r
default via 192.168.1.1 dev enp0s3  proto static  metric 100
default via 192.168.2.1 dev enp0s8  proto static  metric 101

一方は

# ip r
default via 192.168.2.1 dev enp0s8  proto static  metric 100
default via 192.168.1.1 dev enp0s3  proto static  metric 101

のようになることがある。

そんなこんなで現在はまっています。 全然事が進みません。

ちなみにいろいろ言いましたが、大事なのでもう一度言うとFedoraやRHEL7、CentOS 7はNetwork Managerが動いている限り、私は特に不満はありません。networkサービスを使わざるをえない時に様々な問題にはまるので辛い…言いたいのはタダそれだけなのです。

光ポータブルサービスが2017年5月31日をもって終了だそうです

NTTの光ポータブルが2017年5月31日をもってサービスを終了するらしい。そのお知らせが今日届いたので思い出したけど、解約するのをすっかり忘れてました。

最後に「忘れてた!解約しないと!!」と思ったのは去年だったっけ。 NTTの光ポータブルは2010年6月から開始されたサービス。2010年6月から契約をしたわけではないので単純計算になりますが、

  • ¥300x12=¥3,600
  • ¥3,600x7=¥25,200

ちょっと高いルーターを買ったと思えばそんなに高額ではないか。 ちなみにレンタルしていたモバイルルーター機器は譲渡という形になるようです。

Ansibleの最新版をCentOS 7で使うためには

Ansibleの最新版をCentOS 7で使うためには、pipでインストールします。 pipコマンドはデフォルトでは含まれないので、epelリポジトリーのpython-pipパッケージを使って、次のようにセットアップできます。

# yum install epel-release python-devel openssl-devel gcc 
# yum install python-pip

「pipが古いよ」と言われるので、アップグレードする。

# pip install --upgrade pip

インストール開始。

# pip install ansible

インストール完了。

# ansible --version
ansible 2.3.0.0
  config file =
  configured module search path = Default w/o overrides
  python version = 2.7.5 (default, Nov  6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]

ちなみにCentOS 7にこだわりがなければ、UbuntuFedoraを使ったほうがラクです。 CentOS 7だとPython 3を使うのがちょっと面倒なのがありますから。

Windows 10 Creators Updateに再チャレンジ

一度Windows 10 Creators Updateにアップグレードを失敗して 保留にしていた会社のWindows 10をもう一度アップグレードしてみることにしました。

Windows 10はParallels Desktop 12の仮想マシンとして動かしています。 今度は前回見つけたナレッジベースの通り、Parallels Desktop 12にKB123948のパッチを当ててから、Let’s Challenge!

KB Parallels: Parallels Desktop 12 for Mac Standard and Pro Edition updates summary

アップグレードは結構時間がかかりましたが、無事終わったようです。 ところが、アップグレード後ログインしてブラックスクリーンになる問題が再発しました。 マウスの矢印くらいしか出てきません。真っ黒い画面に白いマウスの矢印が哀愁を感じさせます。

どうしようもなかったのでハードウェアリセットしたところ、何事もなくWindows 10 Creators Updateが起動しました。またWindows 10の再インストールかと思いましたが、いやはや焦りました。

ちなみに家の環境のWindows 10は何事もなくWindows 10 Creators Updateに更新できていました。 32bit版と64bit版の違いかなあ。ちなみに問題が起きたのは64bit版です。