2020年4月29日水曜日

ASRock Z370 Gaming-ITX/ac + PCIeをUSB3ケーブルで延長するやつ(PCE164P-N08 VER009S) + AMD Radeon RX470/570

PCIeをUSB3ケーブルで延長するやつ(PCE164P-N08 VER009S)  と AMD Radeon RX470/570色々を、ASRock Z370 Gaming-ITX/ac で使うときのUEFI 設定。

Riser Card Support
設定と無関係の模様。

PCIE1 Link Speed
VGA直刺しなら Auto で行けるものや、Gen3 設定が要るものなど色々。
PCIeをUSB3ケーブルで延長するやつ(PCE16P-N08 VER009S) の場合は Gen3 で認識(lspci)する。謎の要因で Gen1 設定をしないとダメという時もある。

Linux が Gen1にすると、以下になるとかで、Gen3が必要だと。
kfd kfd: skipped device 1002:67df, PCI rejects atomics


amdgpu-pro はそれでも動いている(clinfo F@H)みたい。

rocmはダメだが、他の要因の可能性もあり。

2020年4月20日月曜日

Ovirt PCI Passthrough と MSI Z270I GAMING PRO CARBON AC

ASRock Z390 Steel Legend と入れ替え。

Ovirt で AMD RX580 (? RX480 だったか) の PCI Passthrough が上手くいかない。

Ovirt のアップグレードに失敗したので、ASRock Z390 Steel Legend の時の設定がどうだったか?
特にメモってないのは、設定なしで問題なかったか?

Ovirt が立ち上がった時、amdgpu がロードされる。
デバイス割り当てした VM を立ち上げると、ホストが vfio-pci がロードされる。
賢く出来ている気がするが、VM 側が amdgpu をロードするとこでダメなことになる。

結論としては以下をすること。

UEFI 設定
Above 4g decoding を ENABLE にする。
DISABLE だとデバイス割り当ての対象になかった。
次回起動すると UEFI 設定画面が出ない!? でもOSはブートする。
Intel GPU側だけかも。何故か出る時もある。 ASRock でもなった。

Ovirt設定
ホストの選択 -> メンテナンスモード
ホストの選択 -> 編集 -> カーネル -> カーネルコマンドラインを編集
intel_iommu=on kvm-intel.nested=1 pci-stub.ids=1002:67df,1002:aaf0
ホストの選択 -> インストール -> 再インストール (自分メモ: ホステッドエンジンの設定忘れるな)
ホストの選択 -> 管理 -> 再起動

使った感じでは、
最初の VM は上手く行くけど、もう一度 VM 起動するとかだとエラー起こしたりするの相変わらず。

2020年4月16日木曜日

Mac mini 2018 故障からの Time Machine(macOS Catalina) リカバリ

画面が消えた。
たまにあるので、いつも通りに再起動と、この時は ssh で入れて reboot する。

反応が無い。
電源押しっぱなし、強制OFFして、、、が最後に電源が入らない。

月曜日ダメになって、水曜AppleサポートにTELして、宅急便の引き取りが土曜。
今のご時世なので、そんなに急ぐことなかったのに、月曜には戻ってきた。

ロジックボード交換で、故障も初めてでも無く、Time Machineから復元させようと思ったらバックアップが無い!

このNAS、バックアップ取れますと、バックアップから復元できますは別か!! とか悪態つきながら、
そういえば OS アップデートが必要とか書面が入ってたの思い出し、
macOS Mojave設定した後に、macOS Catalinaにアップデートを実施。

次に移行アシスタントを実行すると、Time Machine のバックアップを発見。
とりあえずOSインストールに使ったユーザを、バックアップのユーザに差し替えるか的なことも聞かれ移行を実行する。

それなりに待たされた後、再ログインすると、確かにアカウントは前のが使えた。
Mailアカウントとかも消えてない。
ダウンロードフォルダは空で、そういうものかと諦めたが、デスクトップに幾つかファイルがあった気が、、、ってファイルがからっきし無い!!

何かしてバックアップファイルから取り出せた気だけしてGoogle先生を頼る。
答えは、
1) アプリケーションのTimeMachine を Dock に落とす。または、alt/option 押しながら上の Time Machine の時計をクリック。
2) NASの Time Machine フォルダに接続しておく。
3) Dockの Time Machine を右クリック -> ほかのTime Machineディスクをブラウズ を選択。
4) ちょっと時間かかるかもで、バックアップファイル -> 選択したディスクを使用。

でもファイルがない、昔に戻れない!!!
もうダメと絶望してたが、バックアップファイル をダブルクリックすると、ディスクとしてマウントできる。

この後でなら "Time Machineバックアップ"上の*** みたいになって選択できる。
これだと昔のファイルがある!!!!

普通にファイルを選んで復元とすると、デスクトップに復元する。
元の場所とかにするなら、ファイルを選んで、右クリック -> n項目を復元... 。

あれ、Stickies が戻ってない!!!!!

Time Machine のファインダーから SHIFT + COMMAND(クローバのやつ) + G から、フォルダの場所で ~/Library として移動。
~/Library 全体は戻せない。書けないとかエラー出る。
以下を選んで復元する。
  • ~/Library/Containers/com.apple.Stickies
  • ~/Library/Containers/com.apple.Stickies.migrated
復元先を選ぶところでも SHIFT + COMMAND(クローバのやつ) + G から、 ~/Library/Containers にする。

色々して弄って壊したかもになったので、
カレンダー と リマインダーは WEB の iCloudから復元、終わるとメールがくる。
連絡先は、インターネットアカウントの連絡先を off して on したら戻った。

改めて TimeMachine を設定すると、 マシン名 1.backupbundle とかなって、昔のを引き継がない。どこかで「バックアップ履歴を引き継ぐ」とか聞かれるとあるが無かった。

さっきの出来ちゃったマシン名 1.backupbundle が消せない時は再起動してから消す。


$ sudo tmutil inheritbackup /Volumes/Time\ Machineバックアップ/Backups.backupdb/マシン名
欲を出して TimeMachine のバックアップを引き継ぎ設定。
以下の参考と、あと当てずっぽうで弄ったので、真似してやって破滅したら御免なさい(データなくなると死にたくなるけど死なないで)。
https://mymemopad.blogspot.com/2012/12/timemachinehdd.html
https://apple.stackexchange.com/questions/375894/inheriting-time-machine-backup-invalid-target


設定 -> セキュリティとプライバシ -> フルディスクアクセス -> 追加でアプリのターミナル。
ターミナルを起動。

マシン名.backupbundleのディレクトリに移動。
$cd /Volumes/なにがし/マシン名.backupbundle
このディレクトリにある com.apple.TimeMachine.MachineID.plist の以下のところを編集。

<key>com.apple.backupd.HostUUID</key>
<string>01234567-89AB-CDEF-0123-456789ABCDEF</string>
<key>com.apple.backupd.ModelID</key>
<string>Macmini8,1</string>
com.apple.backupd.HostUUID 下の <string> を このMacについて -> システムレポート… -> ハードウェア -> ハードウェアUUID に書き換え。
Macのモデルが違うなら、com.apple.backupd.ModelID 下の <string> を同じく機種IDに書き換える。
ついでに このMacについて -> システムレポート… -> ネットワーク -> ネットーワーク環境 -> Ethernet: -> ハードウェア(MAC)アドレス を見ておく。

マシン名.backupbundle ダブルクリックしてマウントしたディスクにあるフォルダを、以下のようにする。
sudo tmutil inheritbackup /Volumes/Time\ Machineバックアップ/Backups.backupdb/マシン名
sudo tmutil associatedisk -a / /Volumes/Time\ Machineバックアップ/Backups.backupdb/マシン名/昔の日付/Macintosh\ HD
以下すると、それらしいところが ハードウェアUUID と ハードウェア(MAC)アドレスになっていた。
xattr -l /Volumes/Time\ Machineバックアップ/Backups.backupdb/マシン名
参考では自分で書き換えていた。
マウントしたディスクはアンマウントしておく。

あ、Catalina って emacs が居無い。https://emacsformacosx.com からダウンロード。bash は残ってた。

2020年4月12日日曜日

Ovirt ユーザ追加からvirtio serial consoleまで

ユーザの追加

管理 -> ユーザ -> 追加 ってすればできるような気がするが出来ない!!

以下から、
https://www.ovirt.org/documentation/admin-guide/chap-Users_and_Roles.html

まずは、hosted engine 上で以下をする。
# ovirt-aaa-jdbc-tool user add user1
# ovirt-aaa-jdbc-tool user edit user1 --attribute=firstName=user1 --attribute=lastName= --password-valid-to="2025-08-01 12:00:00-0800"
# ovirt-aaa-jdbc-tool user password-reset user1

あとは ovirt-engineのwebから。

管理 -> ユーザ -> 追加
検索で、さっき作ったアカウントを追加。

管理 -> 設定 -> ロール
こっちはユーザを削除はできるが、追加は出来ない。

管理 -> 設定 -> システム権限 -> 追加
ユーザをロールを割り当てる。
シリアルコンソールで繋ぐなら以下を割り当てる。
UserVmManager
以下はだめだった。
UserRole
UserVmRunTImeManager

VMポータルに入れるが、管理ポータルに入れないユーザができる。

Linux ゲストシリアルコンソール設定

Linux ゲストにシリアルコンソールから入れるようにする。
といっても、 Hosted EngineにSSHすると、ゲストに繋がる。

以下から、
https://www.ovirt.org/documentation/vmm-guide/chap-Installing_Linux_Virtual_Machines.html
https://access.redhat.com/documentation/ja-jp/red_hat_virtualization/4.2/html/virtual_machine_management_guide/sect-starting_the_virtual_machine

公開鍵の準備
sshするホストで以下のように生成する。
$ ssh-keygen -t rsa -b 2048 -C user1@ovirt -f serialconsolekey

overt-engineにユーザでログインして、生成した公開鍵の方を、VMポータルの人型からオプション -> ユーザの公開鍵 で設定する。

Linuxゲストの設定
仮装マシンの編集 -> virtio シリアルコンソールを有効にする。 ON

シリアルコンソールにアクセスする仮想マシンで、/etc/default/grub に以下を追加する。
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

UEFI なら以下を実施する。
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

シリアルコンソールへの繋ぎ方


# ssh -t -p 2222 ovirt-vmconsole@ovirt_engine_host -i .ssh/serialconsolekey
# ssh -t -p 2222 ovirt-vmconsole@ovirt_engine_host -i .ssh/serialconsolekey list
# ssh -t -p 2222 ovirt-vmconsole@ovirt_engine_host connect --vm-id vmid1
# ssh -t -p 2222 ovirt-vmconsole@ovirt_engine_host connect --vm-name vm1

ターミナルから出るときは ~. 押す。

振る舞いは以下のような感じだった。
  • 以下は出るものっぽい。
    Could not chdir to home directory /usr/share/ovirt-vmconsole/empty: No such file or directory
  • Linux ゲストの設定なくても繋がる。すぐ切れるけど。
  • Rebootしても繋がりぱなし。
  • shutdownは切れる。


2020年4月8日水曜日

Ovirt hosted-engineのマイグレーション準備

マイグレーション先のホストをメインテナンスにする。
マイグレーション先のホストでインストール -> 再インストール ->  セルフホストエンジン の設定を Deploy にする。
!!! 再インストールするたびにする。しないと NONE に戻る。戻っている。 !!!

Ovirt upgrade失敗

Hosted Engine がいつからか、移行(migration)しないのが気になり、upgradeを実施。

Hosted Engine の upgradeは出来た。
Hosted Engine が走っていない Host の Upgradeも出来た。
Hosted Engine が走ってると、 Host の Upgrade が出来ない。

なので、いずれ試しておこうと思っていた、バックアップからのリストアを試した。

以下を参考にコマンド例。
https://www.ovirt.org/develop/release-management/features/integration/engine-backup.html
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Virtualization/3.5/html/Installation_Guide/sect-Backing_up_and_Restoring_a_Self-Hosted_Engine_Environment.html

Hostで実施
グローバルメンテナスモードにする。
# hosted-engine --set-maintenance --mode=global

戻す時
# hosted-engine --set-maintenance --mode=none
Hosted Engineで実施
バックアップを取る。
# engine-backup --mode=backup --file=backup --log=backup1.log 
とか、
engine-backup --scope=all --mode=backup --file=file_name --log=log_file_name

アップグレードする。
# yum install ovirt-engine ovirt-engine-dwh
レストアする。
# engine-backup --mode=restore --log=restore1.log --file=backup1 --provision-db --provision-dwh-db --no-restore-permissions
# engine-setup

Hostからレストアする。
# hosted-engine --deploy --restore-from-file=file
Hosted Engineを消す。
# ovirt-hosted-engine-cleanup
こんなところなのですが、
:
:
:
どうにもならなくなりました。
hosted-engine のデプロイで色々起きて結局だめ。
ovirt-hosted-engine-cleanup からの新規デプロイも色々起きてだめ。

最終的には、
Ovirt-node から HOSTにクリーンインストールして、新規ストレージドメインの Hosted Engineをデプロイする。
前の ovirt-nodeはshutdownしておく。
前のストレージドメインをインポートして、バーチャルマシンもインポートする。

Storage domain が二つになっちゃったが、、、それで良しとした。

最悪、ストレージドメインさえ残っていれば、やり直せるといった感じです。