Så här använder du Btrfs på nyinstallerade diskar
Btrfs (uttalad "Butter F S") är ett avancerat filsystem för Linux som kan fungera över flera hårddiskar och stöder olika feltoleransmodeller som RAID 0, RAID 1 och RAID 10. Btrfs har varit i utveckling sedan 2008 och det är vad som är känt som ett "copy on write" filsystem vilket innebär att när data ändras i ett block, kommer blocket att kopieras ett nytt block skrivet till skivan med de ändrade ändringarna. Det betyder att block aldrig ändras men det skapas ganska nya block och de gamla blocken återanvänds senare. Detta har fördelar för prestanda, speciellt när man säkerställer konsistens och integritet (även efter strömavbrott).
Om du antar att du har ett Linux-system som redan körs (förmodligen använder ext4) men du vill lägga till några hårddiskar och använda Btrfs så är det här vad du behöver göra. Först måste du installera Btrfs-verktygen. På Ubuntu:
sudo apt-get install btrfs-verktyg
Förutsatt att /dev/sda
är huvudskivan med Linux installerad på den och du vill använda två nya skivor /dev/sdb
och /dev/sdc
, är nästa steg att skapa btrfs-filsystemet på dessa skivor.
sudo mkfs.btrfs -m raid1 -d raid1 / dev / sdb / dev / sdc
-d raid1
berättar för btrfs att använda RAID 1-spegling för data. Det innebär att det kommer att finnas minst två kopior av varje bit data, var och en på en annan enhet. Det är faktiskt möjligt att använda mer än två hårddiskar i en RAID 1-speglingskonfiguration. I sådana fall kommer btrfs att se till att minst en annan disk har en kopia av data. Informationen om data inklusive filnamn och filbehörigheter etc lagras i det som kallas metadata. -m raid1
berättar btrfs att använda RAID 1-spegling för metadata också. Precis som spegling för data, säkerställer användandet av spegling för metadata att informationen om filerna är lagrad på minst två diskar. Om någon av diskarna har befintliga partitionstabeller (och eventuellt data) använder du -f
alternativet för att tvinga mkfs.btrfs
att skriva över.
Nu när filsystemet har skapats kan det monteras med det normala mount
kommandot:
sudo mount / dev / sdb / mybtrfs
Where /mybtrfs
är katalogen där du vill montera filsystemet.
Vid det här laget kommer det nya filsystemet att listas av kommandot df -h
. På mitt testsystem är /dev/sdb
och /dev/sdc
100 GB vardera. På ett traditionellt RAID 1-system skulle det resulterande filsystemet vara listat som bara 100 GB, eftersom en skiva används för att duplicera data. Detta är inte så med btrfs. Eftersom skivor av olika storlekar kan användas i vilken kombination som helst, visar btrfs den totala storleken. Det finns dock ett kommando som ger mer information:
sudo btrfs filsystem df / mybtrfs
Detta kommer att visa den verkliga diskanvändningen för ett btrfs-filsystem inklusive det utrymme som tas av de faktiska data på filsystem och metadata.
" sudo btrfs filesystem show
" är också användbart eftersom det kommer att lista de enskilda enheterna som används i filsystemet tillsammans med deras totala storlek och utrymme som används.
Det sista steget är att redigera /etc/fstab
för att automatiskt montera btrfs-filsystemet vid start. För att göra så redigerar du filen och lägger till följande rad:
/ dev / sdb / mybtrfs btrfs standard 0 0
Du kan få den universellt unika identifieraren för btrfs-filsystemet med sudo btrfs filesystem show
. Att montera med uuid
istället för enhetens namn skulle göra /etc/fstab
raden något så här:
UUID = 7911f7a9-cd03-48ef-8dca-27550d6039f4 / mybtrfs btrfs standard 0 0
Om du har mer frågor, var god fråga i kommentaren nedan.