RHEL8/CentOS8の標準samba 4.12では新規Active Directoryサーバの構築は非サポート?

RHEL8/CentOS8/Oracle Linux 8で用意されているsambaパッケージを使ってActive Direcotryサーバを立てることができるか確認してみた。

公式資料:[Red Hat Enterprise Linux 8 にさまざまな種類のサーバーをデプロイするためのガイド]-[第3章 SAMBA をサーバーとして使用]

まずは、パッケージのインストール

# yum install samba
<略>
# rpm -qa|grep samba
samba-libs-4.12.3-12.el8.3.x86_64
samba-common-4.12.3-12.el8.3.noarch
samba-client-libs-4.12.3-12.el8.3.x86_64
samba-common-tools-4.12.3-12.el8.3.x86_64
samba-common-libs-4.12.3-12.el8.3.x86_64
samba-4.12.3-12.el8.3.x86_64
#

で、RHEL8/CentOS8での特徴の1つ、「samba-toolが無い」問題。

じゃぁ、どうするの?と前出のマニュアル見てみれば手動で /etc/samba/smb.conf を編集している。

初期状態でどんな設定になるのか

[root@samba48 ~]# ls -l /etc/samba/
合計 20
-rw-r--r--. 1 root root    20  8月 18 05:50 lmhosts
-rw-r--r--. 1 root root   706  8月 18 05:50 smb.conf
-rw-r--r--. 1 root root 11327  8月 18 05:50 smb.conf.example
[root@samba48 ~]# cat /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775
[root@samba48 ~]#

参考まで、samba-toolsで作った場合のsmb.confは下記の様になっている。

# Global parameters
[global]
        dns forwarder = 上DNSサーバIPアドレス
        netbios name = samba48
        realm = testad2.local
        server role = active directory domain controller
        workgroup = TESTAD2
        idmap_ldb:use rfc2307 = yes
        allow dns updates = nonsecure
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate dns
        ldap server require strong auth = no

[netlogon]
        path = /usr/local/samba/var/locks/sysvol/testad2.local/scripts
        read only = No

[sysvol]
        path = /usr/local/samba/var/locks/sysvol
        read only = No

で、[第3章 SAMBA をサーバーとして使用]を見ると、「スタンドアローンサーバとして単独WORKGROUPをたてる場合」と「既存Active Directory環境にメンバーサーバとして参加する場合」しか用意されておらず、「新規Active Directory環境を作る場合」というものが無い。

samba-toolコマンドを使用しない場合のActive Directory構築手順も見当たらないため、RHEL8/CentOS8が標準で用意しているsambaパッケージを使用しての構築はできないようだ。


CentOS8の場合「yum search samba」でパッケージ検索すると、「centos-releae-samba41?」といった追加レポジトリが出てくる。

[root@samba48 ~]# yum search samba
メタデータの期限切れの最終確認: 0:30:30 時間前の 2021年01月21日 09時31分03秒 に実施しました。
==================================== 名前 完全一致: samba ====================================
samba.x86_64 : Server and Client software to interoperate with Windows machines
================================== 名前 & 概要 一致: samba ===================================
centos-release-samba411.noarch : Samba 4.11 packages from the CentOS Storage SIG repository
centos-release-samba412.noarch : Samba 4.12 packages from the CentOS Storage SIG repository
centos-release-samba413.noarch : Samba 4.13 packages from the CentOS Storage SIG repository
ipa-client-samba.x86_64 : Tools to configure Samba on IPA client
pcp-pmda-samba.x86_64 : Performance Co-Pilot (PCP) metrics for Samba
python3-samba.i686 : Samba Python3 libraries
python3-samba.x86_64 : Samba Python3 libraries
python3-samba-test.x86_64 : Samba Python libraries
samba-client.x86_64 : Samba client programs
samba-client-libs.x86_64 : Samba client libraries
samba-client-libs.i686 : Samba client libraries
samba-common.noarch : Files used by both Samba servers and clients
samba-common-libs.x86_64 : Libraries used by both Samba servers and clients
samba-common-tools.x86_64 : Tools for Samba servers and clients
samba-krb5-printing.x86_64 : Samba CUPS backend for printing with Kerberos
samba-libs.x86_64 : Samba libraries
samba-libs.i686 : Samba libraries
samba-test.x86_64 : Testing tools for Samba servers and clients
samba-test-libs.x86_64 : Libraries need by the testing tools for Samba servers and clients
samba-winbind.x86_64 : Samba winbind
samba-winbind-clients.x86_64 : Samba winbind clients
samba-winbind-krb5-locator.x86_64 : Samba winbind krb5 locator
samba-winbind-modules.i686 : Samba winbind modules
samba-winbind-modules.x86_64 : Samba winbind modules
====================================== 名前 一致: samba ======================================
samba-pidl.noarch : Perl IDL compiler
====================================== 概要 一致: samba ======================================
ctdb.x86_64 : A Clustered Database based on Samba's Trivial Database (TDB)
[root@samba48 ~]#

centos-release-samba413をインストールしてみる

[root@samba48 ~]# yum install centos-release-samba413
メタデータの期限切れの最終確認: 1:32:19 時間前の 2021年01月21日 09時31分03秒 に実施しました。
依存関係が解決しました。
==============================================================================================
 パッケージ                            Arch           バージョン         リポジトリー   サイズ
==============================================================================================
インストール:
 centos-release-samba413               noarch         1.0-1.el8          extras         8.8 k
依存関係のインストール:
 centos-release-storage-common         noarch         2-2.el8            extras         9.4 k

トランザクションの概要
==============================================================================================
インストール  2 パッケージ

ダウンロードサイズの合計: 18 k
インストール済みのサイズ: 2.0 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/2): centos-release-samba413-1.0-1.el8.noarch.rpm           231 kB/s | 8.8 kB     00:00
(2/2): centos-release-storage-common-2-2.el8.noarch.rpm       252 kB/s | 9.4 kB     00:00
----------------------------------------------------------------------------------------------
合計                                                           31 kB/s |  18 kB     00:00
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                      1/1
  インストール     : centos-release-storage-common-2-2.el8.noarch                         1/2
  インストール     : centos-release-samba413-1.0-1.el8.noarch                             2/2
  scriptletの実行中: centos-release-samba413-1.0-1.el8.noarch                             2/2
  検証             : centos-release-samba413-1.0-1.el8.noarch                             1/2
  検証             : centos-release-storage-common-2-2.el8.noarch                         2/2

インストール済み:
  centos-release-samba413-1.0-1.el8.noarch    centos-release-storage-common-2-2.el8.noarch

完了しました!
[root@samba48 ~]#

そうすると、インストールされていたsmba 4.12がアップデートできるようになりました

[root@samba48 ~]# yum check-update
メタデータの期限切れの最終確認: 0:02:42 時間前の 2021年01月21日 11時03分56秒 に実施しました。

libwbclient.x86_64                            4.13.3-1.el8                     centos-samba413
samba.x86_64                                  4.13.3-1.el8                     centos-samba413
samba-client-libs.x86_64                      4.13.3-1.el8                     centos-samba413
samba-common.noarch                           4.13.3-1.el8                     centos-samba413
samba-common-libs.x86_64                      4.13.3-1.el8                     centos-samba413
samba-common-tools.x86_64                     4.13.3-1.el8                     centos-samba413
samba-libs.x86_64                             4.13.3-1.el8                     centos-samba413
[root@samba48 ~]#

yum updateすると、「/sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません」って出てるけど、これは大丈夫なんだろうか….

[root@samba48 ~]# yum update -y
メタデータの期限切れの最終確認: 0:03:30 時間前の 2021年01月21日 11時03分56秒 に実施しました。
依存関係が解決しました。
==============================================================================================
 パッケージ                Arch    バージョン                          リポジトリー     サイズ
==============================================================================================
アップグレード:
 libwbclient               x86_64  4.13.3-1.el8                        centos-samba413   37 k
 samba                     x86_64  4.13.3-1.el8                        centos-samba413  757 k
 samba-client-libs         x86_64  4.13.3-1.el8                        centos-samba413  5.5 M
 samba-common              noarch  4.13.3-1.el8                        centos-samba413  135 k
 samba-common-libs         x86_64  4.13.3-1.el8                        centos-samba413  124 k
 samba-common-tools        x86_64  4.13.3-1.el8                        centos-samba413  416 k
 samba-libs                x86_64  4.13.3-1.el8                        centos-samba413  110 k
依存関係のインストール:
 checkpolicy               x86_64  2.9-1.el8                           baseos           348 k
 glusterfs                 x86_64  6.0-37.2.el8                        baseos           662 k
 glusterfs-api             x86_64  6.0-37.2.el8                        appstream         95 k
 glusterfs-client-xlators  x86_64  6.0-37.2.el8                        baseos           870 k
 glusterfs-libs            x86_64  6.0-37.2.el8                        baseos           413 k
 python3-audit             x86_64  3.0-0.17.20191104git1c2f876.el8     baseos            86 k
 python3-libsemanage       x86_64  2.9-3.el8                           baseos           127 k
 python3-policycoreutils   noarch  2.9-9.el8                           baseos           2.2 M
 python3-setools           x86_64  4.3.0-2.el8                         baseos           626 k
 samba-vfs-glusterfs       x86_64  4.13.3-1.el8                        centos-samba413   40 k

トランザクションの概要
==============================================================================================
インストール    10 パッケージ
アップグレード   7 パッケージ

ダウンロードサイズの合計: 12 M
パッケージのダウンロード:
(1/17): glusterfs-api-6.0-37.2.el8.x86_64.rpm                 1.2 MB/s |  95 kB     00:00
(2/17): checkpolicy-2.9-1.el8.x86_64.rpm                      1.4 MB/s | 348 kB     00:00
(3/17): glusterfs-6.0-37.2.el8.x86_64.rpm                     2.4 MB/s | 662 kB     00:00
(4/17): python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64. 3.0 MB/s |  86 kB     00:00
(5/17): python3-libsemanage-2.9-3.el8.x86_64.rpm              3.2 MB/s | 127 kB     00:00
(6/17): glusterfs-libs-6.0-37.2.el8.x86_64.rpm                3.4 MB/s | 413 kB     00:00
(7/17): glusterfs-client-xlators-6.0-37.2.el8.x86_64.rpm      2.5 MB/s | 870 kB     00:00
(8/17): python3-setools-4.3.0-2.el8.x86_64.rpm                4.4 MB/s | 626 kB     00:00
(9/17): samba-vfs-glusterfs-4.13.3-1.el8.x86_64.rpm           253 kB/s |  40 kB     00:00
(10/17): libwbclient-4.13.3-1.el8.x86_64.rpm                  379 kB/s |  37 kB     00:00
(11/17): samba-4.13.3-1.el8.x86_64.rpm                        2.4 MB/s | 757 kB     00:00
(12/17): python3-policycoreutils-2.9-9.el8.noarch.rpm         3.9 MB/s | 2.2 MB     00:00
(13/17): samba-common-4.13.3-1.el8.noarch.rpm                 2.6 MB/s | 135 kB     00:00
(14/17): samba-common-libs-4.13.3-1.el8.x86_64.rpm            1.4 MB/s | 124 kB     00:00
(15/17): samba-common-tools-4.13.3-1.el8.x86_64.rpm           3.2 MB/s | 416 kB     00:00
(16/17): samba-libs-4.13.3-1.el8.x86_64.rpm                   1.4 MB/s | 110 kB     00:00
(17/17): samba-client-libs-4.13.3-1.el8.x86_64.rpm            5.0 MB/s | 5.5 MB     00:01
----------------------------------------------------------------------------------------------
合計                                                          4.2 MB/s |  12 MB     00:02
警告: /var/cache/dnf/centos-samba413-5ae787790677bc21/packages/samba-vfs-glusterfs-4.13.3-1.el8.x86_64.rpm: ヘッダー V4 RSA/SHA1 Signature、鍵 ID e451e5b5: NOKEY
CentOS-8 - Samba 4.13                                         1.0 MB/s | 1.0 kB     00:00
GPG 鍵 0xE451E5B5 をインポート中:
 Userid     : "CentOS Storage SIG (http://wiki.centos.org/SpecialInterestGroup/Storage) <security@centos.org>"
 Fingerprint: 7412 9C0B 173B 071A 3775 951A D4A2 E50B E451 E5B5
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage
鍵のインポートに成功しました
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                      1/1
  scriptletの実行中: samba-common-4.13.3-1.el8.noarch                                     1/1
  scriptletの実行中: samba-common-4.13.3-1.el8.noarch                                    1/24
  アップグレード   : samba-common-4.13.3-1.el8.noarch                                    1/24
  scriptletの実行中: samba-common-4.13.3-1.el8.noarch                                    1/24
  アップグレード   : samba-common-libs-4.13.3-1.el8.x86_64                               2/24
  scriptletの実行中: samba-common-libs-4.13.3-1.el8.x86_64                               2/24
  アップグレード   : samba-client-libs-4.13.3-1.el8.x86_64                               3/24
  scriptletの実行中: samba-client-libs-4.13.3-1.el8.x86_64                               3/24
/sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません


  アップグレード   : libwbclient-4.13.3-1.el8.x86_64                                     4/24
  アップグレード   : samba-libs-4.13.3-1.el8.x86_64                                      5/24
  scriptletの実行中: samba-libs-4.13.3-1.el8.x86_64                                      5/24
/sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません


  インストール     : glusterfs-libs-6.0-37.2.el8.x86_64                                  6/24
  scriptletの実行中: glusterfs-libs-6.0-37.2.el8.x86_64                                  6/24
/sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません


  scriptletの実行中: glusterfs-6.0-37.2.el8.x86_64                                       7/24
  インストール     : glusterfs-6.0-37.2.el8.x86_64                                       7/24
  scriptletの実行中: glusterfs-6.0-37.2.el8.x86_64                                       7/24
/sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません


  インストール     : glusterfs-client-xlators-6.0-37.2.el8.x86_64                        8/24
  インストール     : glusterfs-api-6.0-37.2.el8.x86_64                                   9/24
  scriptletの実行中: glusterfs-api-6.0-37.2.el8.x86_64                                   9/24
/sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません


  アップグレード   : samba-common-tools-4.13.3-1.el8.x86_64                             10/24
  インストール     : python3-setools-4.3.0-2.el8.x86_64                                 11/24
  インストール     : python3-libsemanage-2.9-3.el8.x86_64                               12/24
  インストール     : python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64               13/24
  インストール     : checkpolicy-2.9-1.el8.x86_64                                       14/24
  インストール     : python3-policycoreutils-2.9-9.el8.noarch                           15/24
  アップグレード   : samba-4.13.3-1.el8.x86_64                                          16/24
  scriptletの実行中: samba-4.13.3-1.el8.x86_64                                          16/24
  インストール     : samba-vfs-glusterfs-4.13.3-1.el8.x86_64                            17/24
  scriptletの実行中: samba-4.12.3-12.el8.3.x86_64                                       18/24
  整理             : samba-4.12.3-12.el8.3.x86_64                                       18/24
  scriptletの実行中: samba-4.12.3-12.el8.3.x86_64                                       18/24
  整理             : samba-common-tools-4.12.3-12.el8.3.x86_64                          19/24
  整理             : samba-libs-4.12.3-12.el8.3.x86_64                                  20/24
  整理             : samba-common-libs-4.12.3-12.el8.3.x86_64                           21/24
  整理             : samba-client-libs-4.12.3-12.el8.3.x86_64                           22/24
  scriptletの実行中: libwbclient-4.12.3-12.el8.3.x86_64                                 23/24
  整理             : libwbclient-4.12.3-12.el8.3.x86_64                                 23/24
  整理             : samba-common-4.12.3-12.el8.3.noarch                                24/24
  scriptletの実行中: libwbclient-4.13.3-1.el8.x86_64                                    24/24
  scriptletの実行中: samba-vfs-glusterfs-4.13.3-1.el8.x86_64                            24/24
  scriptletの実行中: samba-common-4.12.3-12.el8.3.noarch                                24/24
  検証             : glusterfs-api-6.0-37.2.el8.x86_64                                   1/24
  検証             : checkpolicy-2.9-1.el8.x86_64                                        2/24
  検証             : glusterfs-6.0-37.2.el8.x86_64                                       3/24
  検証             : glusterfs-client-xlators-6.0-37.2.el8.x86_64                        4/24
  検証             : glusterfs-libs-6.0-37.2.el8.x86_64                                  5/24
  検証             : python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64                6/24
  検証             : python3-libsemanage-2.9-3.el8.x86_64                                7/24
  検証             : python3-policycoreutils-2.9-9.el8.noarch                            8/24
  検証             : python3-setools-4.3.0-2.el8.x86_64                                  9/24
  検証             : samba-vfs-glusterfs-4.13.3-1.el8.x86_64                            10/24
  検証             : libwbclient-4.13.3-1.el8.x86_64                                    11/24
  検証             : libwbclient-4.12.3-12.el8.3.x86_64                                 12/24
  検証             : samba-4.13.3-1.el8.x86_64                                          13/24
  検証             : samba-4.12.3-12.el8.3.x86_64                                       14/24
  検証             : samba-client-libs-4.13.3-1.el8.x86_64                              15/24
  検証             : samba-client-libs-4.12.3-12.el8.3.x86_64                           16/24
  検証             : samba-common-4.13.3-1.el8.noarch                                   17/24
  検証             : samba-common-4.12.3-12.el8.3.noarch                                18/24
  検証             : samba-common-libs-4.13.3-1.el8.x86_64                              19/24
  検証             : samba-common-libs-4.12.3-12.el8.3.x86_64                           20/24
  検証             : samba-common-tools-4.13.3-1.el8.x86_64                             21/24
  検証             : samba-common-tools-4.12.3-12.el8.3.x86_64                          22/24
  検証             : samba-libs-4.13.3-1.el8.x86_64                                     23/24
  検証             : samba-libs-4.12.3-12.el8.3.x86_64                                  24/24

アップグレード済み:
  libwbclient-4.13.3-1.el8.x86_64               samba-4.13.3-1.el8.x86_64
  samba-client-libs-4.13.3-1.el8.x86_64         samba-common-4.13.3-1.el8.noarch
  samba-common-libs-4.13.3-1.el8.x86_64         samba-common-tools-4.13.3-1.el8.x86_64
  samba-libs-4.13.3-1.el8.x86_64

インストール済み:
  checkpolicy-2.9-1.el8.x86_64          glusterfs-6.0-37.2.el8.x86_64
  glusterfs-api-6.0-37.2.el8.x86_64     glusterfs-client-xlators-6.0-37.2.el8.x86_64
  glusterfs-libs-6.0-37.2.el8.x86_64    python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64
  python3-libsemanage-2.9-3.el8.x86_64  python3-policycoreutils-2.9-9.el8.noarch
  python3-setools-4.3.0-2.el8.x86_64    samba-vfs-glusterfs-4.13.3-1.el8.x86_64

完了しました!
[root@samba48 ~]#

まぁ、アップデート完了してもsamba-tool はいませんでしたけどね

[root@samba48 ~]# which samba-tool
/usr/bin/which: no samba-tool in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@samba48 ~]#

というわけで、おとなしくsambaをソースからコンパイルするしかなさそうです。

ESXi上のNutanix CE AHVをアップデートした

ESXi上にNutanix CE AHVをインストールした」でインストールしたNutanix CE環境をアップデートしてみた。

2021/03/17追記: CE 5.11からCE 5.18へのアップデートを行い、その時のキャプチャも追加した

トラブルポイントのまとめ

なんとなく手順を進めていったらいくつかキツイ問題が発生してアップデートプロセスが止まったりした。今回発生した問題は下記3点

・AHVのrootパーテーション容量が足らない
・AHV内の標準仮想マシン設定にあるPC Typeが初期値に戻るので既存の仮想マシンが起動しない
・AHV内のCVM仮想マシン設定にあるPC Typeがpc-i440fx-rhel7.3.0になり起動しない
・CVM仮想マシンのメモリが12GBだとサービスが起動しない

なお、調査の際に参考になったページ「Nutanix CE: Cannot Start VM」「Guest VM Running in Nested Nutanix CE on VMware vSphere Won’t Boot

CVM仮想マシン上のサービスが起動しないあたりは「PRISM SERVICES HAVE NOT STARTED YET. PLEASE TRY AGAIN LATER

実際に実施した手順はもっといろいろあったが、完了後に、たぶんこの順序で実施すれば大丈夫だったんだろう、というものを下記に手順として残す。

手順1 アップデータ入手

Download Community Edition (CE-2020.09.16/CE 5.18)」もしくは「Download Nutanix CE, Docs, and Guides (CE-2019.11.22/CE 5.11.1.2)」から下記のファイルをダウンロード。

・「Metadata for AOS, AHV upgrades and PC deployment」のce-2020.09.16-metadata.zip か ce-2019.11.22-metadata.zipを展開してjsonファイルを取りだしておく
・「AOS Upgrade」(ce-pc-upgrade-2020.09.16.tar.gz か ce-2019.11.22-upgrade.tar.gzのままで使う)
・「AHV Upgrade」(CE 5.18ではLCMからの操作に変更。CE5.11.1.2は host-bundle-el7.nutanix.20191030.415.tar.gz のままで使う)

手順2 CVM仮想マシンの自動起動を止める

この後、何回かNutanix CE仮想マシンを再起動する。その際にCVM仮想マシンの起動が完了するのを待っていると時間がかかるので、自動起動を止める。

「virsh list –all」でCVM仮想マシンのIDを確認して、「virsh autostart <ID> –disable」と実行すると自動起動が止まる。

手順3 Nutanix CE仮想マシンのディスク拡大

AHVのrootパーテーションの空き容量が足らない為アップデートが失敗することがある。

その場合はvSphere側でNutanix CE仮想マシンのディスクサイズを拡大する。

たぶん、ハードディスク1は10GB未満だと失敗するので12GB程度にする。

標準の「ハードディスク1」が約7GBとなっている。

これを、12GBに増やす。

変更後、Nutanix CE仮想マシンを再起動する。

再起動後、vSphereのコンソールを開き「root」ユーザでログインする。デフォルトパスワードは「nutanix/4u」

ログイン後、現在のディスク使用状況と、システムディスクである/dev/sdaのパーテーション構成を確認する。

「df -h」と「fdisk -l /dev/sda」を実行する。

パーテーション変更は「fdisk /dev/sda」を実行して行う。

既存のパーテーションを「d」で消して、新しいパーテーションを作成しなおす、という形になる。

bootフラグのセットも忘れずに

最後は「w」で書き込みを実行する。

再起動しないと新しいパーテーションで認識してくれないので、再度Nutanix CE仮想マシンを再起動する。

再起動後、再度「fdisk -l /dev/sda」と「df -h」を実行してみると、fdiskの方は新しいディスクサイズで認識しているが、rootパーテーションはまだ古い容量のままとなっている。

「resize2fs /dev/sda1」を実行してファイルシステムの拡張を行い、新しいディスク容量が反映される。

手順4 CVM仮想マシンの自動起動を戻す

AHV内のCVM仮想マシンの自動起動設定を戻し、自動起動するようにする。

「virsh list –all」でCVM仮想マシンのNameを確認して、「virsh autostart <Name>」を実行する。(起動していない場合はIdが割り当てられていないので、Nameで指定する必要がある)

自動自動設定ができたかどうかは「/etc/libvirt/qemu/autostart/」にXMLファイルがあるかで確認する。

「virsh start <Name>」でCVM仮想マシンを起動するか、rebootでNutanix CE仮想マシンを再起動する。

手順5 AOSアップデート

Nutanixにログインして「設定」の「ソフトウェアアップグレード」にある「AOS」を開く。

「AOS base softwareバイナリをアップロード」のリンクをクリック

AOS BASE SOFTWAREメタデータファイルは「ce-aos-upgrade-2020.09.16-metadata.json」か「ce-2019.11.22-upgrade-metadata.json」
AOS BASE SOFTWAREバイナリファイルは「ce-aos-upgrade-2020.09.16.tar」か「ce-2019.11.22-upgrade.tar.gz」
を指定する。

「今すぐアップロード」をクリックする。

上記の様になったらアップロード成功。

「Upgrade Now」を選択してアップデートを開始する。

アップグレードが進んでいきます。

ちなみに「Nothing To Do?」は下記の2048ゲームが表示されます。

途中、CVM仮想マシンの再起動などがあり、完了します。

手順6 Hypervisorのアップデート(CE 5.18の場合)

CE5.18では「LCM」にHypervisorのアップデートが移動している。

「LCM」の「Inventory」タブを開く

「Perform Inventory」を選択し、実行

Inventory終了後、「Updates」の「Software」に移動すると、アップデート可能なソフトウェア一覧が表示されている。

チェックをいれて「Update」ボタンを押す

適用確認で「Apply ? Updates」をクリック

アップデートが適用されるのを待つ

途中でhypervisorの再起動が2回実行されるので「Unable to reach server. Please check your network connection」という表示がしばらく出続けるが無視しておく

…とはいえ、30分以上経過しても表示上は↑の38%から変化しないのは不安なので、念のためログインしなおしてみても表示は変わらずでした。

45分ぐらい経過したところで、ようやく64%に進みました。

約1時間で終了

手順6 Hypervisorのアップデート(CE 5.11の場合)

CE 5.11ではNutanixの「設定」の「ソフトウェアアップグレード」にある「Hypervisor」を選択。

「upload a Hypervisor Binary」をクリックし、下記の選択をして「今すぐアップロード」する。

HYPERVISOR メタデータファイル「host-bundle-el7.nutanix.20191030.415-metadata.json」
HYPERVISOR バイナリファイル「host-bundle-el7.nutanix.20191030.415.tar.gz」

続いて、「Upgrade Now」を実施する。

で、アップグレードが進んでいきます。

たぶん、下記の様な「71%」から30分以上待っても進まないと思います。

いまの状態はHypervisorはアップデートできたものの、その上のCVM仮想マシンが起動していない状態となります。

手順7 AHV上の仮想マシンの標準設定の修正

vSphere上でNutanix CE 5.11を稼働させた場合、標準設定の状態ではNutanix上で作成した仮想マシンが起動しませんでした。

CE5.11で起動させるためには、「/var/cache/libvirt/qemu/capabilities/3c76bc41d59c0c7314b1ae8e63f4f765d2cf16abaeea081b3ca1f5d8732f7bb1.xml」 のalias=’pc’をpc-i440fx-rhel7.2.0の行に付け直します操作が必要でした。

該当ファイルは下記の様な形になっていて、「alias=’pc’」がpc-i440fx-rhel7.3.0の行についています。

これを「pc-i440fx-rhel7.2.0」の行に「alias=’pc’」設定を移動させます。

手順としては、pc-i440fx-rhel7.3.0の行をpc-i440fx-rhel7.2.0書き換えて、既存のpc-i440fx-rhel7.2.0設定を削除するのが簡単でしょう。

画像

CE5.18の場合は、pc-i440fx-rhel7.6.0 にalias=’pc’ がありました。CE 5.11を稼働させた時のESXiサーバとハードウェアが異なっているせいかどうかわかりませんでしたが、pc-i440fx-rhel7.6.0設定のままで動いたので、そのままにしています。

もし、動かない場合は、pc-i440fx-rhel7.2.0 に移動挿せてみてください。

手順8 AHV上のCVM仮想マシン設定の修正

CE5.11へのアップデート時は、CVM仮想マシンの仮想マシンタイプ設定が「pc-i440fx-rhel7.3.0」に設定されていました。(CE5.18へのアップデート時は、pc-i440fx-rhel7.2.0設定のままでした)

設定の確認は「virsh dumpxml <name>|less」で行います。
設定変更は「virsh edit <Name>」となります。

viコマンドでxmlファイルが開かれますので、「pc-i440fx-rhel7.3.0」を「pc-i440fx-rhel7.2.0」に書き換えて保存します。

また、「<memory unit=’KiB’>~</memory>」のメモリ容量を増加させます。Nutanix CE標準だと最低28GBとなっているようです。

参考としてGUIから設定できるCVMに割り当てられる容量は下記の様になっています。

これ以外の値に変更したい場合は、直接xmlを書き換えます。今回は約26GBで設定しています。

この後、CVM仮想マシンを再起動します

面倒ならNutanix CE仮想マシンごとrebootします。

手順9 終了

Hyper-V第2世代仮想マシンにWindows Server 2012R2をインストールしたらKB3000850適用に失敗する

Windows Server 2016を立てて、Hyper-V上にWindows Server 2012R2仮想マシンを作ろうとしたら、うまくいかない事例が発生。

オンラインのWindows Update実施ではなく、某社が用意した一括適用バッチファイルを実行して適用したところ、必ず適用に失敗し、元に戻す処理が発生するした。

提供されたバッチファイルを分割しまくり、原因を調査していったところ、KB3000850の適用に失敗していることを発見。

問題のKB「Windows RT 8.1、Windows 8.1 および Windows Server 2012 R2 用の 2014 年 11 月付け更新プログラムのロールアップ

既知の事例に第2世代仮想マシンで適用が失敗することが記載されている。

ベースの Windows Server 2012 R2 の HYPER-V ホストを実行して使用して UEFI ファームウェアをサポートする第 2 世代の仮想マシンのゲストを実行しているし、セキュリティで保護されたブート オプションを有効にしたがあります。さらに、ゲスト バーチャル マシンは、Windows Server 2012 R2 を実行しています。

対処方法としてKB2975061「月の 2014 年まで Windows 8.1 および Windows Server 2012 R2 の更新プログラムのサービスを提供」を事前に適用する、とある。

確認してみると、某社提供のパッチ集にKB2975061が含まれていない。

このため、別途KB2975061をダウンロード・適用した後、一度再起動し、そのあとKB3000850を適用したところ、正常に適用が成功した。

このことから、某社提供のパッチ適用スクリプトが問題だったということですね。

あとでWSUS Offline Updateと比較してみよう

Windows Hyper-V仮想マシン上のWindowsライセンス

Hyper-V環境上にWindows Server仮想マシンを導入するとき、「仮想マシンの自動ライセンス認証」という手法により、物理Windows Serverに適用されているプロダクトキーを使用したライセンス認証を行わせることができる。

Windows Server 2022ベースのドキュメント「Windows Server での仮想マシンの自動ライセンス認証」の「AVMA キー」に各Windows Server用のプロダクトキーが掲載されている。

(Windows Server 2012R2ベースのドキュメントだと「Automatic Virtual Machine Activation」)

とりあえず現状認識しているライセンスの確認は「slmgr /dlv」を実行することで確認出来る。

ライセンスの適用は「slmgr /ipk ライセンスキー」で適用できる。

MCTの憂鬱「仮想マシン自動ライセンス認証に関して」を見ると、ホストWindows ServerのアプリケーションログにイベントID 12310 として「仮想マシンの自動ライセンス認証要求」のログが出るらしい。

手元に評価版環境しかなかったので実機検証はできず

vSphere上にRHEL8を日本語でインストールしようとするとインストーラがちゃんと表示されない

vSphere 6.0環境でRHEL8をインストールしようと、日本語インタフェースで進めようとしたら、「インストール概要」の画面以降、仮想コンソールからはみ出た範囲まで使われるようになってしまう。

対処方法を捜索・・・vSphere側の「svga.height」「svga.width」指定ではうまくいかなかったので、Anaconda側のパラメータを「Anaconda Boot Options一覧」から探したところ「inst.resolution」を発見。

起動時のカーネルオプションに対して「inst.resolution=1024×768」を追加することで、下記の様に全てを表示させることに成功した。