2014年1月31日金曜日

Proxmox ve (proxmox)をデスクトップ環境にする

proxmox veにX-windows環境(xfce4)を導入する手順について説明します。
デスクトップ環境を導入することで接続用クライアント不要でpromox veにアクセスできるようになります。

参考URLは以下
http://pve.proxmox.com/wiki/Developer_Workstations_with_Proxmox_VE_and_X11

X-windowsをインストールします。

aptitude update && aptitude full-upgrade
aptitude install xfce4 chromium lightdm

キーボードレイアウトでJapaneseを選択します


ユーザを追加します。

adduser [ユーザ名]

パスワード入力します。

ログインマネージャを起動します。

service lightdm start

proxmox veでGUIログインができるようになりました。


javaプラグインをインストールします。

aptitude install openjdk-7-jre icedtea-7-plugin


この時点では英語表示のままのため日本語環境を設定します。

日本語フォントをインストールします。

apt-get install ttf-kochi-gothic

日本語ロケールを設定します

dpkg-reconfigure locales 

ja_JP.UTF-8 UTF-8にスペースキーでチェックを入れてOkをクリックします


ja_JP.UTF-8 を選択してエンターキーを押します


作成したユーザでログイン、ログアウトします。

デスクトップ環境が日本語表示になります。


表示がおかしい場合は再起動してみてください。

次に日本語入力ができるようにします。

Mozcをインストールします。

apt-get install ibus-mozc

デスクトップ環境にログインします。

「アプリケーションメニュー」-「設定」-「IBusの設定」を選択します。


「インプットメソッド」タブから「インプットメソッドの選択」-「日本語」-「Mozc」を選択します。
「追加」をクリックします。


右上にインプットメソッドアイコンが追加されます。半角/全角キーで日本語切り替えができるようになります。
「アプリケーションメニュー」-「インターネット」-「Chromeウェブブラウザ」からproxmox webコンソールに接続できることを確認します。



2014年1月29日水曜日

OpenVZでポートフォワーディング

ちょっとこれは忘備録

ホストIPアドレス:192.168.241.129
コンテナIPアドレス:172.16.1.1

上記で外部から192.168.241.129の80番ポートにアクセスした場合にコンテナ172.16.1.1:80にポート転送する。


vi /etc/sysconfig/iptables で以下を追記


-A PREROUTING -d 192.168.241.129/32 -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.1.1:80


Proxmox ve (proxmox)のHA環境構築

Proxmox ve (proxmox)のHA環境構築について記載します。

クラスタ環境化のProxmox veの各ノードにTeratermでログインして以下のファイルを編集します。
/etc/default/redhat-cluster-pve

FENCE_JOIN="yes" をコメントアウト

全ノードを再起動します。

Proxmox ve (proxmox)のWebコンソールにログインします。

各ノードのサービスタブからRGManagerがrunningになっていることを確認します。


データセンター - HAタブをクリックします。
追加 - HA managed VM/CTを選択します。
VM IDにHA対象のVM IDを入力して「作成」をクリックします。
Activateをクリックします
Yesをクリックします


VM/CTを起動中のProxmox veノードをVMwarePlayerから強制シャットダウンします。

他のノードにフェールオーバーしたことを確認します。


2014年1月28日火曜日

Proxmox ve (proxmox)のクラスタ環境構築



Proxmox ve (proxmox)のクラスタ環境構築について記載します。
以下を参照

https://pve.proxmox.com/wiki/Proxmox_VE_2.0_Cluster


まず、Proxmox ve (proxmox)のクラスタ環境には最低3台のProxmox ve (proxmox)が必要になります。
(2台の構築手順もありますが推奨3台)

通常の手順で2台のクラスタ構成をした場合、仮想マシンのHAが有効になりませんでした。
2台でのクラスタ構成はおいおいやっていきたいと思いますが、まずは基本の3台でクラスタを構築します。

ホスト名とIPアドレスは以下の通りです
①proxmox.local 192.168.222.128
②proxmox2.local 192.168.222.129
③proxmox3.local 192.168.222.130

各ノードにTeratermでログインします。
vi /etc/hosts を実行します。

ノード間で名前解決できるようhostsに追記します。

192.168.222.128 proxmox.local proxmox pvelocalhost
192.168.222.129 proxmox2.local proxmox2
192.168.222.130 proxmox3.local proxmox3


192.168.222.129 proxmox2.local proxmox2 pvelocalhost
192.168.222.128 proxmox.local proxmox
192.168.222.130 proxmox3.local proxmox3


192.168.222.130 proxmox3.local proxmox3 pvelocalhost
192.168.222.128 proxmox.local proxmox
192.168.222.129 proxmox2.local proxmox2

①にTeratermでログインします。

以下のコマンドでクラスタ[PROCLUSTER]を作成します

pvecm create PROCLUSTER

root@proxmox:~# pvecm create PROCLUSTER
Restarting pve cluster filesystem: pve-cluster[dcdb] notice: wrote new cluster config '/etc/cluster/cluster.conf'
.
Starting cluster:
   Checking if cluster has been disabled at boot... [  OK  ]
   Checking Network Manager... [  OK  ]
   Global setup... [  OK  ]
   Loading kernel modules... [  OK  ]
   Mounting configfs... [  OK  ]
   Starting cman... [  OK  ]
   Waiting for quorum... [  OK  ]
   Starting fenced... [  OK  ]
   Starting dlm_controld... [  OK  ]
   Tuning DLM kernel config... [  OK  ]
   Unfencing self... [  OK  ]

②③にTeratermでログインします。

以下のコマンドで①のクラスタに参加します。

pvecm add 192.168.222.128

フィンガープリントの確認はyes
パスワードは①のパスワードを入力します。

The authenticity of host '192.168.222.128 (192.168.222.128)' can't be established.
ECDSA key fingerprint is
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
root@192.168.222.128's password:
copy corosync auth key
stopping pve-cluster service
Stopping pve cluster filesystem: pve-cluster.
backup old database
Starting pve cluster filesystem : pve-cluster.
Starting cluster:
   Checking if cluster has been disabled at boot... [  OK  ]
   Checking Network Manager... [  OK  ]
   Global setup... [  OK  ]
   Loading kernel modules... [  OK  ]
   Mounting configfs... [  OK  ]
   Starting cman... [  OK  ]
   Waiting for quorum... [  OK  ]
   Starting fenced... [  OK  ]
   Starting dlm_controld... [  OK  ]
   Tuning DLM kernel config... [  OK  ]
   Unfencing self... [  OK  ]
generating node certificates
merge known_hosts file
restart services
Restarting PVE Daemon: pvedaemon.
Restarting PVE API Proxy Server: pveproxy.
successfully added node 'proxmox2' to cluster.

①のTeratermで以下のコマンドを実行してノードが追加されたことを確認します。

 pvecm nodes

   1   M      4   2014-00-00 00:00:00  proxmox
   2   M      8   2014-00-00 00:00:00  proxmox2
   3   M     12   2014-00-00 00:00:00  proxmox3


①にProxmox ve (proxmox)のWebコンソールにログインします。

データセンター配下にPROXMOX2とPROXMOX3が追加されました。



ストレージ設定で共有を「はい」にしていると他のノードにもストレージアクセスができるようです。
データセンター - HAタブをクリックするとClusterの設定が有効になっていることが分かります。
NFSフォルダにCTを作成して起動します。
右上のマイグレートをクリックして他のノードにオンラインで移行できることを確認します。

クラスタの構成ファイルは以下にあります。

/etc/pve


クラスタ解除したい場合はクラスタを作成したノード①で以下のコマンドを実行してノードを解除します。

pvecm delnode proxmox2
pvecm delnode proxmox3

Proxmox ve (proxmox)で仮想マシンバックアップ・リストア

Proxmox ve (proxmox)の仮想マシンバックアップ手順について記載します。

Webコンソールにログインします。
バックアップ対象のVMを選択してバックアップタブをクリックします。


今すぐバックアップをクリックします
以下の項目を選択してバックアップをクリックします
ストレージ・・・バックアップ取得先
モード
・スナップショット・・・仮想マシンを起動した状態でバックアップ取得
・一時停止・・・仮想マシンを一時停止(サスペンド)した状態でバックアップ取得
・停止・・・仮想マシンを停止した状態でバックアップ取得

圧縮
・LZO・・・速い、らしい
・GZIP・・・良い、らしい



バックアップ一覧にバックアップファイルが表示されます。


デフォルトのバックアップ取得数は[1]です。
バックアップ取得数を増やす場合はデータセンター-ストレージでバックアップ取得ディスクの編集でMax Backupsの数字を増やします。


スケジュールでバックアップする場合は以下の通りです。
データセンター - バックアップで追加タブをクリック。


取得対象のVMとスケジュール設定を行います。


スケジュールバックアップの場合はバックアップデータをローテーションしてくれますが手動で取得したバックアップデータもローテーション対象となり消してしまうのでご注意ください。
ちなみにバックアップファイルの実体は[バックアップ格納先]/dumpです。

リストア手順は以下の通りです。

Webコンソールにログインします。
バックアップ対象のVMを選択してバックアップタブをクリックします。
バックアップ一覧からリストア対象のバックアップデータを選択してリストアをクリックします。


VMをリストアでリストアをクリックします。


VMをまるごと削除してしまった場合はバックアップ取得ストレージを選択し内容をクリックします。
Backupsからリストア対象のバックアップファイルを選択してリストアをクリックします。
リストア画面が表示されるのでリストアを選択します。

VM IDを変更することでVMのクローンを作成できます。





2014年1月19日日曜日

Proxmox ve (proxmox)でプール作成

Proxmox ve Webコンソールでプールを作成する手順を記載します。
プール機能ですがCPUやメモリをプール内の仮想マシンで制限できるかと思いきや、単純にプールに仮想マシンやスト―レジを割り当て、アクセス権限を割り当てるだけの用途のようです。

Proxmox ve Webコンソールにログインします。
データセンター-Poolsから作成をクリックします。


名前にプール名を入力して作成をクリックします。


左ペインにプールアイコンが作成されました。


プール-Membersタブを選択して追加-Virtual Machineをクリックします。


仮想マシンIDを入力して追加をクリックします。



後は、アクセス権限タブにプール内のみアクセス可能なユーザと権限を割り当てれば完了です。




Proxmox ve (proxmox)でグループ追加

Proxmox ve Webコンソールでグループを追加する手順を記載します。
 
Proxmox ve Webコンソールにログインします。
データセンター-グループから追加をクリックします。


名前にグループ名を入力して追加をクリックします。



後はユーザタブからユーザを選択して編集でグループ設定します。


アクセス権限についてもグループ単位で設定可能です。




Proxmox ve (proxmox)でユーザ追加

Proxmox ve Webコンソールでroot以外のユーザでログインする手順を記載します。
 
Proxmox ve Webコンソールにログインします。
データセンター-ユーザから追加をクリックします。


ユーザ名を入力しレルムをProxmox VE authentication serverにしパスワードを入力し追加をクリックします。(Linux PAMは正直めんどい・・・)



アクセス権限タブを選択して追加-UserPermissionをクリックします。


パスは/でUserに追加したいユーザロールに割り当てるロールを選択して追加をクリックします。




コマンドラインで実施する場合は以下の通り

ユーザ追加
 pveum useradd testuser@pve  -comment 'Just a test'

パスワード設定
 pveum passwd testuser@pve

アクセス権限付与
 pveum aclmod / -user testuser@pve -role PVEMAdmin

ロールの権限は大体以下の通り。
ロールタブに詳細な記載があります。


管理者用にはAdministrator VM利用者にはPVEVMUserが適しているでしょうか。
なお、アクセス権限は追加後、編集できないので変更したい場合はいったん権限を削除する必要があります。

 NoAccess ・・・アクセス不可
 PVEMAdmin ・・・仮想マシン制御可能。データセンターの設定やストレージの設定不可
 PVESysAdmin ・・・データセンター、Proxmox設定可能。仮想マシンやストレージの設定不可
 Administrator ・・・フルアクセス
 PVETemplateUser ・・・読み取り専用
 PVEDatastoreUser ・・・ストレージアクセスのみ。設定不可
 PVEAuditor ・・・データセンター設定可能(一部制限)。仮想マシンやストレージの設定不可
 PVEVMUser ・・・仮想マシン制御可能。データセンターの設定やストレージの設定不可
 PVEUserAdmin ・・・Proxmox veの操作ログのみアクセス可能
 PVEAdmin 仮想マシン制御可能。データセンターの設定やストレージの設定も可能
 PVEDatastoreAdmin ・・・ストレージアクセスのみ。設定可能
 PVEPoolAdmin ・・・プールアクセスのみ。

特定の仮想マシンのみを操作させたい場合は仮想マシンからアクセス権限タブを選択して追加でユーザを登録します。



2014年1月18日土曜日

Proxmox ve (proxmox)で仮想マシンテンプレート

Proxmox ve (proxmox)の仮想マシンテンプレート手順について記載します。

Webコンソールにログインします。
バックアップ対象のVMを右クリックしてConvert to Templateを選択します。


Yesを選択します。


VMアイコンがテンプレートアイコンになります。


テンプレート化したVMは起動できず、Cloneかマイグレートしかできません。
ですがテンプレート化することでClone時にFull CloneとLinked Cloneが選択できるようになります。


Linked Cloneにすることで差分データのみでVMを使用することができるためディスク節約になります。(仮想デスクトップで使われる技術ですね)
もちろんテンプレートを削除すると使えなくなります。

Proxmox ve (proxmox)で仮想マシンクローン

Proxmox ve (proxmox)の仮想マシンクローン作製手順について記載します。

Webコンソールにログインします。
バックアップ対象のVMを右クリックしてCloneを選択します。


Target Storageに仮想ディスク格納先を形式に仮想ディスクの種類を選択してCloneをクリックします。


クローンが作成されます。


スナップショットからのクローンのため仮想マシンが起動中でも実行できます。

2014年1月16日木曜日

Proxmox ve (proxmox)で仮想マシンNIC追加(CT)

CTのNICを変更します。

CTを停止します。
CTを選択してハードウェアタブ-追加-ネットワークデバイスを選択します。


名前にeth1と入力してブリッジ接続したいProxmox veインターフェースを接続して追加をクリックします。

CTを起動します。
ifconfig -aでネットワークが追加されたことを確認します。

あとはNIC追加の要領でeth1を追加、networkを再起動します。

venetとの違い・・・MACアドレスが割り当てられるのMACアドレスが必要なやりとり(ポートフォワードなど)に必要

Proxmox ve (proxmox)で仮想マシンNIC追加(CENTOS)

仮想マシンにNICを追加します。

VMを停止します。
VMを選択してハードウェアタブ-追加-ネットワークデバイスを選択します。


今回はNATモードを選択して追加をクリックします。


ハードウェア一覧にネットワークデバイスが追加されたことを確認します。


VMを起動します。
以下のコマンドでeth1が追加されていることを確認します。

 cat /etc/udev/rules.d/70-persistent-net.rules

以下のコマンドでeth1の設定を追加します。

 cd /etc/sysconfig/network-scripts
 cp ifcfg-eth0  ifcfg-eth1
 vi  ifcfg-eth1

 #最低限以下の編集は必須
 DEVICE="eth1"
  HWADDR=[MACアドレス]

service network restartでネットワークサービス再起動

ifconfig eth1でネットワーク割り当て確認

DHCPで10.0.2.XXが割り当てられました。
上記はProxmox ve側でNAT設定を行っていない場合に自動的に割り当てられるIPアドレス範囲です。
当然、外部と通信はできません。

参考URL:http://pve.proxmox.com/wiki/Qm_manual

 If you specify no bridge, we create a kvm 'user' (NATed)

 network device, which provides DHCP and DNS services.
 The following addresses are used:
                 
 10.0.2.2   Gateway        
 10.0.2.3   DNS Server
 10.0.2.4   SMB Server
 The DHCP server assign addresses to the guest starting from
 10.0.2.15.