Так сразу и вставлял по 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
Думаю что вопрос закрыт, жду репликации и буду переводить так по очереди все диски и потом раздвину пул.