我有一個btrfs卷,它已經由兩個不同的設備組成,並且已安裝在/ samples上。根據df
報告,其總大小爲194GB。將新設備添加到btrfs卷,但可用大小几乎不增長
$ df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/sdc1 194G 165G 20G 90% /samples
現在,我想添加另一個500GB的卷,從另一個設備。 我做
$ sudo mkfs.btrfs -m raid0 -d raid0 /dev/sdb
$ sudo btrfs device add /dev/sdb /samples
我的文件系統現在可以正確地報告:
$ sudo btrfs filesystem show
Label: none uuid: 545e95c6-d347-4a8c-8a49-38b9f9cb9add
Total devices 3 FS bytes used 161.98GB
devid 3 size 465.76GB used 0.00 path /dev/sdb
devid 2 size 93.13GB used 84.51GB path /dev/sdc1
devid 1 size 100.61GB used 84.53GB path /dev/sdc6
但我錯過了一些空間,當我做:
$ df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/sdc1 660G 165G 43G 80% /samples
我加了500GB!爲什麼我沒有更多的可用?
要調試,我跑這個命令:
$ sudo btrfs filesystem df /samples
Data, RAID0: total=162.00GB, used=159.79GB
Data: total=8.00MB, used=7.48MB
System, RAID1: total=8.00MB, used=24.00KB
System: total=4.00MB, used=0.00
Metadata, RAID1: total=3.50GB, used=2.19GB
Metadata: total=8.00MB, used=0.00
我的數據是RAID0,沒關係。那麼我的500GB消失了,我該如何解決這個問題?
謝謝
您可以使用btrfs filesystem balance/samples來平衡文件系統。順便說一下,沒有理由在待添加的設備上發出sudo mkfs.btrfs -m raid0 -d raid0/dev/sdb。 –
據我瞭解,平衡會將數據均勻地分佈在3個設備上。但我這裏的問題並不是真正傳播數據,而是可用的大小df -h報告的數量。我添加了465.76G,但我只能看到43G(儘管我還沒有添加任何數據)。 465G在哪裏去了? – user1381
一般情況下是這樣,但在這種情況下,我認爲應該將RAID1元數據平衡地複製到第三個磁盤。換句話說,IMO應該運行btrfs balance start -dconvert = raid0 -mconvert = raid1/samples告訴我它是否有效。 –