chevron_left

メインカテゴリーを選択しなおす

cancel
Yosh
フォロー
住所
未設定
出身
未設定
ブログ村参加

2021/06/10

arrow_drop_down
  • Linuxサーバのボトルネック調査方法

    はじめに Linuxを使っているシステムにおいて、性能問題が発生した時のボトルネック調査方法を記載します。サーバエンジニアとして性能問題を解決できるようになったら一人前だと思いますので、ぜひ内容理解して早期トラブル解決を実現していただけると幸いです。 ボトルネック調査フロー Load Averageの確認 まず確認すべきことは、サーバの負荷を表す指標であるLoad Averageになります。この値はCPUによる実行待ち状態にあるプロセスやタスクの数の平均値を示しています。値が0に近ければ負荷はかかっていませんが、1以上の値になっている場合はサーバリソースがボトルネックになっている可能性が高いです。Load Averageはtopとかuptimeコマンドで確認可能です。 もしLoad Averageが低いのに性能が出ないようでしたら、ソフトウェアやネットワークといったLinux以外の箇所にボトルネックがあると想定されます。 Load Averagaの数値が上がる要因は、CPUプロセスが下記の状態になった場合 ・他のプロセスがCPUを使っていて、処理が待たされている場合 ・ディスク入出力が終わるまで、処理が待たされている場合 ボトルネックの見極め sarやvmstatコマンド実行して、ボトルネックがCPU、メモリ、I/Oなのか特定していきます。□ボトルネックがCPUの場合 ユーザプログラムの処理あるいはシステムプログラムの処理どちらが問題になっているかを見極めます。psコマンドでプロセスごとのCPU使用率を確認し、問題が発生しているプロセスを特定します。さらに原因特定を進めるためには、traceコマンドにてトレースしていくことも有効となります。 CPUが高負荷になっている原因としては、想定以上のトランザクションが来ている、あるいはOS/ミドルウェアの機能が想定以上にCPUを使用していることが考えられます。前者の場合はサーバリソースを増強したり、トランザクションの流量制限をかける必要があります。後者の場合は、OS/ミドルウェアの状態を確認して異常な状態を取り除く必要があります。 □I/O負荷が高い場合 よくあるケースとしては、スワップによるディスクアクセスが発生するケースです。こちらもsarやvmstatから、極端にメモリを使用しているプロセスがないか確認しましょう。I/O負荷についてもpsコマンドでどのプロセスがメモ

  • vSAN構成におけるvmkernelポートの冗長性

    はじめに SDS(Software Defined Storage)が普及してきており、安定して運用できるようになってきていると感じております。私のプロジェクトでもVMware社が提供しているvSANを適用してシステムを運用してきております。ただ、vSAN特有のトラブル起因でサービス影響起きる事象が発生することもあるので、特徴をしっかり押さえておくことで早期トラブル解決ができる準備を整えておきましょう。 vSAN構成例 vSAN構成の一例を下図に記載します。vSAN通信用にvmk1(vmkernel1)を割り当てており、vmk1が物理NICであるvmnic2, vmnic3と紐づいた設計としております。本構成にすることで物理NICが故障した際でもサービス継続ができる構成となっています。 ESXiサーバ間をまたがるディスク書き込みの流れ vSANにおいて、仮想サーバからの書き込みはESXiサーバ間をまたがって処理されます。その際、vmk1と紐づいているvmnic2、vmnic3の片方がActive、もう片方がStandbyとなります。現時点ではActive-Activeの構成はVMware製品として採用できません。 vmnic故障時の挙動 vmnic故障が発生してリンクダウンを検知すると、StandbyのvmnicがActiveに昇格します。その後、arpパケットをL2SWに飛ばすことでL2SWが新しくActiveになったvmnicを認識し、書き込みパケットを飛ばすという流れになります。 ここで厄介なのが、standbyのvmnicがactiveに変わる時は、ESXiサーバーがリンクタウン検知した時になります。仮にリンクダウンしない故障が発生した場合は故障しているvmnicを使い続けてしまうので注意が必要です。通信ができない状態になれば、他のESXiサーバーが故障検知してサーバーを切り離し、上に乗っている仮想サーバーはVMHAすることでリカバリされますが、CRCエラーが頻発するような状態になった場合は他のESXiサーバから故障検知されず、ディスクへの書き込みが不安定な状態が続いてしまうので、手動で復旧、あるいはサーバを切り離す必要がありますのでご留意ください。

  • 「会社勤めのエンジニアが副業で本当の自由と自身を手に入れた話」を読んでみた

    著者 サラリーマンをしながらライターとして複業をされている蔵本貴文さんという方が書いた本です。 会社勤めのエンジニアが副業で本当の自由と自信を手に入れた話 蔵本 貴文 個人の成功論 Kindleストア AmazonAmazonで蔵本 貴文の会社勤めのエンジニアが副業で本当の自由と自信を手に入れた話。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。www.amazon.co.jp 重要ポイント サラリーマンのメリットを活用する サラリーマンは安定収入を確保することができるので、中長期的な視点で複業に取り組むことができます。特にライティングについては、サラリーマンであれば毎日のように文書作成して上司に指導を受けているわけですから、いやでもスキルアップしているはずですよね。そういった経験をうまく複業にも生かせると良いですね。 環境を整えれば自然に進む いくら強い意志をもって自分を変えようとしても、自分だけでなかなか変わるのは難しいですよね。そういった状況を脱却するためには、ちょっとだけ自分より進んでいる人たちと交流する機会を作ることが効果的です。雲の上にいると思っていた人も同じ人間なので、ちょっとした工夫で自分の殻を破れるかもしれないですね。 アンテナを立てると情報が集まってくる 明確に目標を立ててみましょう。そうすると自分の脳が勝手に目標に関連した情報を集めてきてくれます。

  • curlコマンド

    curlコマンドとは Linux環境で使えるコマンドラインツールです。サーバから様々なプロトコルでデータを送信することができます。簡易的に疎通確認を実施することができるので、例えば他システム連携の試験を実施する際に使ったりします。 使用できるプロトコル HTTP、HTTPS、FTP、SFTP、Telnet、SCPなどなど 特にHTTPS通信においては、TLSのバージョンを指定した疎通確認を実施することもできます。 TIPS HTTPS通信の疎通の場合、試験段階でSSL証明書の準備が間に合わないことがありました。この場合、curlコマンドをそのまま打つと証明書エラーで疎通ができないので、-kオプションをつけて証明書の確認をスキップするような形で疎通すると良いかと思います。もちろん証明書の準備を間に合わせるのが最優先ではありますが。

  • [2023]バケットリスト

    残りの人生でやりたいこと、バケットリストを記載してみました。言語化することで実現する可能性が高くなると思いますので、ぜひみなさんもやってみてはいかがでしょうか。 人間関係 ・毎日家族と会話する時間を作る ・週1日は家族と過ごす時間を作る ・年1回は家族と旅行をする ・子供が幸せな人生を送れるようにサポートをする ・子供にできる限りいろいろな経験をさせてあげる ・妻と喧嘩することなく仲良く過ごす ・妻と新婚旅行に行く ・4回/年は両親、祖母と会う時間を作る ・3世代旅行に行く ・老後の両親の世話をする ・気兼ねなく話せる友人を作る、関係を維持する 仕事 ・得意と言える専門分野を作る ・やっていて楽しい仕事を見つける、選べるようになる ・プロジェクトに貢献できていると感じられる程度に働く ・人前で説明することが好きになる ・自分の意見を明確に述べられるようになる ・本業とシナジーを発揮できる副業を行う ・本業を失ったとしても生きていけるスキルを身に着ける ・定年退職後に楽しんでできる仕事を現役の時から始める ・自分が学んできたことを他者に教えられる人材になる ・常に新しいことにアンテナを張って、チャンスがあれば飛び込む ・何歳になってもチャレンジする精神を忘れずにチャレンジする ・社内外のセミナーやワークショップに参加し、自身の視野を広げる ・20:00には退社する ・グローバルな仕事をする ・英語で世界に発信する仕事を行う ・サービスをリリースする 学習 ・平日1日2時間、休日1日3時間を自己研鑽に使う ・仕事に関連した記事を2回/週ブログにアウトプットする ・本を読み、1回/月ブログにアウトプットする 精神・感情 ・安定した精神状態を保つ ・家族や他人に対して、優しい気持ちで接する ・人と比較するのではなく、自分の成長を楽しむ 健康 ・朝5時に起床する ・夜22時に就寝する ・朝ウォーキングをする ・1日に10000歩あるく ・標準体重(70kg)を維持する ・自宅筋トレを毎日継続する 経済 ・お金のことを心配しないで済む程度稼ぐ ・希望すれば子供2人を大学まで出す 趣味 ・お気に入りのカフェで一日のスタートをする ・週1でスポーツを楽しむ ・趣味は読書と言えるくらい本を読み込む ・月1回はサウナに行って充電する ・映画、ドラマ、アニメ等を見る時間を確保する ・音楽を楽しむ(ピアノ、鑑賞) […]

  • SPFILEとは

    Oracleインスタンスを起動する際に、SPFILEという初期化パラメータが読み込まれます。初期化パラエータはOracleの動作特性を決定する重要なパラメータとなります。各種メモリ領域のサイズや、各種機能のON/OFFなどを設定することができます。

  • スティッキービット

    スティッキービットとは、Linux(Unix)のディレクトリに設定する特殊な権限で、ディレクトリのOwnterまたはrootユーザのみディレクトリやファイルを削除できるような設定となる。誤ってディレクトリやファイルを削除されてしまうことを防ぐための設定であり、私が担当してるシステムにおいても所々設定されています。

  • DRSとは

    Direct Server Returnの略となります。DSR構成の場合、クライアントから受け取ったパケットのIPアドレスの情報をそのままサーバにルーティングする方式。この場合、応答パケットについてもIPアドレス変換が不要となるため、NAT構成に比べて性能が出る方式となる。

  • VRRPとは

    Virtual Router Redundancy Protocolの略です。その名の通り、ルータやロードバランサ等のNW機器を冗長化するために使用するプロトコルとなります。通常時はActive機器からStandby機器に対してVRRPパケットを送付して監視しています。Active機器が故障した場合は、Standby機器でVRRPパケットを受信できなくなることをトリガーにして、Standby機器がActive機器に昇格するといった動きをすることで冗長性を保つ方式が一般的です。 VRRPでは、仮想IPアドレスに加えて仮想MACアドレスが定義されています。ルータをStandbyからActiveに昇格させる際には、仮想MACアドレスについても一緒に引き継ぐ動きとなります。

  • トラブル報告書の記載方法

    □はじめに ITエンジニアをやるうえでトラブルは避けられないものです。トラブルの状況によっては顧客やPMに対してトラブル報告を実施することが多くあると思います。そういった方たちに向けて、少しでもトラブル報告がスムーズに進むようにトラブル報告に関するノウハウを記載します。 □トラブル報告書の記載内容 1. 表題 ・「XXXXの件についてのご報告」といった形で記載する。 ・クライアントから見える事象を記載するようにする。 NG:Webサーバにて404エラーが発生した件についてのご報告 OK:Webサーバのコンテンツがユーザから参照できなくなった件についてのご報告 2.はじめに ・5W1Hの要素を含めてトラブルの概要を分かりやすく記載する ・エンドユーザ影響やクライアントに迷惑が掛かっている場合は、謝罪の文言を記載する。 3. 事象 ・客観的な事実(発生日時、エラーメッセージ、エラー件数)を記載する ・システム構成図や処理フロー図を使って図示を行い、問題が発生している箇所を視覚化するとベター 4. 原因 ・誤りが作りこまれた原因を論理的に記載する。原因が複雑になる場合は、一次原因・二次原因・三次原因といった形で順を追って説明を記載する。 ・端的に説明する。もし説明が長くなるようであれば最初に結論を記載し、そのあとに詳細な説明を記載するとよい。 ・事象の説明と同様にシステム構成図や処理フロー図を使って図示を行い、原因を視覚化するとベター 5. 影響 ・発生したサービス影響をエラー件数、エラー発生期間等等の具体的な情報を含めて記載する。不明点がある場合はクライアントに確認したうえで記載すると良い。 ・直接サービス影響がないとしても、運用を含めてシステムに対して影響がある場合はシステム影響を記載する。 6. 対処 ・暫定対処と本格対処が異なるようであれば分けて記載する。 ・対処の具体的な日程および修正対象を記載する ・一時的に運用対処が必要となる場合はその旨も記載する。 7. 水平展開 ・最低限、一次原因に対する水平展開を実施し、具体的な内容を記載する。 ・水平展開の方法および範囲についてはバランス感覚が求められるため、上位層と相談したうえで決めることを推奨する。 8. 未発見理由 ・誤りを事前に発見できなかった理由を下記の2点に分けて記載する。 – レビューにて検知できなかった理由 – 試験にて検知できなかった理由 9.

  • Technical Word List of Storage

    SAN Abbreviation for Storage Area Network. SAN is a network that connects storage devices, tape libraries, and servers. It is a different from LAN, and while LAN uses TCP/IP, SAN uses another protocol called Fiber Channel protocol. An obvious advantage of SAN implementation is the reduction of management and operation costs through storage integration. HBA […]

  • ネットワーク関連用語整理

    ARP Address Resolution Protocolの略になります。LANの世界では、機器同士が通信する際にはIPアドレスではなくMACアドレスの情報が必要となります。このMACアドレスの情報をIPアドレスの情報から取得するためのプロトコルとなります。 GARP gratuitous ARPの略となります。通信対象の機器に対してMACアドレスを問い合わせるARPに対して、GARPでは自身のIPアドレスとMACアドレスの紐づけをほかの機器に通知するプロトコルとなります。サーバにて障害が発生した際、GARPの情報をほかの機器に送付して、アクセスするサーバを切り替えるときに利用されることがあります。

arrow_drop_down

ブログリーダー」を活用して、Yoshさんをフォローしませんか?

ハンドル名
Yoshさん
ブログタイトル
Tech Blog by IT Infrastructure Engineer
フォロー
Tech Blog by IT Infrastructure Engineer

にほんブログ村 カテゴリー一覧

商用