summary refs log tree commit diff stats
path: root/results/classifier/deepseek-2-tmp/output/hypervisor/1912224
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/deepseek-2-tmp/output/hypervisor/1912224')
-rw-r--r--results/classifier/deepseek-2-tmp/output/hypervisor/1912224128
1 files changed, 0 insertions, 128 deletions
diff --git a/results/classifier/deepseek-2-tmp/output/hypervisor/1912224 b/results/classifier/deepseek-2-tmp/output/hypervisor/1912224
deleted file mode 100644
index ee7d6e0e..00000000
--- a/results/classifier/deepseek-2-tmp/output/hypervisor/1912224
+++ /dev/null
@@ -1,128 +0,0 @@
-
-qemu may freeze during drive-mirroring on fragmented FS
-
-
-We have odd behavior in operation where qemu freeze during long
-seconds, We started an thread about that issue here:
-https://lists.gnu.org/archive/html/qemu-devel/2020-11/msg05623.html
-
-It happens at least during openstack nova snapshot (qemu blockdev-mirror)
-or live block migration(which include network copy of disk).
-
-After further troubleshoots, it seems related to FS fragmentation on host.
-
-reproducible at least on:
-Ubuntu 18.04.3/4.18.0-25-generic/qemu-4.0
-Ubuntu 16.04.6/5.10.6/qemu-5.2.0-rc2
-
-# Lets create a dedicated file system on a SSD/Nvme 60GB disk in my case:
-$sudo mkfs.ext4 /dev/sda3
-$sudo mount /dev/sda3 /mnt
-$df -h /mnt
-Filesystem      Size  Used Avail Use% Mounted on
-/dev/sda3         59G   53M   56G   1% /mnt
-
-#Create a fragmented disk on it using 2MB Chunks (about 30min):
-$sudo python3 create_fragged_disk.py /mnt 2
-Filling up FS by Creating chunks files in:  /mnt/chunks
-We are probably full as expected!!:  [Errno 28] No space left on device
-Creating fragged disk file:  /mnt/disk
-
-$ls -lhs 
-59G -rw-r--r-- 1 root root 59G Jan 15 14:08 /mnt/disk
-
-$ sudo e4defrag -c /mnt/disk
- Total/best extents                             41971/30
- Average size per extent                        1466 KB
- Fragmentation score                            2
- [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
- This file (/mnt/disk) does not need defragmentation.
- Done.
-
-# the tool^^^ says it is not enough fragmented to be able to defrag.
-
-#Inject an image on fragmented disk
-sudo chown ubuntu /mnt/disk
-wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
-qemu-img convert -O raw  bionic-server-cloudimg-amd64.img \
-                         bionic-server-cloudimg-amd64.img.raw
-dd conv=notrunc iflag=fullblock if=bionic-server-cloudimg-amd64.img.raw \
-                of=/mnt/disk bs=1M
-virt-customize -a /mnt/disk --root-password password:xxxx
-
-# logon run console activity ex: ping -i 0.3 127.0.0.1
-$qemu-system-x86_64 -m 2G -enable-kvm  -nographic \
-    -chardev socket,id=test,path=/tmp/qmp-monitor,server,nowait \
-    -mon chardev=test,mode=control \
-    -drive file=/mnt/disk,format=raw,if=none,id=drive-virtio-disk0,cache=none,discard\
-    -device virtio-blk-pci,scsi=off,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1,write-cache=on
-
-$sync
-$echo 3 | sudo tee -a /proc/sys/vm/drop_caches
-
-#start drive-mirror via qmp on another SSD/nvme partition
-nc -U /tmp/qmp-monitor
-{"execute":"qmp_capabilities"}
-{"execute":"drive-mirror","arguments":{"device":"drive-virtio-disk0","target":"/home/ubuntu/mirror","sync":"full","format":"qcow2"}}
-^^^ qemu console may start to freeze at this step.
-
-NOTE:
- - smaller chunk sz and bigger disk size the worst it is.
-   In operation we also have issue on 400GB disk size with average 13MB/extent
- - Reproducible also on xfs
-
-
-Expected behavior:
--------------------
-QEMU should remain steady, eventually only have decrease storage Performance
-or mirroring, because of fragmented fs.
-
-Observed behavior:
--------------------
-Perf of mirroring is still quite good even on fragmented FS,
-but it breaks qemu.
-
-
-######################  create_fragged_disk.py ############
-import sys
-import os
-import tempfile
-import glob
-import errno
-
-MNT_DIR = sys.argv[1]
-CHUNK_SZ_MB = int(sys.argv[2])
-CHUNKS_DIR = MNT_DIR + '/chunks'
-DISK_FILE = MNT_DIR + '/disk'
-
-if not os.path.exists(CHUNKS_DIR):
-    os.makedirs(CHUNKS_DIR)
-
-with open("/dev/urandom", "rb") as f_rand:
-     mb_rand=f_rand.read(1024 * 1024)
-
-print("Filling up FS by Creating chunks files in: ",CHUNKS_DIR)
-try:
-    while True:
-        tp = tempfile.NamedTemporaryFile(dir=CHUNKS_DIR,delete=False)
-        for x in range(CHUNK_SZ_MB):
-            tp.write(mb_rand)
-        os.fsync(tp)
-        tp.close()
-except Exception as ex:
-    print("We are probably full as expected!!: ",ex)
-
-chunks = glob.glob(CHUNKS_DIR + '/*')
-
-print("Creating fragged disk file: ",DISK_FILE)
-with open(DISK_FILE, "w+b") as f_disk:
-    for chunk in chunks:
-        try:
-            os.unlink(chunk)
-            for x in range(CHUNK_SZ_MB):
-                f_disk.write(mb_rand)
-            os.fsync(f_disk)
-        except IOError as ex:
-            if ex.errno != errno.ENOSPC:
-                raise
-###########################################################3
\ No newline at end of file