Должен ли я использовать btrfs или Ext4 для моего SSD?

В Ubuntu (включая Lubuntu) одно естественное место для размещения такого скрипта находится в ~/bin. Если эта папка уже не существует, сделайте

mkdir ~/bin

. При следующем входе в систему он будет автоматически включен в PATH, то есть нет необходимости изменять переменную PATH.

15
задан 4 November 2011 в 14:25

4 ответа

Согласно испытаниям phoronix, это всегда зависит от многих факторов. В одном случае Btrfs будет работать намного лучше, чем EXT4 при чтении больших файлов на SSD. Аналогично, учитывая производительность транзакций на диске, Ext4 может работать лучше, чем позже.

Здесь вы можете посмотреть эти тесты здесь и здесь (ПРЕДУПРЕЖДЕНИЕ: Длинные статьи).

[d6 ] Но суммируя в целом, Btrfs прямо сейчас не обладает количественным преимуществом производительности над файловой системой EXT4, даже при использовании в режиме SSD.

Итак, вы можете выбрать более Ext4 на данный момент.

12
ответ дан 25 May 2018 в 17:15
  • 1
    Статьи - сентябрь 2011 года, 9 августа 2010 года и 29 мая 2009 года соответственно. Сосредоточив внимание на последних, поскольку я предполагаю, что btrfs будет развиваться в течение последних 2 лет. Диаграмма btrfs + LZO на стр. 4 удивительна для последовательной производительности чтения и записи, но btrfs плохо работает со случайными записями, поэтому ее определенно нет для btrfs для БД и изображений VM. Я думаю, что с корневым разделом загрузка в основном случайных чтений, для которых она не намного лучше, чем ext4. – Graham 7 November 2011 в 15:35
  • 2
    Через несколько лет Btrfs превратится в лучший вариант, чем EXT4. Его более перспективная файловая система :) – Nikhil Ben Kuruvilla 8 November 2011 в 10:02

Для тех, кто наткнулся на этот вопрос в 2016 году ... Используйте ext4. Я пробовал btrfs, и разница существенная. За 10-дневный период IO на ext4 составлял 17 800 секторов. Btrfs? 490 400 секторов. Тот же SSD, идентичная файловая система, разные разделы. В принципе, такая же рабочая нагрузка.

Оба ext4 и btrfs становятся «тихими», когда на диске присутствует нулевая активность записи. Это хорошо.

Ext4 будет записывать измененные данные, а также некоторые накладные расходы. Накладные расходы относятся к записанным данным. Запись 4K (1 блок) подталкивает около 50-80 блоков накладных расходов при следующей фиксации. (Журнал ext4 полностью включен)

Измените один блок 4K на btrfs, и вы будете нажимать между 4000-5000 блоками накладных расходов при следующей фиксации. По-моему, фиксация по умолчанию - 30 секунд. Я использовал 120.

Теперь это зависит от того, как вы используете SSD. Как root, обычно существует довольно постоянный, низкий уровень, поток операций записи. Файлы журналов, файлы дрифта ntp, переходы man db, обновления топологии opensm и т. Д. И т. Д. Каждое событие будет забивать диск btrfs с другими 4000-5000 записями.

10-дневные номера выше для моей «записи» ограниченный "SSD. Основная часть этих 17 800 секторов была результатом небольшого обновления системы. Один экземпляр btrfs не пострадал. Мои писатели, точно, ntp дрифт, opensm-топология и man db-обновления (ночные). Ничто другое не попадает на этот диск, за исключением активно инициированных вещей, таких как обновление системы, «vim / etc / whatever» и т. Д.

На всех SSD будет много написано. Я просто не вижу смысла тратить их впустую, потому что средства массовой информации преследуют кроликов и радуг. Если вы хотите заплатить эту цену за COW, пойдите для нее. Для «производительности», не так много. Это SSD, и вы, вероятно, могли бы наложить на него наихудшую «файловую систему» ​​и все равно получить некоторый уровень производительности - просто грубой силой. Ext4, безусловно, не самая худшая файловая система, известная человеку.

Нет месячной проверки fs. Попробуйте сценарий ниже. Это 100% взлома, не будет работать для md точек монтирования,

#! /bin/bash

dev = cat /proc/mounts | grep " $1 " | awk '{print $1}'

x = basename $dev

vmnam = lsblk $dev -o MOUNTPOINT,PKNAME | grep "$1" | awk '{print $2}'

vmx = vmstat -d | grep $vmnam | awk '{print $8}'

lbax = smartctl -a $dev | grep LBA | awk '{print $10}'

tmpnam = mktemp XXX

echo "Отслеживающее устройство : $ dev, установленный на $ 1 (vmstat on $ vmnam) "

tim = date +%s

timx = date +%s

while true [!d17 ]

do

vm=`vmstat -d | grep "$vmnam" | awk '{print $8}'`

lba=`smartctl -a $dev | grep LBA | awk '{print $10}'`

if [ "$vm" != "$vmx" ]

then

    tim=`date +%s`

    dif=`dc <<< "$vm $vmx - p"`

    lbad=`dc <<< "$lba $lbax - p"`

    timd=`dc <<< "$tim $timx - p"`

    echo `date` " (sec=$timd) writes=$vm (dif=$dif) (lba=$lbad)"

    vmx="$vm"

    lbax="$lba"

    timx="$tim"

    find "$1" -mount -newer "$tmpnam" -print | grep -v "/tmp"

    touch "$tmpnam" 

fi

sleep 1 

done

Он расскажет вам, сколько блоков было написано, в соответствии с самим диском, и точно, какие файлы были обновлены. Нуждается в корневых привилегиях. Посмотреть на себя. Я запускаю SSD в корневой файловой системе и вызываю скрипт stat.sh. Итак ... "sudo ./stat.sh /"

6
ответ дан 25 May 2018 в 17:15
  • 1
    Мне не нравится ваш метод сравнения. Например, ежемесячная проверка fs выпила, и вы получили эти результаты. Btrfs по умолчанию почти повсеместно и по уважительной причине. – Barafu Albino 29 September 2016 в 10:29
  • 2
    Нет ежемесячной проверки fs. Попробуйте сценарий ниже. Это 100% взлома, не будет работать для md mountpoints и т. Д. ... – wkirk 29 September 2016 в 10:51
  • 3
    Почему такие большие накладные расходы? Вы заявили, что 1 блок создал 50-80 блоков, написанных даже на ext4 - это в 40 раз больше, чем необходимо. Зачем? – Golar Ramblar 27 April 2017 в 18:04

В прошлый раз, когда я тестировал его, и я еще не слышал нигде, ext4 ест твердотельные носители. (накопители большого пальца, твердотельные диски и т. д.). Я не рекомендую использовать его на таком устройстве. Вместо этого используйте ext3. В большинстве случаев на SSD вы все равно не сможете сказать разницу.

BTRFS еще не совсем стабилен. Тем не менее, он достаточно стабилен для некритических приложений. Это то, что я использую для создания загрузочных флеш-накопителей. Если вы используете параметры compress = zlib и ssd в качестве параметров монтирования, сжатие будет компенсировать более низкие скорости записи большинства твердотельных носителей, а ssd изменяет алгоритм распределения на тот, который значительно улучшает работу на таких устройствах и будет компенсировать любые плохой уровень износа оборудования. Одной из областей производительности, которая по-прежнему является проблемой, является то, что вызовы синхронизации медленны. Это не проблема для общего использования, но dpkg вызывает синхронизацию после каждой операции, поэтому установка и обновление программного обеспечения могут быть медленными. BTRFS также предлагает снимки и другие расширенные функции, которые весьма полезны при определенных обстоятельствах.

Если вы решили пойти с BTRFS, обязательно используйте дистрибутив, используя ядро ​​3.2.0-2 или новее. 3.1.x при необходимости работает. Для более старых ядер вам необходимо самостоятельно собрать самые последние модули BTRFS. Встроенные почти стабильны, но исправление ошибок не работает в более старых версиях, что может оставить вас за ручьем, если что-то пойдет не так. В последних версиях есть fsck, который может действительно устранить наиболее распространенные ошибки.

Одно последнее предупреждение, я слышал сообщения о том, что swapfiles в файловой системе BTRFS испортит его.

Если вам нужна помощь в настройке BTRFS, настроенной так, как вы хотите, сообщите мне об этом. Я сделал пару сумасшедших, которые работают довольно хорошо для конкретных вещей.

2
ответ дан 25 May 2018 в 17:15

Я бы не использовал ext4 на твердотельном диске на основе анонимных доказательств, и мой собственный опыт, который предполагает, что ext4 может значительно уменьшить время жизни SSD из-за количества чтений и записей, связанных с файловой системой. Одна статья, которую я недавно прочитал, предположил, что неоптимизированный (учет размера страницы и т. Д.) Ext4 на SSD может сократить срок службы диска вдвое. После недели неудачной съемки я пришел к выводу, что мои SSD-накопители длились всего восемь месяцев из-за этой проблемы. Если вы используете SSD, много читайте о том, как оптимизировать файловую систему на основе таких параметров, как размер флэш-страницы, который может отличаться от типичного размера цилиндра, для которого установлена ​​файловая система.

2
ответ дан 25 May 2018 в 17:15
  • 1
    Можете ли вы предоставить ссылку или другую идентифицирующую информацию для прочитанной статьи? – Eliah Kagan 5 July 2012 в 17:24
  • 2
    Я попытаюсь найти эту статью специально. Пожалуйста, помните, что это заявление было найдено в Интернете во время серфинга в магазине сигар. Перед началом использования ext4 на SSD сделайте свое чтение и домашнюю работу. Посмотрите на статьи о таких вещах, как TRIMM и оптимизация. Независимо от того, что вы делаете, не будьте похожими на меня и начинайте получать ошибки ввода-вывода в командах типа «sudo reboot " после восьми месяцев. – user75153 6 July 2012 в 05:05

Другие вопросы по тегам:

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