Нужно перенести второе зеркало (md{3,4}) в другой пул test-mirror2 (несозданный)
# zpool status test-mirror
pool: test-mirror
state: ONLINE
scrub: none requested
config:NAME STATE READ WRITE CKSUM
test-mirror ONLINE 0 0 0
mirror ONLINE 0 0 0
md1 ONLINE 0 0 0
md2 ONLINE 0 0 0
mirror ONLINE 0 0 0
md3 ONLINE 0 0 0
md4 ONLINE 0 0 0
Пробовал через export|import, но пока безрезультатно...
Есть идеи?
>Пробовал через export|import, но пока безрезультатно...А чего безрезультатно? Ошибки выдает?
>Пробовал через export|import, но пока безрезультатно...
>Есть идеи?а что именно не получается
пул создать или диски перенести ?что пишет deatach/offline ?
>>Пробовал через export|import, но пока безрезультатно...
>>Есть идеи?
>
>а что именно не получается
>пул создать или диски перенести ?
>
>что пишет deatach/offline ?offline не помогает.
например вытаскиваю md4, а md3 блокируется, типа это миррор, нельзя так.
# zpool detach test-mirror md3
# zpool detach test-mirror md4
cannot detach md4: only applicable to mirror and replacing vdevs
>[оверквотинг удален]
>>
>>что пишет deatach/offline ?
>
>offline не помогает.
>например вытаскиваю md4, а md3 блокируется, типа это миррор, нельзя так.
>
># zpool detach test-mirror md3
># zpool detach test-mirror md4
>cannot detach md4: only applicable to mirror and replacing vdevs
>если дисков больше нет то попробуй сделать так:
0. бекап
1. достань по одному диску из каждого зеркала например md2 и md4
2. создай нужный тебе зеркальный пул
3. скопируй данные.
должно получиться что-то вроде
test-mirror2 ONLINE 0 0 0
mirror ONLINE 0 0 0
md2 ONLINE 0 0 0
md4 ONLINE 0 0 0
4. теперь старое зеркало тебе не нужно убей его и освободи диск
5. диск2 вернуть на место, а в новый пул всунуть нужныйвроде ничего не забыл ))
та не, это не то.
size(md1)>size(md3)Как я понял, ZFS не умеет перемещать данные в пределах одного пула, чтоб освободить винт/vdev, а только делать для восстановления replace
>та не, это не то.
>size(md1)>size(md3)
>
>Как я понял, ZFS не умеет перемещать данные в пределах одного пула,
>чтоб освободить винт/vdev, а только делать для восстановления replace1. Делаешь бекап.
2. Деатачишь md3, создаешь новый пул
zpool detach test-mirror md3
zpool create test-mirror2 md3
3. В пуле test-mirror2 создаешь все что надо (zfs create ...), потом копируешь туда данные, если надо автоматом все, то можно использовать для этого снапшоты.
4. zpool detach test-mirror md4
zpool attach test-mirror2 md3 md4 - он сам допетривает, что нужно делать mirror.
Где надо умело пользуемся опцией -f
Все.
>>та не, это не то.
>>size(md1)>size(md3)
>>
>>Как я понял, ZFS не умеет перемещать данные в пределах одного пула,
>>чтоб освободить винт/vdev, а только делать для восстановления replace
>
>1. Делаешь бекап.
>2. Деатачишь md3, создаешь новый пул
>zpool detach test-mirror md3
>zpool create test-mirror2 md3
# zpool status test-mirror2
pool: test-mirror2
state: ONLINE
scrub: none requested
config:NAME STATE READ WRITE CKSUM
test-mirror2 ONLINE 0 0 0
md3 ONLINE 0 0 0errors: No known data errors
надо миррор, а для него минимум 2 диска (девайса)>3. В пуле test-mirror2 создаешь все что надо (zfs create ...), потом
>копируешь туда данные, если надо автоматом все, то можно использовать для
>этого снапшоты.
>4. zpool detach test-mirror md4ввыше лог, так не удасться
>zpool attach test-mirror2 md3 md4 - он сам допетривает, что нужно
>делать mirror.А вот это похоже на пробелы в документации, по-дефолту создается mirror, что странно!
# zpool attach test-mirror2 md3 md4
# zpool status test-mirror2
pool: test-mirror2
state: ONLINE
scrub: resilver completed after 0h0m with 0 errors on Sun Jul 25 23:49:56 2010
config:NAME STATE READ WRITE CKSUM
test-mirror2 ONLINE 0 0 0
mirror ONLINE 0 0 0
md3 ONLINE 0 0 0 45K resilvered
md4 ONLINE 0 0 0 72K resilvered
# zpool status test-mirror2
pool: test-mirror2
state: ONLINE
scrub: none requested
config:NAME STATE READ WRITE CKSUM
test-mirror2 ONLINE 0 0 0
md3 ONLINE 0 0 0errors: No known data errors
>надо миррор, а для него минимум 2 диска (девайса)На данном этапе это не важно. С пулом уже можно нормально работать.
>>3. В пуле test-mirror2 создаешь все что надо (zfs create ...), потом
>>копируешь туда данные, если надо автоматом все, то можно использовать для
>>этого снапшоты.
>>4. zpool detach test-mirror md4
>ввыше лог, так не удастьсяПо памяти писал, может что не так.
>>zpool attach test-mirror2 md3 md4 - он сам допетривает, что нужно
>>делать mirror.
# zpool attach test-mirror2 md3 md4
# zpool status test-mirror2
pool: test-mirror2
state: ONLINE
scrub: resilver completed after 0h0m with 0 errors on Sun Jul 25 23:49:56 2010
config:NAME STATE READ WRITE CKSUM
test-mirror2 ONLINE 0 0 0
mirror ONLINE 0 0 0
md3 ONLINE 0 0 0 45K resilvered
md4 ONLINE 0 0 0 72K resilvered
В итоге получилось ведь?
>В итоге получилось ведь?Да, тестовая схема работает
>
>А вот это похоже на пробелы в документации, по-дефолту создается mirror, что
>странно!создается RAID-1 (зеркало):
zpool attach test md3 md4создается RAID-0 :
zpool add test md4
>>
>>А вот это похоже на пробелы в документации, по-дефолту создается mirror, что
>>странно!
>
>создается RAID-1 (зеркало):
>zpool attach test md3 md4
>вот применил на боевом:
# zpool attach tank /dev/gpt/disk0 /dev/gpt/disk1
Please be sure to invoke installgrub(1M) to make '/dev/gpt/disk1' bootable.
wtf?
хотя чуть раньше сделал:
# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ad4
ad4 has bootcodeЛадно, по второму разу сделал:
#zpool set bootfs=tank tank
А так добавить еще одно зеркало (RAID-1) в пул
zpool add test mirror /dev/md5 /dev/md6
# zpool status test
pool: test
state: ONLINE
scan: resilvered 85K in 0h0m with 0 errors on Sun Nov 18 16:37:35 2012
config:NAME STATE READ WRITE CKSUM
test ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
md3 ONLINE 0 0 0
md4 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
md5 ONLINE 0 0 0
md6 ONLINE 0 0 0
>Нужно перенести второе зеркало (md{3,4}) в другой пул test-mirror2 (несозданный)
>Есть идеи?Есть мнение, что перенос данных можно через snapshot.
>Нужно перенести второе зеркало (md{3,4}) в другой пул test-mirror2 (несозданный)так нельзя. Вы можете развалить оба зеркала в этом пуле и освободить md2 md4, например. Но отделить страйп не выйдет.