* How to move a btrfs volume to a smaller disk
@ 2016-03-09 21:46 Hendrik Friedel
2016-03-09 21:50 ` Hugo Mills
2016-03-11 3:29 ` Satoru Takeuchi
0 siblings, 2 replies; 4+ messages in thread
From: Hendrik Friedel @ 2016-03-09 21:46 UTC (permalink / raw)
To: Btrfs BTRFS
Hello,
I intend to move this subvolume to a new device.
btrfs fi show /mnt2/Data_Store/
Label: 'Data_Store' uuid: 0ccc1e24-090d-42e2-9e61-d0a1b3101f93
Total devices 1 FS bytes used 47.93GiB
devid 1 size 102.94GiB used 76.03GiB path /dev/sdb4
(fi usage at the bottom of this message)
The new device (sda4) is 8G smaller unfortunately.
sda 8:0 0 111.8G 0 disk
└─sda4 8:4 0 103.5G 0 part
sdb 8:16 0 119.2G 0 disk
└─sdb4 8:20 0 111G 0 part /mnt2/Data_Store
Thus, btrfs replace does not work
What would you suggest now to move the FS (it does contain many subvolumes)?
I tried btrfs send /mnt2/Data_Store/read_only_snapshot/ | btrfs receive
/mnt/sda4/
but this only created an empty subvolume /mnt/sda4/read_only_snapshot/
So, then
btrfs device add /dev/sda4 /mnt/Data_Store
btrfs balance start /mnt/Data_Store
btrfs device remove /dev/sdb4 /mnt/Data_Store
?
Or is there a better option?
Regards,
Hendrik
btrfs fi usage /mnt2/Data_Store/
Overall:
Device size: 102.94GiB
Device allocated: 74.03GiB
Device unallocated: 28.91GiB
Device missing: 0.00B
Used: 47.96GiB
Free (estimated): 53.24GiB (min: 53.24GiB)
Data ratio: 1.00
Metadata ratio: 1.00
Global reserve: 512.00MiB (used: 0.00B)
Data,single: Size:69.00GiB, Used:44.67GiB
/dev/sdb4 69.00GiB
Metadata,single: Size:5.00GiB, Used:3.29GiB
/dev/sdb4 5.00GiB
System,single: Size:32.00MiB, Used:16.00KiB
/dev/sdb4 32.00MiB
Unallocated:
/dev/sdb4 28.91GiB
---
Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
https://www.avast.com/antivirus
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: How to move a btrfs volume to a smaller disk
2016-03-09 21:46 How to move a btrfs volume to a smaller disk Hendrik Friedel
@ 2016-03-09 21:50 ` Hugo Mills
2016-03-09 22:03 ` Hendrik Friedel
2016-03-11 3:29 ` Satoru Takeuchi
1 sibling, 1 reply; 4+ messages in thread
From: Hugo Mills @ 2016-03-09 21:50 UTC (permalink / raw)
To: Hendrik Friedel; +Cc: Btrfs BTRFS
[-- Attachment #1: Type: text/plain, Size: 2499 bytes --]
On Wed, Mar 09, 2016 at 10:46:09PM +0100, Hendrik Friedel wrote:
> Hello,
>
> I intend to move this subvolume to a new device.
> btrfs fi show /mnt2/Data_Store/
> Label: 'Data_Store' uuid: 0ccc1e24-090d-42e2-9e61-d0a1b3101f93
> Total devices 1 FS bytes used 47.93GiB
> devid 1 size 102.94GiB used 76.03GiB path /dev/sdb4
>
> (fi usage at the bottom of this message)
>
> The new device (sda4) is 8G smaller unfortunately.
> sda 8:0 0 111.8G 0 disk
> └─sda4 8:4 0 103.5G 0 part
> sdb 8:16 0 119.2G 0 disk
> └─sdb4 8:20 0 111G 0 part /mnt2/Data_Store
>
> Thus, btrfs replace does not work
>
> What would you suggest now to move the FS (it does contain many subvolumes)?
btrfs dev resize to shrink it to (slightly smaller than) the
replacement device, then btrfs replace should work. Then btrfs dev
resize max to fill up the replacement device completely.
Hugo.
> I tried btrfs send /mnt2/Data_Store/read_only_snapshot/ | btrfs
> receive /mnt/sda4/
> but this only created an empty subvolume /mnt/sda4/read_only_snapshot/
>
> So, then
> btrfs device add /dev/sda4 /mnt/Data_Store
> btrfs balance start /mnt/Data_Store
> btrfs device remove /dev/sdb4 /mnt/Data_Store
> ?
>
> Or is there a better option?
>
> Regards,
> Hendrik
>
>
> btrfs fi usage /mnt2/Data_Store/
> Overall:
> Device size: 102.94GiB
> Device allocated: 74.03GiB
> Device unallocated: 28.91GiB
> Device missing: 0.00B
> Used: 47.96GiB
> Free (estimated): 53.24GiB (min: 53.24GiB)
> Data ratio: 1.00
> Metadata ratio: 1.00
> Global reserve: 512.00MiB (used: 0.00B)
>
> Data,single: Size:69.00GiB, Used:44.67GiB
> /dev/sdb4 69.00GiB
>
> Metadata,single: Size:5.00GiB, Used:3.29GiB
> /dev/sdb4 5.00GiB
>
> System,single: Size:32.00MiB, Used:16.00KiB
> /dev/sdb4 32.00MiB
>
> Unallocated:
> /dev/sdb4 28.91GiB
>
>
> ---
> Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
> https://www.avast.com/antivirus
>
--
Hugo Mills | Well, sir, the floor is yours. But remember, the
hugo@... carfax.org.uk | roof is ours!
http://carfax.org.uk/ |
PGP: E2AB1DE4 | The Goons
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: How to move a btrfs volume to a smaller disk
2016-03-09 21:50 ` Hugo Mills
@ 2016-03-09 22:03 ` Hendrik Friedel
0 siblings, 0 replies; 4+ messages in thread
From: Hendrik Friedel @ 2016-03-09 22:03 UTC (permalink / raw)
To: Hugo Mills, Btrfs BTRFS
Hello Hugo,
thanks for your ultrafast reply.
Unfortunately, it does not work for me:
[root@homeserver mnt2]# btrfs filesystem resize 80G /mnt2/Data_Store/ &&
btrfs replace start /dev/sdb4 /dev/sda4 /mnt2/Data_Store/ -f && btrfs
filesystem resize max /mnt2/Data_Store/
Resize '/mnt2/Data_Store/' of '80G'
ERROR: target device smaller than source device (required 119121379328
bytes)
[root@homeserver mnt2]# btrfs filesystem show /mnt2/Data_Store/
Label: 'Data_Store' uuid: 0ccc1e24-090d-42e2-9e61-d0a1b3101f93
Total devices 1 FS bytes used 47.95GiB
devid 1 size 80.00GiB used 66.03GiB path /dev/sdb4
[root@homeserver mnt2]# lsblk | grep sda4
└─sda4 8:4 0 103.5G 0 part
Greetings,
Hendrik
On 09.03.2016 22:50, Hugo Mills wrote:
> On Wed, Mar 09, 2016 at 10:46:09PM +0100, Hendrik Friedel wrote:
>> Hello,
>>
>> I intend to move this subvolume to a new device.
>> btrfs fi show /mnt2/Data_Store/
>> Label: 'Data_Store' uuid: 0ccc1e24-090d-42e2-9e61-d0a1b3101f93
>> Total devices 1 FS bytes used 47.93GiB
>> devid 1 size 102.94GiB used 76.03GiB path /dev/sdb4
>>
>> (fi usage at the bottom of this message)
>>
>> The new device (sda4) is 8G smaller unfortunately.
>> sda 8:0 0 111.8G 0 disk
>> └─sda4 8:4 0 103.5G 0 part
>> sdb 8:16 0 119.2G 0 disk
>> └─sdb4 8:20 0 111G 0 part /mnt2/Data_Store
>>
>> Thus, btrfs replace does not work
>>
>> What would you suggest now to move the FS (it does contain many subvolumes)?
> btrfs dev resize to shrink it to (slightly smaller than) the
> replacement device, then btrfs replace should work. Then btrfs dev
> resize max to fill up the replacement device completely.
>
> Hugo.
>
>> I tried btrfs send /mnt2/Data_Store/read_only_snapshot/ | btrfs
>> receive /mnt/sda4/
>> but this only created an empty subvolume /mnt/sda4/read_only_snapshot/
>>
>> So, then
>> btrfs device add /dev/sda4 /mnt/Data_Store
>> btrfs balance start /mnt/Data_Store
>> btrfs device remove /dev/sdb4 /mnt/Data_Store
>> ?
>>
>> Or is there a better option?
>>
>> Regards,
>> Hendrik
>>
>>
>> btrfs fi usage /mnt2/Data_Store/
>> Overall:
>> Device size: 102.94GiB
>> Device allocated: 74.03GiB
>> Device unallocated: 28.91GiB
>> Device missing: 0.00B
>> Used: 47.96GiB
>> Free (estimated): 53.24GiB (min: 53.24GiB)
>> Data ratio: 1.00
>> Metadata ratio: 1.00
>> Global reserve: 512.00MiB (used: 0.00B)
>>
>> Data,single: Size:69.00GiB, Used:44.67GiB
>> /dev/sdb4 69.00GiB
>>
>> Metadata,single: Size:5.00GiB, Used:3.29GiB
>> /dev/sdb4 5.00GiB
>>
>> System,single: Size:32.00MiB, Used:16.00KiB
>> /dev/sdb4 32.00MiB
>>
>> Unallocated:
>> /dev/sdb4 28.91GiB
>>
>>
>> ---
>> Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
>> https://www.avast.com/antivirus
>>
---
Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
https://www.avast.com/antivirus
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: How to move a btrfs volume to a smaller disk
2016-03-09 21:46 How to move a btrfs volume to a smaller disk Hendrik Friedel
2016-03-09 21:50 ` Hugo Mills
@ 2016-03-11 3:29 ` Satoru Takeuchi
1 sibling, 0 replies; 4+ messages in thread
From: Satoru Takeuchi @ 2016-03-11 3:29 UTC (permalink / raw)
To: Hendrik Friedel, Btrfs BTRFS
On 2016/03/10 6:46, Hendrik Friedel wrote:
> Hello,
>
> I intend to move this subvolume to a new device.
> btrfs fi show /mnt2/Data_Store/
> Label: 'Data_Store' uuid: 0ccc1e24-090d-42e2-9e61-d0a1b3101f93
> Total devices 1 FS bytes used 47.93GiB
> devid 1 size 102.94GiB used 76.03GiB path /dev/sdb4
>
> (fi usage at the bottom of this message)
>
> The new device (sda4) is 8G smaller unfortunately.
> sda 8:0 0 111.8G 0 disk
> └─sda4 8:4 0 103.5G 0 part
> sdb 8:16 0 119.2G 0 disk
> └─sdb4 8:20 0 111G 0 part /mnt2/Data_Store
>
> Thus, btrfs replace does not work
>
> What would you suggest now to move the FS (it does contain many subvolumes)?
>
> I tried btrfs send /mnt2/Data_Store/read_only_snapshot/ | btrfs receive /mnt/sda4/
> but this only created an empty subvolume /mnt/sda4/read_only_snapshot/
I suspect that you captured snapshot as
==========================
btrfs sub snap -r /mnt2/Data_Store /mnt2/Data_Store/read_only_snapshot
==========================
and /mnt2/Data_Store only contains subvolumes
instead of having files/directries directly.
Then send/receive work as you said. Probably if you run
"ls -li /mnt2/Data_Store", all files have
inode 256 (it means subvolume). In addition,
all the directories under
/mnt2/Data_Store/read_only_snapshot are empty.
It's because "sub snap" only handles one subvolume
and doesn't handle subvolumes inside it. So, if you'd
like to copy all the data by send/receive, you should
capture and send/receive snapshot for each subvolume.
>
> So, then
> btrfs device add /dev/sda4 /mnt/Data_Store
> btrfs balance start /mnt/Data_Store
> btrfs device remove /dev/sdb4 /mnt/Data_Store
> ?
balance is not necessary. When you run
device remove /dev/sdb4, then all the contents of
/dev/sdb4 migrate to /dev/sda4 properly.
Thanks,
Satoru
>
> Or is there a better option?
>
> Regards,
> Hendrik
>
>
> btrfs fi usage /mnt2/Data_Store/
> Overall:
> Device size: 102.94GiB
> Device allocated: 74.03GiB
> Device unallocated: 28.91GiB
> Device missing: 0.00B
> Used: 47.96GiB
> Free (estimated): 53.24GiB (min: 53.24GiB)
> Data ratio: 1.00
> Metadata ratio: 1.00
> Global reserve: 512.00MiB (used: 0.00B)
>
> Data,single: Size:69.00GiB, Used:44.67GiB
> /dev/sdb4 69.00GiB
>
> Metadata,single: Size:5.00GiB, Used:3.29GiB
> /dev/sdb4 5.00GiB
>
> System,single: Size:32.00MiB, Used:16.00KiB
> /dev/sdb4 32.00MiB
>
> Unallocated:
> /dev/sdb4 28.91GiB
>
>
> ---
> Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
> https://www.avast.com/antivirus
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-03-11 3:29 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-09 21:46 How to move a btrfs volume to a smaller disk Hendrik Friedel
2016-03-09 21:50 ` Hugo Mills
2016-03-09 22:03 ` Hendrik Friedel
2016-03-11 3:29 ` Satoru Takeuchi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).