У меня такой zpool:
bash-3.2# zpool status dpool
pool: dpool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
dpool ONLINE 0 0 0
c3t600601604F021A009E1F867A3E24E211d0 ONLINE 0 0 0
c3t600601604F021A00141D843A3F24E211d0 ONLINE 0 0 0
Я хотел бы заменить оба этих диска на один (диск большего размера). Это можно сделать? zpool attach позволяет заменить один физический диск, но не позволяет заменять оба сразу.
Нет, я не думаю, что это возможно в той манере, которую вы описываете.
Вы жестяная банкаоднако создайте новый пул с одним диском и скопируйте файловые системы ZFS в новый пул с помощью простого zfs отправить / получить обработать.
Ты должен быть способен zpool attach
новый и больший диск, дождитесь завершения зеркалирования, а затем zpool detach
старые диски.
редактировать: Я неправильно понял ваш вопрос, и я был совершенно уверен, что вы использовали их как зеркало.
Я согласен с тем, что лучший способ действий - создать новый пул и рекурсивно отправить все наборы данных в новый пул, но если вы действительно не можете этого сделать, вы все равно можете выполнить описанные мной шаги, при условии, что вы разделите новый пул. , диск большего размера, на два раздела, размер каждого не меньше размера диска, который он предназначен для замены.
Я не рекомендую этого делать, главным образом потому, что (1) управление становится более сложным и (2) вы не сможете воспользоваться преимуществами кеша записи диска.
Я вставлю сюда последовательность, как это было на недавней коробке Illumos. Обратите внимание, что я создаю пустые файлы, чтобы показать это, вместо того, чтобы использовать целые диски и срезы / разделы, так как я не могу манипулировать физическими устройствами на этом поле. Файлы названы aa1
, aa2
и aa3
.
Подготовьте устройства. aa3
200M, а aa1
и aa2
только 100M:
# dd if=/dev/zero of=/opt/local/aa1 bs=1M count=100
# dd if=/dev/zero of=/opt/local/aa2 bs=1M count=100
# dd if=/dev/zero of=/opt/local/aa3 bs=1M count=200
Создайте наш тестовый пул:
# zpool create test mirror /opt/local/aa1 /opt/local/aa2
Убедитесь, что все прошло гладко:
# zpool list -v test
NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT
test 95,5M 106K 95,4M - 0% 1.00x ONLINE -
mirror 95,5M 106K 95,4M -
/opt/local/aa1 - - - -
/opt/local/aa2 - - - -
Установить autoexpand
свойство:
# zpool set autoexpand=on test
Присоедините новое устройство:
# zpool attach test /opt/local/aa2 /opt/local/aa3
Все еще хорошо?
# zpool list -v test
NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT
test 95,5M 120K 95,4M - 0% 1.00x ONLINE -
mirror 95,5M 120K 95,4M -
/opt/local/aa1 - - - -
/opt/local/aa2 - - - -
/opt/local/aa3 - - - -
Да, это так.
Отсоедините первых двух разработчиков:
# zpool detach test /opt/local/aa1
# zpool detach test /opt/local/aa2
Наконец, давайте еще раз проверим пул:
# zpool list -v test
NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT
test 196M 124K 195M - 0% 1.00x ONLINE -
/opt/local/aa3 196M 124K 195M -
Он правильно вырос до 200 МБ.