技術:2011年

2011年12月20日

お客様環境で IIJ GIOホスティングパッケージサービス を利用しており、それのメンテナンスをすることになりました。

まったく初めての状態で、ある程度構築されたサーバーを渡されたので、試行錯誤しながらでした。

構成としては、以下の感じです。

LB構成

ということで、負荷分散・冗長化構成です。

■やりたいこと
http の冗長化
https の冗長化

SSH でのログイン

■仕組み
LBの設定をしてから負荷分散が行われるようになります。分散方式はすいません後ほど調べます。
https も分散できるようですが、仕組みはちゃんとわかっていません。

FW無効のときには、各サーバー毎にグローバルIPが付与されます。FWを有効にするとLB配下になります。
そのためFW有効のときには、各サーバーに割り当てられているグローバルIPにアクセスすることができません。(そもそもグローバルIPが無くなるっぽい?)

ということで、近日中に http / https / ssh / ftp を公開する方法を掲載したいと思います。




stock_value at 21:00|この記事のURLComments(0)TrackBack(0)

2011年12月19日

SQL サーバーでバックアップを取得する際には、以下のコマンドを利用します。

BACKUP DATABASE [DB名] TO DISK = N'D:\BK\[バックアップファイル名].bak'
WITH NOFORMAT, INIT, NAME = N'nDB名-完全バックアップ', SKIP, COMPRESSION

※コマンド
NOFORMAT:
INIT: 上書き(追記じゃないから1回分しかバックアップが保持されません)
NAME: バックアップセットの名称
SKIP: 有効期限の確認をしない
COMPRESSION: 圧縮する


上記コマンドを実行させます。とりあえず簡単なのは SQL Server 2008 であれば、SQL Serverエージェントからジョブを作成します。

以下メモ。
・新しいジョブの作成

全般:
カテゴリはデータベースのメンテナンスを選択

ステップ:
新しいステップで、種類は Transact-SQL を選択
データベースで DB名を選択
コマンドに上記コマンドを貼り付け

スケジュール:
毎日もしくは毎週で時間と曜日を指定

通知:
イベントログに書き込む ジョブ失敗時


以上でOKです。

※なお1日分しか取得されないので、必要に応じてフォルダでローテーションするなどが必要です。
※完全バックアップのみなので、トランザクションログも必要になります。

stock_value at 11:01|この記事のURLComments(1)TrackBack(0)

2011年12月17日

昨日からの続きで、大量(といっても10名程度)のCCがあると、メモリが確保できないということでエラーになっていました。

こちらについて調査をしているときに、どうもスパムチェックの判定も影響があるのでは無いかと思うようになりました。

CCをたくさん入れる会社様に対しては、その方の spamassassin の利用をOFFに変更してみました。
するとエラーが出なくなりました。

僕の管理しているサーバーでは s25r を利用しており、もともとスパムが少ないと思いますので、とりあえずこれで様子を見たいと思います。


stock_value at 12:06|この記事のURLComments(0)TrackBack(0)

2011年12月16日

Pleskを利用しているのですが、VPSサーバーのスペックの問題もあって、すぐにメモリエラーになってしまいます。

今回は以下のようなエラーが。
Unable to connect to the mysql database, relay will work in closed mode & white list will not work

この時はCCにて10名以上の方にメールを送信すると出てしまうようでした。他にも以下のようなログも。
Unable_to_fork:_out_of_memory

今までは concurrencylocal / concurrencyremote で調整していましたが、今回は上記の通り mysql のエラーもでていたので、こちらも調整しました。

なおステータスは以下のようになっていました。
mysqladmin -u [管理者ユーザー名] -p extended-status | egrep '(Max|Threads_)'
| Max_used_connections | 18 |
| Threads_cached | 6 |
| Threads_connected | 1 |
| Threads_created | 1056976 |
| Threads_running | 1 |

とりあえず
wait_timeout=240
thread_cache=20
で様子を見たいと思います。

※参考
MySQL の wait_timeout と thread_cache_size の関係
MySQLのチューニング?


stock_value at 12:01|この記事のURLComments(0)TrackBack(0)

2011年12月15日

メールのログを見るときに、grep をよく利用しています。
plesk の関係で接続してきた時には、必ず以下のようなログが出力されます
[日時] [サーバー] relaylock: /var/qmail/bin/relaylock: mail from [IP]:57780 ([ホスト名])

ということで、スパムや極端にアクセスが多い場所を調べることができます。
しかしこの方法だと、安全だと分かっている接続もたくさん表示されます。例えば gmail だったり、自社からの接続だったりと。

ということでこれらについては除外がしたかったのです。
以下の2通りの方法があるようです。

grep -v [除外文字列]

ただし上記方法だと複数の場合、例えばgmail と ocn のような時、2回指定し無ければならないようです。
grep -v gmail | grep -v ocn という感じ。

これでは不便だったので、 egrep を利用します。
egrep -v 'gmail|ocn'

ということで無事に除外の設定ができました。

stock_value at 11:30|この記事のURLComments(0)TrackBack(0)

2011年12月14日

Hyper-Vでディスクアクセスが異常に遅いという事象が発生しました。CPUの割り当てやメモリなど、いくつかの工夫を行っても特に改善せず。

どうもDiskアクセスが異常に遅いのです。

RAIDのステータスとしては、Check Consistency が行われていました。
この状態では、Hyper-Vのディスクアクセスがかなり遅いのです。ちなみにこのときは容量可変でした。

当面の設定もかなりのストレスだったので、とりあえずディスクへの書き込みをライトスルーから、ライトバックに変更しました。
これでかなりストレスが軽減されるようになりました。

stock_value at 10:14|この記事のURLComments(0)TrackBack(0)

2011年12月13日

Teratermを利用しています。
このとき、大量の文字を貼り付けると、途中の行がごっそりと飛んでしまうのです。
特にネットワーク機器の設定をしているときに、 config を貼り付けて入力しているのですが、
このときに、一度にすべて貼り付けるのではなく3分割で貼り付けるなどで対応していました。

もちろんこの用は方法はとても不便です。
ということで、一括で貼り付けても大丈夫なように設定をしました。

設定 - シリアルポートを選択し、
送信遅延の欄を入力します。

ちなみに僕が今回行ったのは行毎に100mの遅延でした。
これで問題無く一括で貼り付けができるようになりました。

stock_value at 18:46|この記事のURLComments(0)TrackBack(0)