2013年1月5日土曜日

vmdk@ESXi から qcow2@KVM へのコンバート

現行サーバー(ESXi)から次期サーバー(Linux@KVM)への移行の準備として実施した
仮想サーバーの引っ越しリハーサルの記録です。

■サーバースペック
1. 現行サーバー機 (ESXi)
・マシン : HP D7100SFF
・CPU : Pentium 4 2.8GHz HT
 VMWare ESXi 4系を入れる為、オリジナルは 520 (Intel64未対応) の所、
 521 (Intel64対応) に換装済みです。
 ※起動時BIOSに怒られるのとたまにブルースクリーンで固まるけど
  何となく動いているので良しとしています。

・MEM : 2.5GByte
・HDD : SATA 2.0TB
・OS : VMWare ESXi 4.1
・ゲストOS :
 VM1 : FreeNAS 8.0.2 (1.8Tbyte)
 VM2 : CentOS 5.x i686 (200GByte)
 VM3 : FreeNAS 8.0.2 (20GByte) ← 引っ越しリハ用に作成

2.次期サーバー (Linux + KVM)
・マシン : HP ProLiant ML110G7
 ※ NTT-X Store にて 9,800円で購入し、メモリ、HDDを増設
・CPU : Intel(R) Celeron(R) CPU G530 @ 2.40GHz
・MEM : 4GByte
・HDD : STAT 500GB
・OS : CentOS 6.2 (x86_64)

■手順流れ
  1. ESXi にて対象のゲストOSを停止
  2. ESXi からLinux に向けてVMイメージ(vmdk形式)を転送 (scp)
  3. Linux にて VMイメージを変換 (vmdk→qcow2) (qemu-img)
  4. Linux にてゲストOSを作成し起動
■手順
1. ESXi にて対象のゲストOSを停止
 【 移行前の状態】

 左ナビの「シャットダウン」にてVMを停止

 【移行前停止の確認】

 2. ESXi からLinux に向けてVMイメージ(vmdk形式)を転送 (scp)
~# cd /vmfs/volumes/datastore1/testnas
~# scp testnas-flat.vmdk linuxuser@linuxserver:/workdirectory/testnas-flat.vmdk

 3. Linux にて VMイメージを変換 (vmdk→qcow2) (qemu-img)

# qemu-img convert -p -O qcow2 /workdirectory/testnas-flat.vmdk /vmpool/testnas.img

4. Linux にてゲストOSを作成し起動
 仮想マシンマネージャにてVMを作成します。
 (1). qcow2に変換したイメージを指定します。

(2).  メモリ、CPUを指定して次に進みます。

 (3).  アーキテクチャを「i686」に変更して完了をクリックします。
 
 (4). そのまま待つと、KVMにて移行された VM が起動します。
  
 (5). ネットワークの設定のみ再作成しブラウザでアクセスすると正常につながりました。


以上

本番はいつできる事やら・・・

2013年1月4日金曜日

ESXi スナップショット

1. スナップショットの作成
 ~ # vim-cmd vmsvc/snapshot.creat 16 server-130104

2. スナップショットの表示
~ # vim-cmd vmsvc/snapshot.get 16
Get Snapshot:
|-ROOT
--Snapshot Name        : server-130103
--Snapshot Id        : 4
--Snapshot Desciption  :
--Snapshot Created On  : 1/3/2013 5:27:46
--Snapshot State       : powered off

3. スナップショットの削除
~ # vim-cmd vmsvc/snapshot.remove 16 4

ROW_NUMBER() OVER(...)

使い方

SELECT * FROM (
  SELECT ROW_NUMBER() OVER(PARTITION BY USER_ID ORDER BY ACCESS_TIME) AS ROWNUM
    , USER_ID
    , ACCESS_TIME
    FROM USER_ACCESS_LIST
)
WHERE ROWNUM = 1