Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Замена диска в btrfs raid массиве  (Прочитано 2254 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mad_max77

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Замена диска в btrfs raid массиве
« : 30 Июня 2016, 07:40:47 »
Здравствуйте.
Имею систему с корнем на btrfs raid1:

# cat /etc/issue
Ubuntu 16.04 LTS \n \l

# uname -a
Linux ubuntu 4.4.0-28-generic #47-Ubuntu SMP Fri Jun 24 10:09:13 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=1ad144de-0b74-48b1-864d-378b4c27c174 /               btrfs   defaults,subvol=@ 0       1
# /home was on /dev/sda1 during installation
UUID=1ad144de-0b74-48b1-864d-378b4c27c174 /home           btrfs   defaults,subvol=@home 0       2
# swap was on /dev/sda2 during installation
UUID=0d0c623a-6970-4db2-bc14-981349ba9bfb none            swap    sw              0       0
# swap was on /dev/sdb5 during installation
UUID=4ee020e0-0cf8-46b0-91e6-b2ebf3762832 none            swap    sw              0       0


Сымитировал выход из строя одного диска (вытащил из сервера).

# btrfs fi sh /
Label: 'root'  uuid: 1ad144de-0b74-48b1-864d-378b4c27c174
        Total devices 2 FS bytes used 1.77GiB
        devid    2 size 225.79GiB used 6.06GiB path /dev/sda1
        *** Some devices missing

Отформатировал снятый диск и вставил назад в сервер:

# lsblk -f
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sda
├─sda1 btrfs  root  1ad144de-0b74-48b1-864d-378b4c27c174
├─sda2
└─sda5 swap         4ee020e0-0cf8-46b0-91e6-b2ebf3762832 [SWAP]
sdc
├─sdc1
└─sdc2


В соответствии с рекомендациями пробуем удалить отсутствующий диск из raid1:

# btrfs device delete missing /
ERROR: error removing device 'missing': unable to go below two devices on raid1

Нельзя в raid1 иметь менее 2-ух устройств. С одной стороны логично, но с другой
по факту мы сейчас работаем на одном диске.


Попробуем произвести замену вышедшего из строя диска как советуют в официальной вики (Replacing failed devices):

# btrfs replace start -f 1 /dev/sdc1 /
ERROR: /dev/sdc1 is mounted

А вот это странно, так как диск никуда не смонтирован.

Так как произвести замену диска правильно?

Пользователь добавил сообщение 30 Июня 2016, 11:41:54:
Если посмотреть так:

# btrfs fi sh
Label: 'root'  uuid: 1ad144de-0b74-48b1-864d-378b4c27c174
        Total devices 2 FS bytes used 1.77GiB
        devid    1 size 225.79GiB used 1.00GiB path /dev/sdc1
        devid    2 size 225.79GiB used 5.06GiB path /dev/sda1

Диск оказывается уже используется. Непонятно.

Делаем балансировку:

# btrfs fi balance start /
ERROR: error during balancing '/': No space left on device
There may be more info in syslog - try dmesg | tail

В этой ситуации действуем так:
(http://unix.stackexchange.com/questions/174446/btrfs-error-error-during-balancing-no-space-left-on-device)

Но мне не помогло. Пока читал форумы и шерстил инет по поводу проблемы,
запускал еще несколько раз и в какой-то момент команда отработала:

# btrfs fi balance start -v /
Dumping filters: flags 0x7, state 0x0, force is off
  DATA (flags 0x0): balancing
  METADATA (flags 0x0): balancing
  SYSTEM (flags 0x0): balancing
Done, had to relocate 6 out of 6 chunks

Непонимаю. Симптомы схожи с этим топиком:
https://bbs.archlinux.org/viewtopic.php?id=200926

# btrfs fi balance start -v / -f
Dumping filters: flags 0xf, state 0x0, force is on
  DATA (flags 0x0): balancing
  METADATA (flags 0x0): balancing
  SYSTEM (flags 0x0): balancing

Но если посмотреть использование дисков, то видим что не все в порядке:

# btrfs fi u / -T
Overall:
    Device size:                 451.58GiB
    Device allocated:              5.06GiB
    Device unallocated:          446.51GiB
    Device missing:                  0.00B
    Used:                          3.54GiB
    Free (estimated):            223.56GiB      (min: 223.56GiB)
    Data ratio:                       2.00
    Metadata ratio:                   2.00
    Global reserve:               32.00MiB      (used: 0.00B)

             Data    Metadata  System
Id Path      DUP     DUP       DUP      Unallocated
-- --------- ------- --------- -------- -----------
 2 /dev/sda1 4.00GiB   1.00GiB 64.00MiB   220.73GiB
 1 /dev/sdc1       -         -        -   225.78GiB
-- --------- ------- --------- -------- -----------
   Total     2.00GiB 512.00MiB 32.00MiB   446.51GiB
   Used      1.70GiB  71.52MiB 16.00KiB
   
Рейда как бы уже и нет.

Делаю ребут сервера. После ребута смотрим:

# mount | grep /dev/sda1
/dev/sda1 on / type btrfs (rw,relatime,degraded,space_cache,subvolid=257,subvol=/@)
/dev/sda1 on /home type btrfs (rw,relatime,degraded,space_cache,subvolid=258,subvol=/@home)

# mount | grep /dev/sdb1

# btrfs balance start -dconvert=raid1 -mconvert=raid1 /
Done, had to relocate 4 out of 4 chunks

# btrfs fi u / -T
Overall:
    Device size:                 451.58GiB
    Device allocated:              8.06GiB
    Device unallocated:          443.51GiB
    Device missing:                  0.00B
    Used:                          3.54GiB
    Free (estimated):            223.06GiB      (min: 223.06GiB)
    Data ratio:                       2.00
    Metadata ratio:                   2.00
    Global reserve:               32.00MiB      (used: 0.00B)

             Data    Data    Metadata System
Id Path      RAID1   DUP     RAID1    RAID1    Unallocated
-- --------- ------- ------- -------- -------- -----------
 1 /dev/sda1 2.00GiB 2.00GiB  1.00GiB 32.00MiB   220.75GiB
 2 /dev/sdb1 2.00GiB       -  1.00GiB 32.00MiB   222.76GiB
-- --------- ------- ------- -------- -------- -----------
   Total     2.00GiB 1.00GiB  1.00GiB 32.00MiB   443.51GiB
   Used      1.70GiB   0.00B 71.33MiB 16.00KiB
   
Повторяем с -f:

# btrfs balance start -dconvert=raid1 -mconvert=raid1 / -f
Done, had to relocate 5 out of 5 chunks

root@ubuntu-zab01:~# btrfs fi u / -T
Overall:
    Device size:                 451.58GiB
    Device allocated:              6.06GiB
    Device unallocated:          445.51GiB
    Device missing:                  0.00B
    Used:                          3.54GiB
    Free (estimated):            223.06GiB      (min: 223.06GiB)
    Data ratio:                       2.00
    Metadata ratio:                   2.00
    Global reserve:               32.00MiB      (used: 0.00B)

             Data    Metadata System
Id Path      RAID1   RAID1    RAID1    Unallocated
-- --------- ------- -------- -------- -----------
 1 /dev/sda1 2.00GiB  1.00GiB 32.00MiB   222.75GiB
 2 /dev/sdb1 2.00GiB  1.00GiB 32.00MiB   222.76GiB
-- --------- ------- -------- -------- -----------
   Total     2.00GiB  1.00GiB 32.00MiB   445.51GiB
   Used      1.70GiB 71.20MiB 16.00KiB
   
Теперь все в порядке.
Выводы делайте сами.

PS: Если есть замечания и пожелания обязательно пишите, и у меня знаний прибавится и другим может поможет.
« Последнее редактирование: 30 Июня 2016, 11:41:54 от mad_max77 »

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: Замена диска в btrfs raid массиве
« Ответ #1 : 30 Июня 2016, 19:39:40 »
А зачем балансировку с -dconvert=raid1 -mconvert=raid1 / -f.
Ничего уже конвертировать не надо. Надо просто сделать балансировку.
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн mad_max77

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: Замена диска в btrfs raid массиве
« Ответ #2 : 01 Июля 2016, 07:05:58 »
А зачем балансировку с -dconvert=raid1 -mconvert=raid1 / -f.
Ничего уже конвертировать не надо. Надо просто сделать балансировку.

Без флага -f она проходила, но не было изменений, режим DUP оставался.

 

Страница сгенерирована за 0.021 секунд. Запросов: 21.