Nutanix上VMのmacアドレスを変更する。

Nutanix上に構築したVMのMACアドレス変更手順メモ

現在のVMのMACアドレスを確認

# nmcli device show eth0| grep HWADDR
GENERAL.HWADDR: 50:6B:8D:8C:CC:52

50:6b:8d:8c:cc:52が割当たっています。

次にCVM上から確認 acliを使います。

$ acli

vm.nic_get Centos7_test
192.168.200.101 {
ip_address: "192.168.200.101"
mac_addr: "50:6b:8d:8c:cc:52" ←確認
network_name: "vlan0"
network_uuid: "75c0ba81-ff8d-4aac-a854-c94586483b4b"
type: "kNormalNic"
vlan_mode: "kAccess"
}

vm.nic_deleteコマンドで一度VMからNICを削除します。

$ vm.nic_delete Centos7_test 50:6b:8d:8c:cc:52

つぎにvm.nic_createでVMを指定して変更したい任意のMACアドレスをNICに割り当てます。
今回は50:6b:8d:8c:cc:55を割り当てます。

$ vm.nic_create Centos7_test mac=50:6b:8d:8c:cc:55 network=vlan0 request_ip=false

acliで確認します。

vm.nic_get Centos7_test
50:6b:8d:8c:cc:55 {
mac_addr: "50:6b:8d:8c:cc:55" ←変更されている
network_name: "vlan0"
network_uuid: "75c0ba81-ff8d-4aac-a854-c94586483b4b"
type: "kNormalNic"
}

更にVMからも確認
変更確認

[root@cent7-test ~]# nmcli device show eth0| grep HWADDR
GENERAL.HWADDR: 50:6B:8D:8C:CC:55

おしまい

NutanixのCVM hostname変更

NutanixのCVMのhostnameをあとから変更するメモ

まずはhostnameを変えたいCVMにログイン
NTNX-aaaaa-CVMからNUTANIX-01-CVMに変えます。

Nutanix Controller VM
Last login: Fri Sep 11 20:05:23 2018
nutanix@NTNX-aaaaa-CVM:172.10.5.5:~$ /usr/local/nutanix/cluster/bin/change_cvm_hostname NUTANIX-01-CVM
Script must be run as root

nutanixユーザーでは実行できません。

sudoで実行

nutanix@NTNX-aaaaa-CVM:172.10.5.5:~$ sudo /usr/local/nutanix/cluster/bin/change_cvm_hostname NUTANIX-01-CVM
Changing hostname to NUTANIX-01-CVM. This will reboot the CVM. Do you want to proceed? (Y/N): y
2018-09-28 12:51:56 INFO hostname_utils.py:72 Did not find the local SVM hostname NUTANIX-01-CVM in the host look uptable /etc/hosts
2018-08-28 12:51:56 INFO hostname_utils.py:97 Found that the SVM hostname in /etc/sysconfig/network does not match NUTANIX-01-CVM
2018-08-28 12:51:56 INFO hostname_utils.py:137 Setting display name to NUTANIX-01-CVM
2018-08-28 12:51:56 INFO hostname_utils.py:156 Writing custom hostname marker
2018-08-28 12:51:56 INFO change_cvm_hostname:86 Forwarding storage traffic to another CVM

これで変更完了

ログにkernel: netlink: * bytes leftover after parsing attributes.が大量出力されていたので対処

/var/log/messagesに

Nov 14 10:37:32 hogehoge kernel: netlink: 4 bytes leftover after parsing attributes.
Nov 14 10:37:32 hogehoge kernel: netlink: 4 bytes leftover after parsing attributes.
Nov 14 10:37:32 hogehoge kernel: netlink: 4 bytes leftover after parsing attributes.

このような感じでkernelの警告ログが大量に出力されていた。
調べると無視して良いログなので出力しなくした。

*ちなみにOSはCentOS6系です。

# vim /etc/rsyslog.conf

rsyslog.confの先頭行に

:msg, contains, "bytes leftover after parsing attributes." ~

と記載するだけでよいらしい
rsyslogを再起動して終了

# /etc/rc.d/init.d/rsyslog restart
システムロガーを停止中: [ OK ]
システムロガーを起動中: [ OK ]

その後、該当のログは出力されなくなりました。

MariaDBでPlease run mysql_upgradeのエラーが大量に出ていた。

/var/log/messagesを見ると↓のログが大量に出力されていた。

Nov 21 22:16:01 base mysqld: 2018-11-21 22:16:01 0 [Warning] InnoDB: Table mysql/innodb_index_stats has length mismatch in the column name table_name. Please run mysql_upgrade
Nov 21 22:16:01 base mysqld: 2018-11-21 22:16:01 0 [Warning] InnoDB: Table mysql/innodb_table_stats has length mismatch in the column name table_name. Please run mysql_upgrade
Nov 21 22:16:01 base mysqld: 2018-11-21 22:16:01 0 [Warning] InnoDB: Table mysql/innodb_index_stats has length mismatch in the column name table_name. Please run mysql_upgrade

Please run mysql_upgradeと有るようにupgradeを実行すれば良いようだ。

何も考えずに実行

# mysql_upgrade
Version check failed. Got the following error when calling the 'mysql' command line client
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
FATAL ERROR: Upgrade failed

ああ・・ユーザーとパスワードですね・・・。

再度実行

# mysql_upgrade -u root -p
Enter password:
Phase 1/7: Checking and upgrading mysql database
Processing databases

mysql
mysql.column_stats OK
mysql.columns_priv OK
mysql.db OK
mysql.event OK
mysql.func OK
mysql.gtid_slave_pos OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
mysql.index_stats OK
mysql.innodb_index_stats OK
mysql.innodb_table_stats OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK
mysql.table_stats OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.transaction_registry OK
mysql.user OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
Processing databases
information_schema
続きを読む "MariaDBでPlease run mysql_upgradeのエラーが大量に出ていた。"

xorgxrdpの依存関係でupdate失敗したので対処

Xwindowが入っているサーバーのupdateを実行しようとして依存関係でこけたのでメモ
check-updateが通ったので-yをつけて実行すると↓の状況でこける

---> パッケージ xorgxrdp.x86_64 0:0.2.8-1.el7 を 更新
---> パッケージ xorgxrdp.x86_64 0:0.2.8-3.el7 を アップデート
--> 依存性の処理をしています: xorg-x11-server-Xorg(x86-64) = 1.20.1 のパッケージ: xorgxrdp-0.2.8-3.el7.x86_64
--> 依存性解決を終了しました。
--> トランザクションの確認を実行しています。
---> パッケージ kernel-ml.x86_64 0:4.18.9-1.el7.elrepo を 削除
---> パッケージ kernel-ml-devel.x86_64 0:4.18.9-1.el7.elrepo を 削除
---> パッケージ xorgxrdp.x86_64 0:0.2.8-3.el7 を アップデート
--> 依存性の処理をしています: xorg-x11-server-Xorg(x86-64) = 1.20.1 のパッケージ: xorgxrdp-0.2.8-3.el7.x86_64
--> 依存性解決を終了しました。
エラー: パッケージ: xorgxrdp-0.2.8-3.el7.x86_64 (epel)
要求: xorg-x11-server-Xorg(x86-64) = 1.20.1
インストール: xorg-x11-server-Xorg-1.19.5-5.1.el7_5.0.1.x86_64 (@updates)
xorg-x11-server-Xorg(x86-64) = 1.19.5-5.1.el7_5.0.1
利用可能: xorg-x11-server-Xorg-1.19.5-5.el7.x86_64 (base)
xorg-x11-server-Xorg(x86-64) = 1.19.5-5.el7
利用可能: xorg-x11-server-Xorg-1.19.5-5.1.el7_5.x86_64 (updates)
xorg-x11-server-Xorg(x86-64) = 1.19.5-5.1.el7_5
問題を回避するために --skip-broken を用いることができます。
これらを試行できます: rpm -Va --nofiles --nodigest

xorg-x11-server-Xorgのバージョンが1.20.1を要求しているのに
標準のリポジトリだと1.19.5-5.1.el7_5.0.1までしか提供されておらずupdateに失敗する。

海外のサイトを見ると「ミラーサイトで提供が始まっているから待った方が良い」
みたいな事が書いてありましたが一日w待っても
提供されないのですぐに対処してみた。

まずはお約束のリポジトリの清掃

# yum clean all
読み込んだプラグイン:fastestmirror, langpacks
リポジトリーを清掃しています: base elrepo elrepo-kernel epel extras mariadb
...: nginx remi-php72 remi-safe skype-stable updates zabbix
...: zabbix-non-supported
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors

そしてパッケージが降ってくるか確認
CentOS-CRリポジトリを使用します。
CRリポジトリを開放してupdateすると一気にたくさんupdateがかかって怖いので
updateに引っかかったパッケージのみを対象にしました。

続きを読む "xorgxrdpの依存関係でupdate失敗したので対処"

abrtからのエラーが大量に出力されていた

/var/log/messagesをふと見ると↓の様にabrtが出力するエラーが大量に出ていたので対処

Aug 15 10:35:09 hogehoge abrt-server: 'post-create' on '/var/spool/abrt/Python-2018-08-15-10:35:09-18051' exited with 1
Aug 15 10:35:09 hogehoge abrt-server: Deleting problem directory '/var/spool/abrt/Python-2018-08-15-10:35:09-18051'
Aug 15 10:35:09 hogehoge python: detected unhandled Python exception in '/etc/munin/plugins/nginx_upstream_multi_'
Aug 15 10:35:09 hogehoge abrt-server: Not saving repeating crash in '/etc/munin/plugins/nginx_upstream_multi_'
Aug 15 10:40:06 hogehoge python: detected unhandled Python exception in '/etc/munin/plugins/nginx_upstream'
Aug 15 10:40:06 hogehoge abrt-server: Executable '/etc/munin/plugins/nginx_upstream' doesn't belong to any package and ProcessUnpackaged is set to 'no'
Aug 15 10:40:06 hogehoge abrt-server: 'post-create' on '/var/spool/abrt/Python-2018-08-15-10:40:06-18758' exited with 1
Aug 15 10:40:06 hogehoge abrt-server: Deleting problem directory '/var/spool/abrt/Python-2018-08-15-10:40:06-18758'
Aug 15 10:40:09 hogehoge python: detected unhandled Python exception in '/etc/munin/plugins/nginx_upstream_multi_'
Aug 15 10:40:09 hogehoge abrt-server: Executable '/etc/munin/plugins/nginx_upstream_multi_' doesn't belong to any package and ProcessUnpackaged is set to 'no'

ログで指摘がある様にabrtの設定でProcessUnpackagedをnoにするとyumでインストールされていない場合でもコアダンプを取るそうです。
また、OpenGPGCheckをnoにするとすべてのプログラムにおけるクラッシュを取得を取得するそうです。

それを踏まえて以下のabrt-action-save-package-data.confを編集

# diff abrt-action-save-package-data.conf*
13,14c13
< #OpenGPGCheck = yes
< OpenGPGCheck = no
---
> OpenGPGCheck = yes
22,23c21
< #ProcessUnpackaged = no
< ProcessUnpackaged = yes
---
> ProcessUnpackaged = no

こんな感じです。
abrtd再起動
# service abrtd restart

しばしmessegesをtailして様子を見ていると
新たなログが・・・ログが日本語なのはちょっとあれですね・・

Aug 15 22:15:09 hogehoge python: detected unhandled Python exception in '/etc/munin/plugins/nginx_upstream_multi_'
Aug 15 22:15:09 hogehoge abrt-server: sender の電子メールアドレスが指定されませんでした。今すぐ設定したいですか? 設定しなければ、'user@localhost' が使用されます。 [y/N]
Aug 15 22:15:09 hogehoge abrt-server: receiver の電子メールアドレスが指定されませんでした。今すぐ設定したいですか? 設定しなければ、'root@localhost' が使用されます。 [y/N]
Aug 15 22:15:09 hogehoge abrt-server: Undefined variable outside of [[ ]] bracket
Aug 15 22:15:09 hogehoge abrt-server: 電子メールを送信しています... 
Aug 15 22:15:09 hogehoge abrt-server: 電子メール通知を送信しています: root@localhost
Aug 15 22:15:09 hogehoge abrt-server: 電子メールが送信されました: root@localhost

pythonのエラーはあとでやるとしてabrtのメール送信設定がされてないようです。した覚えもないですからね・・・。
以下のconfでメールの設定をします。

# grep -v "#" /etc/libreport/plugins/mailx.conf
EmailFrom=root@hogehoge.net
EmailTo=hogehoge@hoge.com

abrtを再起動

# service abrtd restart

再度様子を見ていると、abrtからメール送信完了のログが・・・正直うざいっす。。。。

Aug 15 23:00:09 hogehoge abrt-server: 電子メールを送信しています... 
Aug 15 23:00:09 hogehoge abrt-server: 電子メール通知を送信しています: hogehoge@hoge.com
Aug 15 23:00:09 hogehoge abrt-server: 電子メールが送信されました: hogehoge@hoge.com

他にも出ているabrtのエラーを解決しない事には5分おきにメールが来ることになります。。

Nutanixのwindows VMでVMXを有効にする。

Nutanix上のwindows VMでVMX Virtual Machine Extensionsを有効にする。
NutanixのVMはbios画面に入れないのでCoreinfoをダウンロードをwindowsにダウンロード
落としてきたCoreinfo.exeをコマンドプロンプトやPower shellにドラッグ&ドロップして起動

Nutanix vmx 有効
Nutanix vmx 有効

そうすると現在のCPUやらメモリの設定が見れます。
Nutanix vmx 有効
Nutanix vmx 有効

*が有効で-が無効 なので、VMXはこのVMでは無効です。

有効にする為にVMを停止して作業開始です。

NutanixのCVMにログインしacliを起動
以下のコマンドを流します。
vm.update 対象のVM名 cpu_passthrough=true

nutanix@NTNX-CVM:192.168.5.1:~$ acli
vm.update windows-server cpu_passthrough=true
windows-server : complete

completeと出れば完了

VMを起動し再度Coreinfoで確認

Nutanix vmx 有効
Nutanix vmx 有効

VMXの所が*になっているので有効になりました。

終了