Tuesday, February 20, 2018

KVMでダイレクトブリッジ接続、他苦労した点

最近KVM初めて使い始めまして、
インターネットによくある、
1. ホストマシン側にbr0というブリッジネットワークを作成する
2. KVMで仮想マシンを作成する際、このbr0をブリッジとして指定する
という方法を使っていました。
参照 (CentOS/RHEL): http://www.checksite.jp/kvm-br-conf/
参照(Ubuntu): https://qiita.com/toshiro3/items/9bfece0501d6963a3275

しかしこれがうまくいかず...
ホストと、ゲストどちらの同じネットワーク設定はできて、
(例えばホストが192.168.100.10、ゲストが192.168.100.11とか)
ホストから192.168.100.11にアクセスすることはできても、
ホスト以外のマシンから192.168.100.11にアクセスできないw(pingすら通らない)

これでは全然ダメなので、
タイトル通りダイレクトブリッジという方法を使い、問題なくホスト以外のマシンからアクセスできるようになりました。
ホスト側の物理ポートがeth0ならvirt-install時に以下オプション

--network type=direct,source=eth0,source_mode=bridge

とします。
僕みたいにすでにbr0を作ってしまった場合は

--network type=direct,source=br0,source_mode=bridge

とします。これだけ。
解決してしまえばなんともスッキリなのですが、
まともにKVMが使えるようになるまで色々大変でした。

一つ大変だったのがテキストのみ(CUI)でのインストールです。
インターネットで検索しても、結局インストール後半でVNCを使ってGUIで仮想マシンへのOSインストールを進めていくガイドが多いです。
そうじゃない!全部teratermの中でやりたい!(というかそれしかできない)
virt-install時に以下オプションにします。

--extra-args='console=ttyS0,115200n8 serial'

こうすると、ゲストとしてCentOSを入れる場合はテキスト版のAnacondaが、
Ubuntuの場合はncurses的なインストーラーが見えます。

またKVM仮想マシンの「遅さ」も困惑の一つでした。
待っていればゲストOSのインストールが完了する状況で、ハングアップしたのかな?
と思ってしまい途中でoffしてしまったり...
(とにかく気長に待ちましょう)
またインストールが終わって再起動する前に、
仮想マシンコンソールを出てしまう(^])と、
二度とvirus console <ドメイン名> で仮想マシンコンソールに戻れません。
注意しましょう(これも何度かやった)。

しかしおかげさまでまともな仮想環境が手に入りました。
今度はdockerの勉強もしないと...

---追記---
KVM仮想マシンの「遅さ」について、もしやと思い確認したら、
EFI設定でintel VTがDisableになっていました...
今は非常に高速になりました

古いfedoraでyum update/installができない時の対処法

タイトル通りなんですが、
いやそもそもそんな古いfedora使うなって話なのですが、
(実際上記問題を検索するとそういう意見が見られます)

サポートが切れているfedoraでyum updateやyum installをしようとするとできないことがあります。
その対処法をまとめました。

まずレポジトリファイルをhttpに直してみます。
/etc/yum.repo.d/
にある
fedora.repo
fedora-update.repo
fedora-update-tenting.repo
を編集し、
「https」となっている部分を全て「http」に直します(sを消します)。

yum repolistとしてみましょう。直りましたでしょうか?


もしこれでも途中で
http://<url><長い英数文字列>-primary.sqlite.bz2
のダウンロードで「ミラーがありません」などと言われた場合、
さらに以下を実行します。
端的に言うと、yumのキャッシュファイルの場所に、ダウンロードが失敗しているファイルを直接置いてあげるだけです。

ダウンロードでエラーとなっているurlをコピペして別のブラウザなどから直接ダウンロードします。
それを以下yumのキャッシュディレクトリに置きます。
ここで(A)=i386 または x86_64、(B)=fedoraのバージョン番号
/var/cache/yum/(A)/(B)/fedora/
(例えば、fedora16の64bit版なら /var/cache/yum/x86_64/16/fedora/ )

再度yum repolistとしてみましょう。
まだ「ミラーがないよ」エラーになりますね。
fedoraの方には件数が出ますが、fedora-updateはまだ0件です。
同様にダウンロードでエラーとなっているurlをコピペして別のブラウザなどから直接ダウンロードします。
今度はそれを以下yumのキャッシュディレクトリに置きます。
/var/cache/yum/(A)/(B)/update/

これでyum repolistとすると問題なくできると思います。

もっと綺麗な対処方法はあるかもですが、
とりあえずこれで回避できます。

Saturday, February 17, 2018

VirtualboxとKVMの「ブリッジネットワーク」は設定の手間が違う

完全仮想化ソフトウェアというと、
WindowsではVirtualbox、
LinuxではKVMがあります。
今までVirtualboxはよく使っているのですが、KVMを使ってみたら辛かったので書いてます。

Virtualboxでブリッジネットワークを組んでみます。
手順としてはVirtualboxのネットワーク設定をブリッジにするだけなのですが、
ホスト側(Windows)が、LANケーブルが繋がっている物理LANポートで192.168.0.10を使っているとします。
ゲスト側のOSが同じLANポートを使って、Windowsと同じセグメントの別のIPアドレス、例えば192.168.0.20を使うことができます。
参照: http://ubeyicblogac.blog75.fc2.com/blog-entry-123.html


ではKVMでブリッジネットワークを組んでみます。
KVMはLinuxで組んだブリッジネットワークを使います。
まず、ホスト側(linux)でbr0というブリッジネットワークを作成します。
LANケーブルが繋がっている物理LANポートeth0があるとして、
簡単に言うと、eth0のIPアドレス設定を消してbr0のブリッジにし、
br0の方にeth0で使っていたIPアドレスを設定します。
で、KVMで新たなゲストOSを設定するとき、ネットワークにbr0を指定します。
これで、ゲスト側でホストと同じネットワークが使えます。

Virtualboxでも中で同じことをしているのかもしれませんが、
今までやったことがなかったのでイメージしにくい...
と言うことで、これを踏まえてKVMマシン作ってみます

Sunday, February 11, 2018

Mighty Mouse Wirelessを現役使用

Macbook Proを新しくしてから、マウスはappleのMighty Mouse (Bluetoothワイヤレス) を使っています。
実はコレ無線版だけでなくUSB有線版も持っていて、
Macbook Airの時はそのワイヤード版を使っていました。

新しいMacbook ProにはUSB type Aポートがありませんので、無線版を引っ張り出してきたのですが、
・以前入れていたエボルタの液漏れのせいで通電しなくなっている
・スクロールボール(トラックボール)の反応が良くない
・電源スイッチが固すぎる
という状況になっていました。12年前の製品ですからね...
しかしこのMighty Mouse、昔奥さん(当時は結婚前)にプレゼントして頂いたものですので、
なんとか直しました。

電池液漏れについては、まず丁寧に拭き取って電池の金属部分も掃除したところ、
通電できました。
また、電源スイッチにより可動する部分にも液漏れ成分が詰まっていたので、
なんとか掃除しました。

スクロールボールについては、分解掃除を行いました。
https://jp.ifixit.com/Guide/Apple+Mighty+Mouse+Scrollball+Disassembly/2926
難易度「難しい」になっていますが、これは手順3 (STEP 3)で接着部分をバキッと外すためと思います。
ひと思いにやりました。

Mighty Mouse ワイヤレスの電源スイッチは、
マウスの光学部のフタをスライドして開け閉めするものです。
これがとても硬かった...
地味な方法ですが、プラスチック同士がこすれる部分を掃除し、薄くワセリンを塗りました。

こういった努力により、マイティマウス無事復活です。
これからもよろしくね

湯河原温泉一泊二日の旅

題名通りですが、湯河原の温泉旅館に一泊してきました。
やはり旅館(畳の部屋)はいいですね。

タイムスケジュール的にはこんな感じでした。
13:00小田原で途中下車して小田原城見学
15:00チェックイン
16:00お風呂
17:00貸切露天風呂
18:30夕食
20:00お風呂
7:00お風呂
8:00朝食
9:00お風呂
10:00チェックアウト。帰路。

今回は日頃の疲れを癒すのが目的でしたので、
「部屋のテレビはつけない」というルールにしました。
暇な時間は本でも読みましょう、という感じです。
まあでも上記スケジュール見ると、お風呂が忙しいですねw

部屋はこういうスペースもあり、結構広くてよかったです。
ご飯は部屋出し!です。ゆっくり食べられるのがいいですね〜

料金は夫婦+小学生で44000円でした。まあまあですかね。

Sunday, February 04, 2018

MacbookやiMacのSSD/HDDを完全消去する(High Sierra対応版)

古いMacをメルカリやヤフオクで売ったり、ソフマップに売ったり、人に譲渡したりする前にやっておきたいのがディスクのゼロ書き込みによる完全消去。
最近macOSのファイルシステムがAPFSになった関係で、昔と少し方法が変わっているので、方法を書きます。
(コマンドラインでゼロ書込みをやる方法と言っても良いかも)

0. SSDやHDDを完全消去する前に
まだログインできる状態で以下はやっておきましょう。
・iCloudログアウト
 システム環境設定>iCloud>「Macを探す」のチェックを外し、左下の「サインアウト」
・iTunesのアカウント解除
 iTunesのメニュー「アカウント」>「サインアウト」
・Office365のサインアウト(もし必要なら)
 各オフィスを起動した時のメニュー左上アイコン>サインアウト
 https://portal.office.com/account/#home
 の「インストールステータス」で、今サインアウトしたマシンを削除します。
・Adobe等のライセンス認証の解除


1. USBメモリ起動macOSインストールディスクの準備

2. 1で作成したUSBメモリから起動
 の「Startup Managerを使う」

3. APFSからHFS+への変換
 詳しい方は「ディスクユーティリティ」を起動し、SSD/HDDを選択して「削除」メニューに進まれたかと思いますが、
 昔あった完全削除メニュー...複数回のゼロ書き込みメニューがhigh sierraでは無くなっています。
 そもそもその完全削除はAPFSでサポートされてませんので、まずファイルシステムをHFS+に変換します。
 上部メニュー「アプリケーション」から「ターミナル」を選択してターミナルを起動します。
 
 diskutil list

 とすると、現在マウントされているディスク一覧が出てきます。多分
 /dev/disk0 の
 2:が「Apple_APFS」になっていると思います。これをまず削除します

 diskutil apfs deleteContainer /dev/disk0s2
 
 次にHPS+にフォーマットします

 diskutil eraseDisk JHFS+ "Untitled" /dev/disk0

4. 完全削除
 これで完全削除ができるようになりますが、high sierraからは「ディスクユーティリティ」にこのメニューが無くなってしまったので、引き続きターミナルから操作します

 diskutil secureErase

 とすると以下メニューが現れます。

Usage:  diskutil secureErase [freespace] level MountPoint|DiskIdentifier|DeviceNode
Securely erases either a whole disk or a volume's freespace.
Level should be one of the following:
        0 - Single-pass zeros.
        1 - Single-pass random numbers.
        2 - US DoD 7-pass secure erase.
        3 - Gutmann algorithm 35-pass secure erase.
        4 - US DoE 3-pass secure erase.
Ownership of the affected disk is required.
Note: Level 2, 3, or 4 secure erases can take an extremely long time.

 今回はレベルは「2」、アメリカ国防省の7回削除にしてみます。
 (ちなみに3にすると35回!書き込みです)

 diskutil secureErase 2 /dev/disk0

 ディスク容量によっては長時間かかりますが、これで完全削除ができます。

5. OSの再インストール
ターミナルで「exit」して作業を終え「ディスクユーティリティ」を起動します。
SSD/HDDを選択して「削除」メニューからAPFSでフォーマットし、
ディスクユーティリティを終了して、macOSのインストールを実行します。

お疲れ様でした!
これで安心して手放せると思います。

Saturday, February 03, 2018

Macbook Pro(late 2016)を購入


7年使っていたMacbook Airをようやく引退させ、Macbook Proを購入しました。

2016年なので一つ前のskylakeモデルになります。
型落ちにしたのは、予算がないけどSSDは256GBほしいという状況だったためです。
今までAirでは容量が足りなくて散々泣きましたから。
(macboon proのSSDは128GBからスタート)

モデルはもちろんTouch Barなし。(escキーモデルとも言う)
僕のmacbookは仕事用ではない(お金を稼がない)用途ですので、最低価格になるのは致し方ありません。
本当は15インチが欲しかったんですけどね...

あとキーボード配列はJIS(日本語)にしました。
macbook airではUS配列だったのですが、会社が完全にJISでないといけない環境なので、それに合わせました。安価な入手性も理由の一つです。

ということで、OSアップデートとデータ移行中です