Код: Выделить всё
# gpart create -s GPT ada2
ada2 created
# gpart add -b 34 -s 128 -t freebsd-boot -l disk2 ada2
ada2p1 added
# gpart add -s 4G -t freebsd-swap -l swap2 ada2
ada2p2 added
# gpart add -t freebsd-zfs -l disk2 ada2
ada2p3 added
# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada2
bootcode written to ada2
...
ada0
...
ada1
Код: Выделить всё
# zpool status
pool: zpool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
zpool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
gpt/disk0 ONLINE 0 0 0
gpt/disk1 ONLINE 0 0 0
gpt/disk2 ONLINE 0 0 0
errors: No known data errors
Код: Выделить всё
# zpool offline zpool gpt/disk2
# zpool status
pool: zfspool
state: DEGRADED
status: One or more devices has been taken offline by the administrator.
Sufficient replicas exist for the pool to continue functioning in a
degraded state.
action: Online the device using 'zpool online' or replace the device with
'zpool replace'.
scan: none requested
config:
NAME STATE READ WRITE CKSUM
zpool DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
gpt/disk0 ONLINE 0 0 0
gpt/disk1 ONLINE 0 0 0
7984183133786640744 OFFLINE 0 0 0 was /dev/gpt/disk2
errors: No known data errorsКод: Выделить всё
# gpart show
=> 34 1953523053 twed0 GPT (931G)
34 1953523053 1 freebsd-ufs (931G)
=> 34 488397101 ada0 GPT (232G)
34 128 1 freebsd-boot (64k)
162 8388608 2 freebsd-swap (4.0G)
8388770 480008365 3 freebsd-zfs (228G)
=> 34 488397101 ada1 GPT (232G)
34 128 1 freebsd-boot (64k)
162 8388608 2 freebsd-swap (4.0G)
8388770 480008365 3 freebsd-zfs (228G)
=> 0 7907328 da0 BSD (3.8G)
0 1501808 1 freebsd-ufs (733M)
1501808 6405520 - free - (3.1G)
=> 34 488397101 ada2 GPT (232G)
34 128 1 freebsd-boot (64k)
162 8388608 2 freebsd-swap (4.0G)
8388770 480008365 3 freebsd-zfs (228G)Код: Выделить всё
# zpool replace zpool 7984183133786640744 gpt/disk2
cannot replace /dev/gpt/disk2 with /dev/gpt/disk2: device is too smallПолучается сделать только так
Код: Выделить всё
# zpool replace -f zpool 7984183133786640744 ada2
Make sure to wait until resilver is done before rebooting.
If you boot from pool 'zpool', you may need to update
boot code on newly attached disk 'ada2'.
Assuming you use GPT partitioning and 'da0' is your new boot disk
you may use the following command:
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0Вывод zpool status теперь такой
Код: Выделить всё
# zpool status
pool: zpool
state: ONLINE
scan: resilvered 35,5G in 0h32m with 0 errors on Wed May 1 11:33:06 2013
config:
NAME STATE READ WRITE CKSUM
zfspool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
gpt/disk0 ONLINE 0 0 0
gpt/disk1 ONLINE 0 0 0
ada2 ONLINE 0 0 0
errors: No known data errorsgpart теперь попросту этого диска не видит. Загружаюсь в LiveCD - gpart диск видит. Что делаю не так ? Как восстановить на диске ada2 GPT разделы (еще раз обращаю внимание на выше указанную ошибку device is too small )
При загрузке ругался на отсутствие загрузчика на ada2. В LiveCD восстановил, ругаться перестал вроде.
Код: Выделить всё
# uname -a
FreeBSD server 9.1-RELEASE FreeBSD 9.1-RELEASE #0: Thu Apr 25 08:54:35 UTC 2013 root@server:/usr/obj/usr/src/sys/KERNEL amd64