FreeBSD: Utöka ZFS mirror pool
Hej!
Har två serverar på olika geografiska platser, men de ska innehålla samma data. Har nu varit vid den ena och adderat stora mängder data till den servern. Det är alltför mycket för att synkronisera detta över nätet. Det finns flera sätt att lösa detta på, jag har gjort så här:
Jag tar en av hårddiskarna från den servern som inte har det aktuella och adderar denna till zpoolen som är aktuell. Sedan plockar jag ut den och importerar på den andra servern. Servrarna är likadant konfigruerade så det lirar fint med monteringspunkter när jag importerar poolen.
Ett annat alternativ skulle kunna vara att skicka ett ZFS snapshot och bilda ett nytt filsystem på hårddisken som jag har monterat in i servern.
Det jag dock undrar över är hur jag ska skapa dessa pooler på bästa sätt. Man vill ju köra ashift=12. Enligt en guide jag följde för att få så stora sektorer körde jag så här:
gpart destroy -F ada3
gpart create -s gpt ada3
gpart add -a 4k -t freebsd-zfs -l disk3 ada3
gnop create -S 4096 /dev/gpt/disk3
zpool attach data gpt/disk1 /dev/gpt/disk3.nop
Jag funderar på hur nödvändigt det är att köra gnop kommandot? Detta står det i guiden.
If using an 'advanced format' drive, the following commands will create virtual devices with 4k sectors, to ensure ZFS uses the correct block size:
Det är en ganska ny hårddisk, WD Red 3TB. Förut använde jag dessa under ubuntu, då blev det automatiskt 4K sektorstorlek. Kör jag zpool status nu får jag följande:
zpool status data
pool: data
state: ONLINE
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Thu Jan 2 13:07:32 2014
54.6G scanned out of 530G at 89.3M/s, 1h30m to go
54.6G resilvered, 10.30% done
config:
NAME STATE READ WRITE CKSUM
data ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
gpt/disk2 ONLINE 0 0 0
gpt/disk1 ONLINE 0 0 0
gpt/disk3.nop ONLINE 0 0 0 (resilvering)
errors: No known data errors
När jag exporterar denna och sedan importerar försvinner .nop och det står endast gpt/disk3.nop. Hade jag behövt hålla på med detta?