これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2024/11/21 17:40:55.112 (台灣標準時)
せっかく仮想機械をインストールして、よく使うソフトウェアをコンパイルし たのでござるが、ホストの機械がクラッシュしてしまい、それに伴い仮想機械 の中の一部のファイルが失われてしまったでござる。今回は、 NetBSD で NVMM と QEMU を使って動かしていた仮想機械でファイルが失われるという問 題が起きたのでござるが、以前に Debian GNU/Linux で KVM と QEMU を使っ て動かしていた仮想機械でも同様の問題が起きていたように思うでござる。何 をどうすればよかったのか調べてみたでござる。
キャッシュの問題だったような気がしたので、 QEMU のマニュアルを読んでみ たでござる。以下のような記述を見つけたでござる。
|
---|
|
|
QEMU を実行するときに、 "-drive" オプションに "cache=directsync" 或いは "cache=writethrough" を 与えるのがよさそうでござる。以下のようにしてみたでござる。
/usr/pkg/bin/qemu-system-x86_64 \ -accel nvmm \ -cpu max -smp cpus=6 -m 8G \ -display none \ -drive file=/vm/netbsd_01/netbsd_01.qcow2,if=none,id=hd0,cache=directsync \ -device virtio-blk-pci,drive=hd0 \ -object rng-random,filename=/dev/urandom,id=viornd0 \ -device virtio-rng-pci,rng=viornd0 \ -netdev tap,id=tap0,ifname=tap0,script=no -device virtio-net-pci,netdev=tap0,mac=0a:12:34:56:78:90 \ -spice addr=localhost,port=5999,ipv4=on,disable-ticketing=on,seamless-migration=on \ -daemonize