Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    [РЕШЕНО]Как заменить жёсткий диск в рабочей ZFS RAID?

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    [РЕШЕНО]Как заменить жёсткий диск в рабочей ZFS RAID?, Proxmox Виртуальная Среда
     
    maxprox
    Guest
    #1
    0
    01.02.2020 18:06:00
    Привет, я прочитал много информации о замене жесткого диска в ZFS raid, но в основном это касается замены вышедшего из строя диска (например: https://pve.proxmox.com/wiki/ZFS:_Tips_and_Tricks#Replacing_a_failed_disk_in_the_root_pool). После чего следуют команды:

    ```
    zpool status
    zpool offline rpool /dev/source # (=failed disk)
    ## shutdown install the new disk or replace the disks
    sgdisk --replicate=/dev/target /dev/source
    sgdisk --randomize-guids /dev/target
    zpool replace rpool /dev/source /dev/target
    zpool status  # => resilvering is working
    ```

    Но мой ZFS Raid (raidz) не имеет ошибок и не вышел из строя какой-либо жесткий диск. Мой вопрос в том, нужно ли для замены исправного (очень старого) жесткого диска на новый все эти команды? Или достаточно одной команды, например:

    ```
    zpool replace rpool /dev/disk/by-id/old-disk /dev/disk/by-id/ata-WDC_WD60EZRZ-00GZ5B1_WD-WX44D55N
    ```

    где ata-WDC_WD60EZRZ-00GZ5B1_WD-WX44D55N – это новый жесткий диск. Можете ли вы сказать, какие из вышеперечисленных команд также необходимы в этом случае? Например, нужно ли создавать такую же таблицу разделов в этом сценарии?

    С уважением,
    maxprox
     
     
     
    maxprox
    Guest
    #2
    0
    08.02.2021 17:35:00
    Привет, Bidi, значит, команду "zpool offline" использовать не обязательно. Насколько я знаю, можно свести команду к минимуму и указывать только новый диск, если у тебя нет root "/" и нет загрузочного диска (после изменения): Bash: zpool replace <poolname> <new-disk-id>
    #например
    zpool replace r5pool ata-TOSHIBA_MG05ACA800E_12GGK34JFUU5 как здесь: https://docs.oracle.com/cd/E19253-01/819-5461/gazgd/index.html
    С уважением, maxprox
     
     
     
    Bidi
    Guest
    #3
    0
    09.02.2021 07:25:00
    Спасибо, работу сделал. Но я всё равно думаю, где находятся файлы дисков ВМ на сервере, если мне придётся их вручную переместить на другой нод, например, если сервер сломается, установится новый Proxmox с нуля, а потом что? Если я достану диск, который используется для хранилища, и подключу его к новому серверу, как их потом восстановить? Proxmox у нас на отдельном диске, хранилище — на ещё двух дисках ZFS.
     
     
     
    wellbein
    Guest
    #4
    0
    26.05.2021 14:47:00
    Привет, @maxprox, ты говоришь, что насколько я знаю, команду можно упростить до минимума, чтобы давать команду только новому диску, если у тебя нет root "/" и нет загрузочного диска (после изменения). Это значит, что для замены диска с root и Grub на ZFS мне нужно будет дать эту команду? Если да, то что произойдет, если диск полностью выйдет из строя? Придется ли мне перезагружаться в режиме восстановления, чтобы редактировать Grub или что-то подобное?
     
     
     
    maxprox
    Guest
    #5
    0
    29.05.2021 15:53:00
    Я не могу точно объяснить решение, потому что сам никогда с этим не сталкивался. Но я бы попробовал так: либо то, что в вики: https://pve.proxmox.com/wiki/ZFS:_Tips_and_Tricks#Replacing_a_failed_disk_in_the_root_pool под заголовком "Grub boot ZFS problem" и: https://pve.proxmox.com/wiki/ZFS_on_Linux#sysadmin_zfs_change_failed_dev Изменение вышедшего из строя загрузочного устройства или - если это был Raid1 - совершенно иначе: с помощью другого (восстановительного) Proxmox-система, и командой "zpool import" вставить рабочий жёсткий диск в эту рабочую Proxmox-систему, и работать с "zpool import" ( https://www.thegeekdiary.com/solaris-zfs-how-to-import-2-pools-that-have-the-same-names/ ). Теперь я получаю доступ к ВМ и могу, например, сделать vzdump, с помощью этого сценария я могу мигрировать на новый сервер и так далее… надеюсь, это немного поможет.

    С уважением,
    maxprox
     
     
     
    wellbein
    Guest
    #6
    0
    31.05.2021 10:00:00
    Ок, спасибо за разъяснения, скоро переведу свои серверы на загрузку через Proxmox boot tool.
     
     
     
    Riesling.Dry
    Guest
    #7
    0
    25.02.2022 11:22:00
    Привет, @maxprox, огромное спасибо за твой пост и туториал! Я - полный чайник в железе - без проблем заменил деградировавший HD в rpool, следуя твоим инструкциям, сам бы даже не знал, с чего начать! Еще раз огромное спасибо! Vielen Dank, Kollege! ~R. Спойлер: туториал от maxprox
     
     
     
    ieronymous
    Guest
    #8
    0
    18.06.2022 13:17:00
    Неужели это тоже можно сделать через графический интерфейс, просто инициализировав диск и создав GPT-раздел (всего два клика)? И зачем только одна партиция, если у всех дисков обычно свои отдельные партиции?

    Новая правка: я протестировал процедуру, и ничего создавать не нужно. Просто очисти диск, и команда replace создаст ее сама (разумеется, мы говорим о не загрузочных дисках).
     
     
     
    markusPLA
    Guest
    #9
    0
    02.10.2022 20:18:00
    Спасибо, @maxprox. У меня есть 3 HDD для ZFS под названием "storage" - только для ВМ, 1 HDD для бэкапов и 1 SSD для системы Proxmox. На прошлой неделе один из трех дисков в моём storage вышёл из строя. После того, как мой zpool (storage) перешёл в состояние деградации, я вынул повреждённый HDD из сервера (после выключения – у меня нет возможности hot-swap HDD) и включил его снова без него. Всё работает нормально – у меня 3x1TB в RAID, используется 296.00 ГБ из 1.93 ТБ. Я отправил его на гарантию. Через несколько дней я получил новый диск. Я проверил количество дисков в веб-интерфейсе, после чего: Код: root@myserver:sudo fdisk /dev/sdb type d, type p, type w, и type q Следующий шаг Bash: root@myserver:/dev/disk/by-id# ls И нашёл ID нового диска ata-ST1000VN002-2EY102_Z9CD913E Следующий шаг Bash: root@myserver:/# sudo zpool status
     pool: storage
    state: DEGRADED
    status: Одно или несколько устройств не удалось использовать из-за отсутствия или
           неправильного образа.  Достаточно реплик, чтобы пул продолжал
           функционировать в деградированном состоянии.
    action: Замените устройство, используя 'zpool replace'.
      see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-4J
     scan: scrub repaired 0B in 00:03:30 with 0 errors on Sun Aug 14 00:27:31 2022
    config:

           NAME                                 STATE     READ WRITE CKSUM
           storage                              DEGRADED     0     0     0
             raidz1-0                           DEGRADED     0     0     0
               ata-ST1000VN002-2EY102_Z9CE6HWZ  ONLINE       0     0     0
               15585475720075329188             UNAVAIL      0     0     0  was /dev/disk/by-id/ata-ST1000VN002-2EY102_Z9CBVN0S-part1
               ata-ST1000VN002-2EY102_W9C66AZL  ONLINE       0     0     0 И финальный шаг: Bash: root@myserver:/dev/disk/by-id# sudo zpool replace zpool_name old_disk_ID new_disk_ID
    пример:
    root@myserver:/dev/disk/by-id# sudo zpool replace storage ata-ST1000VN002-2EY102_Z9CBVN0S ata-ST1000VN002-2EY102_Z9CD913E Это всё, можно проверить статус восстановления, набрав zpool status Bash: root@myserver:/dev/disk/by-id# sudo zpool status
     pool: storage
    state: DEGRADED
    status: Одно или несколько устройств в настоящее время восстанавливаются. Пул
           будет продолжать работу, возможно, в деградированном состоянии.
    action: Дождитесь завершения восстановления.
     scan: восстановление в процессе с Sun Oct  2 19:04:14 2022
           62.5G просканировано со скоростью 112M/s, 14.7G выдано со скоростью 26.4M/s, 62.6G всего
           2.81G восстановлено, 23.50% выполнено, 00:30:58 осталось
    config:

           NAME                                   STATE     READ WRITE CKSUM
           storage                                DEGRADED     0     0     0
             raidz1-0                             DEGRADED     0     0     0
               ata-ST1000VN002-2EY102_Z9CE6HWZ    ONLINE       0     0     0
               replacing-1                        DEGRADED     0     0     0
                 15585475720075329188             UNAVAIL      0     0     0  was /dev/disk/by-id/ata-ST1000VN002-2EY102_Z9CBVN0S-part1
                 ata-ST1000VN002-2EY102_Z9CD913E  ONLINE       0     0     0  (восстанавливается)
               ata-ST1000VN002-2EY102_W9C66AZL    ONLINE       0     0     0 Надеюсь, это поможет.
     
     
     
    maxprox
    Guest
    #10
    0
    03.10.2022 18:52:00
    Привет, Марккус! Уверен, это очень помогает тем, кто начинает работать с ZFS. Два цента от меня: если ты работаешь с root, sudo тебе не нужно ;-) А я не такой крутой, как ты, и буду ждать с заменой этого HDD до реакции гарантии ;-)
    С уважением, maxprox
     
     
     
    markusPLA
    Guest
    #11
    0
    03.10.2022 19:06:00
    Спасибо @maxprox. Конечно, наверное, мне не нужно использовать sudo, когда я уже root 😉. Насчёт нового HDD - имею в виду, что я получил новый HDD по гарантии. Я отправил Seagate Ironwolf 3,5" 1TB в польский центр в понедельник, а они отправили новый из нидерландского центра в среду. Получил в пятницу. Экспресс-доставка.
     
     
     
    Riesling.Dry
    Guest
    #12
    0
    04.10.2022 13:12:00
    Добро пожаловать в клуб жертв Seagate. Я потерял слишком много данных, доверяя Seagate, и НИКОГДА (!) больше не куплю ничего от Seagate. Проблем с WD (и/или HGST/Hitachi, которые теперь тоже WD) не было.
     
     
     
    Adi M
    Guest
    #13
    0
    08.11.2022 15:27:00
    Привет, у меня похожая ситуация. Установил Proxmox с ZFS по умолчанию. Теперь нужно заменить диск (/dev/sdd). Как добавить новый диск со всеми разделами без проблем? Нужно ли его форматировать вручную перед zpool replace? Старого диска в системе больше нет. Нужно ли использовать zpool replace? Спасибо.
     
     
     
    markusPLA
    Guest
    #14
    0
    08.11.2022 16:37:00
    Прочитай мой ответ. Я выполнил базовые команды в fdisk. Убедись, что ты знаешь обозначение диска (HDD) (например, sda, sdb...), а потом выполняй основные команды fdisk. Удачи!
     
     
     
    maxprox
    Guest
    #15
    0
    02.03.2020 16:22:00
    На самом деле, замена жесткого диска в ZFS RAID — очень простая задача:

    Сценарий: нет root и нет grub на диске, только ZFS raidz1 пул, и в моем случае оба диска имеют абсолютно одинаковую емкость старый/новый и одинаковый размер сектора 512/4096. Из-за значения ashift для zpool, нужно убедиться, что у вашего нового диска подходящее значение размера сектора. Если у вас как у меня старый диск с 512/4096 и значение свойства ashift равное 12, то новый диск также может иметь размер сектора 512/4096 или 4096/4096 (логический/физический). С помощью "smartctl" можно узнать размер сектора, а с "zdb | grep ashift" — значение свойства ashift.

    1: Посмотрите, что там есть:
    Код: ls -alh /dev/disk/by-id/
    zpool status
    zpool list -v

    2: Пометьте жесткий диск, который хотите заменить, как offline:
    Код: zpool offline "POOLNAME" "ID жесткого диска или весь путь"

    ## Пример:
    zpool offline r5pool ata-TOSHIBA_MG05ACA800E_12GGK34JFUU5

    3: Физически замените жесткие диски, выключив систему (не поддерживается hot-swap).

    4: Создайте пустую таблицу разделов GPT на новом HDD с помощью parted:
    Код: parted /dev/new-disk
    (parted)# print
    (parted)# mklabel GPT
    (parted)# Yes
    (parted)# q

    5: Замените их в ZFS пуле:
    Код: zpool replace "POOLNAME" "ID жесткого диска или весь путь старый жесткий диск" "ID жесткого диска или весь путь НОВЫЙ жесткий диск"

    ## Пример:
    zpool replace r5pool ata-TOSHIBA_MG05ACA800E_12GGK34JFUU5 ata-WDC_WD8004FRYZ-04VAEB3_VDH0ABCD

    6: Посмотрите, что происходит:
    Код: zpool status

    ....
    resilver в процессе с субботы, 29 февраля 11:43:52 2020
    328Гб просканировано со скоростью 3,77Гб/с, выдано 75,5Гб со скоростью 888Мб/с, всего 328Гб
     Выделено 8,83Гб, 23,01% завершено, осталось 0 дней 00:04:51
    ....

    С уважением,
    maxprox
     
     
     
    guletz
    Guest
    #16
    0
    02.03.2020 17:13:00
    Это очень веская причина для них, по крайней мере, учитывая размер раздела в 8 Мб. Иногда, несмотря на одинаковый размер HDD, можно получить новый HDD с очень незначительной разницей по сравнению со старым. И если ваш новый HDD окажется меньше старого (разница в несколько Мб), то заменить старый вы НЕ сможете. Удачи / Bafta.
     
     
     
    maxprox
    Guest
    #17
    0
    02.03.2020 17:27:00
    Привет, guletz, хорошо, что так. Но схема разделов на новом диске точно такая же, как и на старом, без создания или копирования разделов:

    NEW Disk:
    Code:
    root@fcpro:~# parted /dev/sdc
    GNU Parted 3.2
    Using /dev/sdc
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) print

    Model: ATA WDC WD8004FRYZ-0 (scsi)
    Disk /dev/sdc: 8002GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: gpt
    Disk Flags:
    Number  Start   End     Size    File system  Name                  Flags
    1      1049kB  8002GB  8002GB  zfs          zfs-73a14fe59307faf7
    9      8002GB  8002GB  8389kB
    one other Disk in the same ZFS Raid and the same layout as the old one:

    Code:
    root@fcpro:~# parted /dev/sdk
    GNU Parted 3.2
    Using /dev/sdk
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) print

    Model: ATA TOSHIBA MG05ACA8 (scsi)
    Disk /dev/sdk: 8002GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: gpt
    Disk Flags:
    Number  Start   End     Size    File system  Name                  Flags
    1      1049kB  8002GB  8002GB  zfs          zfs-f79b6624be24cb64
    9      8002GB  8002GB  8389kB

    and:

    Code:
    ls -alh /dev/disk/by-id/

    ## NEW disk
    lrwxrwxrwx 1 root root    9 Feb 29 12:41 ata-WDC_WD8004FRYZ-01VAEB0_VDH0HHSK -> ../../sdc
    lrwxrwxrwx 1 root root   10 Feb 29 12:41 ata-WDC_WD8004FRYZ-01VAEB0_VDH0HHSK-part1 -> ../../sdc1
    lrwxrwxrwx 1 root root   10 Feb 29 12:41 ata-WDC_WD8004FRYZ-01VAEB0_VDH0HHSK-part9 -> ../../sdc9

    ## OLD / other one
    lrwxrwxrwx 1 root root    9 Feb 29 12:41 ata-TOSHIBA_MG05ACA800E_58M9K66TFUUD -> ../../sdk
    lrwxrwxrwx 1 root root   10 Feb 29 12:41 ata-TOSHIBA_MG05ACA800E_58M9K66TFUUD-part1 -> ../../sdk1
    lrwxrwxrwx 1 root root   10 Feb 29 12:41 ata-TOSHIBA_MG05ACA800E_58M9K66TFUUD-part9 -> ../../sdk9

    But smartctl -a говорит, что диски имеют точно такой же объем (старый/новый): ''User Capacity:    8.001.563.222.016 bytes [8,00 TB]'' и это, конечно, полезно ;-)
     
     
     
    guletz
    Guest
    #18
    0
    02.03.2020 17:59:00
    Привет, размер партии без 9 — 8 МБ, как я и говорил. Если размер твоего HDD (старый/новый) остался прежним, проблем вообще никаких.
     
     
     
    vdpollm
    Guest
    #19
    0
    28.06.2020 14:23:00
    Спасибо, Maxprox, это мне очень помогло. Прямо делов, и мой аппарат теперь снова серебрится.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры