
Joseph Goodman
0
822
110
Если у вас есть несколько жестких дисков в вашей системе Linux, вам не нужно рассматривать их как разные устройства хранения. С Btrfs вы можете очень легко создать пул хранения из этих жестких дисков.
При определенных условиях вы можете даже включить зеркалирование, чтобы не потерять данные из-за сбоя жесткого диска. Когда все настроено, вы можете просто выбросить в пул все, что захотите, и максимально эффективно использовать имеющееся у вас место для хранения..
Нет утилиты конфигурирования GUI, которая могла бы сделать все это проще (пока), но это все же довольно легко сделать с помощью командной строки. Я проведу вас через простую настройку для использования нескольких жестких дисков вместе.
Что такое Btrfs?
Btrfs (называется файловой системой B-дерева, “Масло ФС”, или же “Лучше FS”) - будущая файловая система Ext4 против Btrfs: почему мы делаем переход [Linux] Ext4 против Btrfs: почему мы делаем переход [Linux] Если честно, одна из последних вещей, на которые люди обращают внимание, - какая файловая система используется. У пользователей Windows и Mac OS X даже меньше причин искать, потому что у них действительно есть только одна…, которая включает в себя множество различных функций на уровне файловой системы, обычно доступных только в виде отдельных пакетов программного обеспечения. В то время как Btrfs имеет много примечательных функций (таких как снимки файловой системы), в этой статье мы рассмотрим два аспекта: пул хранения и зеркалирование.
Если вы не уверены, что такое файловая система, посмотрите на это объяснение нескольких файловых систем для Windows Что такое файловая система и как вы можете узнать, что работает на ваших дисках Что такое файловая система и как вы можете узнать Что работает на ваших дисках Что такое файловая система и почему они имеют значение? Узнайте различия между FAT32, NTFS, HPS +, EXT и другими. , Вы также можете проверить это хорошее сравнение различных файловых систем: от FAT до NTFS до ZFS: демистификация файловых систем от FAT до NTFS до ZFS: демистификация файловых систем Различные жесткие диски и операционные системы могут использовать разные файловые системы. Вот что это значит и что нужно знать. чтобы лучше понять различия между существующими файловыми системами.
Btrfs все еще считается “нестабильный” многими, но большинство функций уже достаточно стабильны для личного использования - это всего лишь несколько избранных функций, где вы можете столкнуться с непредвиденными результатами.
Хотя Btrfs и в будущем планирует стать файловой системой для Linux по умолчанию, все же лучше использовать ext4 для установок с одним жестким диском или для установок, которые не нуждаются в пуле хранения и зеркалировании.
Объединение ваших дисков
Для этого примера мы собираемся использовать четыре жестких диска. Есть два жестких диска (/ dev / sdb и / dev / sdc) по 1 ТБ каждый и два других жестких диска (/ dev / sdd и / dev / sde) по 500 ГБ для четырех жестких дисков общим объемом 3 ТБ. хранения.
Вы также можете предположить, что у вас есть другой жесткий диск (/ dev / sda) произвольного размера, который содержит ваш загрузчик и операционную систему. Мы не заботимся о / dev / sda и объединяем остальные четыре жестких диска для дополнительного хранения.
Создание файловой системы
Чтобы создать файловую систему Btrfs на одном из ваших жестких дисков, вы можете использовать команду:
sudo mkfs.btrfs / dev / sdb
Конечно, вы можете заменить / dev / sdb на тот жесткий диск, который вы хотите использовать. Отсюда вы можете добавить другие жесткие диски в систему Btrfs, чтобы сделать ее одним разделом, охватывающим все добавляемые жесткие диски. Сначала подключите первый жесткий диск Btrfs с помощью команды:
sudo mount / dev / sdb / mnt
Затем выполните команды:
sudo mkfs.btrfs / dev / sdc mkfs.btrfs / dev / sdd mkfs.btrfs / dev / sde
Теперь вы можете добавить их на первый жесткий диск, используя команды:
устройство sudo btrfs добавляет / dev / sdc / mnt устройство btrfs добавляет / dev / sdd / mnt устройство btrfs добавляет / dev / sde / mnt
Если у вас были данные, хранящиеся на первом жестком диске, вы хотите, чтобы файловая система сбалансировала их среди всех вновь добавленных жестких дисков. Вы можете сделать это с помощью команды:
Баланс файловой системы sudo btrfs / mnt
В качестве альтернативы, если вы еще до начала знаете, что хотите, чтобы файловая система Btrfs распространялась на все жесткие диски, вы можете просто выполнить команду:
sudo mkfs.btrfs -d single / dev / sdb / dev / sdc / dev / sdd / dev / sde
Конечно, это намного проще, но вам нужно использовать метод, упомянутый выше, если вы не добавите их все за один раз.
Вы заметите, что я использовал флаг: “-D холост”. Это необходимо, потому что я хотел конфигурацию RAID 0 (где данные распределяются между всеми жесткими дисками, но зеркалирование не происходит), но “не замужем” Профиль нужен, когда жесткие диски разных размеров. Если бы все жесткие диски были одинакового размера, я мог бы вместо этого использовать флаг “-d raid0”. “-d” Флаг, кстати, обозначает данные и позволяет указать желаемую конфигурацию данных. Там также есть “-м” флаг, который делает то же самое для метаданных.
Помимо этого, вы также можете включить RAID 1, используя “-d raid1” который будет дублировать данные на всех устройствах, поэтому использование этого флага при создании файловой системы Btrfs, охватывающей все жесткие диски, будет означать, что вы получите только 500 ГБ доступного пространства, так как три других жестких диска используются для зеркалирования.
Наконец, вы можете включить RAID 10, используя “-d raid10”. Это объединит RAID 0 и RAID 1, поэтому вам будет доступно 1,5 ТБ свободного пространства, так как два жестких диска по 1 ТБ спарены в зеркалировании, а два жестких диска по 500 ГБ спарены в зеркалировании..
Преобразование файловой системы
Если у вас есть файловая система Btrfs, которую вы хотите преобразовать в другую конфигурацию RAID, это легко сделать. Сначала смонтируйте файловую систему (если это еще не сделано) с помощью команды:
Судо mount / dev / sdb1 / mnt
Затем выполните команду:
Судо btrfs balance start -dconvert = raid1 -mconvert = raid1 / mnt
Это изменит конфигурацию на RAID 1, но вы можете заменить ее любой конфигурацией, которую вы хотите (если это действительно разрешено - например, вы не можете переключиться на RAID 10, если у вас нет как минимум четырех жестких дисков) , Кроме того, флаг -mconvert является необязательным, если вас интересуют только данные, а не метаданные..
Если происходит сбой жесткого диска
Если произойдет сбой жесткого диска, вам необходимо удалить его из файловой системы, чтобы остальные накопители работали правильно. Смонтируйте файловую систему с помощью команды:
sudo mount -o ухудшено / dev / sdb / mnt
Затем исправьте файловую систему с помощью:
устройство sudo btrfs удалить отсутствует / mnt
Если у вас не был включен RAID 1 или RAID 10, все данные, которые были на отказавшем жестком диске, теперь потеряны.
Извлечение жесткого диска из файловой системы
Наконец, если вы хотите удалить устройство из файловой системы Btrfs, а файловая система смонтирована в / mnt, вы можете сделать это с помощью команды:
Удаление устройства sudo btrfs / dev / sdc / mnt
Конечно, замените / dev / sdc на жесткий диск, который вы хотите удалить. Эта команда займет некоторое время, потому что она должна удалить все данные с удаляемого жесткого диска, и также потерпит неудачу, если на других оставшихся жестких дисках недостаточно места..
Автоматический монтаж
Если вы хотите, чтобы файловая система Btrfs была смонтирована автоматически, вы можете поместить ее в файл / etc / fstab:
sudo / dev / sdb / mnt btrfs device = / dev / sdb, device = / dev / sdc, device = / dev / sdd, device = / dev / sde 0 0
Варианты монтирования
Еще один бонусный совет! Вы можете оптимизировать производительность Btrfs в файле / etc / fstab в разделе параметров монтирования для файловой системы Btrfs. Для больших массивов хранения эти варианты лучше всего подходят: сжатие силы = Zlib, autodefrag, nospace_cache
. В частности, compress = zlib сжимает все данные, чтобы вы могли максимально использовать пространство, которое у вас есть. Для записи пользователи SSD могут использовать эти параметры: noatime, сжимать = LZO, SSD, отбрасывание, space_cache, autodefrag, inode_cache
. Эти параметры соответствуют спецификациям устройства, поэтому полная строка в / etc / fstab для пользователей SSD будет выглядеть так:
sudo / dev / sdb / mnt btrfs device = / dev / sdb, device = / dev / sdc, device = / dev / sdd, device = / dev / sde,
noatime, compress = lzo, ssd, discard, space_cache, autodefrag, inode_cache 0 0
Насколько большой ваш бассейн?
Btrfs - это фантастический вариант для организации пула и зеркалирования, который обязательно станет более популярным, когда он будет считаться полностью стабильным. Также не помешало бы наличие графического интерфейса, чтобы упростить настройку (кроме некоторых установщиков дистрибутива), но команды, которые вы должны использовать в терминале, легко понять и применить.
Какой самый большой пул памяти вы можете сделать? Как вы думаете, пулы хранения стоят? Дайте нам знать об этом в комментариях!
Кредит Фотографии: Уильям Хук