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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Установка 16.04 LTS на btrfs raid1  (Прочитано 3387 раз)

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

Оффлайн mad_max77

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: Установка 16.04 LTS на btrfs raid1
« Ответ #15 : 27 Июня 2016, 13:22:43 »
mad_max77,
Ничего дополнительно настраивать не надо, если сделали балансировку.

Чтобы посмотреть что у вас там получилось, дайте вывод

# btrfs fi usage /
Overall:
    Device size:                 452.60GiB
    Device allocated:              9.06GiB
    Device unallocated:          443.54GiB
    Device missing:                  0.00B
    Used:                          3.47GiB
    Free (estimated):            255.54GiB      (min: 223.86GiB)
    Data ratio:                       1.75
    Metadata ratio:                   2.00
    Global reserve:               32.00MiB      (used: 0.00B)

Data,single: Size:1.00GiB, Used:0.00B
   /dev/sdb1       1.00GiB

Data,RAID1: Size:3.00GiB, Used:1.67GiB
   /dev/sda3       3.00GiB
   /dev/sdb1       3.00GiB

Metadata,RAID1: Size:1.00GiB, Used:70.86MiB
   /dev/sda3       1.00GiB
   /dev/sdb1       1.00GiB

System,RAID1: Size:32.00MiB, Used:16.00KiB
   /dev/sda3      32.00MiB
   /dev/sdb1      32.00MiB

Unallocated:
   /dev/sda3     222.28GiB
   /dev/sdb1     221.26GiB

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: Установка 16.04 LTS на btrfs raid1
« Ответ #16 : 27 Июня 2016, 13:25:39 »
mad_max77,
Выглядит все правильно. Вот это

Data,single: Size:1.00GiB, Used:0.00B
   /dev/sdb1       1.00GiB

Загадочная штука, которая появляется при конвертации из single в RAID1, но я так понимаю, что ни на что не влияет.
Кто-то писал, что удаляется балансировкой с ключом -f.
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн mad_max77

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: Установка 16.04 LTS на btrfs raid1
« Ответ #17 : 27 Июня 2016, 13:36:17 »
Сделал btrfs balance start -dconvert=raid1 -mconvert=raid1 -f /
Стало так:
# btrfs fi usage /
Overall:
    Device size:                 452.60GiB
    Device allocated:              8.06GiB
    Device unallocated:          444.54GiB
    Device missing:                  0.00B
    Used:                          3.47GiB
    Free (estimated):            223.60GiB      (min: 223.60GiB)
    Data ratio:                       2.00
    Metadata ratio:                   2.00
    Global reserve:               32.00MiB      (used: 0.00B)

Data,RAID1: Size:3.00GiB, Used:1.67GiB
   /dev/sda3       3.00GiB
   /dev/sdb1       3.00GiB

Metadata,RAID1: Size:1.00GiB, Used:70.94MiB
   /dev/sda3       1.00GiB
   /dev/sdb1       1.00GiB

System,RAID1: Size:32.00MiB, Used:16.00KiB
   /dev/sda3      32.00MiB
   /dev/sdb1      32.00MiB

Unallocated:
   /dev/sda3     222.28GiB
   /dev/sdb1     222.26GiB

Завтра буду симулировать выход из строя одного диска.

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: Установка 16.04 LTS на btrfs raid1
« Ответ #18 : 27 Июня 2016, 13:49:10 »
Вот теперь совсем все правильно.
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн mad_max77

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: Установка 16.04 LTS на btrfs raid1
« Ответ #19 : 28 Июня 2016, 08:26:45 »
В общем создал я аварийную ситуацию. И немного не могу довести дело до конца.
Обнаружение неисправного диска:
# btrfs fi sh /
Label: none  uuid: f87ae947-c33e-402d-8011-f2b171796ae5
        Total devices 2 FS bytes used 2.10GiB
        devid    2 size 226.29GiB used 4.03GiB path /dev/sdb1
        *** Some devices missing

Снимаем диск, подключаем к рабочей станции, проводим тесты. Я затеру инфу о партициях на целевом
диске, для иммитации сбоя:
# lsblk -f
sde <диск который я снял с сервера
├─sde2 swap
└─sde3 btrfs

Затираем инфу о BTRFS с помощью cfdisk:
# cfdisk /dev/sde
# lsblk -f
NAME   FSTYPE  LABEL    MOUNTPOINT
sde

То что нам и нужно.

Вставляем этот диск в сервер (новый диск в случае выхода из строя старого):
# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   0 233,8G  0 disk
└─sdb1   8:17   0 226,3G  0 part
sdc      8:32   0 233,8G  0 disk

Видим что диск нормально определился. На старом диске по мимо корневого раздела был еще и своп.
Смотрим структуру партиций /dev/sdb :
# cfdisk /dev/sdb

    Device       Boot        Start            End           Sectors          Size        Id Type
>>  /dev/sdb1    *            2048      474572799         474570752        226,3G        83 Linux
    Free space           474572800      490234751          15661952          7,5G

И создаем такую же на /dev/sdc + файл подкачки. В принципе файл подкачки можно создать и
на /dev/sdb. В любом случае придется править fstab:
# cfdisk /dev/sdc

    Device       Boot        Start          End         Sectors         Size      Id Type
>>  /dev/sdc1    *            2048    474572799       474570752       226,3G      83 Linux
    /dev/sdc2            474572800    490234751        15661952         7,5G      82 Linux swap / Solaris

Добавляем вновь созданный раздел к нашему raid1 массиву:
# btrfs device add -f /dev/sdc1 /
Проверяем:
# btrfs fi sh /
Label: none  uuid: f87ae947-c33e-402d-8011-f2b171796ae5
        Total devices 3 FS bytes used 2.10GiB
        devid    2 size 226.29GiB used 4.03GiB path /dev/sdb1
        devid    3 size 226.29GiB used 0.00B path /dev/sdc1
        *** Some devices missing
       

Видим что диск успешно добавился.

Удаляем отсутствующий диск:
# btrfs device delete missing /
ERROR: error removing device 'missing': no missing devices found to remove

Облом. Пробуем балансировку:
# btrfs balance start / -f
Done, had to relocate 5 out of 5 chunks

# btrfs device delete missing /
ERROR: error removing device 'missing': no missing devices found to remove

Как удалить несуществующий диск из массива?

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: Установка 16.04 LTS на btrfs raid1
« Ответ #20 : 28 Июня 2016, 12:25:33 »
Я не очень понял что вы делали.  Какой диск на что вы меняли и что затирали.
Похоже, что после балансировки все пришло само в норму, и ничего удалять не надо.
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн mad_max77

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: Установка 16.04 LTS на btrfs raid1
« Ответ #21 : 28 Июня 2016, 13:47:37 »
Я не очень понял что вы делали.  Какой диск на что вы меняли и что затирали.
Похоже, что после балансировки все пришло само в норму, и ничего удалять не надо.
Я просто вытащил диск из массива (/dev/sda) и отформатировал его, что бы затереть все данные о btrfs на нем.
Потом снова вставил диск (он определился как /dev/sdc), подготовил его, сделал частью raid1. После чего пытался безуспешно удалить информацию об отсутствующем диске:
# btrfs fi sh /
Label: none  uuid: f87ae947-c33e-402d-8011-f2b171796ae5
        Total devices 3 FS bytes used 2.10GiB
        devid    2 size 226.29GiB used 4.03GiB path /dev/sdb1
        devid    3 size 226.29GiB used 0.00B path /dev/sdc1
        *** Some devices missing

Или так чтоб было понятнее:
# btrfs f u . -T
Overall:
    Device size:                 678.90GiB
    Device allocated:              8.06GiB
    Device unallocated:          670.83GiB
    Device missing:              226.31GiB
    Used:                          4.20GiB
    Free (estimated):            336.40GiB      (min: 336.40GiB)
    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/sda3 2.00GiB        - 32.00MiB    16.00EiB
 2 /dev/sdb1 2.00GiB  1.00GiB 32.00MiB   223.26GiB
 3 /dev/sdc1 2.00GiB  1.00GiB        -   223.29GiB
-- --------- ------- -------- -------- -----------
   Total     3.00GiB  1.00GiB 32.00MiB   444.52GiB
   Used      2.01GiB 89.12MiB 16.00KiB

Так удалить его и не смог. Нашел вот такую инфу http://www.spinics.net/lists/linux-btrfs/msg52084.html:
Since now device is removed. So only option is to use devid
 if you want to remove/delete. but it needs the patch.
   [PATCH 0/7] Introduce device delete by devid
 I think this is being integrated into 4.5.x (needs both kernel
 and progs patches).

Посмотрел версию в 16.04 btrfs-progs v4.4.

Если что-то делаю не так, подскажите как правильно нужно менять вышедший из строя диск в моей конфигурации?

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: Установка 16.04 LTS на btrfs raid1
« Ответ #22 : 28 Июня 2016, 16:53:19 »
mad_max77,
Ну так надо было наверное сначала удалить из файловой системы, а потом выдергивать. Я тут не помогу, пока глубоко не копал.

Ну и там написано, что надо размонтировать, а потом снова смонитровать. Тогда ядро само разберется что есть, а чего нет.
Патч этот для случаев, когда размонтировать не хочется. Но в принципе, это не большая проблема. На работоспособность не влияет.

Поскольку у вас сама система установлена на рейд, то размонтировать не удастся. Поэтому поможет перезагрузка.

Если перезагрузка - плохой вариант, то надо систему установить отдельно данных не рейде.
« Последнее редактирование: 28 Июня 2016, 16:58:27 от Pilot6 »
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн mad_max77

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: Установка 16.04 LTS на btrfs raid1
« Ответ #23 : 29 Июня 2016, 04:31:36 »
mad_max77,
Ну так надо было наверное сначала удалить из файловой системы, а потом выдергивать. Я тут не помогу, пока глубоко не копал.

Ну и там написано, что надо размонтировать, а потом снова смонитровать. Тогда ядро само разберется что есть, а чего нет.
Патч этот для случаев, когда размонтировать не хочется. Но в принципе, это не большая проблема. На работоспособность не влияет.

Поскольку у вас сама система установлена на рейд, то размонтировать не удастся. Поэтому поможет перезагрузка.

Если перезагрузка - плохой вариант, то надо систему установить отдельно данных не рейде.

Вот я собственно и хотел разобраться и протестировать, так как я не гуру в этих вопросах, то обратился за помощью на форум.

Я перезагрузил систему и она не загрузилась, вошла в rescue mode. Далее я пробовал по инструкции https://help.ubuntu.ru/wiki/%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_grub#%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_rescue_mode
Но так ничего не вышло. Сейчас снова попробую и сделаю скрины ошибок, что бы было понятнее.

Сейчас на свежую голову понял свою ошибку. У меня btrfs, и система ставилась с использованием подтомов @ - для корня и @home - для домашнего каталога. Потому следуя инструкции в моем случае пути будут иметь вид:
set prefix=(hd0,1)/@/boot/grub
set root=(hd0,1)
ls /@/boot/grub
insmod btrfs
insmod normal
normal

После этих действий появилось меню загрузчика, началась загрузка системы и остановилась она на меню:
BusyBox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)

К сожалению что делать дальше, пока не знаю.

Пользователь добавил сообщение 29 Июня 2016, 08:42:33:
Загрузился с live cd Kubuntu 16.04 и попробовал восстановить загрузчик:
« Последнее редактирование: 29 Июня 2016, 08:42:34 от mad_max77 »

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: Установка 16.04 LTS на btrfs raid1
« Ответ #24 : 29 Июня 2016, 12:52:52 »
Вы загрузчик восстанавливаете не правильно. Это к btrfs отношения не имеет. Надо делать через chroot.

https://help.ubuntu.ru/wiki/%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_grub
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн mad_max77

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: Установка 16.04 LTS на btrfs raid1
« Ответ #25 : 30 Июня 2016, 07:20:55 »
Вы загрузчик восстанавливаете не правильно. Это к btrfs отношения не имеет. Надо делать через chroot.

https://help.ubuntu.ru/wiki/%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_grub

Я попробовал все методы описанные в вики, и везде была такая же ошибка.

После всего этого я решил повторить опыт с установкой.
Сделал так:


И так. Мы имеем свежеустановленную систему со следующими данными:

# btrfs f u / -T

Overall:
    Device size:                 225.79GiB
    Device allocated:              4.02GiB
    Device unallocated:          221.76GiB
    Device missing:                  0.00B
    Used:                          1.83GiB
    Free (estimated):            222.07GiB      (min: 111.19GiB)
    Data ratio:                       1.00
    Metadata ratio:                   2.00
    Global reserve:               32.00MiB      (used: 0.00B)

             Data    Metadata System
Id Path      single  DUP      DUP      Unallocated
-- --------- ------- -------- -------- -----------
 1 /dev/sda1 2.01GiB  2.00GiB 16.00MiB   221.76GiB
-- --------- ------- -------- -------- -----------
   Total     2.01GiB  1.00GiB  8.00MiB   221.76GiB
   Used      1.70GiB 69.45MiB 16.00KiB

# cat /etc/fstab

# <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

# fdisk -l

Диск /dev/sda: 233,8 GiB, 251000193024 байтов, 490234752 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: dos
Идентификатор диска: 0xaa344d5e

Устр-во    Загрузочный     Start Конец Секторы   Size Id Тип
/dev/sda1  *                2048 473513983 473511936 225,8G 83 Linux
/dev/sda2              473513984 490233855  16719872     8G 82 Linux своп / Solaris


Диск /dev/sdb: 233,8 GiB, 251000193024 байтов, 490234752 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: dos
Идентификатор диска: 0x0d347753

Устр-во    Загрузочный     Start Конец Секторы   Size Id Тип
/dev/sdb1                   2048 473513983 473511936 225,8G 83 Linux
/dev/sdb2              473516030 490233855  16717826     8G  5 Расширенный
/dev/sdb5              473516032 490233855  16717824     8G 82 Linux своп / Solaris

Добавляем новый диск:

# btrfs de add /dev/sdb1 / -f

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

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

Проверяем изменения:

# btrfs f u / -T
Overall:
    Device size:                 451.58GiB
    Device allocated:              9.06GiB
    Device unallocated:          442.51GiB
    Device missing:                  0.00B
    Used:                          3.54GiB
    Free (estimated):            254.92GiB      (min: 223.32GiB)
    Data ratio:                       1.75
    Metadata ratio:                   2.00
    Global reserve:               32.00MiB      (used: 0.00B)

             Data    Data    Metadata System
Id Path      single  RAID1   RAID1    RAID1    Unallocated
-- --------- ------- ------- -------- -------- -----------
 1 /dev/sda1       - 3.00GiB  1.00GiB 32.00MiB   221.76GiB
 2 /dev/sdb1 1.00GiB 3.00GiB  1.00GiB 32.00MiB   220.76GiB
-- --------- ------- ------- -------- -------- -----------
   Total     1.00GiB 3.00GiB  1.00GiB 32.00MiB   442.51GiB
   Used        0.00B 1.70GiB 71.30MiB 16.00KiB

Редактируем GRUB:

#nano /etc/default/grub

#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="rootflags=degraded,subvol=@"

Обновляем:

# grub-mkconfig -o /boot/grub/grub.cfg
Создание конфигурационного файла grub...
Найден образ linux: /boot/vmlinuz-4.4.0-28-generic
Найден образ initrd: /boot/initrd.img-4.4.0-28-generic
Найден образ linux: /boot/vmlinuz-4.4.0-21-generic
Найден образ initrd: /boot/initrd.img-4.4.0-21-generic
ERROR: pdc: wrong # of devices in RAID set "pdc_bfdedeiage" [1/2] on /dev/sdb
ERROR: pdc: wrong # of devices in RAID set "pdc_bfdedeiage" [1/2] on /dev/sdb
File descriptor 7 (pipe:[18313]) leaked on lvs invocation. Parent PID 2156: /bin/sh
завершено


Как видим на диске осталась инфа о членстве диска в dmraid (осталось от старых установок):

Удаляем эту инфу:

# sudo dmraid -rE

Обновляем еще раз:

# grub-mkconfig -o /boot/grub/grub.cfg
Создание конфигурационного файла grub...
Найден образ linux: /boot/vmlinuz-4.4.0-28-generic
Найден образ initrd: /boot/initrd.img-4.4.0-28-generic
Найден образ linux: /boot/vmlinuz-4.4.0-21-generic
Найден образ initrd: /boot/initrd.img-4.4.0-21-generic
File descriptor 7 (pipe:[18313]) leaked on lvs invocation. Parent PID 4529: /bin/sh
завершено

Устанавливаем на оба диска:

# grub-install /dev/sda
Установка для платформы i386-pc.
Установка завершена. Ошибок нет.

# grub-install /dev/sdb
Установка для платформы i386-pc.
Установка завершена. Ошибок нет.

Перезагрузил - система загрузилась.

Теперь имитируем выход из строя одного диска (вытаскиваю из работающего сервера).

Сначала проверяем текущую структуру:

# btrfs f 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    Metadata System
Id Path      RAID1   RAID1    RAID1    Unallocated
-- --------- ------- -------- -------- -----------
 1 /dev/sda1 3.00GiB  1.00GiB 32.00MiB   221.76GiB
 2 /dev/sdb1 3.00GiB  1.00GiB 32.00MiB   221.76GiB
-- --------- ------- -------- -------- -----------
   Total     3.00GiB  1.00GiB 32.00MiB   443.51GiB
   Used      1.70GiB 71.33MiB 16.00KiB

Вынимаем диск:

# 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 4.03GiB path /dev/sdb1
        *** Some devices missing
       

Перезагружаемся. Проверяем. Сервер стартанул на одном диске:

# 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

Эксперимент удался, всем спасибо за помощь!

После эксперимента у меня появилась новая проблема, связанная с заменой диска в raid массиве.
Обсуждение этой проблемы хочу начать в новом топике.

PS: Если есть замечания и пожелания обязательно пишите, и у меня знаний прибавится и другим может поможет.

Оффлайн goragor

  • Новичок
  • *
  • Сообщений: 45
  • юЗверь
    • Просмотр профиля
Re: Установка 16.04 LTS на btrfs raid1
« Ответ #26 : 30 Августа 2016, 11:29:58 »
Затем загрузился с диска ubuntu server 16.04

Установщик спросил про SATA RAID выбрал НЕТ.
Потом выбрал sda1 под /
Без форматирования
Загрузочный флаг не меняется, пробовал изменить все равно остается ВЫКЛ
На этапе установки загрузчика ошибка - Этап установки не выполнен. Предлагает вернуться и попробовать еще раз или пропустить этап.
Недавно ставил на рейд1
При создании нового раздела, сначала поменяйте флаг на загрузочный, а потом измените файловую систему на использовать как рейд.
Наверное бага.
Я еще не волшебник.... Я только учусь....

 

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