Yamahaスピーカー NS-BP200 購入報告

手持ちのCreative Inspire S2 Wireless をPCに接続するBluetoothスピーカーとして長年、愛用してきましたがどうやら音飛びの原因はハードウェアによるものと判明しました。3.5mmアナログPinジャックから外部接続も試しましたがハウリング、電源切断など耐えられない不具合が続きもうダメなのかなと思いAmazon.co.jp でYAMAHA スピーカー (ピアノブラック) 2台1組 NS-BP200BP を購入。

バナナプラグで配線を取り回し、Bluetooth 5.0 アンプ ELEGIANT ステレオ スピーカー パワーアンプ デジタルアンプ ベース 増幅器 HI-FI 音質 100W 大出力 超小型 に接続しました。

F900S はBluetooth, USB Type-C, アナログAUX接続をサポートしたPC用高性能アンプで、クラシック音楽の弱音も良く拾っており、高出力なYamahaスピーカーNS-BP200は、クラブ系の高音のシャリシャリから重低音まで見事に再現しています。サブウーファーは残念ながら接続できませんが、ステレオでもクリアな音を鳴らしており今までの悩みが解決してスッキリです。ただ、Amazon.co.jp のおすすめで同時購入したバナナプラグがサイズが合っていないのか奥まで入らなかったのですが、こんなものかなと・・・。

foobar2000カスタムスキン PandraBoxを試してみる

カスタマイズの自由度が高いfoobar2000ですが、カスタムスキンをインストールするにはColumns UI など動作に必要なコンポーネントをあらかじめ用意しなければなりません。しかし幸い、ファイルのダウンロードリンクとインストールの概要が foobar2000&スキンのインストール にありましたので詳細は譲ることとします。

コンポーネントをダウンロード解凍してfoobar2000のインストールフォルダにコピー、初回起動のUIの選択でColumns UIを選択、今回はDeviant ARTPandoraBox カスタムスキンをダウンロードしました。(英サイト/要ログイン)

1.7zipファイルを 7-zipファイルマネージャー などで解凍。

2、 configuration, FONT, images, scripts, user-components の5フォルダが見えます。その中のFONTフォルダを開いて.ttf拡張子のフォントファイル3個をダブルクリックしてインストール。

3.imageフォルダをC:\Program Files(x86)\foobar2000 の中にコピー。

4.残りのフォルダ(configuration, scripts, user-components)を %appdata%foobar2000 にコピー。

アプリを実行するとカスタムスキンが起動しました。

[File]-[Perferences]の左ペインの[Display]-[Main Window]から[Esc key function] を[Exit] に設定するとfoobar2000 がアクティブウィンドウのときに[Esc]を押すとアプリを終了でき便利です。

最初、席を離れるときにWindowsを[Windows]+[L] でログオフすると音が止まる現象に悩みましたが、[Playback] から[Other] の中の[Prevent screensaver & monitor standby when playing] のチェックを外すと良かったみたいです。

それでは、楽しい「foobar2000」ライフを!

グループポリシーを利用してデバイスのインストールを制御する

Windows10のカーネルDMA保護 が有効かどうか、[ファイル名を指定して実行]から msinfo32 を使って調べたところ、[無効]だった(マザーボードが古いからしょうがないね)ので次善策としてグループポリシーによるデバイスインストール制御について設定したのでメモ。

BitLocker に対する 1394 DMA と Thunderbolt DMA の脅威を軽減するための SBP-2 ドライバーと Thunderbolt コントローラーのブロック

[Windows]+[R] で [ファイル名を指定して実行]から gpedit.msc と入力して[Enter]

グループポリシーエディターを起動します。

[コンピューターの構成]-[管理用テンプレート]-[システム]-[デバイスのインストール]-[デバイスのインストールの制限] から [他のポリシー設定で記述されていないデバイスのインストールを禁止する] を[有効]にします。

一方、[Windows]+[X] でショートカットメニューから[デバイスマネージャー]を起動して、許可するデバイスのハードウェアを右クリック、[プロパティ]から[詳細]タブの[ハードウェアID] を表示して[コピー]します。

同じくグループポリシーの[コンピューターの構成]-[管理用テンプレート]-[システム]-[デバイスのインストール]-[デバイスのインストールの制限] の中の[これらのデバイスIDと一致するデバイスのインストールを許可する]を [有効] にして、先ほどコピーした[ハードウェアID] をリストに登録します。

リストにないハードウェアドライバーをデバイスマネージャーからアンインストールしてみます。

機器を再び、取り付けるとシステムから警告が表示されドライバーのインストールが制限されているのが確認できました。

Thunderbolt のID「 PCI\CC_0C0A 」を[これらのデバイスIDと一致するデバイスのインストールを禁止する]一覧に登録して作業終了です。

参考URL: グループ ポリシーを使用してデバイスのインストールを制御するためのステップバイステップ ガイド(英語)

Crucial MX500 1TB 内蔵SSDの増設

前回、富士通 TX1310 M3のRAIDモードを無効にしてACHIモードで組んだのですが、Amazon.co.jp で注文したCrucial MX500 1TB 内蔵SSDを余らせてしまうのも勿体ないということでデスクトップ機への増設をしてみました。

変換名人 SATA電源(15ピン) 2分岐ケーブル ロック付 SPR/2

変換名人 SATA電源(15ピン)延長ケーブル 50cm SPR/CA50

分岐ケーブルで電源を採りに行き、延長ケーブルを使いPCケース背面のHDD収納スロットまで取り回しをしました。

PCを起動して[Windows]+[X]のショートカットメニューから[ディスクの管理]でフォーマット

ドライブ文字の割り当てをして、エクスプローラーから認識しました。

フリー音楽再生アプリfoobar2000を試してみる

サポートの終了したSONYのMediaGo をミラーサイトからダウンロードして.flacオーディオを再生していましたが近頃、音飛びが酷いのでプレイヤーを再インストールしたのですが改善しません。そこで軽量フリーの再生アプリfoobar2000 を試してみました。

■ ダウンロードURL:http://www.foobar2000.org/download

■ 主な対応フォーマット:MP3, MP4, AAC, WMA, FLAC, WAV, AIFFほか

[File]-[Add Folder…] からファイルの読み込み、[Load Playlist…]からMediaGoの.m3u8形式のプレイリストの移行もスムーズでした。追々、カスタマイズしていこうと思います。

参考URL: https://www.digimart.net/magazine/article/2015081901550.html

VMware OVF Tool 4.4.0 でVMをエクスポート

開発環境のベストプラクティスをバックアップできるVMware OVF Tool 4.4.0(2020/4/20現在最新版)でVMをエクスポートしてみる。

VMware OVF Toolを利用してESXi 6.7からVMをエクスポート

ESXiクライアント(Web Server)にインストールするよ。

$ sudo sh ./VMware-ovftool-4.4.0-15722219-lin.x86_64.bundle

VMをエクスポートできるよ。

$ ovftool --noSSLVerify vi://root:password@192.168.1.100/test-vm exported-vm.ova

GUIから.ova ファイルをドラッグ&ドロップでデプロイできるよ。

簡単だね!

アンインストール方法は、-lオプションでProduct Nameを調べて

$ sudo sh ./VMware-ovftool-4.4.0-15722219-lin.x86_64.bundle -l
Extracting VMware Installer...done. Product Name Product Version ==================== ==================== vmware-ovftool 4.4.0-15722219

–uninstall-component=vmware-ovftool するとできるよ!

$ sudo sh ./VMware-ovftool-4.4.0-15722219-lin.x86_64.bundle --uninstall-component=vmware-ovftool

ESXiでプライベートなvSwithに接続するデータベースVMを作ってみた

データベースをプライベートサブネットに秘匿するのはAWSでもESXiでも同様にセキュリティ上で大事なことなので下記URLの記事を参考にメモしました。

ESXi】仮想スイッチとポートグループを作成してVMにネットワークを追加

1.物理NICによるアップリンクのない標準仮想スイッチを追加する

左ペインの[ネットワーク] を開いて[仮想スイッチ]タブの[標準仮想スイッチの追加]からvSwitch3を追加して行きます。

[ポートグループ]タグから、先ほど追加したvSwitch3 を[仮想スイッチ]に持つ、「Local Network」という名前(名前は適当でよい)のポートを[ポートグループの追加]から追加します。

2.mariaDBデータベースサーバーVMを作る

「DB Server」という名前でmariaDBデータベースサーバー用VMを作ります。

環境 要件
CPU
メモリ 8GB
ストレージ 100GB(シンプロビジョニング)
起動オプション EFI起動
OS CentOS7

先ほど作った、「Local Network」ポートを追加します。

前回の「Web Server」同様、パワーオンしてインストレーションDVDを起動します。今回はベースを「インフラストラクチャーサーバー」「mariaDB データベースサーバー」「開発ツール」にチェックを入れます。

ネットワーク設定は今回、以下の通りにしました。

プロパティ アドレス
IPアドレス 172.16.1.100
ネットマスク 23
ゲートウェイ 172.16.1.1
DNSサーバー 172.16.1.1
ホスト名 maria.stuffy.jp

ネットワークの設定でEthernet(ens192) を接続済み[ON] にしてからユーザー、パスワードを設定して再起動します。

3.「Web Server」に2枚目のポートグループを追加する。

既存のサブネット[192.168.1.0/24]である「VM Network」に加えて新規ネットワークアダプタ「Local Network」を追加、設定していきます。

# ip a で2枚目のens224が追加されていることを確認。

ここからはDEVICEの名前変更、2つ目のvNICのアドレスを [172.16.1.10] として固定IPの払い出し、DHCP無効のコマンドを設定しています。systemctl restart network でネットワークマネージャーを再起動して設定を反映します。

[root@www ~]# nmcli c a type ethernet ifname ens224 con-name ens224(DEVICE名変更
接続 'ens224' (80221264-033b-4385-8383-b893dd56dfdc) が正常に追加されました。

[root@www ~]# nmcli d s
DEVICE  TYPE      STATE                     CONNECTION
ens192  ethernet  接続済み                  ens192
ens224  ethernet  接続中 (IP 設定を取得中)  ens224
lo      loopback  管理無し                  --

[root@www ~]# nmcli c m ens224 ipv4.address 172.16.1.10/23
(固定IP払い出し [root@www ~]# nmcli c modify ens224 ipv4.method manual
(DHCP無効 [root@www ~]# nmcli d s DEVICE TYPE STATE CONNECTION ens192 ethernet 接続済み ens192 ens224 ethernet 接続中 (IP 設定を取得中) ens224 lo loopback 管理無し -- [root@www ~]# systemctl restart network
(network再起動 [root@www ~]# nmcli d s DEVICE TYPE STATE CONNECTION ens192 ethernet 接続済み ens192 ens224 ethernet 接続済み ens224 lo loopback 管理無し --

4.「Web Server」から 「DB Server」に ping を打ってみます。

疎通確認・・・

[root@www ~]# ping 172.16.1.100
PING 172.16.1.100 (172.16.1.100) 56(84) bytes of data.
64 bytes from 172.16.1.100: icmp_seq=1 ttl=64 time=0.159 ms
64 bytes from 172.16.1.100: icmp_seq=2 ttl=64 time=0.091 ms
64 bytes from 172.16.1.100: icmp_seq=3 ttl=64 time=0.075 ms
64 bytes from 172.16.1.100: icmp_seq=4 ttl=64 time=0.078 ms
64 bytes from 172.16.1.100: icmp_seq=5 ttl=64 time=0.078 ms
64 bytes from 172.16.1.100: icmp_seq=6 ttl=64 time=0.077 ms
^C
--- 172.16.1.100 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 4999ms
rtt min/avg/max/mdev = 0.075/0.093/0.159/0.029 ms

5.「Web Server」から「DB Server」にパスワードでSSHログインしてみます。

「Local Network」 のトポロジー

お疲れ様でした。

ESXi6.7+CentOS7+GPUパススルー+cuda11.0インストールしてみる

テーマ的には新鮮味のないエントリーですが、nvidia-xconfigするとCentOS7のXウィンドウズが起動しないという事実を突き止めることができたので備忘録としてメモ。

環境要件
ハードウェア富士通 TX1310 M3
仮想化ESXi6.7 Update3
グラフィックボードNVIDIA GTX1050Ti
ゲストOSCentOS7.8
ドライバーNVIDIA-Linux-x86_64-450.51.run
CUDACUDA 11.0.3

Yahoo!ショッピングで購入した中古のNVIDIA GeForce GTX1050Ti

補助電源を必要とせず、富士通 TX1310 M3のコンパクトな筐体に収まるショート基盤のPalit GeForce GTX1050Ti です。マザーボードに差してDisplay Portから変換ケーブルでHDMIディスプレイに接続すると何もせずに映りましたが、今回は ESXi のゲストOSにコンソールでログインしてXウィンドウを起動してnvidia-smi コマンドが通ることを目標にしました。

1.ESXi のGPUパススルー設定

グラフィックボードをVMから認識できるようにする設定をしていきます。左ペインの[ホスト]-[管理]をクリックして[ハードウェア]-[PCIデバイス]-[NVIDIA Corporation GP107[GeForce GTX 1050Ti]] を選択して[パススルーの切り替え]をクリック。同様にAudio デバイスもパススルーして再起動します。

2.VMの新規作成

「ML Server」という名前でCentOS7.isoからEFI起動オプションのVMを新規作成します。

仮想ハードウェア 要件
CPU 4
メモリ 16GB(すべてのゲストメモリを予約(すべてロック)
ハードディスク 100GB

[仮想マシンオプション]から[起動オプション]-[ファームウェア]-[EFI]を選択。

ゲストOSを起動してインストーラーを開始。今回は「サーバー(GUI使用)」をベースとします。

ここからはCentOS での作業となります。

3.nouveau を無効にする

GUI起動したらroot からCUIログインに変更して再起動します。

# systemctl set-default multi-user.target

/etc/modprobe.d/modprobe.conf と/etc/modprobe.d/blacklist-nouveau.conf ファイルでOS起動と同時に立ち上がる標準のグラフィックドライバー nouveau をブラックリストに登録します。

# vi /etc/modprobe.d/modprobe.conf

blacklist nouveau

# vi /etc/modprobe.d/blacklist-nouveau.conf

options nouveau modeset=0
blacklist nouveau

yum で最新のカーネルに更新してnouveau ドライバーを無効にした起動イメージを作ります。

# yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r) 

CentOS によるdracut では明示的に–omit-drivers nouveau しないとだめでした。

# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
# dracut --force --omit-drivers nouveau /boot/initramfs-$(uname -r).img $(uname -r)

いったん、VMをシャットダウンしてPCIデバイスとしてグラフィックボードを追加します。

Audioデバイスもついでに追加して[仮想マシンオプション]-[詳細]-[構成の編集]から下記設定をします。(何故だかは分かりません。)

hypervisor.cpuid.v0 FALSE

4.VMを起動→CUDAをインストール

CUDAをインストールするため、再びのCentOSでの作業となります。nouveauがロードされていないことを確認します。

$ lsmod | grep nouveau
何も表示されなければOK
$ lspci | grep -i nvidia
13:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1) 13:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)

つづいてCUDAのコンパイルに必要なgcc gcc-c++ dkms などをyum で一気に揃えます。

# yum install epel-release
epelリポジトリを導入
# yum install --enablerepo=epel dkms
# yum install pciutils gcc gcc-c++ libglvnd libglvnd-devel
# yum install centos-release-scl
scl(Software Collection) を導入
# yum install devtoolset-9
# yum install llvm-toolset-7
rhel ツールセットを導入
# scl enable devtoolset-9 bash
# scl enable llvm-toolset-7 bash

あらかじめhttps://developer.nvidia.com/cuda-toolkit からwgetでクライアントにダウンロードしたcuda_11.0.3_450.51.06_Linux.run ファイルをscp で転送して実行権限を与えて実行します。

$ wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_Linux.run
$ chmod 705 ./cuda_11.0.3_450.51.06_Linux.run
$ sudo sh ./cuda_11.0.3_450.51.06_Linux.run

cudaインストールのついでにグラフィックドライバーもインストールできる優れものなのですが、nvidia-xconfig をオプションで有効にするとXウィンドウズが 「no screens found」となり起動しません。(/var/log/Xorg.0.log を良く読む。)最終的にはnvidia-uninstallしてドライバーのアンインストールが必要でした。このあたりの細かい設定は再調査が待たれます。ここでは、drm-kernelオプションと共に無効にしてインストールしました。

パスを登録してVMを再起動します。

$ vi .bashrc
export PATH=/usr/local/cuda-11.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
$ source ~/.bashrc
$ echo $PATH
パス確認
# shutdown -r now

nvidia-smi と入力すると

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

エラーでドライバーが認識されていない模様。NVIDIA公式から単体でNVIDIA-Linux-x86_64-450.51.runをダウンロード、インストール、再起動すると良かったようです。

$ startx

# nvidia-smi が通りました。こんどは、anaconda, cuDNN, TensorFlow インストールしたいですね。

参考URL

インストールガイド CentOS 7.5 minimal with MATE & Nvidia CUDA 9.2 – 脱N00Bしたいエンジニア

ESXi6.7でGPUパススルーしてCUDA10とChainer4.4を使ってみる – Qiita

OS付属コンパイラが古すぎて困った人へ | HPCシステムズ Tech Blog

slurm+mpich+cudaの設定(CentOS7) – 株式会社バイオモデリングリサーチ

仮想マシンのmacアドレスの設定

ESXiの仮想マシン(CentOS7)のmacアドレスをコマンドから確認する方法をメモします。

VMware仮想マシンのMACアドレスを固定にする方法 を参考にしました。

# cd /vmfs/volumes/<データストア名>/<仮想マシン名>

# vi <仮想マシン名>.vmx
ethernet0.generatedAddress = "macアドレス"

後は、割り振られたmacアドレスを/etc/sysconfig/network-scripts/ifcfg-ens192 に

HWADDR="macアドレス"

と設定、ヤマハルーターから

dhcp scope bind 2 192.168.101.11 <macアドレス>

して作業終了です。

ESXiで仮想マシンをインストールしてみた

ESXiのネットワーク設定をいろいろ試した結果、同一セグメントであれば仮想マシン作成時に「ネットワークアダプタ」としてポートグループから仮想アダプタを選択でき、OSインストール時にIPアドレスの指定さえすれば物理NICが一つしかなくても問題なかったようです。(追加の物理NICはセカンダリのネットワークからWeb管理するときに使いたいと思います。)

今回はCentOS7を仮想マシンとしてインストールしてみました。

[仮想マシンの作成/登録]からウィザード開始。「新規仮想マシンの作成」を選択して [次へ] をクリック。

2.名前とゲストOSの選択で、名前を「Web Server」と入力。ゲストOSファミリを「Linux」、ゲストOSのバージョンで「CentOS7」を選択して[次へ] をクリック。

3.ストレージを選択で「datastore1」を選択、[次へ] をクリック。

4.設定のカスタマイズで仮想ハードウェアのスペックを[CPU] を「1」コア(物理CPUのコアを上限としてお好みで設定)。[メモリ]を「8」GB、[ハードディスク]を「100」GBに設定しました。[ネットワークアダプタ] は「VM Network」、CD/DVDドライブには、

あらかじめ内蔵HDDにアップロードしておいたISOファイルを指定したいので[データストアISOファイル]を選択、行頭三角のアイコンをクリック、展開してインストールメディアを[参照] ボタンからCentOS7のインストールイメージを選択します。ISOファイルのアップロードは[ストレージ]-[データストアブラウザ] から[アップロード] をクリックすると作業できます。(システムドライブにアップロードすると不意の障害があるかもしれないので別途、内蔵HDDを用意しています。)

5.設定の確認をして[完了]ボタンをクリックすると構成が完了します。

構成した仮想マシン「Web Server」を選択して[パワーオン]すると最初、ネットワークインストール(PXE)が起動してうまくいかないときがありますが慌てず、[パワーオフ]して[アクション]-[設定の編集]から[CD/DVDドライブ]を展開して、[パワーオン時に接続]チェックを入れ直して[接続]にもチェックし直し[パワーオン]すると無事、CentOS7のインストーラーが起動しました。[コンソールを新しいウィンドウで開く]をクリックして開始します。

使用する言語「日本語」を探して[続行(C)] をクリック・・・

インストールの概要から各種設定を行っていきます。

「ソフトウェアの選択」でベース環境から「インフラストラクチャーサーバー」、環境のアドオンから「開発ツール」を選択して[完了(D)] します。

「ネットワークとホスト名」から[設定(O)] をクリック、IPアドレスを手動で設定。最後にスイッチを「オン」にして接続します。

ここではIPアドレスを192.168.101.11としています。

ここでは「インストール先」を自動としていますが適時、/boot /root /swap の領域をカスタマイズすることができます。KDUMPは異常終了したときのメモリの状態をHDDに記録するサービスで適宜、有効にします。すべての項目が設定し終わると[インストールの開始]がグレーアウトからアクティブになります。開始をクリックするとインストールが始まりroot とユーザーアカウントのパスワード設定をします。プロンプト画面が表示されればインストール完了です。

お疲れ様でした。