2015年10月12日月曜日

VMware VCenter serverで.dmpファイルがディスク容量食う

  • このエントリーをはてなブックマークに追加


VCenter serverである時点から”VMware vCenter Update Manager Check Notification”という通知がたくさん蓄積してきました。これが原因でVcenter server上でvmware-updatemgr-7837.dmpのような.dmpファイルが増えて、ディスク容量を消費しています。

一般的なシステムエラーが発生しました:Failed to write to C:\Documents and Settings\All Users\Application Data\VMware VirtualCenter\journal\<number>:
Error writing file.There is not enough space on the disk.

 

ログには以下のようなエラーが出力された。

image

http://www.natestiller.com/2011/02/vcs-vsphere-check-new-notifications-stuck-on-queued-vmware-vcenter-update-manager-check-notification/

で紹介された方法でできそうですが、自分の環境では、うまく行かず。

”net stop vmware-ufad-vci” 

“net start vmware-ufad-vci”

 

仕方なく代替手段として、タスクスケジューラーで定期的にファイルを削除するようにしました。

バッチファイルは下記です。

del "C:\Documents and Settings\All Users\Application Data\VMware\VMware Update Manager\Logs\vmware-updatemgr-*.dmp"

2015年10月11日日曜日

PHP4でsimplexml_load_file()と同等の機能を実装

  • このエントリーをはてなブックマークに追加


最近、仕事でXMLファイルを加工するPHPスクリプトを書いています。テスト環境で、PHP5でしたので、simplexml_load_file()を使って、ファイルをロードし、XML各要素の値を出しています。
こちらsimplexml_load_fileの紹介をご参照ください。
基本的な SimpleXML の使用法 ¶


しかし、本番環境に持って行ったら、なんとPHPのバージョンは4点台だった。参りましたね。スクリプトを書く前にきちんと本番環境を確認しないと、実感しました。

で、PHPのバージョンも上げるのかありだが、それはちょっと影響範囲が大きいため、諦めた。そして、simplexml_load_file()のような機能がPHP4であるかどうか調べたら、ありましたよ。助かりました。

Implementation of simplexml_load_file() in PHP4

miniXMLというライブラリを使えば実現できます。
miniXMLはこちらからダウンロードしてください。
http://sourceforge.net/projects/minixml/


自分で簡単にサンプルコードも作ってみました。
======================================================
<?php
/* xml sample file
<?xml version='1.0' standalone='yes'?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#211;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
</movies>
*/

require_once(".\minixml-1.3.8\minixml.inc.php");
$xml = new MiniXMLDoc();
$xml->fromFile('.\movies.xml');
$rootElement = & $xml->getRoot();

$movie = $rootElement->getElementByPath('movie');
$title = $rootElement->getElementByPath('movie/title')->getValue();
echo "$title\n";

$characters = $movie->getElementByPath('characters');
$characters_all = $characters->getAllChildren('character');
foreach($characters_all as $c){
  $name = $c->getElementByPath('name')->getValue();
  $actor = $c->getElementByPath('actor')->getValue();
  echo "$name,$actor\n";
}

$plot = $movie->getElementByPath('plot')->getValue();
echo "$plot\n";

$greatlines = $movie->getElementByPath('great-lines');
$greatlines_all = $greatlines->getAllChildren('line');
foreach($greatlines_all as $l){
  $greatline = $l->getValue();
  echo "$greatline\n";
}

$ratings = $movie->getAllChildren('rating');
foreach ($ratings as $r){
  $type = $r->xattributes['type'];
  $rating = $r->getValue();
  echo "$type,$rating\n";
}
?>
======================================================


実行結果は下記の通りです。
c:\php>php parsexml.php
PHP: Behind the Parser
Ms. Coder,Onlivia Actora
Mr. Coder,El ActÓr
So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
PHP solves all my web problems
thumbs,7
stars,5

XMLの要素を全部出力できました。



PHP configure時によくあるエラー

  • このエントリーをはてなブックマークに追加


CentOS/RedHatではPHP ソースからインストールする場合、Configure時によくあるエラー一覧です。


configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
yum install libxslt-devel

configure: error: Could not find net-snmp-config binary. Please check your net-snmp installation.

yum install net-snmp-devel

configure: error: Please reinstall readline - I cannot find readline.h

yum install readline-devel

configure: error: Cannot find pspell

yum install aspell-devel

checking for unixODBC support... configure: error: ODBC header file '/usr/include/sqlext.h' not found!

yum install unixODBC-devel

configure: error: Unable to detect ICU prefix or /usr/bin/icu-config failed. Please verify ICU install prefix and make sure icu-config works.

yum install libicu-devel

configure: error: utf8mime2text() has new signature, but U8TCANONICAL is missing. This should not happen. Check config.log for additional information.

yum install libc-client-devel

configure: error: freetype.h not found.

yum install freetype-devel

configure: error: xpm.h not found.

yum install libXpm-devel

configure: error: png.h not found.

yum install libpng-devel

configure: error: vpx_codec.h not found.

yum install libvpx-devel

configure: error: Cannot find enchant

yum install enchant-devel

configure: error: Please reinstall the libcurl distribution - easy.h should be in /include/curl/

yum install libcurl-devel



2014年7月11日金曜日

AWS EC2の無料利用枠まとめ

  • このエントリーをはてなブックマークに追加


AWSを触りたくて、無料アカウント作成しました。これからいろいろいじろうと思います。ちょっと使ってみた感じとしては、結構使いやすいという印象です。
で、今回は、AWS EC2(Virtual Machine)の無料利用枠について、まとめておきます。多分ほとんどの方がアカウント作成の前に、気になるところでしょう。

このページでいろいろ紹介がありましたが、ちょっとわかりづらいですね。
簡単に言いますと、以下の感じです。

・アカウント取得から1年間有効
・EC2関連の無料利用枠(毎月
     EC2
          Linuxマイクロインスタンス 750時間
          Windows Serverマイクロインスタンス 750時間

     EBS(Elastic Block Store)
          ストレージ 30GB
          I/O 200万
          スナップショット 1GB

     データ転送
          送信パケット量 15GB
          
EC2に関してはこれくらいわかれば十分だと思います。

2014年7月10日木曜日

Microsoft Azureのいろいろ

  • このエントリーをはてなブックマークに追加


Microsoft Azureに関するいろいろ情報をメモします。

Microsoft Azureで仮想マシンを作成する大まかな手順

1,アフィニティグループの準備
          アフィニティグループ ⇒ 約1000台サーバーが含まれるクラスタ
2,可用性セットの準備
          可用性セット ⇒     複数のラック(仮想マシンを異なるラックに配置)
3,仮想ネットワークの準備
          仮想ネットワーク ⇒ 仮想マシンを格納する論理的なグループ
4,ストレージアカウントの準備
          仮想マシンのファイル群をBLOBとして格納する
5,クラウドサービスの準備
          仮想マシンがクラウドサービスに格納される
6,仮想マシン作成
          Microsoft Azure 管理ポータルから作成
          Microsoft Azureコマンドラインツールから作成
          Microsoft Azure Powershellから作成

Microsoft Azureの監視

・Microsoft Azure管理ポータル
・System Center 2012 R2 Operations Manager(Azureのほか、仮想マシン内のOS、アプリの監視もできる)
自動スケール(スケールアップ、スケールダウン)ができる。仮想マシンの起動、停止をすることで自動調整する。

Microsoft Azure環境の管理タスクの自動化

・Azure Powershell
・Powershell DSC(Desired State Configuration、コンピュータをあるべき状態の構成となるように自動設定を行うフレームワーク。仮想マシン内の自動設定などに活用)
・Azure Automation(Preview機能。PowershellベースのRunbookの実行をサポートするワークフローエンジン)
・System Center 2012 R2 Orchestrator

仮想マシンのバックアップと回復

・バックアップ
          仮想マシンの構成の記録(名前、階層、サイズ...エンドポイントなど)
          仮想マシンの取り込み(取り込みにより、OSディスクとデータディスクがまとめてバックアップされ、バックアップイメージがマイイメージに登録される)
・回復
          仮想マシンの削除
          仮想マシンの作成

仮想マシンのネットワーク管理

Microsoft Azureでは、クラウドサービスにVirtualIP(VIP)、仮想マシンにDynamicIP(DIP)を割り当てる。
・クラウドサービスには、DNS名(~.cloudapp.net)とVIPが割り当てられる。VIPはパブリックIPで、インターネット経由でのクラウドサービスのアクセスに使用される。
・DynamicIPは、仮想マシン同士通信用。仮想マシンにパブリックIPを割り当てることができる。

仮想ネットワーク
     リージョン上に作る仮想マシンを格納する論理グループ。
     任意のIPアドレス空間、任意のDNS構成、インポート、エクスポート可能。(実際のネットワークのサブネットとは違う)
     同じ仮想ネットワークであれば仮想マシン同士が通信可能

オンプレミスとの接続
     VPNを構成することで、仮想ネットワークとオンプレミスを接続することが可能。
     二種類     
          サイト間VPN(オンプレミス対仮想ネットワーク、仮想ネットワーク対仮想ネットワーク)
          ポイント対サイトVPN(個別PCと仮想ネットワークを接続する)

2014年5月28日のアップデートで拡張、追加される機能

・複数のディスクを含むイメージから仮想マシン作成可能
・「仮想マシンの構成」⇒「階層」で基本が選択可能(標準に比べて、IPOSが制限され、負荷分散と自動調整機能が省略される。低料金)
・PowerShellでしか設定できないA8,A9のサイズがGUIでも選択可能
・内部ロードバランサー(エンドポイントを経由せずプライベートIPで負荷分散を行う)。主な利用シナリオは、インターネット接続不要なアプリケーション層、データベース層の負荷分散、イントラネット向けのSharePointファームの稼働など
・仮想ネットワークは、既定でアフィニティグループにバインドされるが、リージョンにもバインドできる
・新規仮想マシンに静的IPを割り当てることが可能(既存の仮想マシンは不可)
・マルチサイトVPN
・仮想ネットワーク間をVPNで接続