Quan actualitzeu una instància VPS a Vultr, un sistema de fitxers Linux es redimensiona automàticament. Quan s'executa FreeBSD amb el sistema de fitxers avançat ZFS, es requereix un treball manual. Aquesta guia suposa que el nostre compte s'acaba d'actualitzar per incloure més espai d'emmagatzematge i explica els passos per canviar la mida d'un volum ZFS. En aquest exemple, assumim una instal·lació de FreeBSD o TrueOS amb ZFS com a sistema de fitxers arrel. Aquest tutorial hauria de funcionar per a sistemes operatius similars, com ara FreeNAS.
Primer, ens farem una idea de la mida i la disposició del disc dur. A partir d'aquí, assumirem que el nostre disc dur és el dispositiu "vtbd0", el primer disc dur en una instal·lació de FreeBSD. Per descobrir la mida i la disposició de vtbd0, fem servir l' gpartordre.
gpart show
Veurem una línia que indica la mida de la unitat i el seu estat. L'estat que veurem al final de la primera línia després de la unitat que s'està canviant de mida és "corrupte". Després d'aquesta línia d'estat, hi haurà tres línies que ens indicaran quines particions hi ha a la unitat, quins sistemes de fitxers estan en ús i la mida de cada partició. La primera partició serà probablement una partició "d'arrencada de la BIOS", la segona és el nostre volum ZFS i la tercera sovint és l'espai d'intercanvi. Aquest és el disseny que assumirem per als propòsits d'aquest exemple. A cada partició se li assigna un número d'índex. En aquest cas, els números d'índex són "1" per a la partició d'arrencada de la BIOS, "2" per al volum ZFS i "3" per a l'intercanvi. El vostre disseny i números d'índex poden diferir.
El següent que hem de fer és recuperar la disposició de la unitat perquè ja no es mostri "danyada". Executeu l'ordre següent:
gpart recover vtbd0
Hauríem de veure immediatament un missatge que diu "vtbd0 recuperat". Comproveu l'estat de la unitat gpart showtornant a executar -lo. El següent pas és gestionar la partició d'intercanvi. Si la nostra partició d'intercanvi ve després de la nostra agrupació ZFS a la unitat, pot interferir en el creixement del volum ZFS. Farem l'intercanvi fora de línia i eliminarem la partició d'intercanvi executant:
swapoff -a
gpart delete -i 3 vtbd0
Aquestes ordres desactiven l'espai d'intercanvi i suprimeixen la partició "3" (la partició d'intercanvi). Assegureu-vos d'executar-lo gpart showabans d'executar-lo gpart deleteper assegurar-vos que esteu eliminant la partició correcta.
El nostre següent pas és canviar la mida de la partició ZFS. Aquí podem adoptar un dels dos enfocaments. Si decidim que no necessitem cap espai d'intercanvi, podem fer-nos càrrec de tot l'espai lliure de la unitat i assignar-lo a la nostra partició ZFS executant:
gpart resize -i 2 vtbd0
Alternativament, si volem continuar utilitzant l'espai d'intercanvi, podem modificar una mica l'ordre de redimensionar. Suposem que la partició ZFS és actualment de 10 GB i volem redimensionar-la perquè sigui de 20 GB. Executaríem:
gpart resize -i 2 -s 20g vtbd0
El paràmetre "-s 20g" indica a gpart que canviï la mida de la segona partició a 20 GB. Podem confirmar que aquesta acció s'ha completat correctament executant gpart show. L' gpart showordre també ens mostrarà quant espai hi ha disponible al final de la unitat per a una nova partició d'intercanvi.
En aquest moment, si comproveu la mida de la nostra agrupació d'emmagatzematge ZFS, encara es mostrarà la mida anterior.
zpool list
Per dir-li al sistema de fitxers que s'ampliï i es faci càrrec de tota la segona partició de la nostra unitat, executeu el següent:
zpool online -e tank vtbd0p2
L'ordre anterior canvia la mida de l'agrupació d'emmagatzematge ZFS anomenada "tanc" i es fa càrrec de tota la segona partició del disc dur. La "p2" al final de la línia indica que estem treballant amb la segona partició i, si la disposició de la vostra unitat és diferent, el número després de la "p" haurà de coincidir amb l'índex de partició ZFS. Recordeu que podeu mostrar l'índex de partició amb gpart show.
En aquest punt, gairebé hem acabat. Si no necessiteu espai d'intercanvi, la vostra configuració s'ha completat. Executeu zpool listper confirmar que l'agrupació d'emmagatzematge és la mida adequada i més gran.
En cas contrari, heu deixat espai al final de la unitat per a una partició d'intercanvi. Podem tornar a afegir espai d'intercanvi executant unes quantes ordres. Primer, creem un nou espai d'intercanvi:
gpart add -t freebsd-swap -s 1g -i 3 vtbd0
Aquesta ordre crea una partició d'intercanvi d'1 GB de mida. La nova partició s'afegeix al nostre disc dur i se li dóna el número d'índex "3". El nostre següent pas és habilitar l'espai d'intercanvi perquè el nostre sistema operatiu pugui fer ús de la nova partició.
swapon /dev/vtbd0p3
Una vegada més, el "p3" al final de la línia indica que la nostra partició d'intercanvi s'ha assignat a l'índex "3". Si hem utilitzat un índex diferent, el número s'hauria de canviar per reflectir el número d'índex d'intercanvi a la sortida generada per gpart show. Podem confirmar que l'espai d'intercanvi està habilitat i funciona executant l'ordre:
swapctl -l -h
Això mostrarà que s'utilitza 1 GB d'espai d'intercanvi.
Finalment, una paraula d'advertència. Eliminar/tornar a afegir l'espai d'intercanvi canvia l'etiqueta de la partició d'intercanvi. Això vol dir que l'entrada d'intercanvi del /etc/fstabfitxer ja no es considerarà vàlida. Per tant, l'espai d'intercanvi no s'habilitarà després de reiniciar el sistema operatiu. Per evitar aquest problema, obriu el /etc/fstabfitxer i cerqueu la línia que munta l'espai d'intercanvi. Assegureu-vos que l'inici de la línia enumera la partició que acabem de crear, /dev/vtbd0p3, com a dispositiu d'intercanvi.