BAT Linux運維経典面接問題(二)

7453 ワード

1、/var/log/messagesログにkernel:nf_が表示されます.conntrack:tablefull,dropping packet、何が原因で、どのように解決しますか?このエラーはiptablesエラーメッセージで、接続追跡テーブルがいっぱいになって、パケットをなくし始めた.頻繁な接続、オフ、またはネットワークのTCPの接続による解決方法である可能性がある.1、追跡テーブルのサイズを大きくする2、追跡する必要のない接続状態を無効にする3、モジュールipを無効にするvs nf_conntect
2、linuxシステムnginxとPhpの環境、PHP-FPMのプロセスが高いことを発見して、可能な原因とどのように1:phpのプラグインプログラムが既存のPHPバージョンと互換性がないことを解決するかを言って、解決方法はphpから.iniでは関連プラグインの禁止2:ソフトウェア自体に問題があり、協同運営とメンテナンスを開発して一緒に処理する必要がある.原因を探す3:phpプログラムに死循環現象があり、サーバーの負荷が高すぎる.解決方法はtopコマンドで表示する
3、ディスクエラー:nospace left on deviceですが、df-h表示スペースがいっぱいではありません.なぜですか.原因:システムinodeはいっぱいです.すべてのファイルのファイル名情報はinodeに保存されているので、ファイル内容はblockに保存されています.df-iを使ってinodeの使用状況を見ることができます.
[root@mysql-1 download]# df -i
Filesystem     Inodes  IUsed   IFree IUse% Mounted on
/dev/sda2     1234576 138303 1096273   12% /
tmpfs           60785      1   60784   1% /dev/shm
/dev/sda1       51200     38   51162   1% /boot

4、ディスク容量がいっぱいで、nginxログの一部を削除した後、しかしディスク容量はまだいっぱいで、どうしてですか?削除されたログ情報は、一部がプロセスによって呼び出される可能性があるため、nginxサービスを再起動してプロセスを解放する必要があります.または実生産環境で使用する>/log/access.logファイルを空にする
5、apacheプロセス数perforkモードの表示
ps -ef|grep http|grep -v grep|wc -l

ワークモード
pstree -a|grep httpd|wc -l

6、ファイルを抽出する.logのFAILDとSUCCESSFULの文字はDONEの行を含まないが、次のようにして3番目の列を抽出する.
[root@mysql-1]# cat test.log
FAILD:SUCCESSFUL:DONE:CRITICAL
FAILD:SUCCESSFUL:NO:GOOD
FAILD:NO:DO:QINGYUN
SUCCESSFUL:DONE:CRITICAL::CRITICAL

方法1:
[root@mysql-1]# egrep "FAILD|SUCCESSFUL"test.log |grep -v DONE|awk -F ':' '{print $3}'
NO
DO

方法2:
[root@mysql-1]# egrep "FAILD|SUCCESSFUL"test.log |grep -v DONE|cut -d: -f3
NO
DO

7、会社の機械室のサーバーは254台近くになりました.ネットセグメントをどのように区分し、業務のスムーズな移行を実現するかを設計してください.第1の方案:長男のネットマスクの方法を変えて、IPアドレスの使用範囲を増大して、全ネットは/etc/hostsファイルを配布します第2の方案:核心のスイッチを増加して、核心のスイッチでVLANを区分して、新しいサーバーを新しいVLANの中に参加して、全ネットは/etc/hostsファイルを配布します
8、Nginx逆エージェントはどのようにエージェントRSノード上の異なる仮想ホストを実現するか、原理と構成方法または構想を話してください.クライアントはリバースエージェントに要求を送信し、リバースエージェントは一定の規則に従ってターゲットサーバに転送し、返された内容をクライアントに返す.以下の2種類に分けられる:内部の異なるサーバ転送を構成する:
upstream app1 {
   server 192.168.1.10:80 weight=5;
   server 192.168.1.11:80 weight=5;
}
upstream app2 {
    server 192.168.1.20:80 weight=5;
    server 192.168.1.21:80 weight=5;
          }

サーバの構成
server{
    listern 80;
    server_name app.abc.com
}

一致転送ルールの構成
location /app1/ {
     proxy_pass http://example.com/app1;
    proxy_set_header Host $host;
     }
location/app2/ {
     proxy_passhttp://example.com/app2;
    proxy_set_header Host $host;
     }

ロード・バランシングのためのロード・バランシング・サーバ・プール、すなわちスケジューリング・ルールの構成
 upstream test_servers {
        server 192.168.1.2:80 weight=5;
        server 192.168.1.4:80 weight=5;
        server 192.168.1.6:82 weight=15;
       }

次にserverラベルを構成し、
 server {
         listen 80;
         server_name www.abc.com;
         proxy_pass http://test_servers;
         proxy_set_header Host $host
         }

構成が完了したら、nginxサービスを再ロードします.
9、netstat-anコマンド結果の最後の列statusに対応する異なるネットワーク接続状態の意味を述べる
 [root@ ~]# netstat -an
Active Internet connections (servers andestablished)
Proto Recv-Q Send-Q Local Address               Foreign Address         State     
tcp       0      0 0.0.0.0:22                  0.0.0.0:*             LISTEN     
tcp       0      0 139.24.65.45:54296       10.11.68.13:80           ESTABLISHED
tcp       0     52 39.24.65.145:22          36.32.8.85:546           ESTABLISHED
tcp       0      0 139.24.165.45:586       10.11.8.13:80             CLOSE_WAIT

Listenサービスが開始された後、まず状態(リスニング状態)establishedが接続を確立し、接続を確立した両端がclose_を正常に通信できることを示す.wait相手がアクティブに接続を閉じたり、ネットワークが異常になったりして中断するため、ステータスはtime_になります.waitは自発的に接続を切断して、相手の確認を受け取った後の状態、資源を解放することに相当して、いくつかの状態のパラメータを設定することができて、つまり自発的に切断した後で、次の再接続の時間間隔syn_sentが接続を要求した状態で、他の機器にアクセスする必要がある場合に最初に発する同期信号
10、binlogって何?binlogは何を記録していますか?いくつかのモードと優劣があって、企業の中でどのモードを選んで同期しますか?bInlog:データが更新されたすべての操作文を記録するために使用され、文はイベント形式で保存され、データの変更プロセスの役割を説明します:リアルタイムでデータをバックアップするために使用され、データベースの主従はlog_をコピーします.bin binlog機能binlogの表示を開く
mysqlbinlog /home/mysql/binlog/binlog.000003

binlogの削除:自動削除と手動削除に分けられるbinlogパラメータexpire_logs_daysが実現する
show binary logs;
show variables like "expire_logs_days;"
set gloable expire_logs_days=3;

手動削除reset master削除主のbinlog reset slave削除元の中継ログ3パターン:Row levelパターン:ログは各行のデータが修正された形式を記録し、それから端から同じデータを修正する利点:SQL文の下の関連情報を実行しないで、どのデータが修正されたかだけを記録することができます.どのような欠点に変更されましたか:すべての実行文はログファイルに記録され、各行の記録の変更で記録され、大量のログコンテンツstatementモードが発生します.各変更データのSQLはmasterのbin-logに記録されます.slaveはコピーする時SQLプロセスはもとのmaster側が実行したのと同じSQLに解析して長所を実行する:rowレベルモードの欠点を解決して、各行のデータの変化を記録する必要がなくて、ログ量を減らして、高性能の欠点を得ることができます:記録するのは実行文なので、このモードでは、マスターがコピーできない問題が発生しますmixed自動モード:MYSQLは実行する各具体的なSQL文に基づいて記録に対するログフォーマットを区別します.企業はシーン:1、mysqlの特殊な機能が使用されない場合は、基本的にデフォルトのモードstatementモード2、mysqlの特殊な機能が使用される場合は、基本的にrowレベルモードを使用します
11 httpプロトコルの原理httpプロトコルを詳しく説明してください:クライアントとサービス側の間の通信伝送データの基礎で、HTTPプロトコルはTCP/IPプロトコルの上のプロトコルの原理に基づいて4つの過程を含みます:接続:ブラウザとサーバーは接続を創立して、1つのsocketの仮想ファイルを開けて、接続確立成功要求を示す:ブラウザはsocketを通じてサーバーに要求を提出する(一般的にGETあるいはPOST指示命令)応答:ブラウザ要求を提出した後に、HTTPプロトコルを通じてサーバーに伝達し、サーバーが受け取った後に処理を行って結果をまたHTTPを通じてクライアント側に回送し、それによってクライアントに要求したページを表示して接続を閉じる:応答が終わった後に、ブラウザとサーバの接続が切断されます
12、MySQLマスターコピーの原理を詳しく説明してください.原理:メインライブラリはbinlog機能を開き、ライブラリからメインライブラリに接続する同期のユーザー権限を授権し、データベースの修正または変化をbin-logログを生成し、ライブラリからchange msterの文を通じてメインライブラリの関連情報を得、ライブラリからslaveを開き、メインカナダに接続して関連検証を行い、検証が通過した後、メインライブラリのIOスレッドはライブラリからの要求に基づいて関連位置点情報を最新のblnlog情報とスレーブライブラリのIOスレッドに送信し、スレーブライブラリのIOスレッドからSQL文の情報をrelay-logに入れ、最後にスレーブライブラリのSQLスレッドからrelay-logのSQL文をスレーブライブラリに適用し、マスターライブラリとスレーブライブラリ間のデータ同期を実現し、上記の動作を繰り返します. 
13、sshd、crond、network、rsyslogのいくつかのサービスを除いたサービスを1つのコマンドですべて閉じる方法1:
[root@centos6~]# for name in `chkconfig --list|grep 3:on|awk '{print $1}'|grep -Ev "sshd|crond|rsyslog|network"`;dochkconfig $name off;done
[root@centos6~]# chkconfig --list|grep 3:on
crond       0:off  1:off   2:on    3:on   4:on    5:on    6:off
network     0:off  1:off   2:on    3:on   4:on    5:on    6:off
rsyslog     0:off  1:off   2:on    3:on   4:on    5:on    6:off
sshd    0:off  1:off   2:on    3:on   4:on    5:on    6:off

方法2:
[root@centos6 ~]# chkconfig--list|grep 3:on|awk '{print $1}'|grep -Ev"sshd|crond|rsyslog|network"|sed -r "s#(.*)#chkconfig \1off#g"|bash
[root@centos6~]# chkconfig --list|grep 3:on
crond       0:off  1:off   2:on    3:on   4:on    5:on    6:off
network     0:off  1:off   2:on    3:on   4:on    5:on    6:off
rsyslog     0:off  1:off   2:on    3:on   4:on    5:on    6:off
sshd        0:off  1:off   2:on    3:on   4:on    5:on    6:off

14、システム/etc/inittabの各起動レベルの意味を説明する
[root@centos6~]# tail /etc/inittab
#Default runlevel. The runlevels used are:
#   0 - halt (Do NOT set initdefault to this)   
#   1 - Single user mode             
#   2 - Multiuser, without NFS (The same as 3,if you do not have networking)             ,  NFS
#   3 - Full multiuser mode         
#   4 - unused
#   5 - X11                                
#   6 - reboot (Do NOT set initdefault to this)   
#
id:3:initdefault:     

ここをクリックしてBAT Linux運維経典面接問題を見ます(一)