gpart restore -> Invalid argument

amnixed

Active Member

Reaction score: 8
Messages: 125

Hello All,

I'm trying to restore my boot mirror (2 identical USB sticks) using gpart backup and gpart restore but getting an error.

Code:
# gpart list da0
Geom name: da0
modified: false
state: OK
fwheads: 255
fwsectors: 63
last: 31260638
first: 34
entries: 128
scheme: GPT
Providers:
1. Name: da0p1
   Mediasize: 524288 (512K)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 17408
   Mode: r0w0e0
   efimedia: HD(1,GPT,2036be0c-1fcb-11ea-aa95-00e081b26276,0x22,0x400)
   rawuuid: 2036be0c-1fcb-11ea-aa95-00e081b26276
   rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f
   label: (null)
   length: 524288
   offset: 17408
   type: freebsd-boot
   index: 1
   end: 1057
   start: 34
2. Name: da0p2
   Mediasize: 16004898816 (15G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 544768
   Mode: r1w1e1
   efimedia: HD(2,GPT,20a65a70-1fcb-11ea-aa95-00e081b26276,0x428,0x1dcfbb0)
   rawuuid: 20a65a70-1fcb-11ea-aa95-00e081b26276
   rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b
   label: (null)
   length: 16004898816
   offset: 544768
   type: freebsd-zfs
   index: 2
   end: 31260631
   start: 1064
Consumers:
1. Name: da0
   Mediasize: 16005464064 (15G)
   Sectorsize: 512
   Mode: r1w1e2

# gpart backup da0 > da0.backup

# cat da0.backup
GPT 128
1   freebsd-boot       34     1024 
2    freebsd-zfs     1064 31259568 

# gpart list da1
gpart: No such geom: da1.

# gpart restore da1 < da0.backup
gpart: start '34': Invalid argument

What am I doing wrong?
 

George

Aspiring Daemon

Reaction score: 215
Messages: 526

# gpart list da1 gpart: No such geom: da1.
This is quite normal if there is no partitioning scheme (GPT, MBR, ...) on the disk, yet. You can see these disks here: sysctl kern.disks, or with geom disk list da1.

But I am not sure why you can't start at sector 34..
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 13,120
Messages: 39,712

Might be due to 4K alignment. It starts at 40 nowadays.
 
OP
A

amnixed

Active Member

Reaction score: 8
Messages: 125

This is quite normal if there is no partitioning scheme (GPT, MBR, ...) on the disk, yet. You can see these disks here: sysctl kern.disks, or with geom disk list da1.

Right. I wanted to show that there was no partitioning on the stick before I tried to restore from backup.
 
OP
A

amnixed

Active Member

Reaction score: 8
Messages: 125

Did you also try with gpart restore -F?

Just tried it - didn't work.

I got a pair of 32 GB USB sticks and added one of them to the existing 16 GB stick to restore the mirror:

# zpool status
pool: freenas-boot
state: ONLINE
scan: resilvered 3.37G in 0 days 00:19:14 with 0 errors on Sat Jul 4 01:24:34 2020
config:

NAME STATE READ WRITE CKSUM
freenas-boot ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
da0p2 ONLINE 0 0 0
da1p2 ONLINE 0 0 0

errors: No known data errors


The mirror now consists of 1 16GB and 1 32GB sticks. As SirDice noted on the new stick da1p1 starts at 40 while on the old 16GB stick da0p1 starts at 34.
 

Mjölnir

Daemon

Reaction score: 1,519
Messages: 2,114

This is just guessing: grep dmesg for any USB quirks activated on this stick. There might be some subtle consequence, i.e. the stick refuses to write before sector 40.
 
Top