サーバOS変更による運用、かなり苦戦(その2) ( No.1 ) |
|
- æ¥æï¼ 2011/09/19 07:48
- ååï¼ 管理者
- 【実機へ各サービスの設定】
インストール直後は当然の事ながらネームサービス(DNS)は設定されていない為、パッケージアップデートを 行うには、外部のネームサーバに頼るしかありません。 「resorv.conf」を修正(外部ネームサーバに変更)し、取り急ぎyum updateを実施。 必要なサービスを全てインストールした後、検証機(上記のVMware)で予め各設定ファイルをバックアップ しているので全て実機へリストア。
各サービスが正しく動作しているか確認を行う為、DNSから開始。 クライアント(Windows)からDOSプロンプトでnslookupを実行してネームサーバを実機に設定。 想定通り外部・内部とも正常に動作確認できた為、今後の設定はクライアントからリモート接続して設定を 行いました。 メール(postfix・dovecot)とDHCPサービスの動作検証を残して、全ての動作確認が取れたため再起動。
ここから、悪夢がまた始まります・・・・・
サーバのNICは2つあり完全稼動するまで同一セグメントです(eth0 192.168.1.5 / eth1 192.168.1.250) 完全動作確認後、「http://kajuhome.com/my_network.shtml」の様にeth1を 192.168.2.0/24 系に 変更する予定です。 クライアント(Windows)が正しくIPアドレスを取得できているか?(サーバのDHCPサービスの確認のため) 当然、問題なく取得できていました。
DHCPはeth1から配布しプライマリDNSは192.168.1.250、セカンダリDNSは外部ネームサーバにしています。
さて、クライアントからサーバの名前解決を実行!!! : : : きちんと名前解決し、IPアドレスが返って着ました・・・・・・・・・・・・・(グローバルアドレスが・・)
よく見るとクライアントからnslookupした時にタイムアウトしてるではありませんか・・・ DHCPするまでは問題なかったのに何故??? クライアントで ipconfig /all で詳細を見ても特に問題はなさそうです。
もう一度、nslookup んんん???
C:UsersDevelop>nslookup サーバー: 不明 Address: 192.168.1.250
サーバー不明???、前はサーバ名が出ていたような?????? もう一度、名前解決実施・・・解決せず。
問い合わせサーバを 192.168.1.250 から 192.168.1.5 へ変更 再度問い合わせ実施。正常応答!!!!
パニックです。何故、eth0で問い合わせると問題ないのにeth1では応答してくれないの??? bind 設定では当然全ての問い合わせを可能にしています。「allow-query { any; };」
DHCPよりプライマリDNSをeth0にしてクライアントを再起動したところ問題なし。 この状態で、nslookup問い合わせ先をeth1にすると返却されない(タイムアウト)
何か設定が必要なんでしょうかね・・・ とりあえずは、早く稼動しなければならないし致命的でない為このままにしてあります。
奮闘記はまだまだ続きますw
|
Re: サーバOS変更による運用、地道に解決しなくては・・ ( No.2 ) |
|
- æ¥æï¼ 2011/09/20 16:39
- ååï¼ 管理者
- > パニックです。何故、eth0で問い合わせると問題ないのにeth1では応答してくれないの???
> bind 設定では当然全ての問い合わせを可能にしています。「allow-query { any; };」 前回投稿した上記の部分は以下で解決しました。
「/etc/named.conf」 listen-on port 53 { any; };
以前(Fedora)の時は、上記をコメントアウトする事によって全てのインタフェースで応答してく れていたのですが、どのbindバージョンから変わったのか解りませんけど、明示的に記述する事 でlistenしてくれるようになりました。
さて、現段階の問題点は、相変わらず文字コードに悩まされています。 片っ端からシステムロケール(UTF-8)に合わせれば問題ないだろうと、jcodeのconvertを'utf8'に したのが仇となりました。
元々の文字コードがUTF-8の場合、さらにUTF-8にしようとすると、ある条件下で文字化けを起こす みたいです。 全角文字の前後に半角が入っていたり、記号などがあった場合などで文字化けします。 (必ず文字化けする訳ではないので、余計厄介なんですよね・・・)
そもそも、同じコードでコンバートする事が間違ってるんでしょうかね? と言う事で、文字化けを起こすページがありましたら、是非教えて頂ければとても助かります。
あ!後もう一つ、jcode.plをやめてJcode.pmに変えました。 コンバート時にjcode.plがwarningを出力するんですよね・・・調べる時間が無いから、Jcode.PMに 変更する事でワーニングも吐かずに変換を行ってくれます。
|
課題、まだまだ続く・・・ ( No.3 ) |
|
- æ¥æï¼ 2011/09/21 18:07
- ååï¼ 管理者
- 例えばフォームメールでHTMLタグの「charset」がUTF-8からの送信。
基本はメール自体が「jis」となる為、コンバートを行ってsendmailに投げます。
受信した内容は・・・一部文字化けします。 読めない事は無いけれど、性格が几帳面?なのかあまり良いものではありません。 (メール送信できているだけでも助かりますけどね。)
対象法は・・・・まだ見つかっていません。 メールヘッダに「Content-Type: text/plain; charset="UTF-8"」でも入れてしまおうか・・・ 現在模索中です。
-----
【掲示板のデータベース化によるスレッド表示】 やってしまいましたw 掲示板のレス表示は5件ずつ表示しています。 単純に時系列に表示や、最新レスからの表示はとても簡単です。 この掲示板は最新が1ページ目で降順、最終ページが最初にレスされた順の降順となっている為、ある意味では不規則です。 これを計算式にすると、1つの方式ではできない事が最終的に分かりレス数が複数あるのに1件しか表示できなかったりして 閲覧者にはご迷惑をお掛けしました。
普段は仕事柄、複数の条件を事前に定義して検証を行っているのですが個人ページであるが故、手抜きをした為に問題が 発生してしまいました。(仕事通り行っていればある程度問題は抑えられたんですけどね。) 今現在で判っている事は、DBエラー時によるロールバックが組み込まれていません。 最悪は、「スレッド(親)があるのに、内容(レスも含む)が登録されない場合がある」という爆弾を抱えています。 ある程度は改修は頭の中に入っているので、プライオリティを上げて修正します。
さて次は・・・・・色々とあるな~(泣)
|
初歩的ミスをやってしまった・・・ ( No.4 ) |
|
- æ¥æï¼ 2011/09/23 07:00
- ååï¼ 管理者
- 検証サーバでは以下のサービスを停止させています。
・postfix ・dovecot ・自作のグローバルIP変更時による外部DNS更新
検証サーバで掲示板の問題点を修正していました。 スレッド作成時や返信投稿時にはメールが飛びます。 色々なパターンで確認してある程度、改修が終わった頃にpostfixの設定を若干変更しようと 思い立ちました。(OS稼動時には送受信を優先させたい為、強化をわざと甘くしています)
ここまで書いたら、大体の事はピンと来ましたでしょうか?w
そうです、postfixの設定を修正しサービス開始をしたとたんに、メールキューに溜まっていた 数百近いメールが一気に配信!!! (いつもだったら、メールキューを削除してからサービス起動するのに・・・・・)
気づいた頃にはメールキューは空になり既に配送済みでした。 携帯のメール受信が10分近く鳴りっ放し。 携帯のキャリア(自分の)にSPAM扱いされなければいいが・・・ 幸いな事に被害を受けたのは自分の携帯メアドだけですけどね。
皆さんも外部発信するサービスにはくれぐれもご注意ください。
さて、掲示板の改修ですが大方完了してまいりました。 トランザクション処理も入れ、内部エラーが発生した場合はデバック用の外部ログに吐くように して後日確認と修正ができる様にしました。 今抱えているのは、ありもしないページ要求などの対処です。 閲覧者には何もない罫線だけの表示となってしまいます。本来は「指定されたXXはありません」 と表示させるべきでしょうね。
地道に頑張ってまいります。
|
Re: サーバOS変更による運用、かなり苦戦 ( No.5 ) |
|
- æ¥æï¼ 2011/09/26 18:34
- ååï¼ stranger
- 参照: http://ja.528p.com/
- お世話になっています
私のところもCentOS 5.6 から CentOS 6.0 に入れ替えました 6.1を出すまえに cr repo を予定しているようです ミラーサイトに空のcrディレクトリが作られています (20110926現在)
私のところはpentium3 x86マシンでXenを起動しています CentOS6はdomain0で動かないので、試行錯誤に1ヶ月を要しました 最終的には XCPのkernelをソースから入れています
これまでに気づいたこと
rpmの仕様が変わっているので CentOS5.6にCentOS6のyum関連パッケージがインストールできない → updateが簡単にできない 新規インストールが無難
CentOS5がインストールしてあるIDEにインストールする場合に パーティションのカスタム設定を選ぶとハングする場合がある 一度デフォルトでインストールしてフォーマットを変える
nouveauフレームバッファがデフォルトで有効になっている 文字が小さくなってしまって見にくい場合もある nouveauフレームバッファはinstall時も有効になっている 無効にするには kernelの起動オプションに nomodeset をつける
起動方法が改良された inittabでの細かな起動設定はできない? /étc/initディレクトリに設定がまとめられている
IDEのモデュールはサポートされない kernelのmenuconfigの例 < > ATA/ATAPI/MFM/RLL support ---> IDEディスクへのインストールでは sdaとして認識される IDE-CDROMもsdaとして認識される
/etc/fstab がUUID表記とlvm表記の混在になっている 複数のCentOSで/bootディレクトリを共有している場合は UUID表記だと起動できない場合がでてきます /dev/sda1 /boot のようにdev表記にしてしまう
modprobe.confがなくなって modprobe.dディレクトリに設定ファイルを置く 例 ipv6の無効化 /étc/modprobe.d/dev-off.conf install ipv6 /bin/true
crontabにjob(定時実行)の設定がない デフォルトでは cron.dにcron.dailyのリンクがはってある cronie-noanacronをインストールしてcronie-anacronを削除すれば 旧式に近くなるらしい
rsyslogが標準になった ログ出力はデフォルトで旧式に設定されている $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
rogrotateのバックアップはデフォルトで日付が添付される dateextパラメータが有効 数字添付にするには、個別の設定ファイルで nodateextパラメータを使う
パスワードのエンコードがSHA-512になっている($6$)
デフォルトのメールサーバがpostfixになった mysqlをバインドしているようでlib-mysqlと依存関係にある sendmailコマンドはsendmail.postfixへのリンクになっている
特権ユーザ UID<100 を追加する場合 最初にGIDの設定をする必要がある UIDのみ指定すると自動的にGIDは500番以降に設定されてしまう 例 ntpユーザの追加 # groupadd -g 38 ntp # useradd -u 38 -g 38 -d /dev/null -s /bin/false ntp
/usr/src/redhatは存在しない ~/rpmbuildに構築環境がつくられる src.rpmパッケージをインストールすると自動で作成される
デフォルトではi386パッケージは作られない -march=i686 -mtune=atomがデフォルトの作成オプションになっている
kernel*.rpmを追加する場合 kernel-firmware*.rpmを同時にインストールする必要がある オリジナルソースからkernelをインストールした場合は /lib/firmwareディレクトリが共有される
GUIでXenを使っている人には不幸であろう CentOS6はゲストドメイン(domainU)としてだけインストールできる
glibcにbugがありnosegnegが機能しない 6.1のsrc.rpmからリビルドして対処
CentOS 6.0 の bridge-utilsは機能を満たしていない
|