2014年12月24日水曜日

Proxmox VEでOpenLDAP認証

 OpenLDAPサーバと連携する手順です。
SSL認証する場合は証明書とOpenLDAP TLS設定あたりが必要そうですね
1.「データセンタ」-「認証」タブ-「追加」-「LDAP Server」の順に選択します。

2.下記項目を入力して「追加」をクリックします。
レルム: ログイン画面で認証方法を選択時に表示される名称 例:openldap
ベースドメイン: ベースドメイン名 例:ou=people,dc=server,dc=world
ユーザー属性名:uid と入力
サーバー: LDAPサーバ名
Fallback Server:セカンダリサーバ
Port:未入力でOK
SSL:チェック外す
TFA:none
コメント:適当に
 

3.「グループ」タブ-「作成」をクリックしてLDAPログイン用グループ名を登録します。

4.「ユーザ」タブ-「追加」をクリックしてLDAPサーバに登録されているユーザ名を追加します。
※パスワードは不要
ユーザ名:ADに登録済みユーザを入力 例:admin
レルム:追加したレルム名 例:openldap
グループ:追加したLDAP用グループ名

5.「アクセス権限」タブ-「追加」-「Group Permission」をクリックしてLDAPグループに権限を追加します。
パス:/
グループ:LDAPグループ
ロール:Administrator
継承:チェックを入れる

これで次回ログイン時にLDAP認証ができるようになりました。
できない場合はsyslogタブにて認証エラーコードを確認しましょう。

Proxmox VEでActiveDirectory認証

Windows ADサーバと連携する手順です。
私の検証ではSSL認証ができませんでした・・・。
なんかOpenSSLのバグっぽいのですが、できた人いたら教えてください・・・。
1.「データセンタ」-「認証」タブ-「追加」-「ActiveDirectoryサーバ」の順に選択します。

2.下記項目を入力して「追加」をクリックします。
 レルム: ログイン画面で認証方法を選択時に表示される名称 例:ActiveDirecotry
 Domain: ドメイン名 例:test.local
 デフォルト:チェック外す 
 サーバー: ADサーバ名
 Fallback Server:セカンダリサーバ
 Port:未入力でOK
 SSL:チェック外す
 TFA:none
 コメント:適当に

3.「グループ」タブ-「作成」をクリックしてADログイン用グループ名を登録します。

4.「ユーザ」タブ-「追加」をクリックしてADに登録されているユーザ名を追加します。
※パスワードは不要
 ユーザ名:ADに登録済みユーザを入力 例:administrator
 レルム:追加したレルム名 例:ActiveDirecotry
 グループ:追加したAD用グループ名

5.「アクセス権限」タブ-「追加」-「Group Permission」をクリックしてADグループに権限を追加します。

 パス:/
 グループ:ADグループ
 ロール:Administrator
 継承:チェックを入れる

これで次回ログイン時にAD認証ができるようになりました。
できない場合はsyslogタブにて認証エラーコードを確認しましょう。

2014年12月8日月曜日

Proxmox ve 3.3 にディスク追加する(iSCSI)

iSCSIはGUIで可能です。
セキュリティも何もなしでできるので何となく不安ですが。。。
[データセンター]で設定後、追加したProxmoxサーバで同様の設定が反映されるのはとても便利ですね。
iSCSIサーバはFreeNASを利用してVMwarePlayerで構築しました。
http://www.freenas.org/

「データセンター」-「ストレージ」タブから「追加」-「iSCSI」を選択します。

IDはわかりやすいIDを入力。
PortalはiSCSIサーバを選択。
TargetはPortalでiSCSIサーバを選択すると自動的に表示
LUNsを直接使用するのチェックは外す。

iSCSIが追加されました。

続いてiSCSIにLVMを追加します。
「データセンター」-「ストレージ」タブから「追加」-「iSCSI」を選択します。
IDはわかりやすいIDを入力。
ベースストレージは追加したiSCSIサーバを選択。
ベーススボリュームhは追加したiSCSIサーバを選択。
ボリュームグループはわかりやすい名前を入力
共有にチェックする。

LVMが追加されました。


ちなみにLVMにはディスクイメージしか追加できません。
isoイメージをアップロードしてエラーばっかりになってしまいました。。。
isoはNFSにアップロードしました。

2014年12月3日水曜日

Proxmox VE 3.3 Windowsサーバ導入後のドライバインストール方法。


Windowsサーバをインストール後、VirtioIO BalloonDriverの導入が必要です。
ドライバは下記URLにisoで提供されているのでダウンロードします。
http://alt.fedoraproject.org/pub/alt/virtio-win/
archive ディレクトリ配下にバージョンごとにドライバがあります。
ダウンロードしたisoファイルをproxmoxにアップロードして仮想マシンにマウントします。

デバイスマネージャに「ほかのデバイス」-「PCIデバイス」があるので右クリックして「ドライバソフトウェアの更新」を実行します。

「コンピュータを参照してドライバーソフトウェアを更新します」を選択してisoマウントしたドライバファイルを選択します。
※Windowsのバージョンによって選択フォルダが違います。

Windows2008はWindows7カーネル?の扱いのようです。

ドライバインストールが完了すると以下のようにBalloonDriverがインストールされます。

BalloonDriverの導入によりホスト-ゲスト間で動的にメモリを増減できるとのこと。
ゲストOS(仮想マシン)がメモリをつかみっぱなしになるのを防げるようですね。

Proxmox VE 3.3 で登場したNoVNCの使いやすさ

Proxmox VE3.3から仮想マシンコンソールに接続する方法に「NoVNC」が登場しました。

良い点
VNCで必要だったJavaが不要→プラグインの導入がいらない
リモートキーが充実→「Ctrl-Alt-Delete」ができる。
リモートでシャットダウンもできる。
標準で暗号化してくれる
日本語キーボード対応!

悪い点
Windowsキーを押すとノートPC本体のキーが連動するのでコンソールと本体の完全な切り離し操作はできない
全然許容できます
Linuxはコマンドベースのためコンソールはいらないですが
Windowsはコンソールがないと構築が不便ですのでコンソール環境が充実しているのはいいですね

Proxmox ve(proxmox)でパッチ適用(3.3)

Proxmoxホストのパッチ適用手順について記載します。
無償で使用する場合は下記ファイル内の記述をコメントアウトしないとダメなようです。

/etc/apt/sources.list.d/pve-enterprise.list
 #deb https://enterprise.proxmox.com/debian wheezy pve-enterprise

webコンソールからホスト名-Updatesタブを選択します。
「再表示」をクリックします。
ポップアップが表示されるので「TASK OK」の結果を確認します。
 
Packeageにパッチ一覧が表示されます。
 
Upgradeを選択します
No vncでコンソールが表示されるのでアップグレードをCUIで実行します。
※パッチによってエンターキーで進まないと適用できないものもあるようです。

Your System is up-to-date が表示されれば適用完了です。

再起動は求められないですが、再起動したほうがいいのでしょうね。

仮想マシンが動いていてもパッチ適用できるのはESXにはない強みですね。

ログオン時の「No valid subscription」の警告を消す(3.3)

ログオン時の以下の警告を消す手順です。

【pvemanagerlib.jsを編集】

TeraTermでProxmox ve(proxmox)にログインします。
以下のファイルを編集します。

/usr/share/pve-manager/ext4/pvemanagerlib.js

念のため以下のコマンドでファイルのバックアップを取得します。

cp /usr/share/pve-manager/ext4/pvemanagerlib.js /usr/share/pve-manager/ext4/pvemanagerlib.js.org

編集します

vi /usr/share/pve-manager/ext4/pvemanagerlib.js

以下を変更します。(:462 か /if (data.status !== 'Active')で移動します)

【変更前】
if (data.status !== 'Active') {

【変更後】
if (false) {  

:wqで保存します。
Webブラウザのキャッシュを削除します。

Webコンソールに再度接続して警告が表示されないことを確認します。

Proxmox VE 3.3 をインストールする


2014年9月15日にリリースされたので今更感がありますが・・・。
何が変わったかは以下に紹介分があります。
http://gihyo.jp/admin/clip/01/linux_dt/201409/17
個人的にはHTML5コンソールがとても良いと感じています。
Webブラウザで簡単に仮想環境の構築が可能となり仮想マシンの操作もシームレスです。
OpenstackやDockerを少し触ってからのためかなおさらProxmoxの使いやすさを実感しました。
なんで流行らないのかね・・・。
ではインストール手順を紹介します。
下記URLからisoイメージ「のProxmoxは3.3、ISOインストーラのVE 」をダウンロードします。
http://www.proxmox.com/ja/downloads
※日本語サイトはいまいちですね。
ダウンロード後、VMwarePlayerでインストールします。
ゲストOSは「他のLinux2.6カーネル」で良いかと
プロセッサの設定で「Intel VT-x/EPTまたはAMD-V/RVIを仮想化」にチェックを入れると
64bitの仮想マシンもVMwarePlayer内のProxmoxVEで構築できます。
メモリは512MBでも動きました。

boot:でエンターを押します。

END USER LICENSE AGREEMENT(EULA)で 「I agree」を押します。

インストールするHDDを選択します。(画像はHDD1台のため選択の余地なし)

ロケーションで Country に「japan」と入力します。Time zone/Keyboard Layoutは自動反映されます。

rootパスワードを入力します。EmailはでたらめでもOK

Hostnameはデフォルトでは怒られるのでIPアドレスと同様に環境に合わせて変更下さい。

インストールがはじまります。

reboot を押します。

下記コンソールが表示されるので表示されているURLにアクセスします。

個人的にはFireFoxがお勧めです。
Language を「Japanese」に変更してログインします。
No valid subscription 警告は無視して「OK」をクリックします。
コンソールが開きました。


3.1との違いは過去ブログを参照ください。

HTML5で動作するためIE9ではWebコンソールが開かないのでご注意を※
※動かす方法もあるみたいですね

2014年11月30日日曜日

Openflowスイッチの構築メモ


Openflowスイッチの構築メモです。
こちらはCentOS6.4で構築しています。
 
yumm install -y kernel-debug-devel automake rpm-build redhat-rpm-config libtool git

cd /usr/local/src

yum -y install wget

wget http://openvswitch.org/releases/openvswitch-1.10.0.tar.gz

tar zxvf openvswitch-1.10.0.tar.gz

mkdir -p ~/rpmbuild/SOURCES

cp openvswitch-1.10.0.tar.gz ~/rpmbuild/SOURCES/

cd openvswitch-1.10.0

cp rhel/openvswitch-kmod.files ~/rpmbuild/SOURCES/

rpmbuild -bb rhel/openvswitch.spec

rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec

sudo yum install ~/rpmbuild/RPMS/x86_64/openvswitch-1.10.0-1.x86_64.rpm ~/rpmbuild/RPMS/x86_64/kmod-openvswitch-1.10.0-1.el6.x86_64.rpm  -y

sudo service openvswitch start

sudo ovs-vsctl show

Openflowコントローラの構築メモ

Openflowについて勉強したので忘備録します。
なんか、情報が少ないので流行ってないのかな・・・?


ubuntu14.04でのOpenflowコントローラの構築メモです。
ubuntuでは以下コマンドで可能。

sudo apt-get install git gcc make ruby  ruby-dev irb libpcap-dev libsqlite3-dev

sudo gem install rdoc-data ; sudo rdoc-data --install

sudo gem install rubygems-update -v 1.8.25

sudo update_rubygems

sudo apt-get install glib-2.0

sudo gem install trema -p

近況

現場のほうがバタバタしていてブログが止まってました・・・。
google先生で検索すると私のブログを参照していただいている方がいて
Qiitaでも紹介いただいており非常にうれしく思っています。

なんかOSSで商売したいなあ。。。

2014年6月24日火曜日

CentOS6.5自分メモ【drbd83】

heartbeatの検証をするにあたりクラスタDBnの構築が必要となったためdrbdを構築します。
当然ですがCentOS6.5×2構成です。

クラスタ用ディスク(5GB)を2台のサーバに追加

fdisk /dev/sdb
pvcreate /dev/sdb1
vgcreate db /dev/sdb1
lvcreate -L 4.99G -n dbtest db

【プライマリ/セカンダリ共通】

DRBD83をインストール
wget http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
rpm -Uvh elrepo-release-6-6.el6.elrepo.noarch.rpm
yum install drbd83 kmod-drbd83

uname -n コマンドでホスト名確認

vi /etc/drbd.conf で以下を記載

===
global { usage-count yes; }
common { syncer { rate 10M; } }
resource r0 {
    protocol C;
    startup {
         degr-wfc-timeout 120;
    }
    net {
         cram-hmac-alg sha1;
         shared-secret "FooFunFactory";
    }
    on srv1.localdomain {              ←プライマリCentOSのuname -n コマンドの結果
         device    /dev/drbd0;        
         disk      /dev/db/db;     ←クラスタ用LVMディスク
         address   192.168.182.152:7789;←プライマリCentOSのIPアドレス
         meta-disk  internal;
    }
    on srv2.localdomain {        ←セカンダリCentOSのuname -n コマンドの結果
         device    /dev/drbd0;     
         disk      /dev/db/db;     ←クラスタ用LVMディスク
         address   192.168.182.153:7789;←セカンダリCentOSのIPアドレス
         meta-disk  internal;
    }
}
===

デバイス作成
drbdadm create-md r0

サービス起動
chkconfig drbd on
service drbd start

ステータス確認
/etc/init.d/drbd status


【プライマリで実施】
初期化
drbdadm -- --overwrite-data-of-peer primary all

ファイルシステム作成
mkfs -t ext3 /dev/drbd0

マウントポイント作成
mkdir -p /mnt/drbd0

マウント
mount /dev/drbd0 /mnt/drbd0

セカンダリ準備
umount /dev/drbd0
drbdadm secondary all

【セカンダリで実施】
マウントポイント作成
mkdir -p /mnt/drbd0

マウント
drbdadm primary all
mount /dev/drbd0 /mnt/drbd0

セカンダリ切り替え
umount /dev/drbd0
drbdadm secondary all

【プライマリで実施】
マウント
drbdadm primary all
mount /dev/drbd0 /mnt/drbd0

MSCSより簡単な気がしますね

CentOS6.5自分メモ【keepalived】

CentOSでできる負荷分散(keepalived)設定です。
負荷分散も機器導入せずにソフトウェア導入すればコンパクトに収まるんですけどね
こちらも自分メモ

keepalived のインストール
yum -y install ipvsadm keepalived
/etc/keepalived/keepalived.conf に負荷分散の設定
仮想IP:192.168.182.16
HTTP分散先1:192.168.182.152
HTTP分散先2:192.168.182.153

===

! Configuration File for keepalived

global_defs {
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
! Configuration File for keepalived

global_defs {
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth1
    virtual_router_id 1
    priority 100
    advert_int 5
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.182.16
    }
}
virtual_server 192.168.182.16 80 {
    delay_loop 1
    lb_algo rr
    lb_kind DR
    nat_mask 255.255.255.0
    protocol TCP

    real_server 192.168.182.152 80 {
        weight 1
        HTTP_GET {
            url {
              path /
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }

    real_server 192.168.182.153 80 {
        weight 1
        HTTP_GET {
            url {
              path /
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

=
ipforwardの有効化
sysctl -w net.ipv4.ip_forward=1

keepalivedの起動
service keepalived start
chkconfig keepalived on

keepalivedの動作確認
ipvsadm -L -n

分散先のサーバでも以下のコマンドが必要
iptables -t nat -A PREROUTING -d 192.168.182.16 -j REDIRECT

分散先サーバにapache導入してテストページを作成してみました。
上記の場合、更新ボタンを押すたびに1→2→1と切り替わります。

CentOS6.5自分メモ【ソフトウェアRAID】

ソフトウェアRAID設定の覚書です。
おそらく本番で使うことはないだろうと思いますが・・・

fdisk でRAID用のパーティションを作成します。
fdisk /dev/sdb
n → p →  1 →  t →  fdv w の順にLinuxRAID自動検出用パーティションを作成
mdadmコマンドでRAID構築下記はRAID1の例
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sd[bc]1

mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? y

mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

cat /proc/mdstat でRAIDフォーマット進捗状況を確認

mdadm --detail --scan >> /etc/mdadm.conf でRAID情報を追記

mkfs -t ext3 /dev/md0 でファイルシステム作成
mount -t ext3 /dev/md0 /data で/dataにマウント

以下はRAIDの解除
umount /data
mdadm --misc --stop /dev/md0
mdadm --misc --zero-superblock /dev/sd[bc]1

CentOS6.5自分メモ【bonding】

チーミング設定の覚書です。

vi /etc/modprobe.d/bonding.conf で以下行を追記
alias bond0 bonding

cd /etc/sysconfig/network-scripts/ に移動してチーミング設定

ifcfg-eth0 ifcfg-eth1

DEVICE=eth0 or eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0 ←チーミング必須
SLAVE=yes ←チーミング必須

ifcfg-bond0

DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.182.149
NETMASK=255.255.255.0
NETWORK=192.168.182.0
BROADCATS=192.168.182.255
BONDING_OPTS="miimon=100 mode=active-backup"

service network restart でbonding有効化

cat /proc/net/bonding/bond0 でチーミング状態確認

ifdown/ifupで確認しようかと思いましたがifdown/ifupでは確認できませんでした。

設定はVMwarePlayerで行っているので設定からネットワークアダプタの「接続済み」のチェックを外すことでチーミング設定確認できました。

CentOS6.5自分メモ【LVM】


インストール済みCentOS6.5にディスクを追加してLVM構築までのメモです。

fdisk -l でディスク認識の確認
fdisk /dev/sdc で追加ディスクのフォーマット
n → p → 1 → w の順にフォーマット操作

LVM構築(pv → vg → lvの順)
pvs で現状確認
pvcreate /dev/sdc1 で物理ボリューム作成
pvremove /dev/sdc1 で物理ボリューム削除

vgs で現状確認
vgcreate new_vg /dev/sdc1 でnew_vgボリュームグループ作成
vgremove new_vg  で new_vg でボリュームグループ削除
vgextend vg_gropup /dev/sdc1 でvg_groupにディスク追加

lvs で現状確認
lvcreate -L 10g -n lv_gp vg_group で10GBのlv_gpの論理ボリュームをvg_groupに作成
lvextend -L+1G /dev/vg_group/lv_gp でlv_gpの論理ボリュームに1GB拡張
lvereduce -L-1G /dev/vg_group/lv_gp でlv_gpの論理ボリュームに1GB縮小
lvremove/dev/vg_group/lv_gp でlv_gpの論理ボリュームを削除

あとはファイルシステムを作成してマウント

mkfs -t ext3 /dev/vg_group/lv_gp
mkdir /data
mount -t ext3 /dev/vg_group/lv_gp /data

/etc/fstab に追記して自動マウント

vgextend で追加した場合は以下のコマンドでディスク拡張
resize2fs /dev/vg_group/lv_gp

LVMでスナップショット機能も使えます。
以下のコマンドは10GBのスナップショット領域をsnapで作成します。
スナップショット対象は/dev/vg_group/lv_root
lvcreate -s -L 10G -n snap /dev/vg_group/lv_root

以下の要領でスナップショットをバックアップ
mount -r /dev/vg_group/snap /snap
tar cvf /backup/0 /snapshot
umount /dev/vg_group/snap
lvremove /dev/vg_group/snap

リストアはまた気が向いたら・・・

2014年6月6日金曜日

zabbixでSNMPトラップ監視

ZabbixでSNMPTトラップを受信する手順です。
最初からZabbixがSNMPサーバの機能を持っていると勘違いしたためかなり理解に時間がかかりました。
正確にはSNMPトラップを受信した際にシェルを実行することでzabbixに通知をする、手順となります。

まずsnmp関連のアプリケーションをインストールします。

 yum install net-snmp net-snmp-utils
 yum install vim
 chkconfig snmptrapd on

続いてSNMPトラップ連携するためのzabbix Senderをインストールします。

 yum install zabbix-sender

さらにzabbix-senderを実行するためのshをzabbixのソースファイルから抽出します。

 zabbix-2.2.3.tar.gz の zabbix-2.2.3/misc/snmptrap/snmptrap.sh

/etc/snmp/snmptrapd.conf にSNMPトラップの設定を行います。

 authCommunity  log,execute,net public ←コミュニティに関する設定コミュニティ名「public」からの受信を許可してログ、実行、ネットワーク転送を許可する
 traphandle default /home/zabbix-2.2.3/snmptrap.sh ←デフォルトで全てのホストからトラップ受信した場合に/home/zabbix-2.2.3/snmptrap.shを実行する

snmptrap.sh で以下の設定を行います。

 ZABBIX_SERVER="[zabbixサーバのIP]";
 ZANNIX_SENDER="usr/bin/zabbix_sendaer"; ←zabbix_senderの実行パス

さらにSNMPトラップを受信するためにZabbix管理コンソールでホスト作成を行います。
ホストのIPはzabbixサーバ自身でホスト名は「snmptraps」で作成します。
「snmptraps」はsnmptrap.sh内に記載のある「SNMPTRAP転送先」ホストです。

さらにテンプレート「snmptraps」を作成し、以下のアイテムを作成します。

 名前:SNMPtrapper
 タイプ:Zabbixトラッパー
 キー:snmptraps
 データ型:テキスト
 アプリケーション:SNMPTraps

SNMPトラップを受信した場合に「test」文字列以外はトリガー発行するようにします。

 名前:SNMPTrap
 条件式:{{SNMPtrapper}:snmptraps.str(test)}=0
 障害イベントを継続して生成:有効

上記テンプレートをホスト名「snmptraps」に割り当てます。

ここまでやってやっとSNMPトラップを受信できるのですが日本語のSNMPトラップを受信すると16進数になる!

16進数の文字列については一番最初にインストールしたvimのなかにxxdコマンドが含まれているため16進数を日本語に変換可能です。

ですが、xxdコマンドは16進数以外も自動で変換するため最初の/etc/snmp/snmptrapd.confで日本語のトラップを受信する対象のみxxdコマンド変換するようにする。

 traphandle [mib※] /home/zabbix-2.2.3/xxd-trap.sh

 ※3.6.1.4.1.24769などの文字列、SNMPTrap受信した際に/var/log/messageに記録されます。

/home/zabbix-2.2.3/xxd-trap.sh

 #!/bin/sh
 while read line
 do
  echo  "$line" >> /var/log/syslog/xxd.log
  xxd -r -p /var/log/syslog/xxd.log >> /var/log/syslog/xxd-format.log

で、上記のログをzabbixで監視する。


長い・・・

なんかもっと簡単にできそうな気がするんですが

とここでわざわざzabbix_trapper使わなくてもsnmptrapのログを監視すればいいことに気づく・・・

zabbixでリモートコマンド実行

zabbixで監視エラーを検知した際にリモートでコマンドを実行する手順です。

zabbixエージェントのzabbix.confでリモートコマンドを許可します。

 EnableRemoteCommands=1

アクションで実行内容のタイプを「リモートコマンド」ターゲットを監視対象ホスト名、タイプを「カスタムスクリプト」次で実行を「Zabbixエージェント」としコマンドにリモートコマンドを記載したbatファイルを指定します。
指定したbatファイルは監視対象サーバに格納します。

コマンドは投げっぱなしのため結果がわからないのが少し物足りないですね

zabbixでWindowsの日本語ログ監視

zabbixでログを監視する場合Windowsではzabbixエージェントのzabbix.confで以下の設定を行う必要があります。

 ServerActive=[zabbixサーバ名]

Linuxの場合は上記に加えて監視対象ログの権限を 755などにします。

 
 さらにzabbixではデフォルトでは日本語のログの監視は対応していないため監視アイテム作成時に文字コードを指定する必要があります。

 名前:Windowsログ監視
 タイプ:Zabbixエージェント(アクティブ)
 キー:log["C:\Log\update.log",,SHIFT_JIS]

zabbixのトリガー設定

トリガーの条件式はわかれば簡単ですがわからない場合は意味不明です。
{[ホストorテンプレート]:[アイテム].条件式}というルールなのですが条件式が変に日本語のためやや戸惑いました。
代表的なトリガー式について以下、メモします。

Ping監視:1回応答なし(0)の場合トリガー発動
{TemplateWindows:icmpping.last(#1)}=0

Ping監視:3回応答なし(0)の場合トリガー発動
{TemplateWindows:icmpping.last(#3)}=0

CPU監視:3回とも使用率90%の場合トリガー発動
{TemplateWindows:perf_counter[\Processor(_Total)\% Processor Time,5].last(#3)}>90

メモリ監視:3回とも使用率95%の場合トリガー発動
{TemplateWindows:vm.memory.size[pused].last(#3)}>95

ディスク監視:3回ともCドライブ使用率98%の場合トリガー発動
{TemplateWindows:vfs.fs.size[C:,pused].last(#3)}>98

ログ監視:アプリケーションログに「警告」が記録された場合トリガー発動
{TemplateWindows:eventlog[Application].logseverity(0)}=2

ログ監視:システムログに「エラー」が記録された場合トリガー発動
{TemplateWindows:eventlog[System].logseverity(0)}=4

サービス監視:Spoolerサービスが停止した場合トリガー発動
{TemplateWindows:service_state[spooler].last(#1)}#0

プロセス監視:cmd.exeプロセスが停止した場合トリガー発動
{TemplateWindows:proc.num[cmd.exe].last(#1)}#0

以下はLinux

CPU監視:3回とも使用率90%の場合トリガー発動
{TemplateLinux:system.cpu.util[].last(#3)}>90

ログ監視:/var/log/messagesにwarnログが記録された場合トリガー発動
(({TemplateLinux:log[/var/log/messages].regexp(err)})

zabbixでLinux監視(詳細)

Windows監視に続いてLinux監視

名前、タイプ、キー、データ型、データの形式の順番に掲載


Ping監視(Linux)
シンプルチェック
icmpping
数値(整数)
10進数


CPU監視(Linux)
Zabbixエージェント
system.cpu.util[]
数値 (浮動小数)
%


メモリ監視
Zabbixエージェント
vm.memory.size[pused]
数値 (浮動小数)
%

ディスク監視(Linux)
Zabbixエージェント
vfs.fs.size(/,pused]
数値 (浮動小数)
%

ログ監視(Linux)
Zabbixエージェント(アクティブ)
log[/var/log/messages]
ログ

プロセス監視
Zabbixエージェント
proc.num[(プロセス名)]
数値(整数)
10進数



zabbixでWindows監視(詳細)

以下、備忘録です。

 zabixでPing監視リソース監視する場合のアイテムは以下の通り。
 テンプレート登録すれば自動で収集するのですが、収集項目が多すぎるためある程度取捨選択が必要になるため最低限の項目のみメモ

名前、タイプ、キー、データ型、データの形式の順番に掲載

Ping監視
シンプルチェック
icmpping
数値(整数)
10進数

CPU監視(Windows)
Zabbixエージェント
perf_counter[\Processor(_Total)\% Processor Time,300]
数値 (浮動小数)
%

メモリ監視
Zabbixエージェント
vm.memory.size[pused]
数値 (浮動小数)
%

ディスク監視(Windows C:)
Zabbixエージェント
vfs.fs.sizeC:,pused]
数値 (浮動小数)
%

Windowsログ監視(アプリケーション)
Zabbixエージェント(アクティブ)
eventlog[Application]

ログ

Windowsログ監視(システム)
Zabbixエージェント(アクティブ)
eventlog[System]
ログ

サービス監視
Zabbixエージェント
service_state[(サービス名)]
数値(整数)
10進数

プロセス監視
Zabbixエージェント
proc.num[(プロセス名)]
数値(整数)
10進数

ポート監視
Zabbixエージェント
net.tcp.listen[ポート番号]
数値(整数)
10進数

ログ監視をする場合はzabbixエージェントのzabbix.confでServerActive=[zabbixサーバ名]を指定する必要があります。

2014年3月7日金曜日

zabbixで監視する(ESX)

zabbixでESXサーバを監視する手順について記載します。


zabbixでESXサーバを記載する前に以下の準備が必要です。

 libxml2のインストール

yum install libxml2-devel libcurl-devel

vi /etc/zabbix/zabbix_server.conf に以下の設定追加

StartVMwareCollectors=1


zabbixにログインします。

[設定]-[ホスト]から[ホストの作成]をクリックします。

以下の項目を設定して「保存」をクリックします。
「ホスト」タブ
 ホスト名・・・監視対象サーバのホスト名・・・ではなく別の名前
 表示名・・・監視対象サーバの識別子
 所属グループ・・・Hypervisorsを選択
 IPアドレス・・・監視対象サーバのIPアドレス
  DNS名・・・監視対象サーバのホスト名
「テンプレート」
 「新規テンプレートをリンク」欄に「Template Virt VMware」と入力して「追加」
「マクロ」
 以下を追加
  {$USERNAME} ・・・root
  {$PASSWORD} ・・・rootのパスワード
  {$URL} ・・・https://[ESXのIPアドレス]/sdk

ホストが登録されました。
以下の列に数値が反映されています。
 アプリケーション・・・監視対象リソース(CPU、メモリなど)
 アイテム・・・監視対象リソースの詳細(さらに詳細なリソース)
 トリガー・・・しきい値を設定して超過した場合に警告を生成
 グラフ・・・グラフを作成する値を選択
 ディスカバリ・・・監視対象を探す方法
 Web・・・Webページの監視を行う場合に設定

60分待って「監視データ」-「最新データ」をクリックするとTemplate Virt VMwareに登録されたリソースが収集されます。

また、オートディスカバリ機能によってハイパーバイザと仮想マシンの情報も自動収集されます。

zabbixで監視する(Windows)

zabbixでWindowsを監視する手順について記載します。

zabbix-agentを監視対象のWindowsにインストールします。
今回はWindows7を監視します。
Windowsファイアウォールを有効にしている場合はTCPポート10050を開放します。

下記URLからWindows(all)のzabbixエージェントをダウンロードします。

http://www.zabbix.com/jp/download.php

zabbix_agents_2.2.1.win.zipを解凍します。

confフォルダ配下の「zabbix_agentd.win.conf」を「zabbix_agentd.conf」にリネームして以下の設定を行います。

 LogFile=[ログ格納場所]
 Server=[zabbixサーバのIPアドレス]
 Hostname=[監視対象windowsのホスト名]
 ListenIP=[監視対象WindowsのIPアドレス]

confファイルをbin配下のwin32またはwin64のexeが格納されているフォルダにコピーします。
監視対象のWindowsが32bitの場合はwin32フォルダを64bitの場合はwin64フォルダをそれぞれCドライブ直下にコピーします。

コマンドプロンプトを「管理者として実行」します。

コマンドからzabbix_agentd.exeを実行します

zabbix_agentd.exe -i -c [zabbix_agentd.confをフルパスで]

以下の結果が返ってきたらインストール成功です
※アンインストールする場合はzabbix_agentd.exe -d

 zabbix_agentd.exe [XXXX]: service [Zabbix Agent] installed successfully
 zabbix_agentd.exe [XXXX]: event source [Zabbix Agent] installed successfully

[コンピュータ]-[管理]-[サービスとアプリケーション]-[サービス]を選択します。
サービス[zabbix-agent]を右クリックして「開始」をクリックします。

zabbixにログインします。

[設定]-[ホスト]から[ホストの作成]をクリックします。

以下の項目を設定して「保存」をクリックします。
「ホスト」タブ
 ホスト名・・・監視対象サーバのホスト名
 表示名・・・監視対象サーバの識別子
 所属グループ・・・Discoverd hostsを選択
 IPアドレス・・・監視対象サーバのIPアドレス
  DNS名・・・監視対象サーバのホスト名
「テンプレート」
 「新規テンプレートをリンク」欄に「Template OS Windows」と入力して「追加」

ホストが登録されました。
以下の列に数値が反映されています。
 アプリケーション・・・監視対象リソース(CPU、メモリなど)
 アイテム・・・監視対象リソースの詳細(さらに詳細なリソース)
 トリガー・・・しきい値を設定して超過した場合に警告を生成
 グラフ・・・グラフを作成する値を選択
 ディスカバリ・・・監視対象を探す方法
 Web・・・Webページの監視を行う場合に設定

2,3分待って「監視データ」-「最新データ」をクリックするとTemplate OS Windowsに登録されたリソースが収集されます。

zabbixで監視する(CentOS)



zabbixでCentOSを監視する手順について記載します。

zabbix-agentを監視対象のCentOSにインストールします。

 rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
 yum install zabbix-agent

vi /etc/zabbix/zabbix_agentd.conf に以下の設定を追加します。

 Server=[zabbixサーバのIPアドレス]
 ListenIP=[自身のIPアドレス]

設定を反映します。

  service zabbix-agent start
  chkconfig zabbix-agent on

zabbixにログインします。

[設定]-[ホスト]から[ホストの作成]をクリックします。

以下の項目を設定して「保存」をクリックします。
「ホスト」タブ
 ホスト名・・・監視対象サーバのホスト名
 表示名・・・監視対象サーバの識別子
 所属グループ・・・Linux serversを選択
 IPアドレス・・・監視対象サーバのIPアドレス
  DNS名・・・監視対象サーバのホスト名
「テンプレート」
 「新規テンプレートをリンク」欄に「Template OS Linux」と入力して「追加」

ホストが登録されました。
以下の列に数値が反映されています。
 アプリケーション・・・監視対象リソース(CPU、メモリなど)
 アイテム・・・監視対象リソースの詳細(さらに詳細なリソース)
 トリガー・・・しきい値を設定して超過した場合に警告を生成
 グラフ・・・グラフを作成する値を選択
 ディスカバリ・・・監視対象を探す方法
 Web・・・Webページの監視を行う場合に設定


2,3分待って「監視データ」-「最新データ」をクリックするとTemplate OS Linuxに登録されたリソースが収集されます。

テンプレートから監視したいリソースを選別したほうが設定しやすいですね。

zabbixをインストールする

zabbixは無料(OSS)のサーバ、ネットワーク監視ソフトウェアです。

URL:http://www.zabbix.com/jp/

上記URLにKVM形式で提供されているのでproxmoxに組み込んで監視ができそうです。

お勉強のため一からインストールしてみます。

仮想環境にCentOS 6.4 minimalでインストール

Selinuxを無効化

 /etc/selinux/config

  SELINUX=disabled に

サーバ再起動

 reboot

apacheとphpとmysqlインストール

yum install php php-mysql httpd mysql-server

サービス有効化

chkconfig httpd on
chkconfig mysqld on

サービス起動

service httpd start
service mysqld start

リポジトリをインストール

rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm

zabbixをインストール
yum install zabbix-server-mysql zabbix-web-mysql

データベース作成

mysql -uroot
> create database zabbix character set utf8;
> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

スキーマインポート

cd /usr/share/doc/zabbix-server-mysql-2.2.2/create
mysql -uroot zabbix < schema.sql
mysql -uroot zabbix < images.sql
mysql -uroot zabbix < data.sql

設定hファイル編集

# vi /etc/zabbix/zabbix_server.conf

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

vi /etc/php.ini

;date.timezone = を以下に変更
 date.timezone = Asia/Tokyo

サービス有効化

chkconfig zabbix-server on

サービス起動

service zabbix-server start


サービス再起動

service httpd restart

以下のURLに接続

http://[IPアドレス]/zabbix

Welcome画面が表示されるので「Next」をクリック

2. Check of pre-requisitesを確認


DBconnectionでユーザzabbix パスワード zabbixを入力して[Test connection]をクリック
※/etc/zabbix/zabbix_server.conf の設定です。

サーバホスト名を入力して「Next」をクリック

「Finish」をクリックして初期設定完了です。

ログイン画面です。admin/zabbixでログイン

初期は英語ページのため以下設定からadminパスワードとともに言語日本語に変更

Administration - Users - Members

2014年2月28日金曜日

JoruriCMS/Gw構築時の注意点

こちらも備忘メモ
JoruriCMS/Gwも手順書に従っていけば問題なくインストールできます。
CentOSもminimalでOK


 Joruri公式
  http://joruri.org/


 
注意点は二つ
 1.SELinuxを無効にする
  /etc/sysconfig/selinux で以下の値を変更しOS再起動


  
   【変更前】SELINUX=enforcing
   【変更後】SELINUX=disabled


 
 2.Rubyのソースコードは最新のものを使用


  パッケージダウンロードの手順でruby-1.9.3-p392.tar.gz ではなくruby-1.9.3-p484.tar.gz をダウンロードする


 〆

RedmineのLDAP連携の方法

これは備忘メモ


 Redmineのインストール自体はとても簡単です。


 
 本家のHPから手順に沿ってインストールすればOK


  Redmine 2.4をCentOS 6.4にインストールする手順
  http://blog.redmine.jp/articles/2_4/installation_centos/


 
 
 ActiveDirectoryとの連携は以下の手順で


 1.管理者でログイン
 
 
 2.左上の「管理」をクリック
 3.左の「LDAP認証」をクリック
 
 4.「新しい認証方式」をクリック
 5.以下の画面でそれぞれのパラメータを登録


  名称:任意でOK 例ActiveDirectory
  ホスト:ADサーバのIPアドレスを入力 例:192.168.0.1 
  ポート:普通は389
  LDAPS:チェックしない
  アカウント:CN形式で入力 例:CN=Administrator,CN=Users,DC=example,DC=com
  パスワード:上記アカウントのパスワード
  検索範囲:CN形式で入力 例:DC=example,DC=com
  LDAPフィルタ:特に入力なし
  タイムアウト:特に入力なし
  あわせてユーザを作成:チェックする


  ログイン名属性:sAMAccountName
  名前属性:givenName
  苗字属性:sn
 メール属性:mail


属性で少しはまったのですがAD側で上記属性を入力しないとログインできませんでした。
AD側ではそれぞれ以下となります


  ログイン名属性:ユーザログオン名
  名前属性:名
  苗字属性:姓
  メール属性:電子メール


2014年2月1日土曜日

Proxmox ve (proxmox)をUSBブートさせる

USBメモリからproxmox veをインストールする手順について記載します。
残念ながらUSBメモリ本体にProxmox veをインストールすることはできませんでした。

下記URLを参考
http://pve.proxmox.com/wiki/Install_from_USB_Stick

512MB以上のFATフォーマットのUSBディスクを用意します。

ダウンロードしたProxmox veのisoイメージの拡張子をisoからrawにリネームします。


下記URLからImageWriterをダウンロードします。
ftp://ftp.berlios.de/pub/kiwi/ImageWriter.exe

ダウンロードしたImageWriter.exeを右クリックして「管理者として実行」します。



「select」をクリックしてProxmox veのrawイメージを選択します。
リストボックスからUSBメモリを選択して「Copy」をクリックします。

「Success」でUSBメモリにisoイメージ書き込み完了です。

他のノートPCからUSBブートしてProxmox veをインストールできました。
繰り返しますがUSBメモリにインストールはできなさそうです。。。



大量インストール時に便利ですね。

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を使用することができるためディスク節約になります。(仮想デスクトップで使われる技術ですね)
もちろんテンプレートを削除すると使えなくなります。