LVMのHDDをUSBHDDアダプタで他のサーバにつなぐと『WARNING: Duplicate VG』

IMG_0008
※写真と本文は関係ありません。


H/Wが壊れたサーバのHDDを違うサーバにつないでデータを救出したい。

USBHDDアダプタで接続してpvsコマンドなど使うと

WARNING: Duplicate VG name VolGroup

と怒られる。

こんな感じ

[root@elasticsearch2014 ~]# pvs
WARNING: Duplicate VG name VolGroup: Existing 3teytV-Pjft-YRuh-NEVb-uS0A-vDwA-Nidf3c (created here) takes precedence over aJiBMq-pyNY-cKiy-sJsV-ENIb-uDwZ-D74hV7
WARNING: Duplicate VG name VolGroup: Existing 3teytV-Pjft-YRuh-NEVb-uS0A-vDwA-Nidf3c (created here) takes precedence over aJiBMq-pyNY-cKiy-sJsV-ENIb-uDwZ-D74hV7
PV VG Fmt Attr PSize PFree
/dev/sda2 VolGroup lvm2 a-- 465.27g 0
/dev/sdb2 VolGroup lvm2 a-- 465.27g 0

VG nameが『VolGroup』でこのサーバのVG nameと重複してる。
→ vgrename コマンドで VG nameを変更する。

vgrenameコマンドはVG UUIDでVGを指定出来るので、変更したいVG UUIDを指定して変更する。

VG UUIDはvgdisplayコマンドで確認出来るので、USBHDDアダプタをつないだり外したりして、該当するHDDのVG UUIDを調べる。

vgrename実行 指定したVG UUIDのVGNAMEを”VolGroup_hoge”にする。

vgrename aJiBMq-pyNY-cKiy-sJsV-ENIb-uDwZ-D74hV7 VolGroup_hoge

vgchange コマンドでアクティブにする。

vgchange -ay VolGroup_hoge

あとは普通にマウントする。

GUIのLinuxサーバを電源ボタンでシャットダウンする。

2014-09-17 10.09.47
※写真と本文は関係ありません。


OS:CentOS release 6.5 (Final)
GUI: GNOME

ディスプレー・キーボードのない環境で運用している、客先に置いてあるファイル共有サーバ。
CUIで起動している時に電源ボタンを押すとシャットダウンするが、GUI(init 5)の時はダイアログが出て動作を選択しないとシャットダウン出来ない。
客先でシャットダウンするときに不便。

/etc/acpi/events/power.conf を編集する。


# cat /etc/acpi/events/power.conf
# ACPID config to power down machine if powerbutton is pressed, but only if
# no gnome-power-manager is running

event=button/power.*
#action=/etc/acpi/actions/power.sh
action=/sbin/shutdown -h now

編集後acpiのdaemonを再起動する。

# /etc/init.d/acpid restart
acpi デーモンを停止中: [ OK ]
acpi デーモンを起動中: [ OK ]

iptables-save が作成した /etc/sysconfig/iptables が間違えている。

2014-08-23 10.41.02
※写真と本文は関係ありません。


古いiptables(recentのときだけかな)

# rpm -qa |grep iptables
iptables-1.2.7a-0vl3
# cat /etc/vine-release
Vine Linux 2.6r4 (La Fleur de Bouard)

# /etc/init.d/iptables save 後 restart すると。

# /etc/init.d/iptables restart
現在のすべてのルールとユーザ定義チェインを初期化中: [ OK ]
現在のすべてのルールとユーザ定義チェインを破棄中: [ OK ]
iptablesファイアウォールルールを適用中: [ OK ]
Bad argument `recent:'
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
[失敗]
# LANG=C /etc/init.d/iptables restart
Flushing all current rules and user defined chains: [ OK ]
Clearing all current rules and user defined chains: [ OK ]
Applying iptables firewall rules: [ OK ]
Bad argument `recent:'
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
[FAILED]

こんな感じでエラーになる。
作成された/etc/sysconfig/iptablesのrecentのseconds,hit_countのあたりが間違えていて、手で修正した。
修正後がこんな感じ。

# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.2.7a on Mon Aug 25 13:25:54 2014
*mangle
:PREROUTING ACCEPT [3285:285701]
:INPUT ACCEPT [3285:285701]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2997:3037036]
:POSTROUTING ACCEPT [2997:3037036]
COMMIT
# Completed on Mon Aug 25 13:25:54 2014
# Generated by iptables-save v1.2.7a on Mon Aug 25 13:25:54 2014
*nat
:PREROUTING ACCEPT [191:20311]
:POSTROUTING ACCEPT [2:144]
:OUTPUT ACCEPT [2:144]
COMMIT
# Completed on Mon Aug 25 13:25:54 2014
# Generated by iptables-save v1.2.7a on Mon Aug 25 13:25:54 2014
*filter
:INPUT ACCEPT [4548:396382]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4024:3991116]
:SSH-LOGDROP - [0:0]
#[0:0] -A INPUT -i eth1 -p tcp -m tcp --dport 22 -m state --state NEW -m recent recent: seconds: 1701970164 hit_count: 1953391971 name: side: source -j SSH-LOGDROP
#[0:0] -A INPUT -i eth1 -p tcp -m tcp --dport 22 -m state --state NEW -m recent recent: seconds: 1701970164 hit_count: 1953391971 name: side: source
[0:0] -A INPUT -i eth1 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --name sshattack --rsource -j SSH-LOGDROP
[0:0] -A INPUT -i eth1 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name sshattack --rsource
[0:0] -A SSH-LOGDROP -j LOG --log-prefix "SSH attack: "
[0:0] -A SSH-LOGDROP -j DROP
COMMIT
# Completed on Mon Aug 25 13:25:54 2014

『iptables-restoreの使い方が間違えてる!』って言われるけど、iptables-saveが間違えているという…。

Nagiosの『Next Scheduled Check』が過去の時間になってしまってチェックされない。

2014-05-10 12.08.11-1
※写真と本文は関係ありません。


M/Bの電池が切れたサーバ。時計がずれたまま起動したら、Nagiosの『Next Scheduled Check』が過去の時間になってしまって、チェックされない。

全てのサービスで手動で『Re-schedule the next check of this service』で時間を設定すれば直るけどめんどくさい。
『/usr/local/nagios/var/retention.dat』を削除すると、StatusがPENDINGになるのでチェックが再開される。

javascriptでページタイトルとURLをredmineのリンクに整形する。

2014-05-04 10.42.02
※写真と本文は関係ありません。


redmineに社内WikiのURLを書くとき、日本語ページのURLがエンコードされてかっこわるいので、こんな感じに手で書いてたんだけど…。


"テストページ - 社内Wiki":http://wiki.example.jp/%83e%83X%83g

いちいちのめんどくさいのでRedmineのリンクに整形するjavascriptを書いた。
表示してるページでブックマークを表示すると、alartで


"javascriptでページタイトルとURLをredmineのリンクに整形する。 | ひとにやさしく":http://frym.jp/?p=1144&preview=true

と整形されて表示される。これをコピペする。
(コピーまで自動化出来るのかしら?)→追記:[JavaScript] テキストをクリップボードにコピーする → ヒマがあったらやる…かな。


javascript:function get_title_and_url(){
var d=document,
t=d.title,
u=d.URL;
alert('"' + t +'":' + u);
}
get_title_and_url()

デコードして。

javascript:function%20get_title_and_url(){%20var%20d=document,%20%09t=d.title,%20%09u=d.URL;%20%09alert('"'%20+%20t%20+'":'%20+%20u);%20}%20get_title_and_url()

これをブックマークとして登録。

苗場でスキーバッジテスト

Untitled


天気:晴れのち雪。

1級…結果不合格でした。。
もう少し練習しないとダメですな。

大回り/小回り/不整地/横滑り 69/69/70/69 計277点(280点以上で合格)
17人中合格ひとり(少年)。横滑り70点出たのは今期初らしい。

raidコントローラ不調のトラブルシューティング

手作り大福

※写真と本文は関係ありません。


社内ファイルサーバ用にサーバを購入した。
セットアップ中にたまに再起動したりて、なんか調子悪いなぁと思ってたのを原因究明。

サーバはHPのProLiant ML310e Gen8
Raidカードは後付けの LSI Megaraid SAS 9240-4i

再起動がかかるのはH/W側の問題かと思い、hpのsystem management homepageで確認してみる。
WebUI(https://hostIPaddress:2381/)からインテグレーテッドマネジメントログを確認。

(クリティカル) Unrecoverable System Error (NMI) has occurred. System Firmware will log additional details in a separate IML entry if possible
(危険)POST Error: 1785-Slot X Drive Array Not Config

と2項目のログがたくさん見える。
『POST Error: 1785-Slot X Drive Array Not Config』はオンボードのRaidを無効に。
『Unrecoverable System Error (NMI) 』はRaidカードを差し直し。で改善。
さらに/var/log/messagesにこんなLogが…

Jan 23 21:00:07 samba2013 MR_MONITOR[3603]:  Controller ID:  0   Unexpected sense:   PD  #012    =   -:-:0Unknown Sense Code,   CDB   =    0x00 0x00 0x00 0x00 0x00 0x00    ,   Sense   =    0x72 0x01 0x00 0x1d 0x00 0x00 0x00 0x0e 0x09 0x0c 0x00 0x00 0x00 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x50
Jan 23 21:05:06 samba2013 MR_MONITOR[3603]:  Controller ID:  0   Unexpected sense:   PD  #012    =   -:-:0Unknown Sense Code,   CDB   =    0x00 0x00 0x00 0x00 0x00 0x00    ,   Sense   =    0x72 0x01 0x00 0x1d 0x00 0x00 0x00 0x0e 0x09 0x0c 0x00 0x00 0x00 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x50
Jan 23 21:10:06 samba2013 MR_MONITOR[3603]:  Controller ID:  0   Unexpected sense:   PD  #012    =   -:-:0Unknown Sense Code,   CDB   =    0x00 0x00 0x00 0x00 0x00 0x00    ,   Sense   =    0x72 0x01 0x00 0x1d 0x00 0x00 0x00 0x0e 0x09 0x0c 0x00 0x00 0x00 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x50
Jan 23 21:15:06 samba2013 MR_MONITOR[3603]:  Controller ID:  0   Unexpected sense:   PD  #012    =   -:-:0Unknown Sense Code,   CDB   =    0x00 0x00 0x00 0x00 0x00 0x00    ,   Sense   =    0x72 0x01 0x00 0x1d 0x00 0x00 0x00 0x0e 0x09 0x0c 0x00 0x00 0x00 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x50
Jan 23 21:20:06 samba2013 MR_MONITOR[3603]:  Controller ID:  0   Unexpected sense:   PD  #012    =   -:-:0Unknown Sense Code,   CDB   =    0x00 0x00 0x00 0x00 0x00 0x00    ,   Sense   =    0x72 0x01 0x00 0x1d 0x00 0x00 0x00 0x0e 0x09 0x0c 0x00 0x00 0x00 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x50

5分おきにUnexpectedなエラー…

これは結局よくわからなくて、F/Wが少し古いからUpdateしてみたらたまたまなおった。

# /usr/local/MegaRAID\ Storage\ Manager/StorCLI/storcli64 /c0  download file=/home/hogege/Downloads/imr_fw.rom 
Download Completed.     
Flashing image to adapter...
Controller = 0
Status = Success
Description = F/W Flash Completed. Please reboot the system for the changes to take effect

Current package version = 20.5.1-0003
New package version = 20.12.1-0150

これで完調になりました。

# sh add_repo.sh mcl でエラー

シュークリーム

※写真と本文は関係ありません。


http://frym.jp/?p=999で書いた、HPサーバのアプリのレポジトリ。

CentOSの6.5でコマンドを実行するとエラーになる。

# sh add_repo.sh mcp
note : You must read and accept the License Agreement to continue.
Press enter to display it ... 

 END USER LICENSE AGREEMENT

Do you accept? (yes/no) yes
warn : Unable to find relevant deliverables at URL : 
warn : http://downloads.linux.hp.com/SDR/repo/mcp/CentOS/6.5/x86_64/current
note : No repository configurations added.

リポジトリツリーに6.5のディレクトリがないのでエラーになっているので、-rオプションでCentOSのバージョンを指定するとエラーはなくなる。(けどちゃんと使えるかはわからないので自己責任で!)
6.Xはすべて6のディレクトリ以下のエイリアスになっている。

# sh add_repo.sh -r ‘6.4’ mcp
# sh add_repo.sh -r ‘6’ mcp

mod_security でWAF。

IMGP4038

※写真と本文は関係ありません。


備忘録書いておく。

wordpress(このサイトね)にXSSなどがたくさん来るので試してみた。

インストールはyumで

## mod_security 本体
# yum install mod_security
## ルールセット
# yum install mod_security_crs mod_security_crs-extras

設定は/etc/httpd/conf.d/mod_security.confで。
除外するルール。ホワイトリストのIPアドレスとWAFを発動しないpathを追記。

<IfModule mod_security2.c>
    ……
    # 除外するルールID(日本語クエリパラメータで発動してしまうので除外する)
    SecRuleRemoveById 960024
    # muninのhttp://localhost/server-status/へのアクセスを除外。
    SecRule REMOTE_ADDR "^127\.0\.0\.1$" "phase:1,nolog,allow,id:2013122401"
    # 管理画面へのアクセスは除外。
    SecRule REQUEST_FILENAME "^/wordpress/wp-admin/" "phase:1,nolog,allow,id:2013122501"
    ……
</IfModule>

ルールセットは/usr/lib/modsecurity.d/にあるので、適宜/etc/httpd/modsecurity.d/activated_rules/に置くと適用される。(base_rulesはmod_security_crsインストール時にシンボリックリンクされる)

運用は、ログで『403 Forbidden』されたルールIDを見てSecRuleRemoveByIdに追記する方法かなぁ。
ルールセットはあまり変更しない方がいいような感じかしら?

日本語の情報が少ないので、検索すると少し古い情報で迷う。。最近のVersionはSecRuleにid:が必要とか。ルール書くまで理解するのは大変そう…。

rsyslogでYamahaルータのsyslogを受信する。

IMG_0007
※写真と本文は関係ありません。


CentOS 6.4になって戸惑ったので書いておく。(6から?)
syslog を送信するルータはRT58i。

前は /etc/syslog.conf に設定を書いたけど /etc/rsyslog.conf に変わった。(リモート受信オプションは/etc/sysconfig/syslogに書いてた)

Linuxサーバ側で設定( /etc/rsyslog.conf )
local6に来たものを /var/log/router.log に出力。/var/log/messages に出力されないようにする。

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none;local6.none                /var/log/messages
…
# For yamaha router
local6.*                                                /var/log/router.log

13−14行目。リモートからのsyslog受信を有効にする。

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

logrotateの設定

# cat /etc/logrotate.d/syslog 
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
/var/log/backup.log
/var/log/tmpwach_samba.log
/var/log/empty_dir.log
/var/log/route53
/var/log/router.log
{
    sharedscripts
    postrotate
	/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

RT58iではこんな設定を書く。

syslog host 192.168.1.8    # LinuxサーバのIPアドレス
syslog facility local6