PCIe接続のUSBホストをパススルー

Posted:  Tags:  archlinux hardware vm windows10

Windows on ArchLinuxに書いたとおり、PCIe接続のUSB3.0ホストアダプタをWindowsゲストにPCIパススルーしてみた。期待したとおり、これに接続したUSBのサウンドデバイス(例によってサウンドブラスター)からはあまり途切れることもなくなった(無いとは言ってない…)。気持ち程度かQEmu自身のUSBパススルーの負荷も減ったように思う。Windowsでしか使わないUSBデバイスはこいつに接続すればいい。なんだか1つの筐体に2台のPCが入ってるみたいだ。


Device Manager
(右が追加後、ルネサスのやつが追加されている)

買ったのはIDEAPRO(中華の謎ブランドと思われる)のこの商品。他にも良さそうなアダプタはあったのだが、SATA電源を使うものが多く、ケーブルの取り回しが必要無いこの商品にした。説明には無いが、コントローラのチップはルネサスなのでドライバ周りは心配ない。

パススルーする際に、GPUとは違ってドライバ(カーネルモジュール)レベルでblacklistにすると本体側のUSBホストも飛んでしまうので注意する必要がある。なのでこのデバイスに対してはvfio-pciドライバを使うよう直で指定した。

# /etc/modprobe.d/vfio.conf
options vfio-pci ids=1912:0014

これは指定しなくても後でunbindできるのかもしれない。この辺のトライ&エラーは時間食うので試していない。とりあえず動けばいいマインド。

ところでArchLinuxのVFIOのWikiにGPU以外のパススルーの説明が追加されていた。前は無かった気がする。いまのところうちのPCはGPU、USBホスト、NICの3つをPCIパススルーしている。もうこれ以上何かをPCIパススルーする必要は生じないと思われる。もっとも、パススルーできるPCIeバスはもう空いてないのだが。

東芝のMG03ACAとDT01ACAについて

Posted:  Tags:  hardware

ST3000DM001が逝った

使用時間は約18000時間であった。壊れ方のモードは「ハード」で、不良セクタとか読み取りエラーというレベルではなく、SMARTの値すら読み込めず。いわゆる「突然の死」というやつである。

ST3000DM001

QEmu/KVMでWindowsを使ってるときはLinux側の画面は基本動かないのだが、この時ばかりは滝のごとくエラーが流れた。それからHDDからの異音。幸いというか、当たり前というか、当該ファイルシステムはbtrfsのRAID1なので大した問題ではないのだけど、壊れたドライブをbtrfs device removeで外した際にbalance処理も走るらしく、これがかなり時間かかった。レスキューモードでのマウントオプションは-o degraded,rescueの2つが必要だった。

代わりのHDDを秋葉原で買った。選んだのは東芝のMG03ACA300。9月に同じく東芝のDT01ACA300を買っていたので比べてみた。

Read more…

Windows on ArchLinux (IOMMU)

Posted:  Tags:  archlinux vm windows10

うちの2016年現在のLinux/Windows環境。

■ 共存

  • (1) デュアルブート
  • (2) Windowsホスト上でLinuxゲスト
  • (3) Linuxホスト上でWindowsゲスト

一般的に(3)はあまり採用されていないと思う。理由はWindowsの方がLinuxよりもグラフィカルな処理が多く、仮想的なCPUリソースやメモリだけでなく、GPUを必要とするからだと思う。Linuxは最悪何も表示されなくてもよく、私も以前はVirtualBoxのHeadlessモードで立ち上げてmintty+sshで作業していたくらいだ。だからどちらをホストにしどちらをゲストにするかはあまり選択肢が無かったのではないだろうか。もちろん、Windows ServerをVPSで使うといったことはあっただろうが、ここでは「普段使いのメインPC」に絞りたい。

ここ最近Linuxホスト上でWindowsゲストを普段使いのPCとして使ってる情報(動作報告)が増えてきた。先の問題の解法を言うと、「GPUはエミュレーションではなくパススルーする」ことでWindows上でほぼベアメタルと同じパフォーマンスが出せる。

これによって得たと思ってるもの

  • ベアメタル上でRAID、LVM、Linuxで使える多数のファイルシステム(WindowsホストではNTFS一択)
  • Windowsゲストのディスクイメージレベルのバックアップ体制

これによって失ったもの

  • 安定した音声入出力
  • ストレージの本来のスループット(やはり多少は遅くなる)
  • Linuxが起動してからWindowsが起動するので起動時間は2倍くらいになる
  • ここに到達するまでの調査、検証、トライ&エラーに費やした時間

音声入出力についてはまだ決着がついていないが、現状はこれが一番の難儀ポイントだと思う。これもPCI-E接続のサウンドカードにしてパススルーするか、GPUのHDMI-Audioを使うのが無難そうだという印象をもっている。私はUSB接続のサウンドデバイス(?)を購入することでひと段落ついたことにしている。

概ね満足している。このWindowsは一見するとネイティブなのか仮想マシンなのか判断がつかない。

Read more…

オモチャBase64

Posted:  Tags:  c code

某所にてCでBase64を実装しようとしているのを見て、ふと思ったので書いてみた。これ、Wikipediaの説明を参考に実装すると一旦全部配列に詰め込んで、それを変換してみたいなことしがちなのだけど、配列に入れる必要はなくて、要は入ってきた8bitを6bitで出すだけなんだよな。…とか思いましたとさ。

Read more…

Nikolaに移行

Posted:  Tags:  etc

Nikola

Python製のStatic site generater。 なかなかいい。

コードハイライトもちゃんと効く。

def test():
    pass

使ったテーマはoldfashionで、少しだけtemplateを変えてる。

移行というか新規なんだけど、それまでは某はてなとかを少し使っていた。最近はブログというとアフィリエイトだなんだかんだ、お小遣い稼ぎで立ててアレしたりするメディアになってしまった感があります。そうじゃないブログもたくさんありますけど、良いブログにリーチするよちも、炎上したり単にアクセス数が多いブログにリーチするようにできてる昨今です。twitterも最初は本当に「個人的」なつぶやきができて/見れて、というかそれがそもそもの魅力で、でもいつからか普通のメディアになってしまいました。プラットフォームがユニークなだけで。

基本メモ書きとかで、(たぶん)検索にもひっかからない。ま、昔(90年代中頃)のインターネットみたいなもんですね。沢山人は来ないけど、間違って来た人がいたら「お主はなんでこんな辺鄙なとこにたどり着いた?」と思うわけ。つっても、静的サイトなので来るも来ないもわからないのだけど。某analyticsとかは嫌いなので設置していません。


Contents © 2018 sharow - Powered by Nikola