2014年3月27日

VCPに有効期限が。。。

しばらく仕事が忙しくて、更新サボってましたがショックな情報を入手したのでブログ更新してみました。

VMwareの認定資格になるVCPですが、有効期限がないことが結構ポイント高かったのですが、ついにVCPに有効期限が出来しまったみたいです。

参考URL(PDF):VCP資格の再認定制度について

 ようするに、VCPの有効期限は2年になり、既に2年以上まえに認定された人は「2015年3月10日」までに再認定か新しい資格を取ってねってことのようです。

資格 認定日 認定日より2年 新制度での
有効期限
VCP2 2005年8月1日 2007年8月1日 2015年3月10日
VCP3 2005年8月1日 2010年8月1日 2015年3月10日
VCP4 2005年8月1日 2011年8月1日 2015年3月10日
VCP4 2014年3月1日 2016年3月1日 2016年3月1日
VCP5 2011年8月1日 2013年8月1日 2015年3月10日
VCP5 2014年3月1日 2016年3月1日 2016年3月1日

最近はVMware Viewを構築していることもあるので、VCP延長のためVCP-DTを取ろうと思いますが、その後の更新するかはちょっと考えますね。

2013年2月11日

Windows8 on ESXi5.1

アップグレード版のWindows8 Pro を購入していたので、VMware ESXi 5.1 にインストールしました。少し工夫をすればアップグレード版でもクリーンインストールが可能なようなので試してみました。


仮想マシンの設定

ESX5.0ではWindows8用の仮想マシンがありませんが、ESX5.1では標準で用意されています。今回設定したパラメータではCPUの性能やメモリ量が少し足りないかもしれません。

設定項目 パラメータ
構成 カスタム
名前と場所 Windows8
ストレージ datastore1
バージョン 仮想マシンのバージョン8
ゲストOS Microsoft Windows8(64ビット)
CPU 仮想ソケット数:1
仮想ソケットあたりのコア数:1
メモリ 2GB
ネットワーク VM Network E1000E × 1
SCSIコントローラ LSI Logic SAS
ディスクの選択 新規仮想ディスクを作成
ディスクサイズ 40GB シックプロビジョニング(LazyZeroed)
詳細オプション 仮想デバイスノードSCSI(0:0)
ビデオカード(*1) 3Dサポートを有効

*1 仮想マシン後の構成後に設定の編集から設定してください。


Windows8のインストール

マイクロソフトよりアップグレード版のISOイメージファイルをダウンロードします。そのISOファイルをESXiにアップロードしてからCD-ROMにマウントして起動します。

  • Windows8upgrade.iso

インストールの開始です。

win8_01.jpg

win8_02.jpg

始めにラインセンスファイルを入力します。ISOファイルをダウンロード出来た人はライセンスファイルを持っているはずです。

win8_03.jpg

ライセンスの同意です。

win8_04.jpg

新規インストールなので、「カスタム、Windowsのみをインストールする」を選択します。

win8_05.jpg

インストールディスクを選択します。

win8_06.jpg

インストール中の画面です。

win8_07.jpg

PCの色を選択して、PC名を入力します。

win8_08.jpg

基本設定です。

win8_09.jpg

Microsoftのアカウントを使用してPCにサインインする設定です。

win8_10.jpg

Microsoftのアカウントを持っていなかった場合のローカルPCのサインイン設定です。Microsoftとローカルのアカウントの切り替えは後で設定が可能です。

win8_11.jpg

kの後数分程度でインストールが完了します。

ただ、アップグレード版ではインストールが完了してもライセンス認証が正しく行えません。インストール時にWindowsフォルダの有無を見ているようです。そのため、もう同じ操作でインストールし直す必要があります。


インストール後

とりあえずVMwareにインストールしたのでVMtoolsをインストールしておきました。Windows8を使った感想ですが、設定の作りはwindows7と同じようですが表面ががらっと変わったんですね。
Windows8ではSMB2.2に対応してファイル共有のパフォーマンスが向上しているようなのでファイルサーバやプリンタサーバとして使ってみようと思います。後、CentOSも使いにくいのでOpmanagerもwindowsに移行しようかと考えています。

今日、ヨドバシカメラに行ってみましたが、Windows8が搭載されているPCしか購入出来なくなっていました。量販店ではWindows7機の購入が難しくなっているようですね。

2013年2月 4日

GPTの障害時の対応

前回、FreeBSDをGTPのミラー構成でインストールしました。インストール方法については以下の記事を参考にして下さい。

 


事前の準備

まず、仮想マシンが保存されているハードディスクが壊れた時に構成ファイルが飛んでしまい復旧がめんどうなので、もう片方のディスクにコピーをしておきます。データストアの参照して、以下のファイルをdatastore1からdatastore2にコピーにコピーしておきます。

  • FreeBSD9.1.nvram
  • FreeBSD9.1.vmx
  • FreeBSD9.1.vmsd
  • FreeBSD9.1.vmxf

上がdatastore1で、下がdatastore2で必要なファイルをコピーした状態です。

■datastore1の状態
gpte01.jpg

■datastore2の状態
gpte02.jpg

 


datastore1で障害発生

仮想マシンが稼動しているdatastore1のハードディスクが突然お亡くなりになった想定で、意図的に障害は発生させます。da0のハードディスクがdatastore1上に、da1のハードディスクがdatatore2上に存在しgptでミラーしている状態を確認します。


root@bsd2:/root # gmirror status
      Name    Status  Components
mirror/gm0  COMPLETE  da0 (ACTIVE)
                      da1 (ACTIVE)
 

gptのミラーが正しく動いていることを確認したら、OSを停止させずに仮想マシンの電源をいきなり停止させます。

gpte03.jpg

仮想マシンが停止したら、まず仮想マシンをインベントリから削除します。

gpte04.jpg

gpte05.jpg

後、今回datastore1が障害で使えなくなった想定なので、datastore1のFreeBSD9.1配下をごっそりと削除します。

gpte06.jpg

 


datastore2からの復旧作業

datastore1が使えなくなったので、datastore2から復旧をさせます。この時点ではまだdatastore1のハードディスクが復旧していない状態です。

datastore2を参照してFreeBSD9.1.vmxファイルからインベントリの追加を行います。

gpte07.jpg

gpte08.jpg

gpte09.jpg

gpte10.jpg

datastore2から先ほど削除したインベントリ(FreeBSD9.1)を作成しました。この状態でインベントリを起動しようとするとdatastore1上のハードディスク(vmdkファイル)が見つからないというエラーが発生します。そのため、仮想マシンの設定の編集でdatastore1上のハードディスクを一旦削除します。

 gpte12.jpg

gpte11.jpg

ハードディスク1を削除します。

gpte13.jpg

ハードディスク1を削除したら仮想マシンを起動します。仮想マシンのコピーを検出すると以下のメッセージが表示されます。既存のMACアドレスを使用するか、新規にMACアドレスを割り当てるかの違いなので、今回は「 I moved it 」を選びます。

gpte14.jpg

GPTのミラーが正常に行えていればOSが起動するはずです。起動したらGPTのステータスを確認してみます。datastore2上の仮想ハードディスクがda0で起動しているのが判ります。

 

root@bsd2:/root # gmirror status
      Name    Status  Components
mirror/gm0  DEGRADED  da0 (ACTIVE)

 


datastore1復旧後の対応

datastore1のハードディスクを物理的に交換した後の対応です。まずdatastore1上に仮想ハードディスクを作成します。

gpte15.jpg

gpte16.jpg

ハードディスクを追加します。

gpte17.jpg

gpte18.jpg

datastore1を指定して仮想ハードディスクを作成します。datastore2の仮想ハードディスクとディスク容量を合わせてください。

gpte19.jpg

gpte20.jpg

gpte21.jpg

ディスクを追加するとda1で認識しました。インストールした時とデバイスが逆になってしまってます。

 
root@bsd2:/root # dmesg
                    :
da1 at mpt0 bus 0 scbus2 target 0 lun 0
da1: <VMware Virtual disk 1.0> Fixed Direct Access SCSI-2 device
da1: 320.000MB/s transfers (160.000MHz, offset 127, 16bit)
da1: Command Queueing enabled
da1: 20480MB (41943040 512 byte sectors: 255H 63S/T 2610C)
 

gmirrorを使ってディスクを同期させます。そのままinsertで追加しようとすると怒られるので、一旦持っている情報をforgetで忘れさせてあげてから再度insertで追加してください。

 

root@bsd2:/root # gmirror insert gm0 da1
gmirror: Not all disks connected.
 
root@bsd2:/root # gmirror forget gm0
 
root@bsd2:/root # gmirror status
      Name    Status  Components
mirror/gm0  COMPLETE  da0 (ACTIVE)
 
root@bsd2:/root # gmirror insert gm0 da1
 
root@bsd2:/root # gmirror status
      Name    Status  Components
mirror/gm0  DEGRADED  da0 (ACTIVE)
                      da1 (SYNCHRONIZING, 25%)
 
root@bsd2:/root # gmirror status
      Name    Status  Components
mirror/gm0  COMPLETE  da0 (ACTIVE)
                      da1 (ACTIVE)
 

これで、無事復旧することが出来ました。必要に応じてdatastore1から起動するように各自変更してみてください。

今回は無事データが復旧しましたが、この手順を参考にしてくれた方のデータを保障する訳ではないので各自で良く検証してから運用してください。

2013年1月31日

FreeBSDをGPTでインストール

前回、2つのdetastoreをもつESXi5.1上に、それぞれのdatastoreにハードディスクを持つ仮想マシンを作成しました。作成方法はこちらを見てください。

早速FreeBSDをインストールしてみます。OSのバージョンは、2013年1月時点で最新のFreeBSD9.1にしました。以下の64ビット対応のISOファイルをFreeBSDのサイトからダウンロードします。

  • FreeBSD-9.1-RELEASE-amd64-dvd1.iso

GPTを使ったFreeBSD9.1のインストール

FreeBSDをGPTを使ってハードディスクをミラーするインストールをします。1パーティションで面白くないので、従来のようにパーティションを分割してインストールしてみました。

仮想マシンのCD-ROMにISOをマウントして仮想マシンを起動します。

fgpt01.jpg

今回は、FreeBSDのインストールが目的なので「install」を選択します。

fgpt02.jpg

KEYマップの設定をします。

fgpt03.jpg

Japanese106を選択してください。

fgpt04.jpg

ホスト名の設定です。FQDNの形式で入力してください。

fgpt05.jpg

インストールコンポーネントの選択です。

fgpt06.jpg

GPTを作るためshellを選択します。

fgpt07.jpg

20GのハードディスクをGPTでフォーマットします。その際パーティションは以下のようにしました。

パーティション 容量(19GB利用可能)
/ 1GB
swap 1GB
/tmp 1GB
/var 4GB
/usr 12GB(残り全部)

GPTでフォーマットしたら、各パーティションをnewfsでufsファイルシステムを作成します。

 
kldload geom_mirror
gmirror label -b split gm0 da0
gpart create -s gpt mirror/gm0
gpart add -s 512k -t freebsd-boot -l boot mirror/gm0
gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 mirror/gm0
gpart add -s 1g -t freebsd-ufs -l root mirror/gm0
gpart add -s 1g -t freebsd-swap -l swap mirror/gm0
gpart add -s 1g -t freebsd-ufs -l tmp mirror/gm0
gpart add -s 4g -t freebsd-ufs -l var mirror/gm0
gpart add -t freebsd-ufs -l usr mirror/gm0
 
newfs -j /dev/gpt/root
newfs -j /dev/gpt/tmp
newfs -j /dev/gpt/var
newfs -j /dev/gpt/usr
 

インストール後に起動するマウントポイントをfstabに書き込みます。

 
echo "/dev/gpt/swap none swap sw 0 0" >> /tmp/bsdinstall_etc/fstab
echo "/dev/gpt/root / ufs rw,noatime 1 1 " >> /tmp/bsdinstall_etc/fstab
echo "/dev/gpt/tmp /tmp ufs rw,noatime 2 2 " >> /tmp/bsdinstall_etc/fstab
echo "/dev/gpt/usr /usr ufs rw,noatime 2 2 " >> /tmp/bsdinstall_etc/fstab
echo "/dev/gpt/var /var ufs rw,noatime 2 2 " >> /tmp/bsdinstall_etc/fstab
 

インストールするためにマウントします。exitでシェルを抜けると自動でインストールが始まります。

 
mount /dev/gpt/root /mnt
mkdir /mnt/tmp
mkdir /mnt/usr
mkdir /mnt/vat
 
mount /dev/gpt/tmp /tmp
mount /dev/gpt/usr /usr
mount /dev/gpt/var /var
 
exit
 

fgpt08.jpg

ルートのパスワードを入力します。

fgpt09.jpg

インターフェースの設定です。

fgpt10.jpg

IPv4のインターフェースの設定です。

fgpt11.jpg

今回はDHCPを使用せず、固定でIPアドレスを設定します。

fgpt12.jpg

インターフェースのIPアドレスとサブネットマスク、ディフォルトゲートウェイを設定します。

fgpt13.jpg

IPv6のインターフェースの設定です。IPv6は設定しませんでした。

fgpt14.jpg

DNSの設定です。

fgpt15.jpg

時間の設定です。標準ではUTCになります。

fgpt16.jpg

「Asia」を選択します。

fgpt17.jpg

「Japan」を選択します。

fgpt18.jpg

有効にするサービスを選択します。

fgpt19.jpg

クラッシュダンプを有効にします。

fgpt20.jpg

ユーザを作成します。ここではユーザの作成方法は省略します。

fgpt21.jpg

インストールは終わったのでExitを選択します。

fgpt22.jpg

再起動するまえにもう一度編集します。

fgpt23.jpg

起動オプションを変更します。

 
echo 'geom_mirror_load="YES"' >> /boot/loader.conf
echo '-Dh' >> /boot.config
 
exit
 

機器を再起動します。

fgpt24.jpg

無事OSが起動してきたら、パーティションサイズを確認すると、ちゃんとパーティションが切られています。最後にインストール段階では1つ目のハードディスクしか使っていなかったので、もう片方のハードディスクにデータをコピーします。

 
root@bsd2:/root # df -h
Filesystem       Size    Used   Avail Capacity  Mounted on
/dev/gpt/root    991M    361M    550M    40%    /
devfs            1.0k    1.0k      0B   100%    /dev
/dev/gpt/tmp     991M    8.1M    904M     1%    /tmp
/dev/gpt/usr      12G    1.8G    9.8G    15%    /usr
/dev/gpt/var     3.9G     37M    3.5G     1%    /var
 
root@bsd2:/root # gmirror status
      Name    Status  Components
mirror/gm0  COMPLETE  da0 (ACTIVE)
 
root@bsd2:/root # gmirror insert -v gm0 da1
Done.
 
root@bsd2:/root # gmirror status
      Name    Status  Components
mirror/gm0  DEGRADED  da0 (ACTIVE)
                      da1 (SYNCHRONIZING, 43%)
 
root@bsd2:/root # gmirror status
      Name    Status  Components
mirror/gm0  COMPLETE  da0 (ACTIVE)
                      da1 (ACTIVE)
 

これでインストール完了です。

障害時の復旧方法については、こちらを参考にして下さい。

2013年1月26日

FreeBSDのGPTでソフトミラー

自宅ではNASやメールサーバなど、ほとんどの機能がESXi上で動いていて、そろそろバックアップを真剣に考えないとヤバいかなと思い始めてます。ESXi上の仮想ホストのバックアップを行うには以下の3パターンがあります。

  • 法人向けの高価なバックアップソフトの使用
  • ESXiにスクリプトを置いて実行
  • 通常のOSバックアップを使用

個人では、さすがに10万以上もバックアップに投資出来ませんし、ESXiに手を加えると簡単かもしれませんが、後のESXiのバージョンアップで問題が出そうなので、通常のOSバックアップを使用することにしました。
ただ、ufsdumpやddのようにOS標準のバックアップでは面白くないので、VMwareと連携したバックアップを考えたところGUID パーティション テーブル(GPT)を使って2つあるdatastoreにミラーする方法に行き着きました。

VMwareのバックアップの問題については、vmdkファイルがスナップショットを取っている状態でしか取得出来ない点です。逆の発想をすればvmdkファイルだけコピー出来ていればvmxのような構成ファイルは事前にコピーが可能ということになります。GPTを使用するとブート領域もコピーすることが出来るためハードディスクが一つ壊れても、もう片方のハードディスクから起動するが出来るというわけです。

以下の表はdatastore1でインベントリを作成してOSを起動させた状態で、datastore2をバックアップとして使う際のdatastoreの状態です。

datastore1 コピー方法 datastore2
 FreeBSD9.vmdk ミラー  FreeBSD9_1.vmdk
 FreeBSD9.nvram 手動  FreeBSD9.nvram
 FreeBSD9.vmx 手動  FreeBSD9.vmx
 FreeBSD9.vmsd 手動  FreeBSD9.vmsd
 FreeBSD9.vmxf 手動  FreeBSD9.vmxf

赤文字:稼働中のOSで使用青文字:バックアップ用に手動でコピー

仮想マシンの作成

GPTを使用するために仮想マシンのディスクを異なるdatastoreに作成します。

gpt01.jpg

gpt02.jpg

仮想マシンはdatastore1に保存します。

gpt03.jpg

gpt04.jpg

FreeBSDをインストールするので「その他」から「FreeBSD(64ビット)」を選択します。

gpt05.jpg

gpt06.jpg

gpt07.jpg

gpt08.jpg

gpt09.jpg

gpt10.jpg

「データストアまたはデータストアクラスタの指定」を参照よりdatastore1を選択します。

gpt11.jpg

gpt12.jpg

「完了時仮想マシンの設定を編集」にチェックをいれ続行を押します。

gpt13.jpg

仮想マシンのプロパティが表示されるので「追加ボタン」を押します。

gpt14.jpg

ハードディスクを選択して「次へ」を押します。

gpt15.jpg

gpt16.jpg

先ほどはdatastore1を選択したので、ここでは「データストアまたはデータストアクラスタの指定」を参照よりdatastore2を選びます。

gpt17.jpg

gpt18.jpg

gpt19.jpg

「終了ボタン」を押すと仮想マシンを作成します。

gpt20.jpg

これで、FreeBSDをインストールする仮想マシンの準備は完了です。少し長くなってしまったのでGPTを使用したインストールは次回にします。

FreeBSDのインストール方法はこちらに書いています。

2012年12月31日

OpManager on CentOS6.3

苦戦したCentOSのインストールですが、原因はどうやらISOファイルが壊れていたようです。ダウンロードの途中にネットワークエラーで強制切断されたりしていたので、レジューム対応のダウンロード支援ソフト(irvine)でISOファイルを落としたところCentOS6.3で無事インストールすることが出来ました。

CentOS6.3のインストールについては色んなサイトで紹介されているので省略して、ここではESXi5.1で設定したホストのパラメータだけ載せておきます。

構成 カスタム
名前と場所 CentOS6.3
ストレージ datastore1
仮想マシーンのバージョン バージョン8
ゲストOS RedHatEnterpriseLinux 6 (64ビット)
CPU 仮想ソケット数1、仮想ソケットあたりのコア数1
メモリ 4GB
ネットワーク VM Network E1000
SCSIコントローラ VM準仮想化
ディスクの選択 新規仮想ディスクを作成
ディスクの作成 40GB ThinProvision
詳細オプション 仮想デバイスノード SCSI(0:0)

OpManagerとは

一言で言えば比較的安価なWebベースの統合監視ソフトです。10ノードまではほとんどの機能を無料で利用することが出来ます。

5年ほど前にバージョン5で構築したことはありるのですが、当時は挙動があやしくSNMPcの方が良いなと思っていましたが、2012年12月現在バージョンは9.4にあがっており、最近ではVMwareの監視も出来るようになったと聞いていたので、久しぶりにインストールしてみました。

OpManagerのインストール

OpManagerですが、OpManagerスタートアップガイドを参考にしてインストールしています。メーカサイトではOpManagerの動作環境はRHEL4/5/6でしたが、CentOSにも特に問題もなくインストール出来ました。

初期セットアップで苦戦した点としては、OpManagerの80ポートがlocalhostしかオープンできず、且つiptablesがディフォルトで動いていて通信をブロックしており、クライアント端末からアクセス出来なかったことです。

  • OpManagerの80ポートがlocalhostしかオープン出来ない。

bindするIPアドレスを変更するために、ChangeServerBindIp.shというスクリプトファイルが用意されています。cent.or2.toのIPアドレスは192.168.40.3で設定しています。

 
# cd /opt/ManageEngine/OpManager/bin/
# ./ChangeServerBindIp.sh cent.or2.to
Trying to bind the server with cent.or2.to
Server Successfully Bound With 192.168.40.3 1
 
  • iptablesがディフォルトで動いていて通信をブロック

どうやらCentOSではiptablesが標準で動作しており、ディフォルトのポリシーではicmpとsshぐらいしか通信が許可されていないようです。新規に80ポートを受け付けるようルールの追加を行いiptablesを再起動します。

# vi/etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

# /etc/init.d/iptables restart
 

OpManagerの画面スナップショット

インストールした証拠としてVMwareの監視ホストの画面スナップショットを載せておきます。

<管理画面サンプル①>

opm01.jpg

<管理画面サンプル②>

opm02.jpg

 

メーカの動作環境ではメモリが4GB必要とありましたが、監視ノードが少ないためか、それほどメモリを使っていないようです。実際に使用しているメモリは最大で1GB程度みたいです。物理メモリが8GBしか無いので、しばらくモニターしながらサイジングしていこうと思います。