URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 89436
[ Назад ]

Исходное сообщение
"Вопрос по ZFS (перенос дисков в другой пул)"

Отправлено universite , 24-Июл-10 03:27 
Нужно перенести второе зеркало (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, но пока безрезультатно...
Есть идеи?

Содержание

Сообщения в этом обсуждении
"Вопрос по ZFS (перенос дисков в другой пул)"
Отправлено mef , 24-Июл-10 22:40 
>Пробовал через export|import, но пока безрезультатно...

А чего безрезультатно? Ошибки выдает?


"Вопрос по ZFS (перенос дисков в другой пул)"
Отправлено sage444 , 24-Июл-10 22:55 
>Пробовал через export|import, но пока безрезультатно...
>Есть идеи?

а что именно не получается
пул создать или диски перенести ?

что пишет deatach/offline ?


"Вопрос по ZFS (перенос дисков в другой пул)"
Отправлено universite , 25-Июл-10 04:21 
>>Пробовал через 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


"Вопрос по ZFS (перенос дисков в другой пул)"
Отправлено sage444 , 25-Июл-10 08:05 
>[оверквотинг удален]
>>
>>что пишет 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 вернуть на место, а в новый пул всунуть нужный

вроде ничего не забыл ))


"Вопрос по ZFS (перенос дисков в другой пул)"
Отправлено universite , 25-Июл-10 17:51 
та не, это не то.
size(md1)>size(md3)

Как я понял, ZFS не умеет перемещать данные в пределах одного пула, чтоб освободить винт/vdev, а только делать для восстановления replace



"Вопрос по ZFS (перенос дисков в другой пул)"
Отправлено mef , 25-Июл-10 22:18 
>та не, это не то.
>size(md1)>size(md3)
>
>Как я понял, ZFS не умеет перемещать данные в пределах одного пула,
>чтоб освободить винт/vdev, а только делать для восстановления replace

1. Делаешь бекап.
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
Все.


"Вопрос по ZFS (перенос дисков в другой пул)"
Отправлено universite , 26-Июл-10 00:52 
>>та не, это не то.
>>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     0

errors: 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



"Вопрос по ZFS (перенос дисков в другой пул)"
Отправлено mef , 26-Июл-10 09:50 

# 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     0

errors: 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


В итоге получилось ведь?

"Вопрос по ZFS (перенос дисков в другой пул)"
Отправлено universite , 31-Июл-10 20:20 

>В итоге получилось ведь?

Да, тестовая схема работает



"Вопрос по ZFS (перенос дисков в другой пул)"
Отправлено universite , 31-Июл-10 20:19 
>
>А вот это похоже на пробелы в документации, по-дефолту создается mirror, что
>странно!

создается RAID-1 (зеркало):


zpool attach test md3 md4

создается RAID-0 :


zpool add test md4


"Вопрос по ZFS (перенос дисков в другой пул)"
Отправлено universite , 03-Авг-10 03:05 
>>
>>А вот это похоже на пробелы в документации, по-дефолту создается 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


"Вопрос по ZFS (перенос дисков в другой пул)"
Отправлено universite , 18-Ноя-12 18:56 
А так добавить еще одно зеркало (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



"Вопрос по ZFS (перенос дисков в другой пул)"
Отправлено universite , 25-Июл-10 04:25 
>Нужно перенести второе зеркало (md{3,4}) в другой пул test-mirror2 (несозданный)
>Есть идеи?

Есть мнение, что перенос данных можно через snapshot.


"Вопрос по ZFS (перенос дисков в другой пул)"
Отправлено butcher , 26-Июл-10 11:15 
>Нужно перенести второе зеркало (md{3,4}) в другой пул test-mirror2 (несозданный)

так нельзя. Вы можете развалить оба зеркала в этом пуле и освободить md2 md4, например. Но отделить страйп не выйдет.