Xen Serverの状態の監視

更新日 2012-08-22 (水) 15:31:23

XenServerは自身は外部から直接アクセスしたり、Webサーバを動作させないため、物理的なHDDの温度や、SoftRaidの状態がわからない。そこで仮想サーバからsshでリモートシェルを利用して監視する。

SSHからリモートシェルで結果を出力

サーバ側

パスフェーズ使用

RSA暗号方式の鍵を作成

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/okada/.ssh/id_rsa):
Created directory '/home/okada/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/okada/.ssh/id_rsa.
Your public key has been saved in /home/okada/.ssh/id_rsa.pub.
The key fingerprint is:
1c:e5:********************************:ca:1d:54 okada@uso-xen

パスフェーズなし

こちらを利用するほうが簡単そう

$ ssh-keygen -N "" -t rsa
Generating public/private rsa key pair.
Your identification has been saved in /home/okada/.ssh/id_rsa.
Your public key has been saved in /home/okada/.ssh/id_rsa.pub.
The key fingerprint is:
e2:d1:********************************:62:86:35 okada@uso-xen
$ cd .ssh
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys
  • id_rsa: 秘密鍵
  • id_rsa.pub:公開鍵

id_rsa.pub を authorized_keysに必ず追加する 

クライアント側

サーバからクライアントに秘密鍵(id_rsa)をコピー(USBなどを利用)

evalコマンドでssh-agentを起動

$ eval `ssh-agent`
Agent pid 32589
$ ssh-add id_rsa
Enter passphrase for id_rsa:
Identity added: id_rsa (id_rsa)

パスフェーズなしの場合

$ ssh-add id_rsa
Identity added: id_rsa (id_rsa)

evalコマンドでssh-agentを停止

eval `ssh-agent -k`

確認

ssh [-l user] [-i file] [-p port] [-x] host [command [arg...]]

$ ssh 10.99.99.75 ls -a
.
..
.bash_history
.bash_logout
.bash_profile
.bashrc
.ssh

リモートで動作する内容作成(SoftRaidの状態を確認)

リモートシエルでパスフレーズなしで設定する。

$ mkdir rssh
$ cd rssh

moniter.sh

#!/bin/sh

eval `ssh-agent`
ssh-add id_rsa
ssh 10.99.99.75 cat /proc/mdstat
eval `ssh-agent -k`

確認

$ ./moniter.sh
Agent pid 3781
Identity added: id_rsa (id_rsa)
Personalities : [raid1]
md1 : active raid1 sdb2[0] sda2[1]
      4194240 blocks [2/2] [UU]

md2 : active raid1 sdb3[0] sda3[1]
      479995328 blocks [2/2] [UU]

md0 : active raid1 sdb1[0] sda1[1]
      4194240 blocks [2/2] [UU]

unused devices: <none>
Agent pid 3781 killed

Webから動作

Web上からApacheの権限で動作させるため

# chown apache.apache id_rsa

一時apacheユーザをshellで動作させ /var/www/.ssh/known_hostsを作成させる

# cd /var/www
# mkdir .ssh
# chown apache.apache .ssh

/etc/passwd

apache:x:48:490:Apache:/var/www:/bin/bash

にし、apacheで一度sshでリモートShellを動作させ、known_hostsが作成されたことを確認する。

# su apache
# ssh 10.99.99.75 cat /proc/mdstat

その後

apache:x:48:490:Apache:/var/www:/sbin/nologin

に戻す

hddtempでHDDの温度をモニタ

Xenserverにはhddtempがインストールされてないのでインストールする。しかし、CentOS5.5の内容がほとんどサイトで削除されているので、以下のサイトからインストール

http://vault.centos.org/

このサイトは古いバージョンが残っている

リポジトリの変更

hddtempはBaseの[extras]に指定されているので、URLパスと有効にするためenabled=1を変更

/etc/yum.repos.d/CentOS-Base.repo

[extras]
name=CentOS-$releasever - Extras
##mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras 
baseurl=http://vault.centos.org/5.5/extras/$basearch/  <==変更
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
##enabled=0
enabled=1 <==変更
# yum update

Not using downloaded repomd.xml because it is older than what we have:

updateで上のようなメッセージが出たら以下のようにキャッシュをクリア

# yum clean all
Loaded plugins: fastestmirror
Cleaning up Everything
Cleaning up list of fastest mirrors
# yum update
Loaded plugins: fastestmirror
Determining fastest mirrors
citrix                                                             |  951 B     00:00
citrix/primary                                                     |  243 B     00:00
extras                                                             | 2.1 kB     00:00
extras/primary_db                                                  | 183 kB     00:01
Setting up Update Process
No Packages marked for Update

hddtempのインストール

# yum install hddtemp
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package hddtemp.i386 0:0.3-0.14.beta15.el5.centos set to be updated
--> Finished Dependency Resolution 

Dependencies Resolved

==========================================================================================
  Package          Arch          Version                             Repository       Size
==========================================================================================
Installing:
 hddtemp          i386          0.3-0.14.beta15.el5.centos          extras            50 k

Transaction Summary
==========================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 50 k
Is this ok [y/N]: y
Downloading Packages:
hddtemp-0.3-0.14.beta15.el5.centos.i386.rpm                        |  50 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : hddtemp                                                             1/1

Installed:
  hddtemp.i386 0:0.3-0.14.beta15.el5.centos

Complete!
# hddtemp /dev/sda1

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-08-22 (水) 15:31:23 (2184d)