yo! Como está difícil conseguir 2 discos rígidos do mesmo tamanho, mesmo comprando o modelos iguais no final eles são diferentes! Desse modo, fazer raid 1 com geom mirror do disco inteiro como mostra no handbook é impossível. Depois de adquirir 2 discos Samsumg e 2 Western Digital de 500Gb para no final descobrir que eles tem o número de blocos diferentes, eu resolvi tomar uma abordagem diferente e fazer o gmirror do slice, assim não importa o tamanho do disco, apenas o tamanho do slice que é controlado pelo sysadmin.
Existem dois jeitos mais comuns de se fazer isso. O primeiro é com o sistema offline através do Fixit e o segundo é online, criando o raid1 no disco vazio e depois migrando os dados para ele.
A vantagem do primeiro é que é mais rápido o processo todo, pois não é necessário replicar os dados no segundo disco e a desvantagem que vejo é que o sistema precisa ficar offline por cerca de 10 minutos, tempo mais que suficiente para criar o raid1.
Optei pela primeira opção. Tem que ser offline pois o gmirror usa o último bloco do provider para gravar os metadados, ou seja, não podemos gravar metadados em um dispositivo já em uso, como por exemplo /dev/ad4s1.
Eu usei a imagem do memstick, iniciei o servidor pelo pen-drive e selecionei a opção Fixit. No terminal é só criar o raid como no handbook, trocando o device do disco pelo do slice, como na sequência de comandos abaixo:
Disco 1: ad4
Disco 2: ad6
# Copia a tabela de slices para o segundo disco: dd if=/dev/ad4 of=/dev/ad6 bs=512 count=1 sysctl kern.geom.debugflags=17 gmirror label -vb round-robin gm0s1 /dev/ad4s1 # Precisamos adicionar o geom_mirror no boot e alterar o fstab mount /dev/ad4s1a /mnt echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf vi /mnt/etc/fstab # Esse comando no vi irá substituir ad4s1 por mirror/gm0s1, ex: /dev/ad4s1d -> /dev/mirror/gm0s1d :%s/ad4s1/mirror\/gm0s1/g # Tudo pronto, é só reiniciar o servidor exit ou reboot
Saia do sysinstall e reinicie o servidor. Se tudo der certo, o primeiro disco está no gmirror e portanto só precisamos adicionar o segundo disco. Basta entrar como root e digitar:
# gmirror insert -v gm0s1 /dev/ad6s1
Agora é só esperar o geom sincronizar os blocos e enquanto isso é feito, precisamos instalar o bootmrg na mbr do segundo disco. Isso pode ser feito da seguinte maneira:
# systctl -w kern.geom.debugflags=16
Entre no sysinstall e vá na opção Configure e em Fdisk. Escolha o disco o segundo disco (ad6 no meu caso). Aperte W para gravar e escolha instalar o gerenciar de boot na MBR
Referência: http://forums.freebsd.org/showthread.php?p=106015.