como adiciono um novo disco ao ZFS e o disponibilizo para mountpoints existentes se o pool atual for root pool?

4

Meu servidor S11 tem a seguinte configuração:

disco # 1 é usado para o rpool, que é o pool raiz Eu quero adicionar disco # 2 para aumentar o tamanho disponível para as pastas já montadas, mas não posso adicionar o disco para o rpool existente porque é o pool de raiz.

Existe uma maneira de disponibilizar o novo disco para a pasta "/"? Minha única opção é criar um novo zpool e montá-lo em uma nova pasta?

Obrigado.

RaamEE

 root@raamee:~# zpool status
  pool: rpool
 state: ONLINE
 status: The pool is formatted using an older on-disk format. The pool can
         still be used, but some features are unavailable.
 action: Upgrade the pool using 'zpool upgrade'. Once this is done, the
         pool will no longer be accessible on older software versions.
  scan: none requested
 config:

         NAME        STATE     READ WRITE CKSUM
         rpool       ONLINE       0     0     0
           c4t0d0s0  ONLINE       0     0     0
root@raamee:~# zfs list
NAME                       USED  AVAIL  REFER  MOUNTPOINT
rpool                      130G  4.18G  4.59M  /rpool
rpool/ROOT                 101G  4.18G    31K  legacy
rpool/ROOT/S11-GA          152M  4.18G  7.33G  /
rpool/ROOT/S11-GA/var     17.4M  4.18G  5.20G  /var
rpool/VARSHARE             180K  4.18G   180K  /var/share
rpool/dump                8.25G  4.43G  8.00G  -
rpool/guests                31K  4.18G    31K  /guests
rpool/scratch             2.52M  4.18G  2.52M  /scratch
rpool/swap                20.6G  4.81G  20.0G  -
root@raamee:~# format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c4t0d0 <FUJITSU-MBB2147RCSUN146G-0505 cyl 17845 alt 2 hd 255 sec 63>
          /pci@7b,0/pci1022,7458@11/pci1000,3060@2/sd@0,0
          /dev/chassis/SYS/HD0/disk
       1. c4t1d0 <FUJITSU-MBB2147RCSUN146G-0505-136.73GB>
          /pci@7b,0/pci1022,7458@11/pci1000,3060@2/sd@1,0
          /dev/chassis/SYS/HD1/disk
    
por RaamEE 31.01.2013 / 20:22

3 respostas

5

Anexe o segundo disco como um espelho do primeiro, aguarde o resilver, remova o primeiro disco, defina as propriedades para autoexpandir. Não se esqueça de configurar o código de inicialização ou qualquer coisa assim. Exemplo:

zpool attach rpool olddisk newdisk
...wait, check using zpool status rpool
zpool detach rpool olddisk
zpool set autoexpand=on rpool
    
por 08.02.2013 / 22:31
1

Você não pode "expandir" o tamanho do rpool anexando um disco a outro (raid 0), como mencionado anteriormente, no entanto, como Chris S mencionou abaixo, você pode anexar um disco maior como um espelho e, assim que os dados forem sincronizados 'd (resliver complete), separe o disco menor. (opa agora eu também vejo a resposta de Chris)

Aqui está um processo para espelhar o disco raiz ... link

Siga isso, exceto onde eles fazem:

prtvtoc /dev/rdsk/c7t0d0s0 | fmthard -s - /dev/rdsk/c7t1d0s0

... você vai querer executar o formato e aumentar o tamanho da fatia 0, provavelmente o disco inteiro

# format /dev/rdsk/c4t1d0s0

(não entrarei em detalhes no comando do formato interativo)

# zpool attach rpool c4t0d0s0 c4t1d0s0

# zpool status rpool

ESPERE ATÉ QUE DIZ "resilver concluído" (continue verificando zpool status rpool )

CERTIFIQUE-SE DE QUE VOCÊ POSSA EMBARCAR NO SEGUNDO DISCO

Em seguida, desanexe o espelho de rpool menor e reinicie, verifique se consegue inicializar novamente.

# zpool detach rpool c4t0d0s0

LUCRO!

REFERÊNCIA: link

Resposta anterior:

Depois de criar o pool usando o comando especificado por ele:

zpool create mypool c4t1d0

Crie um sistema de arquivos, por exemplo:

zfs create mypool/home

... copie os dados para o novo disco ... (re) move os dados do disco de rpool e, em seguida, defina o ponto de montagem para um local adequado, como:

zfs set mountpoint=/export/home mypool/home

Isto é, obviamente, assumindo que / export / home é onde todo o espaço está sendo usado. Pode ser necessário fazer isso no modo "usuário único" ou criar um usuário com um diretório inicial que não esteja em /export/home para concluir isso.

Em uma nota lateral, a saída da lista zfs parece funky, como se estivesse faltando alguma coisa. rpool/ROOT está exibindo 101 GB usados, mas os sistemas de arquivos abaixo mostram apenas 12.5GB REF e são muito menos USADOS. Você por acaso tem outros ambientes de inicialização em rpool / ROOT que você "cortou" da saída da sua lista do zfs? você poderia, talvez, destruir esses bootenv's ou pelo menos os sistemas de arquivos zfs para recuperar o espaço usado no rpool / ROOT?

~ tommy

    
por 07.02.2013 / 03:24
0

Sim, acredito que sua única opção é criar um novo pool usando o segundo disco. A única coisa que você pode fazer com o rpool é espelhar o disco - o que não tornará mais espaço disponível. O rpool não suporta striping, devido às dificuldades que ele representaria na inicialização.

zpool create mypool c4t1d0
    
por 05.02.2013 / 00:47