Увеличение размера RAIDZ ZFS пула

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Гость
проходил мимо

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение Гость » 2011-11-21 17:15:02

имеем

Код: Выделить всё

p3a# umane -a
FreeBSD p3a.myftp.org 8.2-RELEASE FreeBSD 8.2-RELEASE #0 r219081M: Wed Mar  2 08:29:52 CET 2011     root@www4:/usr/obj/usr/src/sys/GENERIC  amd64

Код: Выделить всё

ZFS filesystem version 4
ZFS storage pool version 15
диски: ad1 - системный, ada0, ada1, ada2 - raidz с именем mass (файлопомойка)

Код: Выделить всё

ad1: 476940MB <SAMSUNG HD502HJ 1AJ10001> at ata0-slave UDMA133 SATA
ada0: <WDC WD20EARS-00MVWB0 51.0AB51> ATA-8 SATA 2.x device
ada0: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
ada1: <WDC WD20EARS-00MVWB0 51.0AB51> ATA-8 SATA 2.x device
ada1: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
ada2: <WDC WD20EARS-00MVWB0 50.0AB50> ATA-8 SATA 2.x device
ada2: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)

Код: Выделить всё

p3a# zpool status mass
  pool: mass
 state: ONLINE
 scrub: none requested
config:

        NAME                                            STATE     READ WRITE CKSUM
        mass                                            ONLINE       0     0     0
          raidz1                                        ONLINE       0     0     0
            gptid/77605887-23a5-11e0-a4ce-d48564c861c9  ONLINE       0     0     0
            gptid/7b8b3e13-23a5-11e0-a4ce-d48564c861c9  ONLINE       0     0     0
            gptid/7f0b3b6c-23a5-11e0-a4ce-d48564c861c9  ONLINE       0     0     0

errors: No known data errors
задача - последовательно заменить каждый 2Tb HDD на 3Tb с целью увеличения объема пула.
пытаюсь выключить 1 диск и получаю ошибку:

Код: Выделить всё

p3a# zpool offline mass ada0
cannot offline ada0: no such device in pool
будет ли правильно выключить 2Tb диск вот так:

Код: Выделить всё

p3a# zpool offline mass gptid/77605887-23a5-11e0-a4ce-d48564c861c9
и потом заменить его на 3Tb

Код: Выделить всё

# zpool replace mass gptid/77605887-23a5-11e0-a4ce-d48564c861c9 gptid/77605887-23a5-11e0-a4ce-d48564c861c9
на тот же gptid ??
Заранее спасибо!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
iMoJo
ефрейтор
Сообщения: 66
Зарегистрирован: 2010-03-23 7:24:48
Откуда: KZ

Re: Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение iMoJo » 2011-11-21 17:26:32

Это моя тема, почему-то при сабмите темы я разлогинился и тема оформилась Гостем ...

Аватара пользователя
iMoJo
ефрейтор
Сообщения: 66
Зарегистрирован: 2010-03-23 7:24:48
Откуда: KZ

Re: Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение iMoJo » 2011-11-22 7:59:19

Разобрался, всем спасибо за внимание!

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение GhOsT_MZ » 2011-11-22 8:19:00

Ну так было бы не плохо написать как разобрался, чтобы аналогичных вопросов у других людей не было

Аватара пользователя
iMoJo
ефрейтор
Сообщения: 66
Зарегистрирован: 2010-03-23 7:24:48
Откуда: KZ

Re: Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение iMoJo » 2011-11-22 9:11:03

технология такая - поскольку сервер не поддерживает hot swap (у меня HP Microserver N36L, если что), выключил его.
повесил чистый диск 3 Tb на свободный 4- ый порт, запустил сервер, новый диск определился как ata3.
Вывел 1-ый диск в offline

Код: Выделить всё

p3a# zpool offline mass gptid/77605887-23a5-11e0-a4ce-d48564c861c9
потом

Код: Выделить всё

p3a# zpool replace mass gptid/77605887-23a5-11e0-a4ce-d48564c861c9 ata3
начался resilvering, все.
По прошествии 13,5 часов осталось 4%, потом буду последовательно менять остальные диски.

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение BlackCat » 2011-11-23 20:47:21

iMoJo писал(а):По прошествии 13,5 часов осталось 4%, потом буду последовательно менять остальные диски.
Как результат? Вопрос уже поднимался, а руки так и не дошли проверить.

Аватара пользователя
iMoJo
ефрейтор
Сообщения: 66
Зарегистрирован: 2010-03-23 7:24:48
Откуда: KZ

Re: Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение iMoJo » 2011-11-23 22:24:59

Все диски заменил, после замены нужно сделать:

Код: Выделить всё

zpool export mass
zpool imort mass
и по

Код: Выделить всё

p3a# zpool list mass
NAME   SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
mass  8.16T  4.38T  3.78T    53%  ONLINE  -
видно, что размер действительно увеличился.

Аватара пользователя
kharkov_max
капитан
Сообщения: 1808
Зарегистрирован: 2008-10-03 14:56:40

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение kharkov_max » 2016-11-09 18:13:56

Добрый день.

Мне тоже необходимо сделать такую же процедуру, заменить 6 дисков 2ТБ на 6 дисков 4ТБ.
Я верно понимаю что новый диск не обязательно размечать gpart ?

На данный момент на сервер Freebsd10 Stable, но raidz1 я создавал руками еще на 9ке.
zpool replace разве сможет склонировать таблицу разделов ?

PS
+ у меня pool еще и загрузочный ...

Отправлено спустя 2 часа 6 минут 26 секунд:
Собственно вот и первый вопрос.
Для добавления диска в пул мне его нужно правильно разбить под GPT
Собственно для диска ada0 необходимо сделать так:

Код: Выделить всё

gpart create -s GPT ada0
gpart add -b 40 -s 1024 -t freebsd-boot ada0
gpart add -t freebsd-zfs -l disk1 ada0
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
После данных манипуляций я вижу в gpart show следующее:

Код: Выделить всё

> gpart show
=>        34  3907029101  ada1  GPT  (1.8T)
          34           6        - free -  (3.0K)
          40        1024     1  freebsd-boot  (512K)
        1064  3907028064     2  freebsd-zfs  (1.8T)
  3907029128           7        - free -  (3.5K)

=>        34  3907029101  ada2  GPT  (1.8T)
          34           6        - free -  (3.0K)
          40        1024     1  freebsd-boot  (512K)
        1064  3907028064     2  freebsd-zfs  (1.8T)
  3907029128           7        - free -  (3.5K)

=>        34  3907029101  ada3  GPT  (1.8T)
          34           6        - free -  (3.0K)
          40        1024     1  freebsd-boot  (512K)
        1064  3907028064     2  freebsd-zfs  (1.8T)
  3907029128           7        - free -  (3.5K)

=>        34  3907029101  ada4  GPT  (1.8T)
          34           6        - free -  (3.0K)
          40        1024     1  freebsd-boot  (512K)
        1064  3907028064     2  freebsd-zfs  (1.8T)
  3907029128           7        - free -  (3.5K)

=>        34  3907029101  ada5  GPT  (1.8T)
          34           6        - free -  (3.0K)
          40        1024     1  freebsd-boot  (512K)
        1064  3907028064     2  freebsd-zfs  (1.8T)
  3907029128           7        - free -  (3.5K)

=>        34  7814037101  ada0  GPT  (3.6T)
          34           6        - free -  (3.0K)
          40        1024     1  freebsd-boot  (512K)
        1064  7814036064     2  freebsd-zfs  (3.6T)
  7814037128           7        - free -  (3.5K)

=>        34  7814037101  diskid/DISK-WD-WMC130F8S4K1  GPT  (3.6T)
          34           6                               - free -  (3.0K)
          40        1024                            1  freebsd-boot  (512K)
        1064  7814036064                            2  freebsd-zfs  (3.6T)
  7814037128           7                               - free -  (3.5K)
Как бы вроде все верно, но новый диск gpart show как бы дважды добавило:

Код: Выделить всё

=>        34  7814037101  ada0  GPT  (3.6T)
          34           6        - free -  (3.0K)
          40        1024     1  freebsd-boot  (512K)
        1064  7814036064     2  freebsd-zfs  (3.6T)
  7814037128           7        - free -  (3.5K)

=>        34  7814037101  diskid/DISK-WD-WMC130F8S4K1  GPT  (3.6T)
          34           6                               - free -  (3.0K)
          40        1024                            1  freebsd-boot  (512K)
        1064  7814036064                            2  freebsd-zfs  (3.6T)
  7814037128           7                               - free -  (3.5K)
Не понимаю это нормально или нет ?

Код: Выделить всё

uname -a
FreeBSD server.local 10.3-STABLE FreeBSD 10.3-STABLE #0 r305525: Wed Sep  7 14:15:18 EEST 2016     root@server:/usr/obj/usr/src/sys/FREE10  amd64
Отправлено спустя 39 минут 47 секунд:
хммм
Видимо в систему добавили к gptid еще и disk_ident
Выключить можно set kern.geom.label.disk_ident.enable=0 или в sysctl добавить.

Аватара пользователя
kharkov_max
капитан
Сообщения: 1808
Зарегистрирован: 2008-10-03 14:56:40

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение kharkov_max » 2016-11-10 10:28:38

Продолжаем разговор ...

На данный момент засунул новый диск на 4 ТБ в пул, и включил пулу zpool set autoexpand=on zroot
По идее после того как я всуну в пул последний диск на 4ТБ пул автоматически увеличится.

Возник такой вопрос.
На данный момент у меня такая картина

Код: Выделить всё

zpool status
  pool: rpool
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Wed Nov  9 17:01:29 2016
        4,58T scanned out of 7,26T at 81,8M/s, 9h34m to go
        781G resilvered, 62,99% done
config:

        NAME                                            STATE     READ WRITE CKSUM
        rpool                                           DEGRADED     0     0     0
          raidz1-0                                      DEGRADED     0     0     0
            replacing-0                                 OFFLINE      0     0     0
              9551882752039608792                       OFFLINE      0     0     0  was /dev/ada0p2/old
              ada0p2                                    ONLINE       0     0     0  (resilvering)
            gptid/57bb1cae-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/57fa5324-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/5839c3c6-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/587dc66e-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/58c589fe-a01b-11e1-a109-00151785091e  ONLINE       0     0     0

errors: No known data errors
На данный момент я меняю диск ada0, в данном листинге это ada0p2.
Вот тут и вопрос, я не смог добавить в пул диск, сделать replace, потому как старый диск тоже был подключен в пул на по gptid а по имени раздела.
Возникла такая ситуация пару лет назад после обновления системы.

Можно ли как то, после того как доделается resilvering, переключить диск в пуле с ada0p2 на gptid ?

Аватара пользователя
kharkov_max
капитан
Сообщения: 1808
Зарегистрирован: 2008-10-03 14:56:40

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение kharkov_max » 2016-11-11 11:02:14

Едем дальше.
Прошло полторы сутки и диск синхронизировался, на данный момент ситуация такая:

Код: Выделить всё

zpool status
  pool: rpool
 state: ONLINE
  scan: resilvered 1,12T in 24h47m with 0 errors on Thu Nov 10 17:48:55 2016
config:

        NAME                                            STATE     READ WRITE CKSUM
        rpool                                           ONLINE       0     0     0
          raidz1-0                                      ONLINE       0     0     0
            ada0p2                                      ONLINE       0     0     0
            gptid/57bb1cae-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/57fa5324-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/5839c3c6-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/587dc66e-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/58c589fe-a01b-11e1-a109-00151785091e  ONLINE       0     0     0

errors: No known data errors
В /dev/gptid такая картина:

Код: Выделить всё

4493d674-a68c-11e6-8137-00151785091e
57ec0e67-a01b-11e1-a109-00151785091e
5839c3c6-a01b-11e1-a109-00151785091e
58b74c22-a01b-11e1-a109-00151785091e
57acc853-a01b-11e1-a109-00151785091e
57fa5324-a01b-11e1-a109-00151785091e
586d9033-a01b-11e1-a109-00151785091e
58c589fe-a01b-11e1-a109-00151785091e
57bb1cae-a01b-11e1-a109-00151785091e
582b65af-a01b-11e1-a109-00151785091e
587dc66e-a01b-11e1-a109-00151785091e
Вот вывод по ada0, новый диск:

Код: Выделить всё

gpart list ada0
Geom name: ada0
modified: false
state: OK
fwheads: 16
fwsectors: 63
last: 7814037134
first: 34
entries: 128
scheme: GPT
Providers:
1. Name: ada0p1
   Mediasize: 524288 (512K)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r0w0e0
   rawuuid: 4493d674-a68c-11e6-8137-00151785091e
   rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f
   label: disk1
   length: 524288
   offset: 20480
   type: freebsd-boot
   index: 1
   end: 1063
   start: 40
2. Name: ada0p2
   Mediasize: 4000786464768 (3.6T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r1w1e1
   rawuuid: 4860cddf-a68c-11e6-8137-00151785091e
   rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b
   label: disk1
   length: 4000786464768
   offset: 544768
   type: freebsd-zfs
   index: 2
   end: 7814037127
   start: 1064
Consumers:
1. Name: ada0
   Mediasize: 4000787030016 (3.6T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r1w1e2
Вот для сравнения вывод ada5:

Код: Выделить всё

gpart list ada5
Geom name: ada5
modified: false
state: OK
fwheads: 16
fwsectors: 63
last: 3907029134
first: 34
entries: 128
scheme: GPT
Providers:
1. Name: ada5p1
   Mediasize: 524288 (512K)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r0w0e0
   rawuuid: 58b74c22-a01b-11e1-a109-00151785091e
   rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f
   label: disk6
   length: 524288
   offset: 20480
   type: freebsd-boot
   index: 1
   end: 1063
   start: 40
2. Name: ada5p2
   Mediasize: 2000398368768 (1.8T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r1w1e2
   rawuuid: 58c589fe-a01b-11e1-a109-00151785091e
   rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b
   label: disk6
   length: 2000398368768
   offset: 544768
   type: freebsd-zfs
   index: 2
   end: 3907029127
   start: 1064
Consumers:
1. Name: ada5
   Mediasize: 2000398934016 (1.8T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r1w1e3
Собственно в каталоге /dev/gptid есть 2 метки для 2х разделов диска ada5 58b74c22-a01b-11e1-a109-00151785091e и 58c589fe-a01b-11e1-a109-00151785091e
А для диска ada0, только одна метка для первого раздела 4493d674-a68c-11e6-8137-00151785091e, а метка второго раздела отсустсвует.

Как побороть ситуацию?
Очень хочу в пул подключить ada0 по метке gptid

guest
проходил мимо

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение guest » 2016-11-11 12:06:20

kharkov_max писал(а):Едем дальше.

Собственно в каталоге /dev/gptid есть 2 метки для 2х разделов диска ada5 58b74c22-a01b-11e1-a109-00151785091e и 58c589fe-a01b-11e1-a109-00151785091e
А для диска ada0, только одна метка для первого раздела 4493d674-a68c-11e6-8137-00151785091e, а метка второго раздела отсустсвует.

Как побороть ситуацию?
Очень хочу в пул подключить ada0 по метке gptid
kern.geom.label.disk_ident.enable=0 -> loader.conf

спасет?

Аватара пользователя
kharkov_max
капитан
Сообщения: 1808
Зарегистрирован: 2008-10-03 14:56:40

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение kharkov_max » 2016-11-11 14:21:02

kern.geom.label.disk_ident.enable=0 -> loader.conf
Попробую ...

Вот еще что обнаружил:

Код: Выделить всё

zdb
rpool:
    version: 5000
    name: 'rpool'
    state: 0
    txg: 24262983
    pool_guid: 10988791418121843680
    hostid: 740984500
    hostname: 'storage1-b1.budmen.ua'
    vdev_children: 1
    vdev_tree:
        type: 'root'
        id: 0
        guid: 10988791418121843680
        children[0]:
            type: 'raidz'
            id: 0
            guid: 11859148559447798716
            nparity: 1
            metaslab_array: 30
            metaslab_shift: 36
            ashift: 12
            asize: 12002361606144
            is_log: 0
            create_txg: 4
            children[0]:
                type: 'disk'
                id: 0
                guid: 18102737021420286101
                path: '/dev/ada0p2'
                whole_disk: 1
                DTL: 159
                create_txg: 4
            children[1]:
                type: 'disk'
                id: 1
                guid: 2140883716035897338
                path: '/dev/gptid/57bb1cae-a01b-11e1-a109-00151785091e'
                phys_path: '/dev/gptid/57bb1cae-a01b-11e1-a109-00151785091e'
                whole_disk: 1
                DTL: 172
                create_txg: 4
            children[2]:
                type: 'disk'
                id: 2
                guid: 12343972576415077711
                path: '/dev/gptid/57fa5324-a01b-11e1-a109-00151785091e'
                phys_path: '/dev/gptid/57fa5324-a01b-11e1-a109-00151785091e'
                whole_disk: 1
                DTL: 171
                create_txg: 4
            children[3]:
                type: 'disk'
                id: 3
                guid: 7613168592152212449
                path: '/dev/gptid/5839c3c6-a01b-11e1-a109-00151785091e'
                phys_path: '/dev/gptid/5839c3c6-a01b-11e1-a109-00151785091e'
                whole_disk: 1
                DTL: 170
                create_txg: 4
            children[4]:
                type: 'disk'
                id: 4
                guid: 3575700824538987074
                path: '/dev/gptid/587dc66e-a01b-11e1-a109-00151785091e'
                phys_path: '/dev/gptid/587dc66e-a01b-11e1-a109-00151785091e'
                whole_disk: 1
                DTL: 169
                create_txg: 4
            children[5]:
                type: 'disk'
                id: 5
                guid: 11312567736553937327
                path: '/dev/gptid/58c589fe-a01b-11e1-a109-00151785091e'
                phys_path: '/dev/gptid/58c589fe-a01b-11e1-a109-00151785091e'
                whole_disk: 1
                DTL: 168
                create_txg: 4
    features_for_read:
        com.delphix:hole_birth
        com.delphix:embedded_data
У children[0] отсутствует path и phys_path, как бы не поломать чего ...
Может как то сначала нужно этот момент полечить?

Отправлено спустя 1 час 14 минут 44 секунды:

Код: Выделить всё

sysctl -a | grep kern.geom.label.disk_ident.enable
kern.geom.label.disk_ident.enable: 0
Как бы уже стоит, я ни чего не менял в системе

Отправлено спустя 30 минут 43 секунды:
Вот нашел похожую темуhttp://forum.lissyara.su/viewtopic.php?t=41378
Видимо необходимо сделать export а потом import с явным указанием по каким меткам импортировать ... diskident label или gptid label или gpt label

Если у меня пул загрузочный получится ему на лету сделать export и import, или нужно будет грузится с диска и т.д. ?

snorlov
подполковник
Сообщения: 3714
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение snorlov » 2016-11-11 14:40:43

Да надо было сразу в raid вставлять по меткам, проще, наглядней, удобней...

Аватара пользователя
kharkov_max
капитан
Сообщения: 1808
Зарегистрирован: 2008-10-03 14:56:40

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение kharkov_max » 2016-11-11 18:24:27

Так сразу и вставлял по gpt label, (gpt/disk1 gpt/disk2 gpt/disk3 gpt/disk4 gpt/disk5 gpt/disk6)
А после обновления системы все метки перепрыгнули на gptid....

Отправлено спустя 1 час 44 минуты 6 секунд:
Вообщем развалил снова пул, все же хочу по меткам нормально привязать.
Есть догадки почему у меня после обновления система перескочила на gptid
Возможно потому что у меня label на загрузочной партиции и партиции сданными был одинаков.
Т.е.

Код: Выделить всё

gpart list ada0
Geom name: ada0
modified: false
state: OK
fwheads: 16
fwsectors: 63
last: 7814037134
first: 34
entries: 128
scheme: GPT
Providers:
1. Name: ada0p1
   Mediasize: 524288 (512K)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r0w0e0
   rawuuid: 4493d674-a68c-11e6-8137-00151785091e
   rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f
   label: disk1
   length: 524288
   offset: 20480
   type: freebsd-boot
   index: 1
   end: 1063
   start: 40
2. Name: ada0p2
   Mediasize: 4000786464768 (3.6T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r1w1e1
   rawuuid: 4860cddf-a68c-11e6-8137-00151785091e
   rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b
   label: disk1
   length: 4000786464768
   offset: 544768
   type: freebsd-zfs
   index: 2
   end: 7814037127
   start: 1064
Consumers:
1. Name: ada0
   Mediasize: 4000787030016 (3.6T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r1w1e2
Т.е. label:disk1

Развалил пул и поменял метки разделов на ada0 теперь выглядит так:

Код: Выделить всё

gpart list ada0
Geom name: ada0
modified: false
state: OK
fwheads: 16
fwsectors: 63
last: 7814037134
first: 34
entries: 128
scheme: GPT
Providers:
1. Name: ada0p1
   Mediasize: 524288 (512K)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r0w0e0
   rawuuid: 4493d674-a68c-11e6-8137-00151785091e
   rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f
   label: disk1-boot
   length: 524288
   offset: 20480
   type: freebsd-boot
   index: 1
   end: 1063
   start: 40
2. Name: ada0p2
   Mediasize: 4000786464768 (3.6T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r0w0e0
   rawuuid: 4860cddf-a68c-11e6-8137-00151785091e
   rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b
   label: disk1
   length: 4000786464768
   offset: 544768
   type: freebsd-zfs
   index: 2
   end: 7814037127
   start: 1064
Consumers:
1. Name: ada0
   Mediasize: 4000787030016 (3.6T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r0w0e0
Перегрузился, наблюдаю в /dev/gpt:

Код: Выделить всё

 disk1
 disk1-boot
 disk2
 disk3
 disk4
 disk5
 disk6
Т.е. вроде gpt метки есть и они верные.
Состояние пула следующее:

Код: Выделить всё

zpool status
  pool: rpool
 state: DEGRADED
status: One or more devices has been taken offline by the administrator.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Online the device using 'zpool online' or replace the device with
        'zpool replace'.
  scan: resilvered 1,12T in 24h47m with 0 errors on Thu Nov 10 17:48:55 2016
config:

        NAME                                            STATE     READ WRITE CKSUM
        rpool                                           DEGRADED     0     0     0
          raidz1-0                                      DEGRADED     0     0     0
            18102737021420286101                        OFFLINE      0     0     0  was /dev/ada0p2
            gptid/57bb1cae-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/57fa5324-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/5839c3c6-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/587dc66e-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/58c589fe-a01b-11e1-a109-00151785091e  ONLINE       0     0     0

errors: No known data errors
Делаю replace и получаю:

Код: Выделить всё

zpool replace rpool 18102737021420286101 gpt/disk1
invalid vdev specification
use '-f' to override the following errors:
/dev/gpt/disk1 is part of active pool 'rpool'
Не хочет ни как ...
Вот вывод zdb

Код: Выделить всё

zdb
rpool:
    version: 5000
    name: 'rpool'
    state: 0
    txg: 24265161
    pool_guid: 10988791418121843680
    hostid: 740984500
    hostname: 'storage1-b1.budmen.ua'
    vdev_children: 1
    vdev_tree:
        type: 'root'
        id: 0
        guid: 10988791418121843680
        children[0]:
            type: 'raidz'
            id: 0
            guid: 11859148559447798716
            nparity: 1
            metaslab_array: 30
            metaslab_shift: 36
            ashift: 12
            asize: 12002361606144
            is_log: 0
            create_txg: 4
            children[0]:
                type: 'disk'
                id: 0
                guid: 18102737021420286101
                path: '/dev/ada0p2'
                whole_disk: 1
                DTL: 159
                create_txg: 4
                offline: 1
            children[1]:
                type: 'disk'
                id: 1
                guid: 2140883716035897338
                path: '/dev/gptid/57bb1cae-a01b-11e1-a109-00151785091e'
                phys_path: '/dev/gptid/57bb1cae-a01b-11e1-a109-00151785091e'
                whole_disk: 1
                DTL: 172
                create_txg: 4
            children[2]:
                type: 'disk'
                id: 2
                guid: 12343972576415077711
                path: '/dev/gptid/57fa5324-a01b-11e1-a109-00151785091e'
                phys_path: '/dev/gptid/57fa5324-a01b-11e1-a109-00151785091e'
                whole_disk: 1
                DTL: 171
                create_txg: 4
            children[3]:
                type: 'disk'
                id: 3
                guid: 7613168592152212449
                path: '/dev/gptid/5839c3c6-a01b-11e1-a109-00151785091e'
                phys_path: '/dev/gptid/5839c3c6-a01b-11e1-a109-00151785091e'
                whole_disk: 1
                DTL: 170
                create_txg: 4
            children[4]:
                type: 'disk'
                id: 4
                guid: 3575700824538987074
                path: '/dev/gptid/587dc66e-a01b-11e1-a109-00151785091e'
                phys_path: '/dev/gptid/587dc66e-a01b-11e1-a109-00151785091e'
                whole_disk: 1
                DTL: 169
                create_txg: 4
            children[5]:
                type: 'disk'
                id: 5
                guid: 11312567736553937327
                path: '/dev/gptid/58c589fe-a01b-11e1-a109-00151785091e'
                phys_path: '/dev/gptid/58c589fe-a01b-11e1-a109-00151785091e'
                whole_disk: 1
                DTL: 168
                create_txg: 4
    features_for_read:
        com.delphix:hole_birth
        com.delphix:embedded_data
В выводе видно чтоchildren[0]: настроен в пуле на path: '/dev/ada0p2'
Я так понимаю что информация о всех дисках в пуле хранится на каждом диске, и пул не хочет принимать ни чего кроме /dev/ada0p2
Может как то нужно пулу сказать что диск теперь не '/dev/ada0p2' а gpt/disk1 ?

Отправлено спустя 1 час 17 минут 33 секунды:
Вообщем что то получилось, перепривязал на gpt label.

Выдернул новый диск на 4ТБ (на котором экспериментировал), всунул новый, не разбитый такой же на 4Тб
Выполнил:

Код: Выделить всё

gpart create -s GPT ada0
gpart add -b 40 -s 1024 -t freebsd-boot -l disk1-boot ada0
gpart add -t freebsd-zfs -l disk1 ada0
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0

zpool replace rpool ada0p2 gpt/disk1
И все пошло как нужно, видимо предыдущая ошибка связана с тем что zpool понимал что я ему пытаюсь подсунуть уже реплицированный, не чистый диск. Диск я не очищал, считал что пулу должно быть все равно на что я его хочу заставить делать resilvering.

Код: Выделить всё

zpool status
  pool: rpool
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Fri Nov 11 17:18:58 2016
        30,2M scanned out of 7,27T at 2,02M/s, (scan is slow, no estimated time)
        4,94M resilvered, 0,00% done
config:

        NAME                                            STATE     READ WRITE CKSUM
        rpool                                           DEGRADED     0     0     0
          raidz1-0                                      DEGRADED     0     0     0
            replacing-0                                 OFFLINE      0     0     0
              18102737021420286101                      OFFLINE      0     0     0  was /dev/ada0p2
              gpt/disk1                                 ONLINE       0     0     0  (resilvering)
            gptid/57bb1cae-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/57fa5324-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/5839c3c6-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/587dc66e-a01b-11e1-a109-00151785091e  ONLINE       0     0     0
            gptid/58c589fe-a01b-11e1-a109-00151785091e  ONLINE       0     0     0

errors: No known data errors
Думаю что вопрос закрыт, жду репликации и буду переводить так по очереди все диски и потом раздвину пул.

snorlov
подполковник
Сообщения: 3714
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение snorlov » 2016-11-13 20:07:14

Пара раз были проблемы, откуда вынес, что если на диске есть метаданные, то zpool их на диске не затирает... Отсюда вынес применение dd на диск, который вставляю по новой...

Аватара пользователя
kharkov_max
капитан
Сообщения: 1808
Зарегистрирован: 2008-10-03 14:56:40

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение kharkov_max » 2016-12-13 18:35:53

Продолжаем разговор ...

Вообщем удалось заменить в сервере все 6 дисков с 2 ТБ на 4 ТБ
После того как заменил все диски включил свойство пула autoexpand=on, перегрузил сервер, а пул не увеличился ...

Что не так и что дальше делать?
Сейчас scrub запустил, но он врят ли поможет ....

pimlab
прапорщик
Сообщения: 476
Зарегистрирован: 2007-10-09 11:31:03

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение pimlab » 2016-12-13 19:52:49

iMoJo писал(а):Все диски заменил, после замены нужно сделать:

Код: Выделить всё

zpool export mass
zpool imort mass
видно, что размер действительно увеличился.

Аватара пользователя
kharkov_max
капитан
Сообщения: 1808
Зарегистрирован: 2008-10-03 14:56:40

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение kharkov_max » 2016-12-14 13:10:41

Мда..
Действительно нужно попробовать сделать export / import

Вот теперь вопрос как это сделать правильно.
Под сингле юзер делать zpool export не хочет, пишет что не может отмонтировать /
Ну оно то и так т.к. мой пул загрузочный.

Загрузился с life CD, подмонтировал модули opensolaris и zfs.
Система pool не видит, т.е. нужно делать его import сначала.
При попытке импорта пишет что pool уже смонтирован в другой ОС.
В принципе можно форсировать, но что будет потом ?

Т.е. с life cd я сделаю import потом export, что будет при загрузке уже с диска ?
Если я верно понимаю то pool не смонтируется сам, т.е. придется делать какие то телодвижения.

Потренироваться не где, и ошибиться нельзя...
Подскажите пожалуйста что будет и как потом что произойдет лечить...

Аватара пользователя
f_andrey
майор
Сообщения: 2651
Зарегистрирован: 2007-12-26 1:22:58
Откуда: СПб
Контактная информация:

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение f_andrey » 2016-12-14 13:17:04

kharkov_max писал(а): Действительно нужно попробовать сделать export / import
не нужно!

Если пул загрузочный, то надо просто перезагрузить, если нет, то проще импорт/экспорт (без ребута). Если что то не так, то что то идёт не так и вы делаете это не так где то в другом месте.

Для пробы, сначала лучше тренироваться на "файловом" пуле (ну если нет кучки ненужных дисков).
Если ваша тема перенесена, то смотри http://forum.lissyara.su/viewtopic.php?f=1&t=32308

Аватара пользователя
kharkov_max
капитан
Сообщения: 1808
Зарегистрирован: 2008-10-03 14:56:40

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение kharkov_max » 2016-12-14 13:22:59

Просто перегрузил уже несколько раз, autoexpand=on, пул не увеличивается на все остальное доступное место.
Если делаю export на рабочей загруженной системе тов консоле

Код: Выделить всё

cannot umount '/var/run'
как минимум

Собственно какой совет дадите для того что бы раздвинуть pool (увеличить его)?

Отправлено спустя 1 минуту 10 секунд:
Бля...

Вот щас проверил zpool list и у видел что размер пула уже увеличен.
Что сделал х.з. так и не понял.

guest
проходил мимо

Увеличение размера RAIDZ ZFS пула

Непрочитанное сообщение guest » 2016-12-14 13:41:50

kharkov_max писал(а):Просто перегрузил уже несколько раз, autoexpand=on, пул не увеличивается на все остальное доступное место.
Если делаю export на рабочей загруженной системе тов консоле

Код: Выделить всё

cannot umount '/var/run'
как минимум

Собственно какой совет дадите для того что бы раздвинуть pool (увеличить его)?

Отправлено спустя 1 минуту 10 секунд:
Бля...

Вот щас проверил zpool list и у видел что размер пула уже увеличен.
Что сделал х.з. так и не понял.
как это: "торопидзе не надо...", лучше один раз подумать и соответственно минимум раз перезагрузиться.

export, потом import для не-корневого пула, для корневого - export, reboot, если проблемы с autoexpand на корневом,
boot from cd/dvd/usb - import.

ps. как только ответите на вопрос: а зачем export/import - все срастется. "зри в корень!"