So-net無料ブログ作成
スポンサードリンク

KVMを管理するコマンドのメモ。 [仮想サーバ]

仮想サーバKVM上で動作しているゲストOSの管理を全てGUIで出来れば、コマンドはあまり必要無いと思うのですが、リモートで管理だとそうはいかないので、そのためのメモ。
基本的にvirshコマンドを使用。

ゲストOSの確認
# virsh list
起動しているゲストの一覧を表示
# virsh list --all
--allを付けることで、シャットダウンしているゲストも表示される。

ゲストOSの停止
# virsh shutdown ゲスト名
これでも停止しない場合は、
# virsh destroy ゲスト名
で、強制停止する。オススメはしないので、それなりに待っても停止しない場合に実行かな。

ゲストOSの起動
# virsh start ゲスト名
ゲストOSの自動起動(ホストOS起動時にゲストも起動させる)
# virsh autostart ゲスト名
自動起動解除は--disableを付ける
# virsh autostart --disable ゲスト名

ゲストOSの登録
# virsh define /etc/libvirt/qemu/ゲスト名.xml
他のKVM仮想サーバからゲストOSを移動して登録したりなど。

ゲストOSの解除
# virsh undefine ゲスト名
管理から解除する。

イメージファイルの削除は手順が少し有る。
# virsh pool-list --all
で、削除対象のpoolを確認。
削除するイメージの確認。
# virsh vol-list pool名
イメージの削除
# virsh vol-delete --pool pool名 イメージファイル名

または、
# virsh vol-delete /var/lib/libvirt/images/イメージファイル名
でも削除可能。

ゲストOSへコンソール接続
# virsh console ゲスト名
接続出来ない場合は、ゲスト側にコンソール接続の設定を入れる。
grub.cfgのkernel設定に
console=tty0 console=ttyS0,115200n8
を追加。
CentOS7の場合は
/etc/default/grub
の”GRUB_CMDLINE_LINUX="行に追加し、
# grub2-mkconfig -o /boot/grub2/grub.cfg
を実行する。
# /etc/inittab
S0:12345:respawn:/sbin/agetty ttyS0 115200
行を追加し、ゲストOSを再起動すれば、ホストからのゲスト接続が出来るようになる。

postfixでドメイン名ではなく、IPアドレスでメールを送信するとエラーになる場合は。 [postfix]

社内などのLAN内で名前解決をしていない環境で、メールサーバ宛にメール送付をしようとする場合は、
test@192.168.0.100
などのメールアドレスで送付するようになるけど、送信するメールサーバがpostfixだと送信がエラーになる。
この時のmaillogを確認すると、

postfix/smtpd[1111]: warning: Illegal address syntax from unknown[192.168.0.100] in MAIL command: <test@192.168.0.100>

のエラーログが出ている。

postfixのデフォルト設定だと、@以降がIPアドレスのメールアドレスは許可されていないみたい。
なので、postfixの設定ファイルに、許可する設定をすれば良い。

# vi /etc/postfix/main.cf
  resolve_numeric_domain = yes
を追加する。

設定変更後にpostfixを再起動すれば、@以降がIPアドレスになっているメールアドレスも許可されるようになる。
CentOS6の場合
# service postfix restart

CentOS7の場合
#systemctl restart postfix

メールサーバのリプレースとか、sendmailなど他のメールサーバから移行する場合は、気をつけたほうが良さそうです。

Zabbixサーバのバックアップとリストアのメモ [zabbix]

監視サーバで利用しているzabbixのデータのバックアップとリストアのメモ。

zabbixのバックアップはDBのバックアップをすれば、取り敢えず元に戻すことは可能。
バックアップはmysqldumpを使用する。

# mysqldump -uroot -ppassword --default-character-set=utf8 --single-transaction --database zabbix > /var/zabbix.db
zabbixを稼働した状態でバックアップは可能だが、
この場合は--single-transactionを付けないと、監視に影響が出る場合も有る。
zabbixサーバを止めた状態のバックアップは無くても良いかも。

リストア方法は、zabbixサーバをインストールし、初期設定が終わった後、
zabbixサーバを停止する。

# systemctl stop zabbix-server

サービスが止まったことを確認した後、バックアップデータをローカルに置きリストアする。

# mysql -uroot -ppassword zabbix < zabbix.db

バックアップが正常に完了しましたら、zabbixサーバを起動する。

# systemctl start zabbix-server

サーバが正常に起動していることを確認したら、終わりかと思います。
監視再開後、監視している台数やアイテムの状態では、一度にメール通知が来る可能性が有るので、
メール通知をさせないなどの処置が必要になるかも。

Zabbixインストール時にやっておいた方が良さそうな設定(mariadb) [zabbix]

Zabbixを構築する時にやっておいた方が良さそうな設定のメモです。
監視する台数が少なかったり、アイテムが少ない場合は、設定変更しなくても大丈夫かと思いますが、
将来的に増えそうな場合で、リソースに余裕がある場合は先に設定値を変更したほうが良いかと思います。
一度運用に入って、後から設定変更するようになると、サーバーやDBを停止しないといけなくなるので、何かと面倒になります。

まずDBですが、デフォルトでインストールして使用するDBはCentOS6の場合はMySQLで、CentOS7の場合はMariaDBになるのかな。
両方共、同じ設定になると思いますが、DBの設定は/etc/my.cnfファイルを編集。
[mysqld]セクションに
innodb_file_per_table zabbix  を追加
innodb_buffer_pool_size=8M の値をスペックに応じて増加する。
innodb_log_file_size=5M   の値をスペックに応じて増加する。

以下の2つは文字化け防止で追加
character-set-server=utf8
skip-character-set-client-handshake

他に有るかもしれませんが・・・
特に追加する項目は入れておいたほうが良いですね。

Zabbixサーバの設定は、/etc/zabbix/zabbix_server.confを編集
以下の項目を変更
StartPinger=1 → 100位
StartPoolers=5 → 50位
StartPoolersUnreachable=1 → 30位
StartTrappers=5 → 30位
StartSNMPTrapper=0   ※SNMPを使用する時に"1"へ変更する。
CacheSize=8M → スペックに応じて
ValueCahceSize=8M → スペックに応じて
TrendCacheSize=4M → スペックに応じて
MaxHouseKeeperDelete=500 → 1000位
この辺りはデフォルト値が低いので大きめに変更したほうが良さそうです。
ただ数値を大きくし過ぎるとDB接続エラーになる場合が有るので、その場合は調整が必要かな。
ping監視が多い場合はStartPingerの変更をしないと、ping監視が確実に遅延するので、少し多めにしたほうが確実です。
これも他にも有るかもしれませんが、ザッとこんな感じで設定かな。


Zabbixサーバでネットワーク機器を監視するためのメモ [zabbix]

Zabbixでサーバを監視する時は、サーバにzabbix-agentをインストールすれば、監視することは可能だが、
ネットワーク機器を監視する場合は、snmpを利用して監視する。
しかし、ZabbixはZabbixサーバをインストールするだけでは、snmp監視が出来ないので、その追加設定のメモ。
サーバ環境はCentOS7

・インストール
 snmpとsnmpttのインストール
 # yum install net-snmp net-snmp-perl
# yum --enebalerepo=epel install snmptt perl-Sys-Syslog
epelリポジトリが利用できるようにしておく。
 ※perl-Sys-Syslogをインストールしないとエラーになる。

・ZabbixServer設定ファイル変更
 # vi /etc/zabbix/zabbix_server.conf
  StartSNMPTrapper=1

・snmptrapdの設定と起動
 設定
 # vi /etc/snmp/snmptrapd.conf
authCommunity log,execute,net public ←community名
perl do "/usr/share/snmptt/snmptthandler-embedded";

# vi /etc/sysconfig/snmptrapd
OPTIONS="-m +ALL -On"

 起動
 # systemctl start snmptrapd
# systemctl enable snmptrapd

・snmpttの設定と起動
 設定
 # vi /etc/snmp/snmptt.ini
   mode = daemon
date_time_format = %H:%M:%S %Y/%m/%d
net_snmp_perl_enable = 1
net_snmp_best_guess = 2
syslog_enable = 0
sleep = 1

 # vi /etc/snmp/snmptt.conf
EVENT general .* "General event" Normal
FORMAT ZBXTRAP $aA $ar $1
 # touch /var/log/snmptt/snmptt.log
# chown snmptt.snmptt /var/log/snmptt/snmptt.log

 起動
 # systemctl start snmptt
# systemctl enable snmptt

で、Zabbixサーバのsnmp設定が完了。
他端末からsnmptrapコマンドでテストして、サーバのログに書き込みが有ればOK
 # snmptrap -v 2c -c public 192.168.0.100 '' .1.3.6.1.6.3.1.1.5.3

ログに書き込みができない場合は、community名に間違いが無いか、iptablesやfirewalldの設定が間違えていないかを確認してみる。

スポンサードリンク
シャンパン酵母エキス