メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

VirtualBoxでUSBを使う方法が分かった!

原因が分かった!

 以前からうまく動作せず、しばらく放置気味だった。久しぶりなので、状況をまとめておこう。要は仮想マシンでプリンタが利用できないということで…。USBがうまく認識できていない。
  • Mac上(Mountain Lion)でVirtualBoxにより仮想マシンを構築。
  • GuestにWindows7を入れている。(他にはXP,Ubuntuなどなど)
  • プリンタはCanon PIXUS 850i でUSB接続
  • 仮想マシンXPでは動作しているが、7だと動作しない。Ubuntuでも動作している。
  • USBメモリもWindows7のみ動作せず。
という状況で、随分前から格闘を続けてきたのだが、今日時間がたっぷり取れたので、じっくり腰を据えて検証してみた。

 この状況で、VirtuaBoxのUSB設定で、プリンタのフィルタを作成しても、しなくても図のようにUSBの認識を正しくしてくれない。USBポートを変更しても、プリンタの電源をOFF/ONしても効果なし。
Windowsのデバイスマネージャで、ドライバを削除しても結局同じ所に行き着いてしまう。
GuestAddtionsもExtentionPackも入れ直している。
もちろん、GuestOSの再起動もHostOSの再起動を行なっても効果はない。

 でも、以前に構築してあった仮想マシンXPでは、同じプリンタが正しく認識されて印刷もできるし、ステータスも確認できる。そこが解せないわけだ…。

 八方塞がりになりかけていたので、本家VirtualBoxのForumを検索して探してみる。同じようにGuestOSがWindowsでUSBがUnknown Deviceとなって利用できないという書き込みが山のようにある。
どうやらバグの可能性が…。でもこれだけ発生しているなら、対策とってとっくにFixしてるはずなのに…と思いながら探してみる。

"Windows does not recognize USB devices"というタイトルの投稿にヒントがあった。
簡単にいえば「プロセッサの数を1にすると治ったよ」ということらしい。

 自分の環境を確認してみる。たしかに7はマルチプロセッサ設定になっている。
XPはLinux時代に構築した仮想マシンのイメージを持ってきている。随分昔のことなのだが、当時はプロセッサが非力なので、当然仮想マシンのプロセッサ数が1にしてある。
ところが、昨年構築したWindows7はプロセッサ数を2にしてあった。メモリも実プロセッサも余裕があるし、VisualStdioを使ってコンパイルするのに多めがいいだろうと思って増やした記憶がある。

設定変更してみる

 本当にそうか?と思いながら、設定を変更して再度起動してみる。
今度は、ドライバのインストールを開始するではないか!!

 しばらく待つと、作業は完了し何事もなかったかのように、無事USB Deviceを認識し、プリンタドライバのインストールまで完了する。念のためプリンタのプロパティからテスト印刷と、プリンタのステータスを確認するが、残インクなどちゃんと取得できている。

たった、これだけだったのか…。

さて、ここで再度CPU数を2に戻すとどうなるのか?
一旦認識してしまえば、そのまま運用できるのか、できないのか。

一旦仮想マシンをシャットダウンし、CPU数を元の値に変更する。
さて起動してみる。
昔のWindowsはCPU数が変更になると起動時にエラーこいて逝ってしまった覚えがあるのだけれど、Windows7はそんなことは起きず、何事もなかったように起動してくれるのは嬉しい。
と言っている間に再起動完了。
しかし、USBはUnknownとな…。

つまりプリンタを使用するためには、プロセッサ数を1にしなければならないということが分かった。

まあ、それ程重たい処理をするわけではないので、このまま使うことにする。

再度プロセッサ数を1に戻すと、正しくUSBを認識して動作することが確認できた。

これまで、プリンタやUSBメモリが利用できないのでPDFの仮想プリンタを入れたり、ネットワーク経由でHOSTマシンにデータを送って処理していたのが、これで楽になるわ〜。

今回は、一件落着!ということでスッキリしたわ。
Oracleさ〜ん。早く修正してよね〜。


コメント

  1. 私もUSBメモリが使えずずっと困っていました。
    2011年以来VirtualBoxが新しくなる毎に期待していたのですが・・・
    記事にあるとおり1CPUにしたら使用できるようになり、大変助かっています。どうもありがとうございました。

    なお、環境は以下の通りです。
    Macmini OSX10.6.8
    VirtualBox 4.2.12
    Guest Windows 7 SP1

    返信削除
    返信
    1. 僕も長い間、原因が分からず試行錯誤してました。
      お役に立てて良かったっす〜。

      削除
  2. 私もUSBが認識せず(ディスクドライブもプリンタも232Cの変換も...)ホトホト困り果てていたところこの記事に助けられました!
    シングルプロセッサにしたところ全く問題なく動作しております。
    症状は全く同じで XP ですとCPUコア数に関係なく問題なく動作。
    7のみ32bit/64bitに限らずシングルプロセッサ時のみUSB問題なしです!
    貴重な記事を上げて頂き感謝致しますm(_ _)m

    環境
    iMac 27 Late 2012
    i7 3.4GHz /16GB
    OSX 10.8.3(12D78)
    VirtualBox 4.2.12 r84980
    Win7 Ultimate SP1 32bit/64bit

    返信削除
  3. 私もCPU数を1にしたところ完全解消されて感激です。
    素晴らしい記事です。ありがとうございます。

    [ホスト]
    自作機
    Linux Mint 16 (64bit)
    VirtualBox 4.3.6 r91406
    [ゲスト]
    Windows Professional (64bit)

    なお、Linuxホストの場合、ホストのグループ vboxusers にユーザを追加する必要があるという別の理由もあり、余計にハマってました。

    返信削除
  4. 同じ状況で悩んでます。
    CPUを1にするってどうすればいいのでしょうか。

    返信削除
    返信
    1. 仮想マシンの設定→「システム」→「プロセッサー」→「プロセッサー数」という欄のスライダか、数値を入力する欄で設定可能です。

      削除

コメントを投稿

励みになりますので、簡単で良いので一言くださいませ。

このブログの人気の投稿

WPS Officeで日本語入力ができない

Virtualboxとnvidiaドライバ

VirtualBoxでUSBから起動