NoPaste

zfs raid1 changing degraded write

von heisenberg

SNIPPET_TEXT:
  1. #!/bin/bash
  2.  
  3. mylog() {
  4.         echo "$(date) : $*"
  5. }
  6.  
  7. my_losetup() {
  8.         local idx=$1
  9.         losetup | grep -q /dev/loop$idx || losetup /dev/loop$idx /backup/testing/disk$idx
  10. }
  11.  
  12. zfs_change() {
  13.  
  14.         zpool export zfstest
  15.         local add_nr=$1
  16.         local del_nr=$2
  17.         mylog "changing zfs to enabled: $add_nr disabled: $del_nr"
  18.         my_losetup $add_nr
  19.         losetup -d /dev/loop$del_nr
  20.         zpool import -d /dev/loop$add_nr zfstest
  21.  
  22. }
  23.  
  24. zfs_mount_clean() {
  25.         zpool export zfstest 2>/dev/null
  26.         my_losetup 0
  27.         my_losetup 1
  28.         zpool import -d /dev/loop0 zfstest
  29. }
  30.  
  31. do_write() {
  32.         echo "$(date) : v$1" >>/zfstest/testdir1/testfile
  33. }
  34.  
  35. i=1
  36. while :;do
  37.         zfs_mount_clean
  38.         zfs_change 1 0
  39.         do_write "$i"
  40.         zfs_mount_clean
  41.         zfs_change 0 1
  42.         do_write "$((i+1))"
  43.         ((i=i+2))
  44. done

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN