Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


FreeBSD: Замена сбойного диска в zpool raid 1 или raid 10


 

FreeBSD: Замена сбойного диска в zpool raid 1 или raid 10


По сути операция идентична для обоих raid


До сбоя:
# zpool status -v
  pool: zroot
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zroot       ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            ada0p2  ONLINE       0     0     0
            ada1p2  ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            ada2p2  ONLINE       0     0     0
            ada3p2  ONLINE       0     0     0

errors: No known data errors


Вырубаем один диск на горячую ada0p2:
# zpool status -v
  pool: zroot
 state: DEGRADED
status: One or more devices has been removed 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: none requested
config:

        NAME                     STATE     READ WRITE CKSUM
        zroot                    DEGRADED     0     0     0
          mirror-0               DEGRADED     0     0     0
            6419677237496703848  REMOVED      0     0     0  was /dev/ada0p2
            ada1p2               ONLINE       0     0     0
          mirror-1               ONLINE       0     0     0
            ada2p2               ONLINE       0     0     0
            ada3p2               ONLINE       0     0     0

errors: No known data errors

Перезагрузимся, ничего не поменяется, при выключении уже можно вставить новый диск
# shutdown -r now

# zpool status -v
  pool: zroot
 state: DEGRADED
status: One or more devices has been removed 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: none requested
config:

        NAME                     STATE     READ WRITE CKSUM
        zroot                    DEGRADED     0     0     0
          mirror-0               DEGRADED     0     0     0
            6419677237496703848  REMOVED      0     0     0  was /dev/ada0p2
            ada0p2               ONLINE       0     0     0
          mirror-1               ONLINE       0     0     0
            ada1p2               ONLINE       0     0     0
            ada2p2               ONLINE       0     0     0

errors: No known data errors

# ls -l /dev/ad*
crw-r-----  1 root  operator  0x3f Dec 11 14:55 /dev/ada0
crw-r-----  1 root  operator  0x41 Dec 11 14:55 /dev/ada0p1
crw-r-----  1 root  operator  0x52 Dec 11 14:55 /dev/ada0p2
crw-r-----  1 root  operator  0x40 Dec 11 14:55 /dev/ada1
crw-r-----  1 root  operator  0x53 Dec 11 14:55 /dev/ada1p1
crw-r-----  1 root  operator  0x54 Dec 11 14:55 /dev/ada1p2
crw-r-----  1 root  operator  0x57 Dec 11 14:55 /dev/ada2
crw-r-----  1 root  operator  0x5a Dec 11 14:55 /dev/ada2p1
crw-r-----  1 root  operator  0x5b Dec 11 14:55 /dev/ada2p2


Вставили новый диск например на горячую без разметки, определился:
# ls -l /dev/ad*
crw-r-----  1 root  operator  0x3f Dec 11 14:55 /dev/ada0
crw-r-----  1 root  operator  0x41 Dec 11 14:55 /dev/ada0p1
crw-r-----  1 root  operator  0x52 Dec 11 14:55 /dev/ada0p2
crw-r-----  1 root  operator  0x40 Dec 11 14:55 /dev/ada1
crw-r-----  1 root  operator  0x53 Dec 11 14:55 /dev/ada1p1
crw-r-----  1 root  operator  0x54 Dec 11 14:55 /dev/ada1p2
crw-r-----  1 root  operator  0x57 Dec 11 14:55 /dev/ada2
crw-r-----  1 root  operator  0x5a Dec 11 14:55 /dev/ada2p1
crw-r-----  1 root  operator  0x5b Dec 11 14:55 /dev/ada2p2
crw-r-----  1 root  operator  0x63 Dec 11 15:17 /dev/ada3


Уберем старый диск в оффлайн:
# zpool offline zroot 6419677237496703848

# zpool status -v
  pool: zroot
 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: none requested
config:

        NAME                     STATE     READ WRITE CKSUM
        zroot                    DEGRADED     0     0     0
          mirror-0               DEGRADED     0     0     0
            6419677237496703848  OFFLINE      0     0     0  was /dev/ada0p2
            ada0p2               ONLINE       0     0     0
          mirror-1               ONLINE       0     0     0
            ada1p2               ONLINE       0     0     0
            ada2p2               ONLINE       0     0     0

errors: No known data errors


Сделаем разметку и загрузочную метку:
# gpart backup ada2 > /tmp/ada2.backup

# gpart restore ada3 < /tmp/ada2.backup

# gpart show ada3
=>      40  10485680  ada3  GPT  (5.0G)
        40      1024     1  freebsd-boot  (512K)
      1064       984        - free -  (492K)
      2048  10481664     2  freebsd-zfs  (5.0G)
  10483712      2008        - free -  (1.0M)


# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada3
partcode written to ada3p1
bootcode written to ada3


Указываем на замену диска:
# zpool replace zroot 6419677237496703848 /dev/ada3p2
Make sure to wait until resilver is done before rebooting.

If you boot from pool 'zroot', you may need to update
boot code on newly attached disk '/dev/ada3p2'.

Assuming you use GPT partitioning and 'da0' is your new boot disk
you may use the following command:

        gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0


Все ок:
# zpool status -v
  pool: zroot
 state: ONLINE
  scan: resilvered 287M in 0 days 00:00:04 with 0 errors on Wed Dec 11 15:22:07 2019
config:

        NAME        STATE     READ WRITE CKSUM
        zroot       ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            ada3p2  ONLINE       0     0     0
            ada0p2  ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            ada1p2  ONLINE       0     0     0
            ada2p2  ONLINE       0     0     0

errors: No known data errors


Перезагрузитесь с нового диска

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект