2007-06-09

ufm: (Default)
Создаем пул из файла размером в 512 мегов. Ну просто с файлом потом играться проще.

говорим
zfs set copies=2 test1
после этого все данные, которые будут писаться в этот пул - будут продублированы.
создаём файл ZZZ с содержимым ZFS - RULEZZZ
дестроим пул.
в файле из которого был сделан пул находим строчку RULEZZZ и меняем на SUXXXX. По дороге пробегаемся еще по каким-то служебным полям не разбираясь и зафигачиваем туда мусор.

натравливаем zpool на каталог и говорим - там был pool, найди его и подцепи. Находит и подцепляет.

смотрим zpool status - пока всё хорошо.
смотрим содержимое  файла ZZZ - в нём ZFS RULEZZZ
говорим zpool status - есть некое количество некритичных CRC ошибок.
zpool scrub test1
zpool clear test1
zpool status - все ok.

Я пока не уверен, что за система будет стоять на домашнем компе, но я точно знаю какая операционка будет стоять на домашней файлопомойке.

P.S. Да, если поменять все вхождения RULEZZ на SUXXXX - файлу приходит кирдык, конечно, чудес не бывает. Но для ситуации "стоит один большой диск" - идеально. Ибо дня ненужного можно сказать copies=1 (точнее оно по умолчанию), для важного - 2, а для очень важного - 3. Ибо электроника в дисках умирает, конечно, но по личной статистике гораздо чаще диск начинает просто сыпаться.

ufm: (Default)
...сказали суровые сибирские мужики. :)

zpool create -m /export/test1 test1 raidz /export/sl1 /export/sl2 /export/sl3
zpool add -f test1 /export/sl4

zpool status
  pool: test1
 state: ONLINE
 scrub: resilver completed with 0 errors on Sat Jun  9 21:52:50 2007
config:

        NAME             STATE     READ WRITE CKSUM
        test1            ONLINE       0     0     0
          raidz1         ONLINE       0     0     0
            /export/sl1  ONLINE       0     0     0
            /export/sl2  ONLINE       0     0     0
            /export/sl3  ONLINE       0     0     0
          /sl4           ONLINE       0     0     0

dd if=/dev/zero of=sl4 bs=512 count=512000
zpool scrub test1

И пц котёнку. Система трапнулась и ушла на перезагрузку. :)

Впрочем, когда я добавлял отдельный vdev к рейду система меня честно нафиг послала, со словами что я тупой и не понимаю что делаю. Из-за этого -f использовать и пришлось. :)