2020年10月31日土曜日

ESXi単体で重複するデータストアに「新しい署名の割り当て」を行いマウントさせる方法

近年のストレージは、スナップショット機能が標準で搭載されており、バックアップを瞬時に取得することができ、さらに取得したスナップショットからボリュームをコピーすることもできる。

この機能を使うことで、ESXiにストレージのスナップショットからコピーしたボリュームを別のデータストアとしてマウントして、データストアの中の一部の仮想マシンやvmdkファイルのみをコピーしなおしてリストアするといった使い方が可能となる。

ただし、スナップショットからコピーしたデータストアは、データストア名やUUIDが重複することから、そのままではESXiにマウントすることができず、「新しい署名の割り当て」が必要となる。この作業はvCenter ServerのGUI (vSphere Client) であれば実施可能であるが、ESXiのGUI (VMware Host Client) では実施することができない。

ただし、ESXi単体であっても、CLIを使えば実施可能であるため、今回、ESXi Shellを使用して、スナップショットからコピーしたデータストアを別のデータストアとしてマウントしてみることにする。

手順

1. ストレージにてスナップショットからコピーしたボリュームを作成

まずはストレージ側でスナップショットを取得し、取得したスナップショットからボリュームを作成する。これはストレージによって手順が異なるので、手順の詳細は割愛するが、参考情報として、過去QNAPとFreeNASで実施した記事を以下に記載する。

ストレージ 参考記事
QANP QNAP NASのiSCSIボリュームをクローンして別のVMFSデータストアとしてマウントさせる手順
FreeNAS FreeNASのスナップショットからコピーしたiSCSIボリュームを作成する手順

2. VMware Host ClientにてVMFSをスキャン

VMware Host Clientにログインし、左メニューの「ストレージ」→「デバイス」タブを選択し、「再スキャン」を選択する。再スキャン後、コピーしたデータストアがデバイスとして表示されることを確認しておく。

3. SSHでESXiにログイン

次に、SSHにてESXiにログインする。デフォルトではSSHが無効となっていることから、無効になっている場合は有効にしておくこと。

4. VMFS一覧を確認

以下コマンドにて、作業実施前にVMFSの一覧を確認しておく。今回は「iscsi_fnas_01」のデータストアをコピーしたボリュームをマウントする。

# esxcli storage filesystem list
Mount Point                                        Volume Name                                 UUID                                 Mounted  Type           Size         Free
-------------------------------------------------  ------------------------------------------  -----------------------------------  -------  ------  -----------  -----------
/vmfs/volumes/5f4e587d-2e195734-cfd3-dca63269a366  datastore1                                  5f4e587d-2e195734-cfd3-dca63269a366     true  VMFS-6  45634027520  44125126656
/vmfs/volumes/5f5d5450-787693d8-d588-000c29d16ed8  iscsi_fnas_01                               5f5d5450-787693d8-d588-000c29d16ed8     true  VMFS-6  53418655744  11974737920
/vmfs/volumes/5f4e587a-25e427e9-4e0d-dca63269a366  OSDATA-5f4e587a-25e427e9-4e0d-dca63269a366  5f4e587a-25e427e9-4e0d-dca63269a366     true  VMFS-L   8321499136   5568987136
/vmfs/volumes/794a74c9-cb43f6a4-f0b4-d9e894c50593  BOOTBANK1                                   794a74c9-cb43f6a4-f0b4-d9e894c50593     true  vfat     4293591040   4168286208
/vmfs/volumes/1ee2ff72-75413af3-738d-850e8ab0de94  BOOTBANK2                                   1ee2ff72-75413af3-738d-850e8ab0de94     true  vfat     4293591040   4293525504

5. コピーしたVMFSを確認

以下コマンドにて、スナップショットからコピーしたVMFS (署名が重複するVMFS) を確認することができる。「iscsi_fnas_01」のデータストアが表示されることがわかる。
※なお、本コマンドは結果が表示されるまで少々時間を要する。

# esxcli storage vmfs snapshot list
5f5d5450-787693d8-d588-000c29d16ed8
   Volume Name: iscsi_fnas_01
   VMFS UUID: 5f5d5450-787693d8-d588-000c29d16ed8
   Can mount: false
   Reason for un-mountability: the original volume is still online
   Can resignature: true
   Reason for non-resignaturability:
   Unresolved Extent Count: 1

6. コピーしたVMFSに新しい署名の割り当て

esxcli storage vmfs snapshot resignatureコマンドで「新しい署名の割り当て」を行う。

# esxcli storage vmfs snapshot resignature -l iscsi_fnas_01

7. 再度VMFS一覧を確認

再度VMFSの一覧を確認する。「snap-XXXXXXXX-iscsi_fnas_01」という名前で新たにデータストアを認識していることがわかる。

# esxcli storage filesystem list
Mount Point                                        Volume Name                                 UUID                                 Mounted  Type           Size         Free
-------------------------------------------------  ------------------------------------------  -----------------------------------  -------  ------  -----------  -----------
/vmfs/volumes/5f4e587d-2e195734-cfd3-dca63269a366  datastore1                                  5f4e587d-2e195734-cfd3-dca63269a366     true  VMFS-6  45634027520  44125126656
/vmfs/volumes/5f5d5450-787693d8-d588-000c29d16ed8  iscsi_fnas_01                               5f5d5450-787693d8-d588-000c29d16ed8     true  VMFS-6  53418655744  11974737920
/vmfs/volumes/5f93c0b7-47026233-4f95-dca63269a366  snap-53543aa8-iscsi_fnas_01                 5f93c0b7-47026233-4f95-dca63269a366     true  VMFS-6  53418655744  11991515136
/vmfs/volumes/5f4e587a-25e427e9-4e0d-dca63269a366  OSDATA-5f4e587a-25e427e9-4e0d-dca63269a366  5f4e587a-25e427e9-4e0d-dca63269a366     true  VMFS-L   8321499136   5568987136
/vmfs/volumes/794a74c9-cb43f6a4-f0b4-d9e894c50593  BOOTBANK1                                   794a74c9-cb43f6a4-f0b4-d9e894c50593     true  vfat     4293591040   4168286208
/vmfs/volumes/1ee2ff72-75413af3-738d-850e8ab0de94  BOOTBANK2                                   1ee2ff72-75413af3-738d-850e8ab0de94     true  vfat     4293591040   4293525504

VMware Host Clientでも「更新」ボタンを押すことでコピーしたデータストアが表示されるようになる。

以上で作業は完了となる。

参考

2020年10月24日土曜日

FreeNASのスナップショットからコピーしたiSCSIボリュームを作成する手順

以前、FreeNASをインストールし、iSCSIストレージとして構築する手順を記載した。

FreeNASは、近年のストレージOSでは標準機能となっている「スナップショット」によるボリュームのデータ静止点の確保ができる。スナップショットは実際のデータのコピーが発生しないため即座に完了する特徴があり、取得したスナップショットからリストアも一瞬で完了する。

さらにスナップショットのデータを別のボリュームとしてコピーして利用することもできる。これにより、もとのボリュームのデータは残しつつ、ボリューム内の一部データだけをリストアするといった使い方ができる。

今回、FreeNASで取得したスナップショットを使って、コピーしたiSCSボリュームをESXiにマウントする手順を記載する。

環境

  • FreeNAS : FreeNAS-11.3-U4.1
  • vCenter Server : vCSA 6.7
  • ESXi : 6.7

FreeNASにてスナップショットを取得

1. スナップショットを作成

「Storage / Snapshots」画面にて「Add」を選択する。

「Dataset」にスナップショットを取得する対象のDatasetを選択する。今回は「pool-01」を選択した。「Name」はデフォルトで取得日時が付与された名前で設定されているので、好みに応じて変更すればよい。

2. スナップショットをコピー

作成したスナップショットの右側にある「>」マークにて展開するすると、「CLONE TO NEW DATASET」が表示されるので選択する。
※なお、「ROLLBACK」はスナップショットにてボリュームそのものをリストアする際に使用する。

スナップショットのコピー名称は「<スナップショット名>-clone」とデフォルトで設定されるが、こちらも好みに応じて変更すればよい。

スナップショットのコピーは「Storage / Pools」から確認できる。もとの「pool-01」配下に、先ほど作成したスナップショットのコピーが作成されていることがわかる。

FreeNASにてiSCSIの設定を行う

1. iSCSIのLUN (=Extent) を作成

「Sharing / iSCSI / Extents」にてiSCSI用のLUNを作成する。この際に、「Path to the extent」にてスナップショットのコピー配下に存在するファイルを指定する。今回はスナップショットのコピー配下の「extent-01」を指定した。

なお、「Extent Size」は既存のファイルを指定する場合は0を指定する

2. LUNとターゲットの紐づけ

「Sharingi / SCSI / Associated Targets」にて、先ほど作成したLUNにESXiからアクセスできるように、ターゲットと紐づけの設定を行う。

vCenter Serverにて新しいデータストアとしてマウント

1. ESXiでLUNを認識していることを確認

vSphere Clientにログインし、任意のESXiを右クリックして、「ストレージ」→「ストレージの再スキャン」を選択する。

これにより、ESXiの「設定」→「ストレージデバイス」に先ほどFreeNASで設定したiSCSIのLUNが表示されるはずだ。

2. データストアを「新しい署名を割り当て」して作成

コピーされたデータストアはそのままでは自動でマウントされないため、任意のESXiを右クリックして、「ストレージ」→「新しいデータストア」を選択する。

新しいデータストアを作成する際に、先ほどFreeNASで設定したLUNを選択する。データストア名は、マウント時に自動で設定されるため、ここではデフォルトのままにしておけばよい。

マウントオプションの画面では、「署名 ~ を持つ未解決のVMFSボリュームがこのディスク上で検出されました。」とメッセージが表示されるので、必ず「新しい署名を割り当て」を選択する。

あとはデフォルトのままでウィザードを終了する。問題なければ、「snap-XXXXXXXX-<コピー元のデータストア名>」という名前でデータストアがマウントされるはずだ。

まとめ

このようにFreeNASではスナップショット機能があり、バックアップ・リストアを瞬時に実行することや、スナップショットからコピーしたボリュームを作成することができる。

今回は手作業によるスナップショット取得を行ったが、FreeNASでは定期的なスナップショット取得と保存期間の管理を設定することができるので、その手順については別途記事にすることにする。

2020年10月17日土曜日

ESXi Arm Edition上のLinuxにopen-vm-toolsをインストールする手順

先日、Raspberry Pi 4にESXi Arm Editionを導入した。

せっかくARMのCPUを使えるESXiが誕生したので、CentOS、Ubuntu、そしてPhoton OSをESXi上にインストールしたのだが、これらのARM版Linuxディストリビューションにはopen-vm-toolsが導入されていない

さらには、現時点(2020年10月)では、ARM版のCentOS、Ubuntuでは、open-vm-toolsのパッケージが提供されておらず、以下のソースからビルドする必要があり、手順が少々複雑となる。

今回、各ARM版のOSに対して、open-vm-toolsを導入する手順を記載する。

作業前提事項

  • gitdnfaptを使うので、インターネット環境が必要
  • 時刻同期設定ができており、時刻がずれていないこと (時刻がずれているとdnf等がエラーになることがある)

ARM版CentOS 8

OSのインストールイメージは以下URLからダウンロードを行い、「最小インストール」にてインストールを行った。本記事執筆時点では、バージョンは「8.2.2004」となる。

以下コマンドを上から順に実行することで、open-vm-toolsをソースからビルドしインストールすることができる。

# パッケージをインストール
dnf install git automake make pkg-config libtool glib2-devel libtirpc-devel -y
dnf --enablerepo=PowerTools install rpcgen -y

# ソースをクローン
git clone https://github.com/vmware/open-vm-tools.git

# ソースよりビルド (10分ほど要する)
cd open-vm-tools/open-vm-tools/
autoreconf -i
./configure --without-x --without-pam --without-ssl --enable-deploypkg=no
make
make install
ldconfig

# systemdに登録
cat << EOF > /etc/systemd/system/vmtoolsd.service
[Unit]
Description=Service for virtual machines hosted on VMware
Documentation=http://github.com/vmware/open-vm-tools

[Service]
ExecStart=/usr/local/bin/vmtoolsd
TimeoutStopSec=5

[Install]
WantedBy=multi-user.target
EOF

# open-vm-tools起動
systemctl start vmtoolsd
systemctl enable vmtoolsd

Ubuntu Server for ARM

OSのインストールイメージは以下URLからダウンロードを行い、特にパッケージ追加は行わずにインストールを行った。

以下コマンドを上から順に実行することで、open-vm-toolsをソースからビルドしインストールすることができる。

# パッケージをインストール
sudo apt install automake make pkg-config libtool libglib2.0-dev -y

# ソースをクローン
git clone https://github.com/vmware/open-vm-tools.git

# ソースよりビルド (10分ほど要する)
cd open-vm-tools/open-vm-tools/
autoreconf -i
./configure --without-x --without-pam --without-ssl --enable-deploypkg=no
make
sudo make install
sudo ldconfig

# systemdに登録
cat << EOF | sudo tee /etc/systemd/system/vmtoolsd.service > /dev/null
[Unit]
Description=Service for virtual machines hosted on VMware
Documentation=http://github.com/vmware/open-vm-tools

[Service]
ExecStart=/usr/local/bin/vmtoolsd
TimeoutStopSec=5

[Install]
WantedBy=multi-user.target
EOF

# open-vm-tools起動
sudo systemctl start vmtoolsd
sudo systemctl enable vmtoolsd

ARM版Photon OS

OSのインストールイメージは以下URLから「Photon OS 3.0 Revision 2 Update1 Binaries」をダウンロードし、「Photon Minimal」にてインストールを行った。

Photon OSはさすがにVMware社謹製のLinuxディストリビューションだけあって、ARM版であってもopen-vm-toolsのパッケージが用意されており、ソースからビルドする必要はない。ただし、コマンドがdnfではなくtdnfだったりするのでちょっと癖があるので注意。

tdnf install open-vm-tools -y
systemctl start vmtoolsd
systemctl enable vmtoolsd

私の環境ではopen-vm-toolsインストール後、「start condition failed」のエラーとなって起動に失敗した。その場合は、OS再起動を実施してみよう。

# systemctl status vmtoolsd.service
● vmtoolsd.service - Service for virtual machines hosted on VMware
   Loaded: loaded (/lib/systemd/system/vmtoolsd.service; enabled; vendor preset>
   Active: inactive (dead)
Condition: start condition failed at Sun 2020-10-11 06:26:41 UTC; 2s ago
           mq ConditionVirtualization=vmware was not met
     Docs: http://github.com/vmware/open-vm-tools

まとめ

以上で各Linuxディストリビューションに対してopen-vm-toolsを導入することができた。これにより、ESXiから仮想マシンのIPアドレス情報が確認できたり、OSシャットダウンや再起動ができるようになり、一層便利になった。

参考

2020年10月11日日曜日

ESXi Arm EditionをRaspberry Pi 4 (メモリ4GBモデル) にインストールする手順

Raspberry Piにインストール可能な「ESXi Arm Edition」が利用できるようになったとニュースで目にした。ちょうど、使い道が決まってなくて放置していたRaspberry Pi 4 (メモリ4GBモデル) があったので、実際にRaspberry Pi 4にESXi Arm Editionをインストールした

公式でインストール手順が記載されたマニュアル (ESXi Arm Edition | VMware Flingsの「Fling-on-Raspberry-Pi.pdf」) が用意されてはいるが、手順が少々複雑なので、私の方でもインストール手順をまとめておく。

(2020/10/25追記)
10/22にESXi Arm Edition v1.1がリリースされたため、バージョンアップ手順を以下に記載しました。

必要なものを準備

作業前に以下が必要となるため、予め準備をしておくこと。

  • microSDカードとUSBメモリの操作ができるWindowsマシン
  • Raspberry Pi 4 (メモリ4GB以上のもの)
  • Raspberry Pi操作用のモニター・キーボード
  • microSDカード (容量は小さくてOK)
  • USBメモリ (最低でも64GB程度は欲しい)

インストーラをダウンロード

ESXi Arm Editionをインストールするには、OSイメージだけでなく、Raspberry Pi 4のUEFIのデータが必要となる。

それぞれ以下リンクからダウンロードできるので、ダウンロードしておく。

UEFI用microSDカードの作成

通常、Raspberry PiではmicroSDカードにOSイメージをインストールして起動させるが、ESXi Arm EditionはSDカードにOSをインストールすることができない。しかし、OS起動のためにはmicroSDカードにUEFIのイメージが必要となるため、UEFIのためだけにmicroSDカードが必要となる。

1. Windows OSにてmicroSDカードをマウント

Windows OSにてmicroSDカードをマウントさせる。

2. フォーマット

Raspberry Pi OSがインストールされていたmicroSDカードを利用する場合は、UEFI領域が自動で認識するはずなので、この領域を右クリック→「フォーマット」を選択して、以下内容にてフォーマットする。デフォルトから変更する箇所はボリュームラベルのみとなるはずだ。

設定項目 設定値
容量 256MB
ファイルシステム FAT32
アロケーションユニットサイズ 512バイト
ボリュームラベル UEFI
フォーマットオプション クイックフォーマット

ちなみに、未使用のmicroSDカードの場合は、UEFI用のパーティションを切ってフォーマットすればよさそうだが、未検証となる。以前別記事でも記載しているが、Raspberry Pi Imager使えばmicroSDカードのパーティションが間違いなく設定されるので、今回は一度Raspberry Pi OS LightをmicroSDカードにインストールしたのち、UEFI領域のフォーマットを行った。

★【参考】Raspberry Pi Imagerを使ったRaspberry Pi OSのインストール手順

3. 「firmware-master.zip」からファイルをコピー

事前にダウンロードしている「firmware-master.zip」をエクスプローラーで開き、「boot」フォルダーの中身をmicroSDカードにそのままコピーする。

コピーしたのち、「kernel*.img」のファイルが4つあるはずなので選択して削除する。

4. 「RPi4_UEFI_Firmware_v1.20.zip」からファイルをコピー

事前にダウンロードしている「RPi4_UEFI_Firmware_v1.20.zip」をエクスプローラーで開き、すべてのファイルをmicroSDカードにそのまま上書きでコピーする。

5. 「config.txt」を編集 (メモリ4GBモデルのRaspberry Piのみ要対応)

UEFI領域にコピーしたファイルの中に、「config.txt」というテキストファイルがある。こちらのファイルの最下行に「gpu_mem=16」を追加する。

arm_64bit=1
enable_uart=1
uart_2ndstage=1
enable_gic=1
armstub=RPI_EFI.fd
disable_commandline_tags=1
disable_overscan=1
device_tree_address=0x1f0000
device_tree_end=0x200000
dtoverlay=miniuart-bt
gpu_mem=16   ←★追加

この設定は、メモリ8GBモデルでは不要となる。メモリ4GBモデルではこの設定を実施しないと、ESXiインストール時に「MEMORY_SIZE ERROR」が表示され、メモリ不足によりインストールが続行できなくなるので注意

6. microSDカードを取り外す

以上でmicroSDカードに対する事前作業は完了したため、Windows OSから取り外し、Raspberry Piに挿入する。

UEFIの設定

1. 起動時にESCキーを押してUEFIにログイン

Raspberry Pi起動画面が表示されているタイミングでESCキーを押してUEFIにログインする。

2. UEFIの設定変更

以下画面に遷移してUEFIの設定変更を行う。

設定場所 設定項目 設定値
Device Manager > Raspberry Pi Configuration > Advanced Configuration Limit RAM to 3GB Disabled
Device Manager > Console Preference Selection Preferred console Serial
Device Manager > Raspberry Pi Configuration > Display Configuration Virtual 800x600 x
Device Manager > Raspberry Pi Configuration > Display Configuration Virtual 1024x768 x

ESXi Arm Editionのイメージを入れたUSBメモリを作成

1. USBメモリにOSイメージを書き込む

Rufus」を使ってESXi Arm EditionのISOイメージ「VMware-VMvisor-Installer-7.0.0-16966451.aarch64.iso」を選択し、USBメモリに書き込みを行う。

2. USBメモリを取り外す

USBメモリを取り外し、Raspberry PiのUSB3.0のポートに挿入する。このUSBメモリはそのままESXi Arm EdtionにてESXiが上書きインストールされ、データストア領域としても使用される

USBメモリからESXi Arm Editionをインストール

1. USBメモリからブートする

Raspberry Pi起動画面が表示されているタイミングでESCキーを押してUEFIにログインし、「Boot Manager」を選択する。

インストーラが入ったUSBメモリを選択してブートする。

2. VMFS-Lの領域を8GBに減らす

ESXi 7.0はそのままインストールすると、余った領域がVMFS-Lと呼ばれる仮想フラッシュ用の領域で使用されてしまい、VMFS領域を作ることができない (正確には128GB以下のUSBメモリの場合は、すべてVMFS-Lで使用されてしまう)。USBメモリは容量が限られていることから、VMFS-Lの領域を8GBに制限する設定を行う。

ESXiのインストール開始時に「Shift+O」を押し、ブートオプション入力画面に遷移する。ブートオプションは以下を入力する。なお、「runweasel cdromBoot」までは予め入力されている。

runweasel cdromBoot autoPartitionOSDataSize=8192

3. いつものESXiのインストール画面が表示される

ここからはいつものESXiのインストール画面と同じとなる。前述しているが、microSDカードをインストール先に選ぶことはできないので、USBメモリに対してインストールを行う。

4. ブート順位変更

問題なくインストールが完了したら、ブート順位の変更を行う。

Raspberry Pi起動画面が表示されているタイミングでESCキーを押してUEFIにログインし、「Boot Maintenance Manager > Change Boot Order」を選択する。

「Change the order」にてUSBメモリの順位を一番上に変更する。「+」と「-」キーで順位を上下させることができる。

5. NTPを設定

あとは、通常のESXiと同様にIPアドレスやホスト名の設定等を行えばよいのだが、Raspberry Piの仕様でNTPを有効にしないと日時がかなりずれてしまうようなので、最低限NTPサーバに対して時刻同期の設定は行っておこう。

ARM版のCentOS 8を動かしてみる

実際に、ARM版のCentOS 8をESXi Arm Edition上に仮想マシンとしてインストールし動かしてみた。当たり前だが、インストール手順は通常のESXiとなんら変わることはなく起動まで成功した。ただし、CPU・メモリ・USBメモリのI/O性能は高くはないため、最小限のインストールをするだけでも、そこそこ時間を要するので注意。

なお、ARM版のCentOSにはopen-vm-toolsが含まれておらず、2020年10月時点ではパッケージとしても提供されていないため、ソースからビルドする必要がある。以下別記事にて手順をまとめているので参考にしていただきたい。

まとめ

ESXi Arm Editionはまだ開発段階であり、通常のESXiであれば評価期間が60日間であるところが、180日間を評価期間として利用できるようになっている (ちなみに、無償のESXiのライセンスは投入可能だった)。

そのため、ESXi Arm Editionを積極的に使っていくにはまだ早いかもしれないが、私のように自宅で未使用となっているRaspberry Piを持っている人が動作検証する分には大変楽しいのでお勧めとなる。

2020年10月7日水曜日

Ryzen 3700Xの検証用ESXiのメモリを16GB x 4枚に増設した話

今年構築したRyzen 3700Xの検証用ESXiサーバは、仮想マシンの増加に伴い常にメモリの不足が発生していた。ESXiのメモリバルーンの機能があるおかげで使えてはいたが、Windows Serverの操作をしていると動作がカクカクするなどの影響が発生し始めたことから、メモリを32GB (16GB x 2枚) から64GB (16GB x 4枚) に増設することにした。

★Ryzen 7 3700Xで自作PCを構築した記事はこちら↓


購入したメモリ

増設メモリは、現在使用しているKingston DDR4 3200MHz 16GB x 2枚を選定した。正確には、前回買ったメモリの型番は「HX432C16FB3K2/32」だったが、今回は「HX432C16FB4K2/32」とした。

ちなみに、特に大きな差異はないと思い同じ価格だったので何も調べず後継の型番のメモリを選んでしまったが、Kingstonのサイトでスペックを調べると、以下のような差異があった。

項目 HX432C16FB3K2/32 (前回) HX432C16FB4K2/32 (追加)
Rank Dual Rank Single Rank
Default (JEDEC) DDR4-2400 CL17-17-17 @1.2V DDR4-2400 CL17-17-17 @1.2V
XMP Profile #1 DDR4-3200 CL16-18-18 @1.35V DDR4-3200 CL16-20-20 @1.35V
XMP Profile #2 DDR4-3000 CL15-17-17 @1.35V DDR4-3000 CL16-19-19 @1.35V

BIOSの設定

増設後、問題なく合計64GBでメモリは認識してくれたが、動作周波数は残念ながら3200MHzではなく2400MHzとなってしまった。

そこでBIOSの「Advenced Mode」→「Ai Tweaker」を選択し、「Memory Frequency」の周波数を「2933MHz」に変更したところ、2933MHzで動作するようになった。


ESXiでのメモリ周波数の確認

ESXiを立ち上げ、OS上からもメモリの動作周波数を確認してみる。SSHでESXiにログインし、smbiosDumpコマンドにて確認できる。以下の通り、メモリ4枚が2933MHzで動作していることがOSからも確認することができた。

# smbiosDump | egrep 'Memory Device|Speed'
~(中略)~
  Memory Device: #47
    Speed: 2933 MHz
  Memory Device Mapping: #48
    Memory Device: #47
  Memory Device: #50
    Speed: 2933 MHz
  Memory Device Mapping: #51
    Memory Device: #50
  Memory Device: #53
    Speed: 2933 MHz
  Memory Device Mapping: #54
    Memory Device: #53
  Memory Device: #56
    Speed: 2933 MHz
  Memory Device Mapping: #57
    Memory Device: #56

まとめ

以下Zabbixで取得していたメモリバルーンの発生状況となる。増設前はかなりのメモリバルーンが発生していたが、メモリが増設され、メモリバルーンが全く発生しなくなり快適に動作するようになった。


2020年10月3日土曜日

Splunkでアラートを設定する手順

Splunkでは、ログの検索結果に応じてメール通知やスクリプト実行を行う「アラート」と呼ばれる機能がある。アラート機能を使うことで、例えば、「パスワード失敗のログを検知してメール送信を行う」といったことが実現できる。

今回は、実際にSplunkのアラート機能を使って、「パスワード失敗のログを検知してメール送信を行う」設定をしてみた。なお、アラート設定はSplunkの管理GUIのみを使って設定することができる。

環境

  • Splunk : 8.0.5

Splunkアラート設定手順

1. メール送信設定

アラート機能でメール送信する場合は、事前にメールサーバを設定しておく。管理GUIにて「設定」→「サーバー設定」→「メール設定」にて設定する。

最低限設定する必要がある項目は以下の通り。

設定項目 設定値
メールホスト メールサーバのIPアドレスを指定
リンクホスト名 送信メールに記載されるURL生成時のSplunk本体のホスト名またはIPアドレスを設定
メース送信形式 メール送信元に設定するメールアドレスを設定 (英語では「Send emails as」という設定項目であり、「メール送信形式」という日本語訳がおかしい)

2. ログをサーチ

アラートに使用する検索条件を作るため、「新規サーチ」の画面にてサーチを行う。今回は例として以下をサーチ文として設定した。

index=* Failed Password

3. アラートを作成

検索結果に問題がないことを確認したのち、「名前を付けて保存」→「アラート」を選択、「アラートとして保存」画面を表示させる。

1時間に1回パスワード失敗のログの出力有無を確認し、ログの出力件数が0より大きい場合はメール送信を行う設定を行う。

設定項目 設定値
タイトル Failed password
アラートタイプ スケジュール済み
時間範囲 Last 60 minutes
Cron式 0 * * * *
失効 24時間
次の条件の時にアラートを生成 結果数が0より大きい
生成条件 各結果に対して1回
アクション メール送信
宛先 <アラートの送信先メールアドレスを指定>



4. アラートの動作確認

実際にログイン失敗を発生させ、アラートにてメール送信がされることを確認してみよう。

以下の通り、「Splunk Alert: Failed password」というメール件名でメールが送信されていることがわかる。

「View results」のリンクをクリックすると、Splunkのサーチ画面が表示される。

まとめ

Splunkのアラート機能を使うことで、特定のログ出力条件に応じてメール通知を行うことができた。今回は1台のサーバのログを検索するだけなので単純な設定となっており、正直SplunkでなくてもスクリプトやZabbixなどでも実現できる。

しかしSplunkの場合は、多数の機器から集約したログ情報を用いた複雑なログ検索の結果を用いてアクションを実行することもできるので、そのような場合に有用な機能となるだろう。



人気の投稿