Btrfs
BTRFS:無法掛載:errno=-28 沒有剩餘空間(替換/平衡後)
在我成功地將 RAID1 池的較小磁碟替換為較大的磁碟後,我無法再從池中掛載文件系統(僅使用
-o ro
)。mount /dev/sda /mnt
它以只讀方式安裝並
dmesg | grep BTRFS
顯示:BTRFS info (device sda): disk space caching is enabled BTRFS info (device sda): has skinny extents BTRFS info (device sda): checking UUID tree BTRFS info (device sda): balance: resume -dusage=90 -musage=90 -susage=90 BTRFS info (device sda): relocating block group 170456317952 flags system|raid1 BTRFS info (device sda): relocating block group 1104150528 flags data|raid1 BTRFS info (device sda): found 1 extents BTRFS info (device sda): relocating block group 30408704 flags metadata|raid1 BTRFS: Transaction aborted (error -28) BTRFS: error (device sda) in __btrfs_free_extent:3106: errno=-28 No space left BTRFS info (device sda): forced readonly BTRFS: error (device sda) in btrfs_run_delayed_refs:2209: errno=-28 No space left BTRFS info (device sda): 1 enospc errors during balance BTRFS info (device sda): balance: ended with status: -30
實際磁碟(sda、sdb)足夠大:
# fdisk -l /dev/sd{a,b}* Disk /dev/sda: 232.89 GiB, 250059350016 bytes, 488397168 sectors [...] Disk /dev/sdb: 465.76 GiB, 500107862016 bytes, 976773168 sectors [...] # btrfs fi df /mnt Data, RAID1: total=147.04GiB, used=147.02GiB System, RAID1: total=8.00MiB, used=48.00KiB Metadata, RAID1: total=1.00GiB, used=458.84MiB GlobalReserve, single: total=181.53MiB, used=0.00B
無法掛載文件系統時,如何刪除子卷、調整大小、平衡?
發生第一個錯誤是因為安裝時沒有足夠的空間進行自動平衡。要跳過自動平衡,我可以安裝
mount -o skip_balance /dev/sda /mnt
注意 mount 選項
skip_balance
。要調整/增加文件系統大小,我必須使用
btrfs fi resize 1:max /mnt btrfs fi resize 2:max /mnt
其中 1 和 2 是列出的設備 id (devid)
btrfs fi show /mnt
,fi
是 的縮寫filesystem
,max
是最大尺寸的特殊關鍵字。您也可以使用 eg250G
而不是max
.請注意,
btrfs fi resize max /mnt
由於某種原因,它不起作用。也許是因為硬碟驅動器的容量不同。謝謝你,卡米爾!