4

Я использую систему Linux (на основе Gentoo) с файловой системой BTRFS, установленной на SSD (Toshiba Q300 с сетью 480 ГБ). Мой /etc/fstab выглядит так:

UUID=14cb9b65-... swap           swap    defaults,noatime, 0       0                                                                                                                                                                                                                           
UUID=cd7d93b3-... /              btrfs   defaults,cache,compress=lzo,subvol=@ 0       1                                                                                                                                                                                          
UUID=cd7d93b3-... /home          btrfs   defaults,noatime,space_cache,compress=lzo,subvol=@home 0       2                                                                                                                                                                                      
UUID=cd7d93b3-... /Data          btrfs   defaults,noatime,space_cache,compress=lzo,subvol=@Data 0       2                                                                                                                                                                                     
UUID=cd7d93b3-... /mnt/rootfs    btrfs   defaults,noatime,space_cache,compress=lzo 0       0                                                                                                                                                                                                   
tmpfs             /tmp           tmpfs   defaults,noatime,mode=1777 0       0                                                                                                                                                                                                                   tmpfs             /proc          proc    defaults                   0       0                                                                                                                                                                                                              
tmpfs             /var/log       tmpfs   defaults,noatime,rw,mode=1777 0    0
tmpfs             /var/tmp       tmpfs   defaults,noatime,rw,mode=1777 0    0                                                                                                                                                                                                              
tmpfs             /var/run        tmpfs   defaults,noatime             0    0 
tmpfs             /var/spool      tmpfs   defaults,noatime             0    0 
tmpfs             /var/lock       tmpfs   defaults,noatime             0    0 
tmpfs             /var/cache      tmpfs   defaults,noatime             0    0
tmpfs             /run            tmpfs   defaults,noatime             0    0
sysfs             /sys            sysfs   defaults                     0    0
tmpfs             /dev/shm        tmpfs   defaults                     0    0
devpts            /dev/pts        devpts  gid=5,mode=620               0    0
devtmpfs          /dev            devtmpfs gid=5,mode=620              0    0

Раньше у меня был твердотельный накопитель Intel с 240 ГБ сети с файловой системой XFS. Когда я выполнял fstrim -v / для этой системы XFS, которую я делал ежедневно, я скорее получал сообщения вроде:

8 гигабайт урезан.

Теперь на верхнем уровне твердотельного накопителя Toshiba емкостью 480 Гбайт у меня есть несколько подразделов, таких как:

# btrfs subvolume list /mnt/rootfs
ID 264 gen 273 top level 5 path @_original_install
ID 265 gen 152 top level 5 path @home_install_ok
ID 266 gen 270 top level 5 path @_snapshot_install_ok             
ID 267 gen 28504 top level 5 path @       
ID 275 gen 28504 top level 5 path @home
ID 276 gen 26900 top level 5 path @Data
ID 607 gen 245 top level 5 path @_snapshot_home_20160330
ID 628 gen 3837 top level 5 path @_root_snapshot_20160402

и когда я запускаю команду fstrim , я получаю такой результат:

*****************************************
# fstrim -v /mnt/rootfs/@
  177,3 GiB (190331097088 Bytes) getrimmt
*****************************************

Почему объем усеченного пространства составляет 177 ГБ, а не 8 или 10, как на моем старом отформатированном в XFS SSD объемом 240 ГБ?

После обрезки моего SSD-накопителя Toshiba емкостью 480 ГБ сразу после первой обрезки результат практически тот же, теперь урезали 172 ГиБ. Итак: fstrim не работает для BTRFS?

И знаете ли вы (очень) хорошее учебное пособие / веб-сайт или аналогичный, который объясняет BTRFS, в том числе, как работает неполный объем, как насчет метаданных?

Чем больше информации о последних версиях btrfs (я использую версию 4.4.1), тем лучше. Если бы по-немецки тоже было бы здорово ...

И вредно ли это для SSD, при обрезке или при частой обрезке?

1 ответ1

2

Из часто задаваемых вопросов по BTRFS Wiki:

Btrfs оптимизирован для SSD?

Существуют некоторые оптимизации для SSD-накопителей, и вы можете включить их, подключив с помощью -o ssd. Начиная с версии 2.6.31-rc1, эта опция монтирования будет включена, если Btrfs сможет обнаруживать невращающиеся хранилища. SSD станет важной частью будущего хранилища, и разработчики Btrfs планируют серьезно его настроить. Обратите внимание, что -o ssd не будет включать TRIM/ Discard.

Я вижу, вы не монтируете с -o ssd . Возможно, ваши btrfs-progs не определяют его как SSD. (Он проверяет, равен ли /sys/block/sdX/queue/rotational 0.)

« -o ssd не включит TRIM/discard», вероятно, из-за чрезмерной перезаписи SSD дисков быстрее изнашивается.

Справочная страница fstrim гласит:

fstrim или даже использование mount -o discard [который постоянно включает TRIM] может негативно повлиять на срок службы некачественных SSD-устройств. Для большинства настольных и серверных систем достаточная частота обрезки составляет один раз в неделю. Обратите внимание, что не все устройства поддерживают обрезку в очереди, поэтому каждая команда обрезки влечет за собой снижение производительности для всего, что еще может пытаться использовать диск в данный момент.

Кроме того, CoW (копирование при записи) BTRFS выгодно для твердотельных накопителей, сводя к минимуму ненужные перезаписи, так что TRIM на самом деле не так необходим для BTRFS. Файловые системы не-CoW на SSD должны быть включены TRIM.

Почему объем усеченного пространства составляет 177 ГБ, а не 8 или 10, как на моем старом отформатированном в XFS SSD объемом 240 ГБ?

Возможно, это связано с отсутствием ssd_spread , откуда у вас будет больше свободного места с меньшим количеством фрагментов:

ssd_spread Mount -o ssd_spread более строго относится к поиску большой неиспользуемой области диска для новых выделений, которая имеет тенденцию фрагментировать свободное пространство с течением времени. Это часто быстрее на менее дорогих устройствах SSD.

Так как ваш Toshiba Q300 является SSD нижнего уровня, вам следует включить опцию монтирования ssd_spread .

Fstrim не работает для BTRFS?

Оно делает. На странице параметров монтирования BTRFS говорится:«Вы можете периодически запускать команду fstrim ».

И знаете ли вы (очень) хорошее учебное пособие / веб-сайт или аналогичный, который объясняет BTRFS, в том числе, как работает неполный объем, как насчет метаданных?

Это лучший ресурс BTRFS: https://btrfs.wiki.kernel.org/

Man-страница btrfs-subvolume хороша. Так же как и подраздел Subvolumes руководства Sysadmin. btrfsQuota.py - это аккуратный скрипт для понимания размеров снимка / подобъема и метаданных.

Чем больше информации о последних версиях btrfs (я использую версию 4.4.1), тем лучше.

Последняя версия 4.5.3.

Если бы по-немецки тоже было бы здорово ...

Я настоятельно рекомендую сценарий btrbk Perl для использования BTRFS для автоматического резервного копирования и создания моментальных снимков. Это действительно демонстрирует мощь BTRFS. Автор Аксель Бурри из Цюриха, Швейцария, и, основываясь на том, что у него немецкое имя, он, вероятно, тоже знает немецкий; возможно, он мог бы указать вам на некоторые немецкие ресурсы BTRFS.

Кроме того, выполняя поиск по WorldCat, эта книга упоминает BTRFS, но она несколько устарела (2011):

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .