Btrfs * не * использует несколько устройств

Я недавно добавил устройство к моей существующей файловой системе Btrfs, но оно не сообщает, что новое устройство даже выделило какое-либо пространство для данных. Взгляните:

До того, как я начал:

# btrfs fi show /
Label: 'LINUX'  uuid: f0b4d012-91d8-43bd-90b5-e398a012ccff
    Total devices 1 FS bytes used 126.72GiB
    devid    1 size 272.40GiB used 128.03GiB path /dev/sda3
# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 273.4G  0 disk 
├─sda1   8:1    0     1M  0 part 
├─sda2   8:2    0     1G  0 part /boot
└─sda3   8:3    0 272.4G  0 part /pool
sdb      8:16   0  68.3G  0 disk 

Итак, теперь я хочу добавить / dev / sdb :

# btrfs device add /dev/sdb /
# btrfs balance start --full-balance /

<примерно через час ...>

# btrfs fi usage /
Overall:
    Device size:         340.73GiB
    Device allocated:    128.03GiB
    Device unallocated:  212.70GiB
    Device missing:          0.00B
    Used:                126.68GiB
    Free (estimated):    213.10GiB  (min: 213.10GiB)
    Data ratio:               1.00
    Metadata ratio:           1.00
    Global reserve:      338.14MiB  (used: 0.00B)

Data,single: Size:126.00GiB, Used:125.60GiB
   /dev/sda3     126.00GiB

Metadata,single: Size:2.00GiB, Used:1.08GiB
   /dev/sda3       2.00GiB

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

Unallocated:
   /dev/sda3     144.37GiB
   /dev/sdb       68.33GiB

Ха, я подумал, что должен был это сделать, давай попробуем следующее:

# btrfs balance start -dconvert=single -mconvert=raid1 /

<примерно через час ...>

# btrfs fi show /
Label: 'LINUX'  uuid: f0b4d012-91d8-43bd-90b5-e398a012ccff
    Total devices 2 FS bytes used 126.72GiB
    devid    1 size 272.40GiB used 128.03GiB path /dev/sda3
    devid    2 size 68.33GiB used 2.03GiB path /dev/sdb
# btrfs fi usage /
Overall:
    Device size:         340.73GiB
    Device allocated:    130.06GiB
    Device unallocated:  210.67GiB
    Device missing:          0.00B
    Used:                127.80GiB
    Free (estimated):    211.03GiB  (min: 105.69GiB)
    Data ratio:               1.00
    Metadata ratio:           2.00
    Global reserve:      338.47MiB  (used: 0.00B)

Data,single: Size:126.00GiB, Used:125.64GiB
   /dev/sda3    126.00GiB

Metadata,RAID1: Size:2.00GiB, Used:1.08GiB
   /dev/sda3      2.00GiB
   /dev/sdb       2.00GiB

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

Unallocated:
   /dev/sda3    144.37GiB
   /dev/sdb      66.30GiB

Какого черта?

Ядро что-то сказало во время балансировки? Просто много всего этого:

Feb 13 21:55:06 localhost kernel: BTRFS info (device sda3): found 7541 extents
Feb 13 21:55:06 localhost kernel: BTRFS info (device sda3): relocating block group 621927202816 f
Feb 13 21:55:18 localhost kernel: BTRFS info (device sda3): found 7020 extents
Feb 13 21:55:28 localhost kernel: BTRFS info (device sda3): found 7020 extents
Feb 13 21:55:28 localhost kernel: BTRFS info (device sda3): relocating block group 620853460992 f
Feb 13 21:55:39 localhost kernel: BTRFS info (device sda3): found 2540 extents
Feb 13 21:55:48 localhost kernel: BTRFS info (device sda3): found 2540 extents
Feb 13 21:55:48 localhost kernel: BTRFS info (device sda3): relocating block group 619779719168 f
Feb 13 21:55:58 localhost kernel: BTRFS info (device sda3): found 3971 extents
0
задан 14 February 2017 в 07:15
1 ответ

На самом деле, -dconvert=single будет балансировать данные (как и следовало ожидать) между устройствами, не разделяя их. Но в документации сказано, что распределение является «линейным». Я действительно не знаю, что это значит, но может случиться так, что одно устройство будет использоваться только тогда, когда другое заполнено.

Если вы перейдете на эту страницу : https://btrfs.wiki.kernel.org/index.php/Using_Btrfs_with_Multiple_Devices#Filesystem_creation , вы можете прочитать это…

# Use full capacity of multiple drives with different sizes (metadata mirrored, data not mirrored and not striped)
mkfs.btrfs -d single /dev/sdb /dev/sdc

(важная часть " полная мощность")

Насколько я понимаю, у меня есть два ПК с этой конфигурацией (одиночные данные, метаданные raid1). Первый использует 3 диска для данных, тогда как второй ПК использует только один диск для данных и 3 диска для метаданных. Я до сих пор не знаю, почему, но я надеюсь, что это будет задокументировано в будущем.

0
ответ дан 15 April 2020 в 23:23

Теги

Похожие вопросы