Quantcast
Channel: OSAKANA TAROのメモ帳
Viewing all 1104 articles
Browse latest View live

NetBackupのバックアップポリシー名を変更する

$
0
0

Veritas NetBackupでバックアップポリシー名を変更しようと思ったら、GUIにそういった操作が見当たらない。

調べるとコマンド bppolicynew コマンド の-renameto オプションを使うと変更できる、とのこと。

bppolicynew 元のポリシー名 -renameto 新しいポリシー名

という単純なものではあるのですが、複数をいっぺんに変更するとなるとポシリー名を間違わずに入力するのが非常に面倒となる。

バックアップポリシー一覧はbppllist コマンドで出力できるのだが、こいつには検索機能がなく、全部出力か、指定した1つ出力しかなく非常に使いにくい。

特定のバックアップタイプとか、特定のクライアントとかの検索をしやすいようにPowerShellを使って成形することとした。

「bppllist -allpolicies」は人には読みにくい形式ですが、出力される各行についてマニュアル内に解説があるのでそれに従って情報を取得することとした。

今回使用するのは

・CLASS行「フィールド1:ポリシー名」
・INFO行「フィールド1:ポリシータイプ」13=Windows,19=NDMPなど
・INFO行「フィールド11:ポリシーの有効無効」0=有効,1=無効
・INFO行「フィールド19:ポリシーを有効にする日付」(マニュアルは18となってるけど)
・INFO行「フィールド20:クラスID」ポリシー固有のID(マニュアルは19となってるけど)
・CLIENT行「フィールド1:クライアント名」

1つのポリシーに複数のクライアントが設定されている場合、CLIENT行は複数出力されるが、今回の環境ではそのような設定をしていないため考慮していない。

$tempfile = New-TemporaryFile
Start-Process -FilePath "C:\Program Files\Veritas\NetBackup\bin\admincmd\bppllist.exe" -ArgumentList "-allpolicies" -Wait -PassThru -NoNewWindow -RedirectStandardOutput $tempfile

$policyname=""
$policyname2=""

Get-Content $tempfile |ForEach-Object {
    $linetext=$_
    if($linetext.Contains("CLASS ")){
        $policyname2=$policyname
        $policyname=$linetext.Split(" ")[1]
        if($policyname2 -ne ""){
            #Write-Host $policyname2 " " $policytype " " $policyactive " " $policyclassid " " $policyactivedate
            Write-Host $policyclient "`t" "bppolicynew" $policyname2 "-renameto" $policyname2
        }
    }elseif($linetext.Contains("INFO ")){
        $policytype=$linetext.Split(" ")[1]
        $policyactive=$linetext.Split(" ")[11]
        $policyactivedate=$linetext.Split(" ")[19]
        $policyclassid=$linetext.Split(" ")[20]
    }elseif($linetext.Contains("CLIENT ")){
        $policyclient=$linetext.Split(" ")[1]
    }
}
$policyname2=$policyname
#Write-Host $policyname2 " " $policytype " " $policyactive " " $policyclassid " " $policyactivedate
Write-Host "bppolicynew" $policyname2 "-renameto" $policyname2

# New-tempfileを使用している場合は削除を忘れない
Remove-Item -Path $tempfile

なお、powershell上でDOSコマンドを実行するにあたり、ファイル出力をしないで直接PowerShellのパイプ連携を実施しようとしたのだが、実現できなかった。

このため、「-RedirectStandardOutput」で一時ファイルに出力してから処理という形を取っている。


DELL PowerEdge R420/ESXi環境でiDRACのアップデートを行う

$
0
0

ESXi7.0がインストールされているDELL PowerEdge R420のiDRACが更新されていないことに気がついたのでアップデートを試みた

[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp] ./Network_Firmware_7CM1N_LN_21.60.16.BIN -c
Invalid option: --packagepath=/scratch/tmp/Network_Firmware_7CM1N_LN_21.60.16.BIN
Try -h or --help for help.
[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp]

エラー。とりあえずオプションを確認してみる。

[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp] ./Network_Firmware_7CM1N_LN_21.60.16.BIN -h
Command-line options for the Update Package

Usage: <package name> [options...]

Options:

-h,--help     : Display command-line usage help
-c            : Determine if the update can be applied to the system (1)
-f            : Force a downgrade to an older version. (1)(2)
-q            : Execute the update package silently without user intervention
-n            : Execute the update package without security verification
-r            : Reboot if necessary after the update (2)
-v,--version  : Display version information
--list        : Display contents of package (3)
--installpath=<path>    : Install the update package in the specified path only if options (2) and (8)  are supported.

--extract <path> : Extract files to specified path (3)(4)
-qi, --queryinventory   : Inventory if selective update is supported. (2) (5)
-su=<device list> or --selectiveupdate=<device list>    :  give the list of devices to update.(2) (6) (7)
--bmcpath=<value>       : Chooses Inventory/Update path (value specified will be : ipmi - use KCS path or usbnic - use OS-BMC passthrough)

(1) Can NOT use -f with the -c option
(2) Only takes effect if used with -q
(3) Can be used only before extracting the package
(4) Can NOT use --extract with any other option
(5) Can use only with -q option. Can NOT be used with -f, -c, -h, -n, -r, -v, --list, --extract, -su
(6) Can NOT be used with -c, -h, -n, -v, --list, --extract, -qi
(7) Device list should not contain any space.
(8) Only Application DUP supports.
[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp]

とりあえずファイルを展開

[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp] ./iDRAC-with-Lifecycle-Controller_Firmware_0GHF4_LN_2.65.65.65_A00.BIN --extract
 ./idrac
Successfully extracted to ./idrac
[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp] cd idrac/
[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp/idrac] ls
00-secupd-dell.rules      buildVer.sh               package.xml
98-secupdusb.rules        dellIPMI.sh               package.xml.sign
HashOfHashFileList.txt    dellIPMI_msgs.sh          payload
LinuxDepWrapperLinux.bin  disneyinstall.sh          prereqcheck
OSFlavourUtils.sh         dupdisneyinstall.sh       smbiosHelp.txt
PIEConfig.sh              duppmdatacollector.bin    spUtilityHelp.txt
PIEInfo.txt               duputil.sh                spconfig.xml
UdevHal.sh                en.prop                   sphelp.txt
Version.txt               getSystemId               spsetup.sh
bmccfg.def                hapi                      sputility.bin
bmcfwu.cfg                lxhapi.ini                svmExeMsg.xsl
bmcfwul                   mc.txt                    uni-eol.txt
bmcie.sh                  os_mapping.xml
[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp/idrac]

とりあえずduputil.shを実行してみる

[root@esxi70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp/idrac] sh duputil.sh
duputil.sh: line 53: rpm: not found
duputil.sh: line 53: rpm: not found
duputil.sh: line 53: rpm: not found
duputil.sh: line 53: rpm: not found
duputil.sh: line 53: rpm: not found
duputil.sh: line 64: rpm: not found
[root@esxu70:/vmfs/volumes/5ec1e973-8ca56b7a-bafa-90b11c536183/.locker/tmp/idrac]

rpmコマンドを実行しようとして失敗している。

動かないのも当然そうだ。

というわけでおとなしくiDRACのWeb UIからファームウェアアップデート

iDRAC-with-Lifecycle-Controller_Firmware_0GHF4_LN_2.65.65.65_A00.BIN を7zipで開いてpayload/firmimg.d7 を読み込ませるとアップデートできます。

NetApp ONTAP シミュレータ 9.7で起動時にFailed to backup /var to mroot と出力されている

$
0
0

NetApp ONTAP シミュレータ 9.7で起動時にFailed to backup /var to mroot と出力されている。

boot.varfs.backup.issuse : EMERGENCY
Backup of the /var file system failed (cp: /mroot/etc/tmpvarfs.tgz: No space left on device
varfs_backup_restore: Failed to backup /var to mroot (copy old)

/usr/bin/plxcoeff_log: cannot create /mroot/etc/log/plxcoeff/plxcoeff.log.tmp: No space left on device
stat: /mroot/etc/log/plxcoeff/plxcoeff.log.tmp: stat: No such file or directory [: -gt: unexprected operator

参考記事:All SSD based vsim

ログインして確認してみると、/vol/vol0 の空き容量がほぼ無い

とりあえず「system node run -node ノード名 vol size vol0」で現在の容量を確認して、「system node run -node ノード名 vol size vol0 1g」を実行して少し拡張

もうちょっと増やして1500MBにした(ほんとはontap 9.1と同じく3GBにしようかと思ったけど、aggr容量が足らなかった

たぶん、そのままでも大丈夫かな?と思ったのもの、ONTAPシミュレータを再起動して、問題なく起動することを確認して終了。

ONTAP 9.7シミュレータのシステムボリュームを拡張する

$
0
0

NetApp ONTAP 9.7シミュレータをしばらく稼働させ続けていると、ディスクがフルとなって死ぬ。

なんでなんだろーなー?とONTAP 9.1シミュレータと構成の差をみてみたら、仮想ディスクの大きさが4GBから1GBに縮小されていた。

そりゃ、ディスクの余裕がだいぶ異なりますね。

というわけで、vol0の容量を増やしましょう

状況の確認

まず、aggregate の空き容量を確認
「storage aggregate show」か「df -A -h」を実行します。

ontap97-sub::> storage aggregate show


Aggregate     Size Available Used% State   #Vols  Nodes            RAID Status
--------- -------- --------- ----- ------- ------ ---------------- ------------
aggr0_ontap97_sub_01 855MB 41.41MB 95% online   1 ontap97-sub-01   raid_dp,
                                                                   normal
aggr1      14.06GB   14.00GB    0% online       3 ontap97-sub-01   raid_dp,
                                                                   normal
2 entries were displayed.

ontap97-sub::> df -A -h
Aggregate                total       used      avail capacity
aggr0_ontap97_sub_01     855MB      812MB       42MB      95%
aggr0_ontap97_sub_01/.snapshot 45MB    0B       45MB       0%
aggr1                     14GB       61MB       14GB       0%
aggr1/.snapshot             0B         0B         0B       0%
4 entries were displayed.

ontap97-sub::>

空きディスクの確認

現状、aggr0の空き容量がないため、ディスクを追加します。

追加できるディスクがあるかを「storage disk show -container-type spare」を実行して確認

ontap97-sub::> storage disk show -container-type spare
                     Usable           Disk    Container   Container
Disk                   Size Shelf Bay Type    Type        Name      Owner
---------------- ---------- ----- --- ------- ----------- --------- --------
NET-1.19             1020MB     -  27 FCAL    spare       Pool0     ontap97-sub-01
NET-1.20             1020MB     -  28 FCAL    spare       Pool0     ontap97-sub-01
NET-1.21             1020MB     -  29 FCAL    spare       Pool0     ontap97-sub-01
NET-1.27             1020MB     -  32 FCAL    spare       Pool0     ontap97-sub-01
NET-1.28             1020MB     -  32 FCAL    spare       Pool0     ontap97-sub-01
5 entries were displayed.

ontap97-sub::>

現在5本のスペアがあります。スペアが0本だと問題が発生します。

その場合はディスクを追加します。

シミュレータへのディスク追加

ONTAPシミュレータが認識しているディスクを追加することはできます。

追加はシミュレータ仮想マシンの仮想ディスクとして追加するのではなく、シミュレータOS内部でディスクファイルを作成する形で行います。

この操作はdiagモードに切り替えてコマンドを実行する必要があるので「set diag」を実行します。

ontap97-sub::> set diag

Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y

ontap97-sub::*>

現在使われているディスクタイプを確認するため、「systemshell local “ls -l /sim/dev/,disks”」を実行します。(disksの前に「,」が入っています)

ontap97-sub::*> systemshell local "ls -l /sim/dev/,disks"
  (system node systemshell)
total 1849640
-rwxr-xr-x  1 root  wheel         912 Mar 10 16:07 ,reservations
-rw-r--r--  1 root  wheel        1372 Mar 10 16:07 Shelf:DiskShelf14
-rw-r--r--  1 root  wheel  1094312960 Mar 10 16:45 v0.16:NETAPP__:VD-1000MB-FZ-520:13511800:2104448
-rw-r--r--  1 root  wheel  1094312960 Mar 10 16:45 v0.17:NETAPP__:VD-1000MB-FZ-520:13511901:2104448
<略>
-rw-r--r--  1 root  wheel  1094312960 Mar 10 16:23 v1.29:NETAPP__:VD-1000MB-FZ-520:15901912:2104448
-rw-r--r--  1 root  wheel  1094312960 Mar 10 16:23 v1.32:NETAPP__:VD-1000MB-FZ-520:15901913:2104448

ontap97-sub::*>

上記の場合「NETAPP__:VD-1000MB-FZ-520」というディスクを使っています。

このディスクを追加するために該当するdisk type IDを「systemshell local “vsim_makedisks -h”」を実行して確認します。

ontap97-sub::*> systemshell local "vsim_makedisks -h"
  (system node systemshell)
Usage: /usr/sbin/vsim_makedisks [ -n <additional number of disks to create> ]
          [ -t <disk type ID> ]
          [ -e <additional sectors> ]
          [ -a <adapter on which to start populating disks ]
          [ -h ]

By default 5 disks will be added. The <disk type ID> can be one
of the following: (NOTE, 0 is the default)
                                                               Fast
Type Vendor ID Product ID       Usable Size[B] Actual Size[B]  Zero  BPS   RPM
  0  NETAPP__  VD-16MB_________     16,777,216     38,273,024   No   512  10000
  1  NETAPP__  VD-35MB_________     35,913,728     57,409,536   No   512  10000
  2  NETAPP__  VD-50MB_________     52,428,800     73,924,608   No   512  10000
  3  NETAPP__  VD-100MB________    104,857,600    126,353,408   No   512  10000
  4  NETAPP__  VD-500MB________    524,288,000    545,783,808   No   512  10000
  5  NETAPP__  VD-1000MB_______  1,048,576,000  1,070,071,808   No   512  10000
  6  NETAPP__  VD-16MB-FZ______     16,777,216     38,273,024   Yes  512  15000
  7  NETAPP__  VD-35MB-FZ______     35,913,728     57,409,536   Yes  512  15000
  8  NETAPP__  VD-50MB-FZ______     52,428,800     73,924,608   Yes  512  15000
  9  NETAPP__  VD-100MB-FZ_____    104,857,600    126,353,408   Yes  512  15000
 10  NETAPP__  VD-500MB-FZ_____    524,288,000    545,783,808   Yes  512  15000
 11  NETAPP__  VD-1000MB-FZ____  1,048,576,000  1,070,071,808   Yes  512  15000
 12  NETAPP__  VD-16MB-520_____     16,777,216     38,273,024   No   520  10000
 13  NETAPP__  VD-35MB-520_____     35,913,728     57,409,536   No   520  10000
 14  NETAPP__  VD-50MB-520_____     52,428,800     73,924,608   No   520  10000
 15  NETAPP__  VD-100MB-520____    104,857,600    126,353,408   No   520  10000
 16  NETAPP__  VD-500MB-520____    524,288,000    545,783,808   No   520  10000
 17  NETAPP__  VD-1000MB-520___  1,048,576,000  1,070,071,808   No   520  10000
 18  NETAPP__  VD-16MB-FZ-520__     16,777,216     38,273,024   Yes  520  15000
 19  NETAPP__  VD-35MB-FZ-520__     35,913,728     57,409,536   Yes  520  15000
 20  NETAPP__  VD-50MB-FZ-520__     52,428,800     73,924,608   Yes  520  15000
 21  NETAPP__  VD-100MB-FZ-520_    104,857,600    126,353,408   Yes  520  15000
 22  NETAPP__  VD-500MB-FZ-520_    524,288,000    545,783,808   Yes  520  15000
 23  NETAPP__  VD-1000MB-FZ-520  1,048,576,000  1,070,071,808   Yes  520  15000
 24  NETAPP__  VD-16MB-FZ-ATA__     16,777,216     51,388,416   Yes  512   7200
 25  NETAPP__  VD-35MB-FZ-ATA__     36,700,160     73,801,728   Yes  512   7200
 26  NETAPP__  VD-50MB-FZ-ATA__     52,428,800     91,496,448   Yes  512   7200
 27  NETAPP__  VD-100MB-FZ-ATA_    104,857,600    150,478,848   Yes  512   7200
 28  NETAPP__  VD-500MB-FZ-ATA_    524,288,000    622,338,048   Yes  512   7200
 29  NETAPP__  VD-1000MB-FZ-ATA  1,048,576,000  1,212,162,048   Yes  512   7200
 30  NETAPP__  VD-2000MB-FZ-520  2,097,512,000  2,119,007,808   Yes  520  15000
 31  NETAPP__  VD-4000MB-FZ-520  4,194,304,000  4,215,799,808   Yes  520  15000
 32  NETAPP__  VD-2000MB-FZ-ATA  2,097,512,000  2,391,810,048   Yes  512   7200
 33  NETAPP__  VD-4000MB-FZ-ATA  4,194,304,000  4,751,106,048   Yes  512   7200
 34  NETAPP__  VD-100MB-SS-512_    104,857,600    126,353,408   Yes  512  15000
 35  NETAPP__  VD-500MB-SS-520_    524,288,000    545,783,808   Yes  520  15000
 36  NETAPP__  VD-9000MB-FZ-520  9,437,184,000  9,458,679,808   Yes  520  15000
 37  NETAPP__  VD-9000MB-FZ-ATA  9,437,184,000 10,649,346,048   Yes  512   7200

ontap97-sub::*>

上記結果より「23」でした。

ディスク追加は「systemshell localhost “cd /sim/dev;sudo vsim_makedisks -t タイプ -n 追加本数”」を実行して行います。

タイプ23を10本追加するのであれは「systemshell localhost “cd /sim/dev;sudo vsim_makedisks -t 23 -n 10″」を実行します。

ontap97-sub::*> systemshell localhost "cd /sim/dev;sudo vsim_makedisks -t 23 -n 10"
  (system node systemshell)
Creating ,disks/v0.33:NETAPP__:VD-1000MB-FZ-520:66781814:2104448
Creating ,disks/v0.34:NETAPP__:VD-1000MB-FZ-520:66781815:2104448
Creating ,disks/v0.35:NETAPP__:VD-1000MB-FZ-520:66781816:2104448
Creating ,disks/v0.36:NETAPP__:VD-1000MB-FZ-520:66781817:2104448
Creating ,disks/v0.37:NETAPP__:VD-1000MB-FZ-520:66781818:2104448
Creating ,disks/v0.38:NETAPP__:VD-1000MB-FZ-520:66781819:2104448
Creating ,disks/v0.39:NETAPP__:VD-1000MB-FZ-520:66781820:2104448
Creating ,disks/v0.40:NETAPP__:VD-1000MB-FZ-520:66781821:2104448
Creating ,disks/v0.41:NETAPP__:VD-1000MB-FZ-520:66781822:2104448
Creating ,disks/v0.42:NETAPP__:VD-1000MB-FZ-520:66781823:2104448
Shelf file Shelf:DiskShelf14 updated

ontap97-sub::*>

ディスクを追加すると、まず未割り当てとして登録されます。

未割り当てディスクは「storage disk show -container-type unassigned」で確認します。

ontap97-sub::*> storage disk show -container-type unassigned
There are no entries matching your query.

ontap97-sub::*>

また「storage disk show -container-type spare」を実行してスペアディスクが増えていないことを確認します。

シミュレータ環境では追加したディスクがオンラインで認識されず、シミュレータの再起動が必要なようです。

再起動後、「storage disk show -container-type spare」を実行するとスペアディスクが増えていることがわかります。

ontap97-sub::> storage disk show -container-type spare
                     Usable           Disk    Container   Container
Disk                   Size Shelf Bay Type    Type        Name      Owner
---------------- ---------- ----- --- ------- ----------- --------- --------
NET-1.19             1020MB     -  27 FCAL    spare       Pool0     ontap97-sub-01
NET-1.20             1020MB     -  28 FCAL    spare       Pool0     ontap97-sub-01
NET-1.21             1020MB     -  29 FCAL    spare       Pool0     ontap97-sub-01
NET-1.27             1020MB     -  32 FCAL    spare       Pool0     ontap97-sub-01
NET-1.28             1020MB     -  32 FCAL    spare       Pool0     ontap97-sub-01
NET-1.29             1020MB     -  33 FCAL    spare       Pool0     ontap97-sub-01
NET-1.30             1020MB     -  34 FCAL    spare       Pool0     ontap97-sub-01
NET-1.31             1020MB     -  35 FCAL    spare       Pool0     ontap97-sub-01
NET-1.32             1020MB     -  36 FCAL    spare       Pool0     ontap97-sub-01
NET-1.33             1020MB     -  37 FCAL    spare       Pool0     ontap97-sub-01
NET-1.34             1020MB     -  38 FCAL    spare       Pool0     ontap97-sub-01
NET-1.35             1020MB     -  39 FCAL    spare       Pool0     ontap97-sub-01
NET-1.36             1020MB     -  40 FCAL    spare       Pool0     ontap97-sub-01
NET-1.37             1020MB     -  41 FCAL    spare       Pool0     ontap97-sub-01
NET-1.38             1020MB     -  42 FCAL    spare       Pool0     ontap97-sub-01
15 entries were displayed.

ontap97-sub::>

システムaggregateへのディスク追加

システムaggregateにディスクを追加します。

とりあえずディスクを3本追加します。
「torage aggregate add-disks -aggregate システムaggr名 -diskcount ディスク本数」

ontap97-sub::> storage aggregate add-disks -aggregate aggr0_ontap97_sub_01 -diskcount 3

Warning: Aggregate "aggr0_ontap97_sub_01" is a root aggregate. Adding disks to
         the root aggregate is not recommended. Once added, disks cannot be
         removed without reinitializing the node.
Do you want to continue? {y|n}: y

Info: Disks would be added to aggregate "aggr0_ontap97_sub_01" on node
      "ontap97-sub-01" in the following manner:

      First Plex

        RAID Group rg0, 6 disks (block checksum, raid_dp)
                                                            Usable Physical
          Position   Disk                      Type           Size     Size
          ---------- ------------------------- ---------- -------- --------
          data       NET-1.19                  FCAL         1000MB   1.00GB
          data       NET-1.27                  FCAL         1000MB   1.00GB
          data       NET-1.20                  FCAL         1000MB   1.00GB

      Aggregate capacity available for volume use would be increased by 2.64GB.

Do you want to continue? {y|n}: y

ontap97-sub::>

aggregateの容量が増えたことを確認します

ontap97-sub::> storage aggregate show


Aggregate     Size Available Used% State   #Vols  Nodes            RAID Status
--------- -------- --------- ----- ------- ------ ---------------- ------------
aggr0_ontap97_sub_01 3.34GB 2.55GB 24% online   1 ontap97-sub-01   raid_dp,
                                                                   normal
aggr1      14.06GB   14.00GB    0% online       3 ontap97-sub-01   raid_dp,
                                                                   normal
2 entries were displayed.

ontap97-sub::> df -A -h
Aggregate                total       used      avail capacity
aggr0_ontap97_sub_01    3420MB      812MB     2607MB      24%
aggr0_ontap97_sub_01/.snapshot 180MB   0B      180MB       0%
aggr1                     14GB       61MB       14GB       0%
aggr1/.snapshot             0B         0B         0B       0%
4 entries were displayed.

ontap97-sub::>

システムボリュームの拡張

まずは現状のvol0のサイズを確認します

ontap97-sub::> volume show
Vserver   Volume       Aggregate    State      Type       Size  Available Used%
--------- ------------ ------------ ---------- ---- ---------- ---------- -----
ontap97-sub-01 vol0    aggr0_ontap97_sub_01 online RW  807.3MB    230.4MB   69%
1 entries were displayed.

ontap97-sub::> df -h
Filesystem               total       used      avail capacity  Mounted on                 Vserver
/vol/vol0/               766MB      536MB      230MB      69%  ---                        ontap97-sub-01
/vol/vol0/.snapshot       40MB       32MB     7824KB      81%  ---                        ontap97-sub-01
2 entries were displayed.

ontap97-sub::>

「system node run -node ノード名 df -h」という手法でもボリューム容量を確認することができます。

ontap97-sub::> system node run -node ontap97-sub-01 df -h
Filesystem               total       used      avail capacity  Mounted on
/vol/vol0/               766MB      544MB      222MB      71%  /vol/vol0/
/vol/vol0/.snapshot       40MB       32MB     7768KB      81%  /vol/vol0/.snapshot

ontap97-sub::>

現状のvol0サイズを確認するため「system node run -node ノード名 vol size vol0」を実行します。

ontap97-sub::> system node run -node ontap97-sub-01 vol size vol0
vol size: Flexible volume 'vol0' has size 826656k.

ontap97-sub::>

vol0のサイズを2GBに設定します。

ontap97-sub::> system node run -node ontap97-sub-01 vol size vol0 2g
vol size: Flexible volume 'vol0' size set to 2g.

ontap97-sub::>

容量が変わったことを確認します。

ontap97-sub::> volume show
Vserver   Volume       Aggregate    State      Type       Size  Available Used%
--------- ------------ ------------ ---------- ---- ---------- ---------- -----
ontap97-sub-01 vol0    aggr0_ontap97_sub_01 online RW      2GB     1.38GB   27%
1 entries were displayed.

ontap97-sub::> df -h
Filesystem               total       used      avail capacity  Mounted on                 Vserver
/vol/vol0/              1945MB      536MB     1409MB      27%  ---                        ontap97-sub-01
/vol/vol0/.snapshot      102MB       32MB       69MB      32%  ---                        ontap97-sub-01
2 entries were displayed.

ontap97-sub::> system node run -node ontap97-sub-01 df -h
Filesystem               total       used      avail capacity  Mounted on
/vol/vol0/              1945MB      543MB     1402MB      28%  /vol/vol0/
/vol/vol0/.snapshot      102MB       32MB       69MB      32%  /vol/vol0/.snapshot
ontap97-sub::>

これで、vol0に余裕ができました。

HP-UX 11.31でrootユーザのロック状態を解除するためにシングルユーザモードで起動する

$
0
0

HP-UX 11.31 でrootユーザのパスワードを間違えすぎてロックされている状態になっているサーバで、ロックを解除するためにシングルユーザモードで起動して対処する手順。

シリアルコンソール接続の場合については見かけるけど、キーボード/ディスプレイが接続されている状態でどうなるのかがうまいこと探せなかったので、ここに明記しておく。

(1) EFI Boot Managerで停める

キーボード/ディスプレイが認識している状態でHP-UXサーバの電源を入れると、しばらく黒い画面のままだが、「EFI Boot Manager」という青い画面が表示される。

しばらく放置すると「HP-UX Primary Boot: ~」が選択してOSが自動起動するが、シングルユーザモードで起動する場合は「EFI Shell [ Built-in]」を選択する。

(2) EFI Shellでコマンドを入力

「Shell>」というプロンプトのEFI Shellが表示される。

通常は”fs0:”というデバイスにシステムが入っているはずなので「fs0:」と実行する。

そうすると「fs0:\>」というプロンプトに移行する。

EFI Shell UEFI version x.xx [xx.xx]
Device mapping table
  fs0   : Acpi(~)
  fs1   : Acpi(~)
  blk0 : Acpi(~)
<略>
startup.nsh> echo -off

  setting hpux path(\EFI\HPUX)...
  type 'fs[x]:' where x is your bootdisk (0, 1, 2...)
  type 'hpux' to start hpux bootloader
Shell> 

今度は「hpux」を実行すると、「Press Any key to interrupt Auto boot ~ Seconds left till autoboot」というカウントダウン中にキー入力し、「HPUX>」というプロンプトを表示する。

(“hpux -is”と実行し、boot -isは実行しないで起動させる、という資料もあったけど、それで動くのか確証がなかったので実施していない)

fs0:\> hpux
<略>

Press Any Key to interrupt Autoboot
\efi\hpux\AUTO ==> boot vmunix
Seconds left till autoboot -    8
   Type 'help' for help

HPUX> 

(3) シングルユーザモードで起動する

「HPUX>」というプロンプトで「boot -is」と入力し、シングルユーザモードでの起動を開始する。

HPUX> boot -is
> System Memory = xxxx MB
loading section 0
.........(complete)
loading section 1
.........(complete)
loading symbol table
loading System Directory (boot.sys) to MFS
.....
loading MFSFILES directory (bootfs) to MFS
.....
<略>

しばらく待つと「INIT: SINGLE USER MODE」と表示されて「#」というプロンプトで停止する。

INIT: Overriding default level with level 's'

INIT: SINGLE USER MODE

INIT: Running /sbin/sh
# 

(4) パーテーションをマウントする

HP-UX 11.31でロックを解除する場合に必要なコマンドは/usrパーテーションにあるため、最低でも/usrパーテーションをマウントします。

なお、dfコマンドも/usrパーテーションにあるため、シングルユーザモードで起動した直後はdfコマンドも実行できません。

# mount /usr
vxfs mount: V-3-21268: /dev/vg00/lvol7 is corrupted. need checking
#

上記のように「is corrupted. need checking」と表示された場合は、ファイルシステムチェックが必要になるのでfsckコマンドを実行します

# fsck /dev/vg00/lvol7
log replay in progress
replay complete - marking super-block as CLEAN
#

この後、再度「mount /usr」を実行して/usrパーテーションをマウントします。

# mount /usr
#

資料を探すと「/usr パーテーションだけマウントすれば大丈夫」というものと「/usr, /var, /tmpをマウントする」というものとあるけど、どちらが適切なのかよく分からないので、「mount -a」で全部マウントしておきます。

# mount -a
<略>
#

マウントできない場合は適宜、表示されるデバイスに対してfsckコマンドを実行してから再度マウントを試みましょう。

(5) rootユーザのロック解除

まず、rootユーザのロック状態を確認するため「/usr/lbin/getprpw -l root」を実行します。

# /usr/lbin/getprpw -l root
uid=0, bootpw=YES, audid=0, audflg=1, mintm=-1, maxpwln=-1, exptm=-1, lftm=-1, <略> sloginy=-1, culogin=27, uloginy=-1, umaxlntr=-1, alock=NO, lockout=0001000
#

最後の「lockout=0001000」の、数字がアカウント状態を表しており、左から4つめの数字が1ならロックされている状態となります。

ロック解除は「/usr/lbin/modprpw -k root」を実行します。

# /usr/lbin/modprpw -k root
# /usr/lbin/getprpw -l root
uid=0, bootpw=YES, audid=0, audflg=1, mintm=-1, maxpwln=-1, exptm=-1, lftm=-1, <略> sloginy=-1, culogin=27, uloginy=-1, umaxlntr=-1, alock=NO, lockout=0000000
#

lockout=0000000 と 左から4つめの数字が0に変わっており、ロックが解除されています。

(6) rootパスワードを変更する[オプション]

rootパスワードがわからないので、再設定したい、という場合は、この操作を行う必要があるようです。

(自分では未実施)

# passwd root
Changing password for root
Old password:
Last successful password change for root: ~
Last unsuccessful password change for root: ~

Do you want (choose one letter only):
        pronounceable passwords generated for you (g)
        a string of letters generated (l) ?
        to pick your passwords: (p) ?

Enter choice here:

…なんか聞かれました。

どうやらTrusted Systemになっているとこうなるようです。

まず、Trusted Systemになっているかを「/usr/lbin/getprdef -r」を実行して確認します。

# /usr/lbin/getprdef -r
NO, 0, 8, 0, 0, -1, 0, YES, YES, NO, NO, NO, YES, 3, 10, 2, 0
#

Trusted Systemだと上記のように何か表示されます。

Trustedではない場合はエラーになるようです

Trusted Systemを解除する場合は「/usr/lbin/tsconvert -r」を実行します。

その後に「passwd root」でパスワードを再設定し、

「/usr/lbin/tsconvert」で再度 Trusted Systemに戻す、という作業をするようです。

(7) 再起動

再起動して、正常に起動し、ログインが行えるか確認します。

Nutanix CE 5.18でFile Serverを有効にしようとしたけど1TBなかったので失敗?

$
0
0

Nutanix Community Edition 5.18では、Nutanix File Server機能が利用できるようになった。

まず[設定]-[ソフトウェアアップグレード]-[File Server]を開く

今回は、この時点での最新版 3.7.3を選択し、ダウンロード開始

ダウンロードが終わったら「Continue」

すでに「ファイルサーバー」が起動していました。

[+File Server]をクリックしてファイルサーバーを追加

ファイルサーバについての設定を入力

0.1TBはエラー

用意された物理ストレージサイズより大きい1TBは警告がでるけど通った。

「クライアントネットワーク」設定

「ストレージネットワーク」設定

「ディレクトリサービス」設定

NFSは「未管理」で設定

「サマリー」の確認

[Create]ボタンを押して作成

作成中…

失敗した・・・

ディスクを1TB以上用意しておかないと設定できないっぽいな

プラスメッセージ(+メッセージ)の対応状況 2021/03/19時点

$
0
0

2021/03/19時点ではahamoとpovoのみ対応、という感じですね。

ahamo 「+メッセージ(プラスメッセージ)は使えますか?」→ご利用いただけます。

povo「povoサービスの詳細」→+メッセージ:ご利用いただけます

ワイモバイルについては直接の記述が発見できず、ソフトバンクの「+メッセージ(プラスメッセージ)」に「本サービスはソフトバンク(ワイモバイルを除く)、NTTドコモ、auをお使いの方がご利用いただけます」と記載

LINEMOについてもよくある質問内で記述を発見できず

UQ mobie「UQ mobileで「+メッセージ(プラスメッセージ)」は利用できますか」→UQ mobileでは、現状「+メッセージ(プラスメッセージ)」サービスは提供しておりません。

楽天モバイル「+メッセージ(プラスメッセージ)の利用はできますか?」→+メッセージ(プラスメッセージ)のご利用はいただけません

microSDのアプリケーションクラス/ビデオクラスによる速度の違い実測

$
0
0

SD/SDHC/SDXCカードには速度に関する仕様がいくつかある。

以前は「スピードクラス」だけをうたっていたが、これだけだと実際にはある細かい性能差が表現できていないので「ビデオスピードクラス」というのと「アプリケーションクラス」というものが追加されている。

で・・・ラズパイでOS起動ディスクとして使う場合に何がいいのか、という話である。

Windows 10 on ARMの起動ディスクを作成し、初回起動するのにどれくらい時間がかかるかを確認してみた。

関連「microSDのA1/A2,V10/V30に差が出るか?

製品名クラス容量WoR書き込みお住まいの
地域選択
デスクトップ
表示
SanDisk Extreme ProU3/A2/V3064GB37分18分5分
SanDisk Extreme(金色)U3/A2/V3064GB28分16分5分
Lexar 633xU3/A1/V3064GB27分16分5分
SanDisk HIGH ENDURANCE(白)U3/V3032GB33分18分6分
KIOXIA EXCERIA PLUS(紫)U3/V3032GB32分17分5分
SanDisk Extreme ProU3/A1/V3032GB43分19分5分
Lexar 633xU1/A1/V1032GB30分17分6分
SanDisk UltraU1/A132GB33分17分5分
KIOXIA EXCERIA HIGH ENDURANCE(黄緑)U132GB31分  
Samsung EVO PlusU132GB74分35分8分

最近のmicroSDであればおもったより差がでない


Commvaultの自働スケジュールの動きを確認した

$
0
0

CommVaultにはフルバックアップと増分バックアップをバックアップサーバ上で論理合成して新しいフルバックアップにする、という合成バックアップという仕組みがある。

V11SP16より前までは増分バックアップを実行した後に続けて合成処理を行う、というスケジュールを作成することができたが、2021年の現在ではそのようなスケジュールを作成することはできず、増分とは別に合成バックアップ用のスケジュールを作成する必要がある。

問題となるのは増分バックアップの終了時間にあわせて合成バックアップを実行する、ということが難しい、ということ。

単純に増分を毎日0:00開始、合成フルバックアップを日曜12:00開始、とかに設定した場合、増分バックアップに12時間以上かかり、日曜12時もバックアップ中であった場合、同名のスケジュールが動作しているので合成処理がスキップされてしまうことになる。

ドキュメントをみると「自働」スケジュールを設定することを推奨されており、「週1回合成フルを実行する」としたい場合は「自働 7日」というスケジュールを実行することで、7日に1回実行されることになるようだ。

7日で検証すると時間がかかりすぎるので「自働 2日」を設定して検証してみた。

開始終了
合成フル2021/3/24 18:522021/3/24 19:00自働2日というスケジュールを18時半過ぎに設定
増分2021/3/25 3:002021/3/25 3:01
増分2021/3/26 3:002021/3/26 3:01
合成フル2021/3/26 19:172021/3/26 19:24前回の実行終了から48時間+17分で実行された
増分2021/3/27 3:002021/3/27 3:02
増分2021/3/28 3:002021/3/28 3:01
合成フル2021/3/28 19:432021/3/28 19:49前回の実行終了から48時間+19分で実行された
増分2021/3/29 3:002021/3/29 3:02
増分2021/3/29 20:102021/3/29 20:11開始時刻を20:10変更
合成フル2021/3/30 20:082021/3/30 20:14前回の実行終了から48時間+19分で実行された
増分2021/3/30 20:132021/3/30 20:18開始時刻を20:10したが、合成フルが動作していたので遅延?

実行するたびに時間が後ろにずれていくのが気になる・・・

この17分~19分はどこから来ているのかな?とスケジュール設定画面を見直してみると、「ファイルまたはログのアクティビティ検出頻度 0時間15分」という変更ができない項目がある。

これは、15分間隔で自動バックアップを実行するべきか判断する、ということになるんだろうか?

だとすればこの動きも納得かな、と

Ubuntu 18.04以降/CentOS7向けにMicrosoftがOpenJDK 11のパッケージ配布を始めた

$
0
0

Microsoftは従来からLinuxのいくつかのディストリビューション向けにバイナリパッケージを配布するレポジトリサーバ https://packages.microsoft.com/ を公開している。

たとえば、PowerShellを使いたい場合は「Linux への PowerShell のインストール」の手順を行って設定していた。

このたび、MicrosoftからOpenJDK 11のプレビュー版提供が開始された。「Announcing Preview of Microsoft Build of OpenJDK

Microsoft Build of OpenJDK」を見ると「Linux Installers for OpenJDK 11」という手順が公開されており、これを見ると、Debian 9と10、Ubuntu 18.04以降、CentOS8で従来から提供されているMicrosoftプロダクトレポジトリにおいて、msopenjdk-11の提供が始まったように見える。

うちのCentOS7環境はPowerShellを使える様にしているので使えるはず!と「yum search msopenjdk」を実行してみると見付からない・・・

設定されているレポジトリファイルはPowerShell手順にあるようにRHEL7のものだしなぁ・・・

# curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo

・・・OpenJDKの方のCentOS7手順を見てみる。

# sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

取得しているディレクトリが https://packages.microsoft.com/config/rhel/7/ ではなく https://packages.microsoft.com/config/centos/7/ に変更されている。

というわけで、レポジトリファイルを変更して再実行!

無事検索されるようになりました。

が・・・よく見ると、CentOS7レポジトリでは「powershell」はなく「powershell-preview」というパッケージのみ提供な模様。(rhel7ではpowershell,powershell-lts,powershell-previewが提供されている)

CetnOS7ユーザは注意が必要なようです。

とはいえRHEL7/CentOS7ユーザはRedHat提供のOpenJDK 11が使えますけどね・・・(java-11-openjdk)。「OpenJDK RPMs for RHEL 7」「第2章 RED HAT ENTERPRISE LINUX での OPENJDK 11 のインストール

RHEL8/CentOS8についても同様で、OpenJDK 11をjava-11-openjdkというパッケージ名で提供しており、また、java-latest-openjdkでOpenJDK 16も提供しているので除外されているようですね。

Solaris11でホスト名/IPアドレスを変更する

$
0
0

Solaris10だったら以下のファイルあたりの変更でやってた

/etc/nodename
/etc/hostname.ネットワークインタフェース名
/etc/hosts
/etc/resolv.conf
/etc/nsswitch.conf

Solaris11だとファイルを編集するのではなく、コマンドで変更する形になる

資料:Oracle® Solaris 10 から Oracle Solaris 11.3 への移行「Oracle Solaris 11 でのネットワークの構成

現在のホスト名確認


ホスト名変更

# svccfg -s svc:/system/identity:node setprop config/nodename=ホスト名
# svcadm refresh svc:/system/identity:node
# svcadm restart svc:/system/identity:node
# vi /etc/hosts で関係するホスト名を修正
# reboot

refreshのところは「svcadm refresh node」でも大丈夫説がある模様

ネットワーク設定確認

ネタ元 IPv4 インタフェースの構成

# ipadm show-addr
# ipadm show-if
# route -p show
# netstat -rn
# dladm show-phys
# dladm show-link

ネットワーク設定変更

現在値を消して、新規作成となるが2種類手順がある

アドレス設定のみ削除するもの

# ipadm delete-addr net?/v4
# ipadm create-addr -T static -a local=<IPアドレス>/<プレフィックス> net?/v4

ネットワーク定義全体を削除するもの

# ipadm delete-ip net?
# ipadm create-ip net?
# ipadm create-addr -T static -a local=<IPアドレス>/<プレフィックス> net?/v4

デフォルトゲートウェイ設定

# route -p add default <IPアドレス>

DNS設定確認

#  svccfg -s network/dns/client
svc:network/dns/client> listprop config
<略>
svc:network/dns/client> quit
#

DNS設定変更

(ネタ元 DNS クライアントを有効にする方法 )

#  svccfg -s network/dns/client
svc:/network/dns/client> setprop config/search = astring: ("<ドメイン名>" "<ドメイン名>")
svc:/network/dns/client> setprop config/nameserver = net_address: (<IPアドレス> <IPアドレス>)
svc:/network/dns/client> setprop config/options = timeout:1 
svc:/network/dns/client> select network/dns/client:default
svc:/network/dns/client:default> refresh 
svc:/network/dns/client> quit
#
# svcadm enable network/dns/client 

nsswitchの設定を確認する場合

# cat /etc/nsswitch.conf
# svccfg -s system/name-service/switch 
svc:/system/name-service/switch> listprop config
<略>
svc:/system/name-service/switch> quit
#

nsswitchを変更する場合の例

# svccfg -s system/name-service/switch 
svc:/system/name-service/switch> setprop config/host = astring: "dns files [TRYAGAIN=0]" 
svc:/system/name-service/switch> select system/name-service/switch:default 
svc:/system/name-service/switch:default> refresh 
svc:/system/name-service/switch:default> quit
# svcadm enable system/name-service/switch 
# svcadm refresh name-service/switch

Oracle公式に書いてあるDNSサーバ設定手順例

# svccfg -s dns/client setprop config/nameserver=net_address: 192.168.1.1
# svccfg -s dns/client setprop config/domain = astring: "foohost.org"
# svccfg -s name-service/switch setprop config/host = astring: "files dns"
# svcadm refresh name-service/switch
# svcadm refresh dns/client

rootユーザのログイン拒否問題

telnet は /etc/default/login の「CONSOLE=/dev/console」をコメントにする

sshは/etc/ssh/sshd_configに「PermitRootLogin yes」を設定して「svcadm restart ssh」

Linux上からIPv6アドレス指定でsshするときにはインタフェース名をつける

$
0
0

Linux上からIPv6アドレスを指定してsshしようとしたら「port 22: Invalid argument」と言われてしまった。

[root@centos8 ~]# ssh root@fe80::250:56ff:fe8f:aba9
ssh: connect to host fe80::250:56ff:fe8f:aba9 port 22: Invalid argument
[root@centos8 ~]#

きちんとpingでは応答あるのに

[root@centos8 ~]# ping -6 fe80::250:56ff:fe8f:aba9 -c 5
PING fe80::250:56ff:fe8f:aba9(fe80::250:56ff:fe8f:aba9) 56 data bytes
64 bytes from fe80::250:56ff:fe8f:aba9%ens192: icmp_seq=1 ttl=255 time=0.246 ms
64 bytes from fe80::250:56ff:fe8f:aba9%ens192: icmp_seq=2 ttl=255 time=0.269 ms
64 bytes from fe80::250:56ff:fe8f:aba9%ens192: icmp_seq=3 ttl=255 time=0.250 ms
64 bytes from fe80::250:56ff:fe8f:aba9%ens192: icmp_seq=4 ttl=255 time=0.303 ms
64 bytes from fe80::250:56ff:fe8f:aba9%ens192: icmp_seq=5 ttl=255 time=0.316 ms

--- fe80::250:56ff:fe8f:aba9 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 135ms
rtt min/avg/max/mdev = 0.246/0.276/0.316/0.035 ms
[root@centos8 ~]#

なんでかと思ったら、sshコマンドでは、sshコマンドを実行したホストのどのインタフェースを使ってアクセスするのかを明示的に指定する必要があったようだ。

[root@centos8 ~]# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:9c:2a:d1 brd ff:ff:ff:ff:ff:ff
    inet 172.17.44.49/16 brd 172.17.255.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 xxxx:xxx:xxxx:4700:2788:3aad:4bfa:6715/64 scope global dynamic noprefixroute
       valid_lft 2172237sec preferred_lft 185037sec
    inet6 fe80::2c85:a948:cd5:d5e1/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
[root@centos8 ~]#

つかうネットワークインタフェースは「ens192」なので、IPv6アドレスの後ろに「%ens192」をつけて実行

[root@centos8 ~]# ssh  root@fe80::250:56ff:fe8f:aba9%ens192
Password:
Last login: Wed Apr  7 16:24:37 2021 from fe80::2c85:a948
Oracle Corporation      SunOS 5.11      11.3    September 2015
root@solaris11:~# exit
logout
Connection to fe80::250:56ff:fe8f:aba9%ens192 closed.
[root@centos8 ~]#

問題無く接続できました。

タッチパネル一体型業務向けPC MSI-R10418BD1を入手したのでWindows/Ubuntu/ChromeOSで起動してみた

$
0
0

sueboさんがうっかり落札してしまった14台のタッチパネル一体型PCを2台譲ってもらった。

マザーボードはMSI MS-98I8 で、この一体型PCは下記の様なスペックになっている。

Celeron N3160
DDR3x1 / mSATAx1 / SATAx1 / DPx1 / HDMIx1 / GbEx2
10インチ SVGA(800×600)+タッチパネル
Windows 10 IoT Enterprise 2016 LTSB ライセンスシール
メモリ/ディスクは搭載なしだが、CF/SATA変換ボードと2.5インチHDD接続用ケーブルが残存
電源は12V単一。一般的なコネクタではなく電線を直接入力するタイプ

中をあける方法

抜けたりするのを防ぐため中のケーブルのコネクタ部分が固められています。

とりあえず中身を確認するためには、下記のような感じで開けてみてから、その次をどうしていくかを考えた方がいいと思います。

画像

このような感じであけるには以下の赤い丸印のネジを外します。

画像
画像
画像

中をあけたらメモリとディスクなどをいれて単体で動作できるようにしましょう。

USBメモリからの起動について

BIOSメニューからUSBメモリを選んでもなんか普通のマザーボードと同様にUSBメモリからの起動になりません。(後述のWindows, Ubuntu, ChromeOSで同じ)

EFI Shellが起動してくるので、何かキーを押してEFI Shellプロンプトで止めます。

画像

今回はUSBメモリが「fs1」で認識されていたので「fs1:」でドライブを移動したあと、

「efi\boot\bootx64.efi」を実行するとUSBメモリからの起動が開始されます。

下記の写真では「cd efi」「cd boot」でディレクトリ移動してから「bootx64.efi」を実行しています。

画像

なお、このEFI Shellはタブキー補完が効くのでefiを指定する際に「e」を入力したあとにタブキーを押すと「efi」と変換されます。

また、fs1:で移動した後にそこにどんなディレクトリ/ファイルがあるかを確認するには「ls」を実行することで確認出来ます。

Windows 10の起動状況

Windows 10 IOT ENT 2016 LTSBのプロダクトキーがついていますが、このプロダクトキーが通るのは、「Windows 10 IOT ENT 2016 LTSBメディア」か「Windows 10 ENT 2016 LTSB」だけのようです。「Windows 10 Enterpriseメディア」や「Windows 10 Enterprise 2019 LTSCメディア」では通りませんでした。

「Windows 10 IOT ENT 2016 LTSBメディア」を含めて2016年頃のWindows 10メディアだとデバイスが2個△マークとなりますが、タッチパネル/イーサネット含めて動作しています。

2017年以降のWindows 10 メディアを使ったり、Windows Updateを実行すると、全デバイスが正常に認識されますので、問題はありません。

画像

なお、Windows 10 IOT ENT 2016 LTSBのプロダクトキーを入力してライセンス認証を行った場合、「Windows 10 Enterprise 2016 LTSB」として認識されています。

画像

なお、Windows 10 Enterprise 2016 LTSBのライフサイクル ポリシーはメインストリームが2021/10/12、延長が2026/10/13となっています。

画像

Ubuntu 20.04の起動状況

普通にインストールすると、タッチパネル用のドライバが認識されているもののX-Window上でタッチパネル動作を認識できていません。

画像
画像

この問題についてはxserver-xorg-input-evdevをインストールして、xserver-xorg-input-libinputを削除して対応できました。(xinput-calibratorはタッチパネルの位置調整用コマンドxinput_calibratorをインストールするために追加している)

$ sudo apt install xserver-xorg-input-evdev xinput-calibrator
$ sudo apt remove xserver-xorg-input-libinput

これを行った後、再起動するとタッチパネルが動作するようになっていると思います。

画像

Ubuntuのオンスクリーンキーボードは、「設定」の「アクセスビリティ」から設定できますが、最初のログイン画面では動いていないようです。

とりあえず、自動ログインさせてログイン画面をスキップする設定をGUIで行おうとしたところ画面が表示できていない・・・

画像

このため設定ファイル /etc/gdm3/custom.conf を直接編集し、下記の設定を行いました。

[daemon]
AutomaticLoginEnable=yes
AutomaticLogin =ユーザ名

ChromeOSの起動状況

純正ChromeOSのリカバリイメージを元に汎用ChromeOS起動ディスクを作成するbrunchを使ってUSBメモリを作成して起動したもの。

rammus用リカバリイメージを元に作成してあるUSBメモリがあったので起動してみたところ、標準状態でそのままタッチパネルもLineOUTからのオーディオ出力も普通に使える状態で起動してきました。

画像

ただ、Chrome OSは、800×600解像度で使うものではない感じですね・・・

Windows10でパスワード入力無しログイン設定

$
0
0

Windows 10を初期インストールした時に、ユーザ名/パスワードを入力しないで、いきなりデスクトップ画面を出したい、ということがある。

その場合の設定は「代わりにドメインに参加する」を選ぶ

なにか適当にユーザ名を指定する。

画像

パスワードを入力せずに「次へ」を選ぶ

画像

これでOK

Windows Server 2019のストレージ移行サービスは評価版メディアには含まれていない

$
0
0

Windows Server 2019には、Windows Admin Centerと組み合わせて使うストレージ移行サービス(Storage Migration Service)というのが存在している。

これを使うと、稼働しているWindows ServerによるSMBファイルサーバを別の物理サーバ上に移動させることができるようだ。

試してみようとWindows Server 2019評価版をダウンロードしてきて試そうとすると、「役割と機能の追加」の「機能」にあるはずの「ストレージ移行サービス(Storage Migration Service)」が見当たらない。

翻訳の問題で「Windows Server 移行ツール」のことをさしているのかな?と試してみてもWindows Admin Centerで表示されない。

いろいろあれこれ試してみた結果、「Storage Migration Service known issues」に評価版メディアには含まれていないので製品版メディアなどでインストールして、アクティベーションをかけないで使ってね、という対応策が記載されているのを発見。

で、製品版Windows Server 2019メディアでインストールしなおしてみるお、確かに「Storage Migration Service」がありました。

「Storage Migration Service」にチェックを入れると、「Storage Migration Service Proxy」と「Storage Migration Service Tools」にもチェックが入りました。

これで追加したあとは、Windows Admin Centerにてきちんと「記憶域の移行サービス」が表示されました。


AMD B450チップセット+Ryzen 3 2200G環境でWSL2が 0x80370102で使えない

$
0
0

AMD B450チップセットを使っているASUS TUF B450M-PLUS GAMING にRyzen 3 2200Gを載せている環境で、WSL2を試そうとした。

BIOSのCPU設定にて「SVM Mode」を「Enabled」に変更して、

画像

Windows 10 用 Windows Subsystem for Linux のインストール ガイドの手順に従ってWSL2をセットアップしていく・・・

画像

Ubuntu が0x80370102 のエラーで起動しない。

画像

冒頭に写真に出したように仮想化は有効にしている。

タスクマネージャのパフォーマンスのCPUでも「仮想化:有効」表示を確認

画像

msinfo32でも仮想化の有効を確認

画像

万策尽きたか・・・というところで、AMD Radeon Softwareパッケージを再インストールすることで解決するかも?という話を聞いて、AMD Ryzen™ 3 2200G Previous Drivers からRadeon Softwareをダウンロード/インストール/再起動してみたところ、今度はWSL2が正常に起動することが確認出来た。

次はWSLgだな・・・

Windows Server 2019へのChromium Edgeがわかりにくい!(インストール手順解説

$
0
0

Windows Server 2019環境でブラウザ経由の管理を行うのにChromuimベースのEdgeを使おうと思って、インストールをしようとしたところ、なかなかダウンロードリンクにたどりつけなかったのでメモ書き。

Windows Server 2019をインストールして、標準のInternet Explorerから「edge browser」を検索すると、Google Chomeのプロモーションが表示されたりするけれど、「ダウンロード」をクリックして、手順を進めていくと、「この microsoft-edge を開くには新しいアプリが必要です」と表示されてダウンロードができない。

画像
画像
画像

いろいろ探してみたところ、「Microsoft Edgeの主な機能」ページの上にある”MICROSOFT EDGEを起動しましょう”リンクを無視しして

画像

下の方にある「Microsoft Edgeを入手する」というリンクをクリック

画像

そうすると、下記の様に「Microsoft Edgeをダウンロード」という画面が現れてダウンロードできるようになります。

画像

ただ、Windows Server 2019の標準設定のままでは「現在のセキュリティ設定では、このファイルをダウンロードできません。」と言われてダウンロードできません。

画像

2021/04/27時点ではEdgeインストーラーは https://c2rsetup.officeapps.live.com/c2r/downloadEdge.aspx?~ というリンクからダウンロードされます。

画像

なので、「信頼済みサイト」に「https://*.officeapps.live.com/」と「https://*.microsoft.com/」を追加します。

画像

そうすることでダウンロードができます。

画像
画像

これで、Windows Server 2019環境へのMicrosoft Edgeのインストールが完了しました。

画像

検証専用Active Directoryに参加しているWindows Server 2019に他のADに参加しているWindowsクライアントからリモートデスクトップ接続ができない

$
0
0

検証専用Active Directoryに参加しているWindows Server 2019に他のADに参加しているWindowsクライアントからリモートデスクトップ接続ができない。

画像
リモート デスクトップ接続
認証エラーが発生しました。
要素が見つかりません。

リモート コンピューター: ~

しかも、このエラー、接続先のWindows Serverのコンソールから該当するActive Directoryユーザでログイン成功してからリモートデスクトップ接続をかけると成功するという状態。
(接続先Windows Serverを再起動するとまたログインできなくなります)

失敗する場合のWindows Server 2019側のイベントログは下記の様に出ている。

画像
イベントID: 4625
失敗の原因: ログオン中にエラーが発生しました。
状態: 0xC0000225
サブステータス: 0x0

Microsoftの「4625(F): An account failed to log on.」で、”0xC0000225″を確認すると「Evidently a bug in Windows and not a risk」(Windowsのバグ)って・・・

困ったことにそれ以上の手がかりがない・・・

いままで試していたのはWindows標準のリモートデスクトップアプリ(mstsc)。

これ以外にもMicrosoftストアに「Microsoft リモート デスクトップ」がある。

こちらで試してみるとログインに成功!

ログイン成功以後は、mstsc でもログインに成功するようになりました。

ADG 100W GaN Charger & Hub が届いた

$
0
0

2020年7月にクラウドファンディングを開始した「ADG 100W GaN Charger & Hub」が、当初予定の2020年8月出荷予定から盛大に遅れて、2021年5月1日に到着した。

3月中旬に出荷します!というアップデートがあったきり、なんの連絡もないので、どうなるか不安だったのですが、発送連絡もなく突然届きました。

え?と思ってIndiegogoのMy Contributionsページを確認するとTracking numberが追加されてるという・・・いつの間に???

さて、荷物は中国から4pxの集約出荷サービスのようなものを使ってるのか、日本で国内配送用のラベルが追加されて到着しました。

画像
画像

こちらの製品のパッケージはこんな感じで、USB Type-C PD 100W電源にUSB Hub機能とHDMI出力、SDカードスロット/microSDカードスロット、1Gb NIC、オーディオ入出力がついている、というものです。

画像
画像

中身はこんな感じ

画像

認証マークに菱形のPSEマークもありますが、ちゃんとしたやつなのかは確証が得られませんでした(菱形PSEマークについての責任の所在/企業体が書かれていないので)

画像

さて、さしあたって手持ちのUSB PD対応機器であるGPD Pocketにつないで見ると、12Vの供給が開始され使用できそうです。

画像

接続する場合の注意点があります。

各ポートに機器を繋いだ場合、下記のような動作します。

そう、HDMIとかかれていますが、おそらくDisplayPort Alternate Modeに対応した機器の出力専用なようで、非対応のGPD Pocketでは「USB 2.0 BILLBOARD」デバイスとしてしか認識されません。(BILLBOARDデバイスはDisplayPort Altモードの検出用デバイスらしい:CQ出版【USBコラム11】Alternate Modeに関する情報を通知する「ビルボード・デバイス・クラス」

オーディオ端子に何もつなげていない場合は上記のようになっていますが、イヤフォン(マイクなし)を繋ぐと、デバイスが追加認識され、下記の様になります。

マイク付きのヘッドセットにつなぎ替えると下記の様なデバイス構成に変更されます。

HDMI出力ができないのは残念ですが、GPD Pocketで電源供給しつつUSBデバイスをつなげる、ということは可能なようなので一安心です。

ただ・・・難点としては、やっぱりちょっと大きいということ

手持ちのUSB アダプターも兼ねている10000mAhバッテリーより大きくて重いんですよね

ちょっと悩みどころで、今回私は送料込みで$69で買ったのですが、おそらく1万円以上するとなると悩む感じですね。

いまからだと SlimQのクラウドファンディングThe most portable 240W laptop charger のが面白いかなぁ?とは思います。

USB Hub機能は無いですが、USB PD 100W機器を2個同時接続可能というあたりですね。


参考情報

MacBook Air (M1, 2020) Big Sur 11.2.1環境ではHDMI出力が動作しなかった、とのこと。

MacBook Air (M1, 2020) – 技術仕様 では「Thunderbolt 3デジタルビデオ出力USB-C経由でDisplayPort出力に標準対応」と書いてあるので対応していそうなのですが、ダメだった、とのこと

ThinkPad X1 Carbonでは可能だったとのこと。

ThinkPad X1 Carbon 製品仕様書(2017版)ThinkPad X1 Carbon 製品仕様書(2018版) 共に 「Type-C USB3.1 2個 (DC-in、Thunderbolt3、Video-out機能付き)」とある。

ESXiのみ環境でPowerCLIを使ってテンプレートもどきの動作をする手法

$
0
0

vCenterサーバがない、ESXiサーバのみ環境ではテンプレート機能が使用できない。

とはいえ、テンプレート化した仮想マシンの中身を見ると、ふつうと同じく仮想ハードディスクのvmdkファイルが存在しているので、vmdkファイルをコピーして、新規仮想マシンを作成するPowerCLIスクリプトをかけば、似たようなことができるな、と実験。

準備するもの

・PowerCLIをインストールした環境
Windows 10で実行したが、Linux環境にPowerShell+PowerCLIをセットアップしてもいけるはず。

・Windowsの場合、sysprepを実行してシャットダウンしたvmdkファイル
sysprepを実行して、次回起動時に初期セットアップが開始されるようにしたvmdkファイル。
VMware-toolsはインストール済みであることが望ましい。

・Linuxの場合、下記の情報などを削除
RHEL7の仮想化の導入および管理ガイド第4章 仮想マシンのクローン作成によれば
/etc/udev/rules.d/70-persistent-net.rules を削除
/etc/ssh/ssh_host_* を削除
/etc/sysconfig/network-scripts/ifcfg-eth* などから IPADDRESS,NETMASK,HWADDRなどの値削除

スクリプト本体

Import-Module VMware.VimAutomation.Core

#Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

$vcenterserver="ESXiサーバ"
$vcenteruser="ユーザ名"
$vcenterpassword="パスワード"

$targetdatastore="仮想マシンをおくデータストア名"

# 仮想マシンの名前 / ランダムで作成して、あとから変更する手法
$vmnamebase="NewVM_"
$vmnametmp=Get-Random
$vmname=$vmnamebase+$vmnametmp

# 仮想マシンスペックと接続ネットワーク指定
$vcpu=2
$vmem=6
$network="VM Network"

# 指定できるGuestOSのIDを調べるには下記を実行すること
#   PowerCLIがサポートしている一覧 
#   [VMware.Vim.VirtualMachineGuestOsIdentifier].GetEnumValues()
# 代表的なもの
# windows8Server64Guest = Windows2012
# windows9Server64Guest = Windows2016
#$vmguestosid="windows9Server64Guest"

# 元ネタのWindowsが入ったvmdkファイルの指定
# 構築時にBIOS環境かEFI環境のどちらで作ったのか注意
$vmdkfilepath="[データストア名] windows2019/windows2019.vmdk"
$vmguestosid="windows9Server64Guest"
#$vmdkfilepath="[データストア名] win2016/win2016.vmdk"
#$vmguestosid="windows9Server64Guest"
#$vmdkfilepath="[データストア名] win2012/win2012.vmdk"
#$vmguestosid="windows8Server64Guest"

# vCenterまたはESXiサーバに接続
Connect-VIServer -Server $vcenterserver -User $vcenteruser -Password $vcenterpassword -WarningAction 0
# パスワードを書きたくない場合は
# New-VICredentialStoreItem -Host $vcenterserver -User $vcenteruser -Password $vcenterpassword
# を実行すると、資格情報保存域に登録され、以降は下記だけで接続できるようになる
# Connect-VIServer -Server $vcenterserver

$virtualportgroup=Get-VirtualPortGroup -Name $network
$datastore=Get-Datastore -Name $targetdatastore
$vm=New-VM -Name $vmname -NumCpu $vcpu -MemoryGB $vmem -Portgroup $virtualportgroup -Datastore $datastore -DiskStorageFormat Thin -GuestID $vmguestosid -HardwareVersion vmx-14


$olddiskinfo=Get-Vm $vmname|Get-Harddisk # 一時的に作られたディスクの情報を保存
$sourcevmdk=Get-HardDisk -Datastore $targetdatastore -DatastorePath $vmdkfilepath
# ディスクの削除
Remove-HardDisk -HardDisk $olddiskinfo -Confirm:$false


# コピー先データストアのパスを生成
$targetvmdktmp=$olddiskinfo.Filename
$ed=$targetvmdktmp.LastIndexOf("/")
$targetvmdk=$targetvmdktmp.Substring(0,$ed+1) # コピー先のパス

# OSが入ったvmdkのコピー
$adddiskinfo=Copy-HardDisk -Harddisk $sourcevmdk -DestinationPath $targetvmdk -DestinationStorageFormat Thin

#$vm = get-Vm $vmname
New-HardDisk -VM $vm -DiskPath $adddiskinfo.Filename

Get-ScsiController -VM $vm | Set-ScsiController -Type VirtualLsiLogicSAS

# 仮想マシン設定変更用オブジェクト定義
$newSpec = New-Object VMware.Vim.VirtualMachineConfigSpec

# USBコントローラの追加
# これがないとWindows環境でマウスが動かない
# https://communities.vmware.com/t5/VMware-PowerCLI-Discussions/Where-is-the-quot-Get-USBController-quot-cmdlet-Same-with-Remove/td-p/2155582
# 上記だとUSB 2.0コントローラ追加
$newSpec.deviceChange = New-Object VMware.Vim.VirtualDeviceConfigSpec[] (1)
$newSpec.deviceChange[0] = New-Object VMware.Vim.VirtualDeviceConfigSpec
$newSpec.deviceChange[0].operation = "add"
#$newSpec.deviceChange[0].device = New-Object VMware.Vim.VirtualUSBController # USB2.0コントローラ
$newSpec.deviceChange[0].device = New-Object VMware.Vim.VirtualUSBXHCIController # USB3.0コントローラ

# EFIかBIOSか
# https://docs.vmware.com/jp/VMware-Cloud-on-AWS/services/com.vmware.vsphere.vmc-aws-manage-vms.doc/GUID-898217D4-689D-4EB5-866C-888353FE241C.html
#https://github.com/vmware/PowerCLI-Example-Scripts/blob/master/Scripts/SecureBoot.ps1
# BIOSを設定する場合は、SecureBootをdisableにする必要がある
#$newSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
# 仮想マシン起動オプション変更用オブジェクト定義
$bootOptions = New-Object VMware.Vim.VirtualMachineBootOptions
#$newSpec.Firmware = [VMware.Vim.GuestOsDescriptorFirmwareType]::efi
#$bootOptions.EfiSecureBootEnabled = $true
$newSpec.Firmware = [VMware.Vim.GuestOsDescriptorFirmwareType]::bios
$bootOptions.EfiSecureBootEnabled = $false
$newSpec.BootOptions=$bootOptions


# 仮想マシンへの設定反映
#(get-view $vm).ReconfigVM_Task($newSpec)
$vm.ExtensionData.ReconfigVM($newSpec)


# 接続切断
Disconnect-VIServer -Server $vcenterserver -Confirm:$false

解説

仮想マシンにハードディスクを追加する

仮想マシンに新しく空っぽのハードディスクを追加する場合は、「New-HardDisk -VM 仮想マシン ~」で指定するが、Copy-HardDiskでコピーしてきたハードディスクを登録する場合が分かりづらかった。

結果としては、新規と同じく「New-HardDisk -VM 仮想マシン ~」でよかった。

今回の場合は、CopyHardDiskを実行した結果を変数にいれて、それをNew-HardDIskで登録、という形にした。

$adddiskinfo=Copy-HardDisk -Harddisk $sourcevmdk -DestinationPath $targetvmdk -DestinationStorageFormat Thin

$vm = get-Vm $vmname
New-HardDisk -VM $vm -DiskPath $adddiskinfo.Filename

仮想マシンハードウェアにUSB 3.0コントローラを追加する

Host Clientから作成した場合は、USB 3.0コントローラが作成されていたが、New-VMコマンドでは作成されなかった。このため、Windowsが起動した後にUSBマウスが存在できず、マウス操作ができなかった。(キーボードはPS/2キーボード扱いとして使えたようだった)

このUSB 3.0コントローラを追加するための操作がわからず、いろいろ調べたところ「Where is the “Get-USBController” cmdlet? (Same with Remove- and New-)」の記述を見て、USB 2.0コントローラの追加手法が分かった。

その後、VirtualUSBController を起点に調べることで、 xHCIはVirtualUSBXHCIControllerという名前であることがわかり、解決した

$vm=Get-VM -Name 仮想マシン名
$newSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$newSpec.deviceChange = New-Object VMware.Vim.VirtualDeviceConfigSpec[] (1)
$newSpec.deviceChange[0] = New-Object VMware.Vim.VirtualDeviceConfigSpec
$newSpec.deviceChange[0].operation = "add"
#$newSpec.deviceChange[0].device = New-Object VMware.Vim.VirtualUSBController # USB2.0コントローラ
$newSpec.deviceChange[0].device = New-Object VMware.Vim.VirtualUSBXHCIController # USB3.0コントローラ

# 仮想マシンへの設定反映
#(get-view $vm).ReconfigVM_Task($newSpec)
$vm.ExtensionData.ReconfigVM($newSpec)

設定を反映する部分は、ネタ元では「Get-View」を使っていたが、後述のSecureBootについての結果ではGet-VM経由で実施しているスクリプトがあったので、それを使用している。

BIOS/EFI切り替え

仮想マシンをBIOS起動にするか、EFI起動にするかを設定する手法。

2021現在のPowerCLIでNew-VMした時のデフォルトはEFI起動でセキュアブート有効になっている。

これをBIOS起動に設定する場合は、セキュアブートを無効にしてからBIOSに切り替える必要があるので下記にようになる。

$vm=Get-VM -Name 仮想マシン名
$newSpec = New-Object VMware.Vim.VirtualMachineConfigSpec

$bootOptions = New-Object VMware.Vim.VirtualMachineBootOptions
$bootOptions.EfiSecureBootEnabled = $false
$newSpec.BootOptions=$bootOptions

$newSpec.Firmware = [VMware.Vim.GuestOsDescriptorFirmwareType]::bios

$vm.ExtensionData.ReconfigVM($newSpec)



Viewing all 1104 articles
Browse latest View live