ラベル ESXi の投稿を表示しています。 すべての投稿を表示
ラベル ESXi の投稿を表示しています。 すべての投稿を表示

2014年6月8日日曜日

VMwareのOVFファイルをAWSへインポートする手順

VMWareESXi上で動作している仮想マシン(VM)をAWS環境にインポートする手順をまとめます。
今回インポートするVMのOSはCentOS6.5を例としています。インポートできるOSには制限があります。

1) VMWareESXi上のVMをOVFテンプレートのエクスポートでローカルPC等に保存。
2) AWSにてAmazon LinuxのEC2を作成。(Amazon EC2 API Tools がインストール済みだから)
3) 1)のOVFファイル群の中のvmdkファイルを2)で作成したEC2にFTP等でアップロード。
4) 2)のEC2にてec2-import-instanceコマンドでvmdkファイルからEC2を生成。

※keyやIDの値は実際には存在しないものに変更しています。

作業OS: Amazon Linux AMI release 2014.03
インポート対象OS: CentOS 6.5 (64-bit)



■Amazon EC2 API Tools の確認
[ec2-user@amazon-lnx ~]$ ll /opt/aws/apitools/ec2/
total 88
drwxr-xr-x 2 root root 20480 Mar 25 14:59 bin
-rw-r--r-- 1 root root   134 Jan 28 05:48 environment.sh
drwxr-xr-x 2 root root  4096 Mar 25 14:59 lib
-rw-r--r-- 1 root root  4852 Jan 28 05:48 license.txt
-rw-r--r-- 1 root root   539 Jan 28 05:48 notice.txt
-rw-r--r-- 1 root root 46468 Jan 28 05:48 THIRDPARTYLICENSE.TXT
[ec2-user@amazon-lnx ~]$
## 動作確認
[ec2-user@amazon-lnx ~]$ ec2-describe-regions -O AKIAXXXXE2DB7AVDFRE4 -W yXXXXXSKGX0mKsn8oL805DzOlR+rt56Drewi85MEmg
REGION  eu-west-1       ec2.eu-west-1.amazonaws.com
REGION  sa-east-1       ec2.sa-east-1.amazonaws.com
REGION  us-east-1       ec2.us-east-1.amazonaws.com
REGION  ap-northeast-1  ec2.ap-northeast-1.amazonaws.com
REGION  us-west-2       ec2.us-west-2.amazonaws.com
REGION  us-west-1       ec2.us-west-1.amazonaws.com
REGION  ap-southeast-1  ec2.ap-southeast-1.amazonaws.com
REGION  ap-southeast-2  ec2.ap-southeast-2.amazonaws.com
[ec2-user@amazon-lnx ~]$


■VMDKファイルを準備
※.ovfおよび.mfファイルはAWSには取込めないので不要。
[ec2-user@amazon-lnx ~]$ ll /home/ec2-user/cent65-web-disk1.vmdk
-rw-r--r-- 1 ec2-user ec2-user 1644029440 May 23 15:19 /home/ec2-user/cent65-web-disk1.vmdk
[ec2-user@amazon-lnx ~]$


■インポート用シェルスクリプト作成
[ec2-user@amazon-lnx ~]$ cat vmdk_import.sh
#!/bin/bash

ec2-import-instance \
    --region ap-northeast-1 \
    --aws-access-key AKIAXXXXE2DB7AVDFRE4 \
    --aws-secret-key yXXXXXSKGX0mKsn8oL805DzOlR+rt56Drewi85MEmg \
    --instance-type c3.large \
    --group forpublic-sg03 \
    --format VMDK \
    --architecture x86_64 \
    --platform Linux \
    --bucket cloud-bucket05 \
    --owner-akid AKIAXXXXE2DB7AVDFRE4 \
    --owner-sak yXXXXXSKGX0mKsn8oL805DzOlR+rt56Drewi85MEmg \
    --availability-zone ap-northeast-1a \
    --subnet subnet-62ac600b \
    /home/ec2-user/cent65-web-disk1.vmdk

exit 0
[ec2-user@amazon-lnx ~]$
keyはあらかじめ環境変数に設定しておけば指定する必要はありません。
セキュリティーグループを指定しても、なぜかデフォルトグループが設定されます。
インポートできるインスタンスタイプに制限があります。こちらを参考にしてください。
availability-zoneを指定しないと下記のようなエラーに陥る場合があります。
[ec2-user@amazon-lnx ~]$ ./vmdk_import.sh
Requesting volume size: 100 GB
Client.InvalidParameter: Subnet 'subnet-62ac600b' is in the availability zone 'ap-northeast-1a'.
[ec2-user@amazon-lnx ~]$


■インポート実行
[ec2-user@amazon-lnx ~]$ ./vmdk_import.sh
Requesting volume size: 100 GB
TaskType        IMPORTINSTANCE  TaskId  import-i-fg5bb5f2       ExpirationTime  2014-05-30T07:51:01Z    Status  active  StatusMessage  Pending InstanceID      i-cdee1cd4
DISKIMAGE       DiskImageFormat VMDK    DiskImageSize   1644029440      VolumeSize      100       AvailabilityZone        ap-northeast-1c        ApproximateBytesConverted       0       Status  active  StatusMessage   Pending : Downloaded 0
Creating new manifest at cloud-bucket05/106dee24-5fff-4b4d-ac72-96b759e81450/cent65-web-disk1.vmdkmanifest.xml
Uploading the manifest file
Uploading 1644029440 bytes across 157 parts
0% |--------------------------------------------------| 100%
   |==================================================|
Done
Average speed was 7.145 MBps
The disk image for import-i-fg5bb5f2 has been uploaded to Amazon S3
where it is being converted into an EC2 instance.  You may monitor the
progress of this task by running ec2-describe-conversion-tasks.  When
the task is completed, you may use ec2-delete-disk-image to remove the
image from S3.
[ec2-user@amazon-lnxw ~]$
インポート作業中にS3を確認すると、指定したバケットに10MBのファイルがVMDKファイルサイズ分作成されていく。
インポートは成功。マネージメントコンソール上に新たなEC2が表示された。


■インポートしたVMの起動
マネージメントコンソールからstartしたが、下記エラー。
Are you sure you want to start this instance?
i-cdee1cd4 (cent65-web)
Error starting instances
Invalid value 'i-cdee1cd4' for instanceId. Instance does not have a volume attached at root (/dev/sda1)
原因はEBSを準備中に起動しようとしたため。しばらく待てば起動できた。
EC2正常起動完了後は、不要となったS3上のファイルは削除しました。


この情報が何かのお役にたてれば幸いです。m(_ _)m

2014年3月30日日曜日

ESXi 仮想ディスクをext4でフォーマット

VMware ESXi で仮想ディスクを作成し、LinuxOS上でext4でフォーマットして利用する手順です。
1) VIClientにて仮想ディスク追加
2) fdisk実行
3) ext4でフォーマット
4) ファイルシステムチェック
5) マウント

ESXi: 5.0.0
OS: CentOS 6.5 (64-bit)


■仮想ディスク追加
追加ボタンをクリック。
参照ボタンからデータストアを指定。

## Linux上で確認
OS起動中にVIClienにて仮想ディスクを追加することは可能ですが、再起動するまでは認識されません。
[root@centos65 ~]# df -hT
Filesystem                      Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos65-lv_root ext4    27G  4.4G   21G  18% /
tmpfs                           tmpfs  940M   80K  940M   1% /dev/shm
/dev/sda1                       ext4   485M   39M  421M   9% /boot
[root@centos65 ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0  3月 30 08:15 2014 /dev/sda
brw-rw----. 1 root disk 8, 1  3月 29 23:15 2014 /dev/sda1
brw-rw----. 1 root disk 8, 2  3月 30 08:15 2014 /dev/sda2
[root@centos65 ~]#
[root@centos65 ~]# reboot
※再起動すると追加した仮想ディスクのデバイスファイルが作成される。
[root@centos65 ~]# ll /dev/sd*
brw-rw---- 1 root disk 8,  0  3月 30 11:12 2014 /dev/sda
brw-rw---- 1 root disk 8,  1  3月 30 02:12 2014 /dev/sda1
brw-rw---- 1 root disk 8,  2  3月 30 11:12 2014 /dev/sda2
brw-rw---- 1 root disk 8, 16  3月 30 11:12 2014 /dev/sdb ←ココ
[root@centos65 ~]#

■fdisk実行
ヘルプを表示したり領域を確認したりしていますが、実際に行うことは、
   n   新たに領域を作成する
   p   基本パーティション (1-4) ←設定はデフォルト選択
   w   テーブルをディスクに書き込み、終了する
上記だけです。
[root@centos65 ~]# fdisk /dev/sdb
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルをディスク識別子 0xb5139ff6 で作成します。
あなたが書き込みを決定するまで、変更はメモリ内だけに残します。
その後はもちろん以前の内容は修復不可能になります。
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
      強く推奨します。 and change display units to
         sectors (command 'u').

コマンド (m でヘルプ): m
コマンドの動作
   a   ブート可能フラグをつける
   b   bsd ディスクラベルを編集する
   c   dos 互換フラグをつける
   d   領域を削除する
   l   既知の領域タイプをリスト表示する
   m   このメニューを表示する
   n   新たに領域を作成する
   o   新たに空の DOS 領域テーブルを作成する
   p   領域テーブルを表示する
   q   変更を保存せずに終了する
   s   空の Sun ディスクラベルを作成する
   t   領域のシステム ID を変更する
   u   表示/項目ユニットを変更する
   v   領域テーブルを照合する
   w   テーブルをディスクに書き込み、終了する
   x   特別な機能 (エキスパート専用)

コマンド (m でヘルプ): p

ディスク /dev/sdb: 17.2 GB, 17179869184 バイト
ヘッド 255, セクタ 63, シリンダ 2088
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0xb5139ff6

デバイス ブート      始点        終点     ブロック   Id  システム

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本パーティション (1-4)
p
パーティション番号 (1-4): 1
最初 シリンダ (1-2088, 初期値 1):
初期値 1 を使います
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-2088, 初期値 2088):
初期値 2088 を使います

コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。
[root@centos65 ~]#

■ext4でフォーマット
ext4の特徴は、
 ・最大1EBまでのボリュームサイズと、最大16TBまでのファイルサイズをサポート。
 ・日付範囲はext3より拡張され、1901年12月14日から2514年4月25日となった。
 ・タイムスタンプがナノ秒をサポート。
[root@centos65 ~]# mkfs -t ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1048576 inodes, 4192957 blocks
209647 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
128 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@centos65 ~]#

■ファイルシステムチェック
[root@centos65 ~]# fsck /dev/sdb1
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
/dev/sdb1: clean, 11/1048576 files, 109841/4192957 blocks
[root@centos65 ~]#

■マウント
[root@centos65 ~]# mkdir /data
[root@centos65 ~]# mount /dev/sdb1 /data
[root@centos65 ~]# ll /data
合計 16
drwx------ 2 root root 16384  3月 30 02:23 2014 lost+found
[root@centos65 ~]# df -hT
Filesystem                      Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos65-lv_root ext4    27G  4.4G   21G  18% /
tmpfs                           tmpfs  940M   72K  940M   1% /dev/shm
/dev/sda1                       ext4   485M   39M  421M   9% /boot
/dev/sdb1                       ext4    16G  172M   15G   2% /data
[root@centos65 ~]#
※/etc/fstabに記載していないので再起動するとマウントは解除されます。
仮想ディスクをext4で追加することができました。お疲れ様でした。

■マウント解除
[root@centos65 ~]# umount /data
[root@centos65 ~]# df -hT
Filesystem                      Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos65-lv_root ext4    27G  4.4G   21G  18% /
tmpfs                           tmpfs  940M   72K  940M   1% /dev/shm
/dev/sda1                       ext4   485M   39M  421M   9% /boot
[root@centos65 ~]#


こちらの情報が何かのお役に立てましたら幸いです。サイト継続ご協力のほどお願いいたします。m(_ _)m

2014年3月8日土曜日

CentOS6.5 GUI インストール

2013年12月にリリースされたCentOS6.5のISOファイルを取得し、VMware ESXi上に構築した手順を画面キャプチャ入りでまとめます。
KVMがvmdk対応になったり、OpenSSLのバージョンがアップデートされたりしているそうですが、すぐに使う予定は皆無です。

・VMware ESXi 5.0
・CentOS 6.5 (64-bit)
・Kernel: 2.6.32-431
・インストールパッケージタイプ: Desktop


■ESXiにインストーラ(isoファイル)準備
PCにダウンロードしたCentOS-6.5-x86_64-bin-DVD1/2.isoファイルをESXiのデータストアにアップロードします。


■ESXiの仮想マシン起動時にisoファイルでブートする設定
仮想マシンを右クリック → 設定の編集 → CD/DVDドライブの設定


■インストーラ起動


■Discチェック
そろそろデフォルトでSkipにしてくれないかな・・・。isoファイルでのインストールが大半では?!


■インストール開始


■言語選択
英語のままにしようかと迷いましたが、迷わず日本語で。



■ストレージデバイス
SANなんて高価な環境ありません。
どんなデータだって破棄しちゃってください。新規インストールなので何もないですが。



■ホスト名
適当に 命名するほど 迷います。


■ネットワークの設定
「ネットワークの設定」 → 「編集」

「自動接続する」にチェック
「IPv4のセッティング」タブでアドレスとネットマスクを設定


■タイムゾーン
「システムクロックでUTCを使用」の説明↓
通常時間とサマータイム時間を自動的に切り替えるようにしたい場合は、これを使用します。
ハードウェアクロックを調節して同じ機能を達成する別のOS(Microsoft Windows(tm)など、)が
マシン上にある場合、これは使用しないでください。
日本はまだサマータイム導入されていないので、とりあえずUTCのチェックは外します。


■rootパスワード


■インストール領域




■パッケージタイプ
Desktopを選択。CentOS6.4から若干の項目変更あり。


■インストール処理
ディスクの速い物理サーバだと10分くらいかも。


■インストール完了
再起動する前にインストールディスクを外しておきましょう。
ESXiなら、CD/DVDドライブのデバイスタイプをクライアントデバイスに設定。


■インストール後設定


■ライセンス情報
強制的に同意させられているよね・・・。


■ユーザーの作成
ユーザ名にまたしても迷う。あげく、いたってフツーな名前。


■日付と時刻
UTC時間になっているので必要に応じ修正する。


■Kdump
有効にできるように仮想マシンのメモリを2GB割り当てました。サイズはデフォルト値で。

Kdumpを有効にするとシステム再起動が必要となるようです。

■ログイン
迷わずrootユーザで。



■背景とテーマ変更
選択肢が増えたわけではない。その時の気分で背景変更。


■OSの状況確認
[root@centos65 ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@centos65 ~]# uname -r
2.6.32-431.el6.x86_64
[root@centos65 ~]# rpm -qa | wc -l
1106
[root@centos65 ~]# df -hT
Filesystem                      Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos65-lv_root ext4    27G  3.6G   22G  15% /
tmpfs                           tmpfs  940M  228K  939M   1% /dev/shm
/dev/sda1                       ext4   485M   39M  421M   9% /boot
[root@centos65 ~]#
Desktopだとパッケージの数が1100以上。ディスク使用量も3.6GB。
実運用で構築する場合はMinimalタイプ+αがお勧めかも。

こちらの情報が何かのお役に立てましたら幸いです。サイト継続のご協力お願いいたします。m(_ _)m

2014年2月16日日曜日

VMware ESXiにOVFテンプレートのデプロイで仮想マシンを作成

VMware ESXiにOVFテンプレートからデプロイして仮想マシンを作成する手順です。
仮想マシン名はデプロイ設定の中で自由に変更することが可能です。

デプロイした仮想マシンはネットワーク関連設定(仮想MACアドレス等)を修正する必要があります。
そのあたりの手順も少し紹介したいと思います。

ESXi: 5.0.0


■OVFテンプレートのエクスポート


■ソース


■OVFテンプレートの詳細


■名前と場所
"centos64-custom" に変更してみました。


■ストレージ


■ディスクのフォーマット
シックプロビジョニング(Lazy Zeroed)
指定したサイズを初めから確保します。仮想ディスク作成時にはゼロで初期化しないため作成時間は短くてすみます。現場では最も多く利用されているタイプです。
シックプロビジョニング(Eager Zeroed)
最初の段階でゼロ初期化を行うので作成には時間がかかります。データをディスクに書き込む際にはゼロで初期化済みなので最もパフォーマンスの良い方式です。
シンプロビジョニング
仮想OSの使用量のみがデータストア上で専有するタイプのフォーマットで容量を節約できます。 

■ネットワークのマッピング


■終了準備の完了


■デプロイ中・・・


■MACアドレスの確認
VI Clientにて仮想マシンを右クリック
デプロイした仮想マシンを起動する前にMACアドレスをメモりましょう。
OSのデバイスファイルを変更する必要があります。


■ネットワーク接続でeth0を選択
GUIがあれば、システム > 設定 > ネットワーク接続
CUIの場合は、/etc/sysconfig/network-scripts/ifcfg-eth0 を修正。


■System eth0 の編集
デバイスのMACアドレスとIPアドレスを修正してください。

以上で、デプロイした仮想マシンを利用できるようになると思います。
その他、必要に応じてホスト名等を変更してください。


OVFテンプレートを利用すると一から仮想マシンを作成する場合に比べ非常に効率的です。
まぁ、AWSのAMI機能には遠く及ばない気もしますが・・・。

こちらの情報が何かのお役に立てましたら幸いです。サイト継続のご協力ありがとうございます。m(_ _)m