# yum install sos
はじめに
-
本ドキュメントの目的
-
要件定義/システム設計・構築をする際のナレッジの中でも、利用者に役立つ情報について、ニフクラ利用時の利用者作業範囲の観点から説明します。
※利用者がニフクラ上でシステム設計/構築する際のポイントです。サービスを提供する基盤や提供事業者が作業する内容は含みません。
-
sosreport実行方法
ニフクラのサブスクリプション付Red Hat Enterprise Linuxを利用中のお客様は、OS上の不具合などについて、ニフクラサポート窓口よりRed Hat社へ問い合わせが可能です。
なお、問題解決のため、Red Hat社からsosreportの実行結果の提出を依頼される場合があります。
sosreportの概要および実行方法は、以下を確認してください。
sosreportの概要
sosreportはシステム情報を採取するスクリプトです。
どのカーネルで起動しているのか、どのようなドライバがロードされているのか、一般的なサービスの設定ファイルなどの情報が採取されます。
また、既知の問題パターンについて、いくつかの簡単な診断を行います。
- sosreportの実行の注意点
-
-
情報取得時は一時期CPUの使用率が高くなります。
-
sosreportはroot権限で実行する必要があります。
-
- 参考URL
sosreportのインストール
sosreportは、sosパッケージに収録されています。
該当パッケージはデフォルトでインストールされますが、インストールされていなかった場合は、以下の手順でインストールしてください。
sosreportの実行
コマンドの実行には、root権限が必要です。
出力されたリターンに対し、「任意の文字列」「任意の数字」を入力してください。
# sosreport -a
Please enter your first initial and last name [example]:<任意の文字列>
Please enter the case number that you are generating this report for:<任意の数字>
-
sosreportが終了すると、/tmp配下に以下の形式でbz2ファイルが作成されます。作成されたファイルは、問い合わせメールに添付し提出してください。
-
sosreport-<任意の文字列>.<任意の数字>-XXXXX-XXXXX.tar.bz2
-
稼働不可状態となる操作
Linux系 OS上で /dev/port を対象に読み取りを行うと、サーバーが稼働不可状態となり、当社で検知・復旧するまでお客様で操作はできません。
詳細は、以下を確認してください。
Red Hat系Linux 7以降、Ubuntu 16.04以降のOSでは、起動時スクリプトでSSHの起動および再起動をするとサーバーが起動しなくなります。
また、サーバー作成の際、起動時スクリプトで実施するとサーバーが自動的に削除されます。
「systemctl restart sshd」等のコマンドは指定しないでください。
fsckの定期実行を制御する設定
増設ディスクの設定を実施した場合は、fsckにより定期的にファイルシステムの整合性がチェックされます。
定期実行の設定は、お客様にて変更できますが、お客様責任で対応してください。
定期的に実行されるfsckの間隔を調整する場合
下記手順を参考に実行してください。
マウント回数によるfsckの定期実行
-
現在の設定確認
# tune2fs -l <ファイルシステム> | grep -i mount Maximum mount count: 39 ※対象ファイルシステムを39回マウントしたらfsckが実行される。
-
設定変更
# tune2fs -c 50 <ファイルシステム> ※-cオプションでマウント回数の閾値を変更する。
-
確認
# tune2fs -l <ファイルシステム> | grep -i mount Maximum mount count: 50
期間によるfsckの定期実行
-
現在の設定確認
# tune2fs -l /dev/sdb1 | grep -i interval Check interval: 15552000 (6 months) ※対象ファイルシステムの最後にfsckされた日より6か月を経過するとfsckが実行される。
-
設定変更
# tune2fs -i 8m <ファイルシステム> ※-iオプションで期間の閾値を変更する
-
確認
# tune2fs -l /dev/sdb1 | grep -i interval Check interval: 20736000 (8 months)
定期的に実行されるfsckを無効化する場合
/etc/fstabに記載されている増設ディスクの第6フィールドの数値を「0」へ変更します。
下記手順を参考に設定してください。
(例)
【変更前】
/dev/sdb1 /add_disk1 ext3 defaults 1 2
【変更後】
/dev/sdb1 /add_disk1 ext3 defaults 1 0
注意事項
-
定期的に実行されるfsckの設定変更により、fsckの間隔の調整、無効化はできますが、何らかの原因によりディスクの不整合が発生した際は、fsckが実行されます。
ディスクの不整合が発生した場合でも、fsckが実行されない設定は、お客様にて調査してください。 -
fsckを定期的に実行しないと、稀にデータ不整合が発生する可能性があります。
futexを使用するアプリケーションが応答不能になる事象の回避方法
Red Hat系Linux バージョン6.6/7.0/7.1において、futexを使用するアプリケーションが応答不能になります。
具体的には、対象のLinuxサーバー上で動作するMySQLやnamed等のアプリケーションが、突然応答不能になった事象を確認しています。
※本事象は、ニフクラが提供しているイメージから作成したOS、VMインポート等によって持ち込まれたOSの両方で発生しています。
原因および対処方法
- 考えられる原因
-
Linuxのカーネルにおける、ユーザー空間のロック制御を行うfutex_waitシステムコールのバグが原因です。
-
アプリケーションがfutex_waitシステムコールをコールした際に、稀にスレッドがデッドロック状態となります。
その結果、新規イベントを受け付けなくなり、本事象が発生します。 -
詳細は、RHEL 6.6、7.0、または 7.1 にアップグレードすると、futex を使用しているアプリケーションが futex_wait() で停止するを確認してください。
-
- 対処方法
-
-
OSのカーネルアップデートで、本事象を回避できます。
下記のバグに該当するかの判別方法とカーネルアップデート手順を確認してください。 -
対応後は、バグに該当するかの判別方法を再度実行し、バグに該当しないことを確認してください。
-
バグに該当するかの判別方法
下記2つの手順にて、OSのカーネルがバグに該当するか判別できます。
方法① バージョンの確認
-
OSにログインし、uname -r コマンドを実行してください。
- RHEL 6.x、CentOS 6.xの場合
-
-
結果が「2.6.32-504.16.2.el6.x86_64」未満の場合は、バグに該当します。
-
バグに該当する例
[root@localhost ~]# uname -r 2.6.32-504.el6.x86_64
-
バグに該当しない例
[root@localhost ~]# uname -r 2.6.32-504.16.2.el6.x86_64
-
-
- RHEL 7.x、CentOS 7.xの場合
-
-
結果が「3.10.0-229.7.2.el7」未満の場合は、バグに該当します。
-
バグに該当する例
[root@localhost ~]# uname -r 3.10.0-229.el7.x86_64
-
バグに該当しない例
[root@localhost ~]# uname -r 3.10.0-229.7.2.el7.x86_64
-
-
方法② コマンドでの確認
-
下記コマンド実行時に何も表示されない場合は、バグに該当します。
-
バグに該当する例
[root@localhost ~]# sudo rpm -q --changelog kernel-`uname -r` | grep futex | grep ref [root@localhost ~]#
-
バグに該当しない例(6.x)
[root@localhost ~]# rpm -q --changelog kernel-`uname -r` | grep futex | grep ref - [kernel] futex: Mention key referencing differences between shared and private futexes (Larry Woodman) [1192107 1167405] - [kernel] futex: Ensure get_futex_key_refs() always implies a barrier (Larry Woodman) [1192107 1167405] - [kernel] futex: Fix errors in nested key ref-counting (Denys Vlasenko) [1094458] {CVE-2014-0205} - [kernel] futex_lock_pi() key refcnt fix (Danny Feng) [566347] {CVE-2010-0623}
-
バグに該当しない例(7.x)
[root@localhost ~]# rpm -q --changelog kernel-`uname -r` | grep futex | grep ref - [kernel] futex: Mention key referencing differences between shared and private futexes (Larry Woodman) [1219169 1205862] - [kernel] futex: Ensure get_futex_key_refs() always implies a barrier (Larry Woodman) [1219169 1205862]
-
カーネルアップデート手順
OSのカーネルがバグに該当する場合、カーネルをアップデートしてください。
カーネルアップデートの手順には、次の2通りがあります。お客様の環境に合わせた手順を実施してください。
※カーネルアップデート作業前には、必ずカーネルアップデート時の注意事項を確認してください。
-
-
最新バージョンのカーネルにアップデートします。
-
OSの再起動が必須です。
-
-
-
カーネルのバージョンを指定したい場合や「手順① yum updateの実行」が実行できない場合は、本手順を実施してください。
-
下記カーネルへのアップデート後、パフォーマンスが低下する可能性があります。パフォーマンス影響を事前検証するなど、慎重に判断してください。
-
6.x:「kernel-2.6.32-696.18.7.el6.x86_64」以上
-
7.x:「3.10.0-693.21.1.el7.x86_64」以上
-
-
OSの再起動が必須です。
-
手順① yum updateの実行
-
kernel update無効化設定のコメントアウト
-
ニフクラから作成したRHELやCentOSは、カーネルアップデートが無効化されています。
/etc/yum.conf内で無効化設定の記述をコメントアウトしてください。詳細はクラウド技術仕様/制限値(コンピューティング:OSイメージ:Linux)を確認してください。
-
-
yum updateの実施
[root@localhost ~]# yum update
-
OSの再起動
-
yum updateができない場合や特定のバージョンのカーネルにアップデートしたい場合は、「手順② カーネルのrpmファイルの直接インストール」を確認してください。
-
手順② カーネルのrpmファイルの直接インストール
-
必要なrpmファイルをダウンロード
-
アップデートしたいバージョンのrpmファイルと依存関係で必要なrpmファイルをダウンロードします。
-
例:6.xのOSにおいて「2.6.32-504.16.2.el6.x86_64」へアップデートする際に必要なファイル
-
RHELの場合
-
Red Hat社のサイトにログイン後、下記ファイルをダウンロードし、アップデート対象のOSに配備してください。
-
kernel-2.6.32-504.16.2.el6.x86_64.rpm
-
kernel-firmware-2.6.32-504.16.2.el6.noarch.rpm
-
※依存関係のため、kernel-firmwareも必要です。
-
※外部サイトのため、リンク切れの可能性があります。
-
※サイトへログインするためにRed Hat accountの作成が必要です。
-
※RHEL(サブスクリプション付き)を利用中でダウンロード権限がないお客様はニフクラサポート窓口に問い合わせてください。
-
-
-
CentOSの場合
-
IIJのサイトから、下記ファイルをダウンロードし、アップデート対象のOSに配備してください。
-
kernel-2.6.32-504.16.2.el6.centos.plus.x86_64.rpm
-
kernel-firmware-2.6.32-504.16.2.el6.centos.plus.noarch.rpm
-
※依存関係のため、kernel-firmwareも必要です。
-
※外部サイトのため、リンク切れの可能性があります。
-
-
-
-
-
記載内容は、あくまで一例です。お客様の環境に合わせて、適切なダウンロード先とファイルを選択してください。
-
-
rpmをインストール
-
rpmをインストールします。
-
例では、ダウンロードしたファイルを/tmpに保存しています。
-
例
[root@localhost ~]# rpm -ivh /tmp/*.rpm 準備中... ########################################### [100%] 1:kernel-firmware ########################################### [100%] 2:kernel ########################################### [100%]
-
-
-
-
OSの再起動
-
(6.x系の場合)vmware-toolsの起動
-
OSの再起動後、コントロールパネルの表示または下記コマンドで、vmware-toolsが停止中の場合は、vmware-toolsを再起動してください。
-
例
[root@localhost ~]# status vmware-tools vmware-tools stop/waiting
-
1. vmware-toolsを再起動
-
vmware-tools再起動コマンドを実行してください。
[root@localhost ~]# /usr/bin/vmware-config-tools.pl
-
コマンド実行後、入力が求められた際は、下記2つの項目のみ「no」を入力し、その他の問いは全てEnterを入力してください。
The path "" is not valid path to the gcc binary. Would you like to change it? [yes]
The path "" is not a valid path to the 2.6.32-504.16.2.el6.centos.plus.x86_64kernel headers. Would you like to change it? [yes]
-
-
2. vmware-toolsの起動確認
-
再度status確認のコマンドを実行し、vmware-toolsが起動中であることを確認してください。
例[root@localhost ~]# status vmware-tools vmware-tools start/running
-
-
-
-
Device type not supportedエラーがログに出力される事象の回避方法
利用環境がLinux系OSの32bitで、以下のファイルに該当するメッセージが出力される事象を確認しています。
-
ファイル名:/var/log/messages
-
メッセージ:TPVMLPD: Device type not supported
ニフクラの使用上、問題ありません。
ログの出力が気になる方のみ、以下の対処方法を実施してください。
- 対処方法
-
-
VMware Toolsより起動されるTPVMLPDサービスを起動しないように設定します。
※以下は実行例ですので、お客様の利用バージョンにあわせて、実行ください。-
VMware Tools起動スクリプトのバックアップします。
# cp /etc/init.d/vmware-tools /etc/init.d/vmware-tools.backup
-
VMware Tools起動スクリプトを編集し、ThinPrintサービスの起動をコメントアウトします。
# vi /etc/init.d/vmware-tools #/usr/bin/tpvmlpd ← コメントアウトします
-
VMware Toolsを再起動します。
# /etc/init.d/vmware-tools restart
-
-
Windows Updateによる自動再起動が発生する時間の設定方法
Windows Updateによる自動再起動が発生する時間を変更するには、以下手順を実施してください。
設定手順
-
[スタートボタン]から[設定]を選択し、[更新とセキュリティ]、次に[Windows Update]をクリックします。
-
表示された画面の左側にある[アクティブ時間の変更]をクリックし、自動再起動を避けたい時間帯を設定します。
Windowsの起動時やパッチ適用時にOSがクラッシュする場合の対処方法
Windowsの起動時やパッチ適用時にOSがクラッシュする場合は、下記の原因を確認し対処を実施してください。
原因および対処方法
- 考えられる原因
-
ニフクラ上で稼働するWindowsのサーバーには、VMware Toolsがインストールされています。
VMware Toolsの特定のバージョンにおいて、VMware Toolsに付属するWDDMドライバがロードされるタイミングで競合が発生し、OSがクラッシュする場合があります。- 事象発生条件
-
対象OS
Windowsサーバー全般
発生タイミング
Windowsの起動時やパッチ適用時
VMware Tools 対象バージョン
VMware Tools 11.0.5 ~ 11.2.1
- 対処方法
-
VMware Tools 11.2.5 以降へバージョンアップしてください。詳細はクラウドユーザーガイド(コンピューティング:VMware Tools/open-vm-toolsインストール・アップグレード)を確認してください。
-
VMware Tools 11.2.5 Release Notesに解決した問題として、記載があります。
※外部サイトのため、リンク切れの可能性があります。
-
WindowsサーバーでOSライセンスを保持したままsysprepを実行する方法
sysprepの実行自体は問題ありません。sysprepを実行する場合は、下記手順を実施してください。
-
Microsoft社の汎用的な手順となるため、お客様責任で実行してください。
-
条件により、下記手順でsysprepを実行しても、ライセンスを保持できない場合もあります。
-
事前に、ワンデイスナップショット等によるバックアップを取得します。問題発生時には、バックアップから復旧後、sysprepを再試行する等、注意して実施してください。
手順
-
sysprep用の自動応答ファイルを用意し、OS内の適当な場所に配置します。
-
unattend.xmlの冒頭にて、xml宣言とencoding宣言を付与した下記サンプルを参考に、<settings pass="generalize">ブロックをunattend.xml内に記載してください。
この記載により、ライセンス認証を保持したまま、sysprepを実行できます。
ファイル内のパラメーターは、お客様の要件に合わせて変更してください。-
サンプル
<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="generalize"> <component name="Microsoft-Windows-Security-SPP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SkipRearm>1</SkipRearm> </component> </settings> </unattend>
-
-
-
コマンドプロンプトを起動し、sysprepコマンドを実行します。
-
コマンド例
"C:\Windows\System32\Sysprep\sysprep.exe" /generalize /oobe /unattend:"C:\unattend.xml"
-
/unattend:"応答ファイルのパス"の指定により、1.で用意した自動応答ファイルを利用してsysprepを実行できます。
Cドライブ直下に自動応答ファイルを配置した場合は、上記のように、「C:\unattend.xml」を指定します。
オプションは、お客様の要件に合わせて変更してください。
-
-
コントロールパネル上で正常に認識されるまで待ちます。
-
sysprepを実行すると、システムが再構成されるため、起動までに時間がかかります。
-
WWWサーバーやFTPサーバーなどの構築方法
OS以上の設定となるため、お客様責任において、WWWサーバーやFTPサーバーなどを構築してください。
参考情報
-
インストール済みのパッケージは、クラウド技術仕様/制限値(コンピューティング)_適用OSの情報のインストール済みモジュール一覧を確認してください。
-
必要なパッケージがインストール済みであれば、設定変更するだけで利用できます。
フィードバック
サービス利用中のトラブルは、ニフクラサポート窓口にお願いします。
お役に立ちましたか?