reworked on error code, create associated doc, module list checks
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
# * CALCDRV: Target drives, preferably through ID.
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
export VER_conf_disks="0.0.7"
|
||||
export VER_conf_disks="0.0.8"
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# ZFS case
|
||||
@@ -25,39 +25,39 @@ conf_zfs()
|
||||
|
||||
# Load ZFS module to check it works
|
||||
modprobe zfs || (
|
||||
prnt E "Échec de chargement du module noyau, abandon."
|
||||
die 2
|
||||
prnt E "Échec de chargement du module noyau, abandon."
|
||||
die 50
|
||||
)
|
||||
sleep 1
|
||||
|
||||
# Create filesystem
|
||||
prnt I "Création du pool zcalc..."
|
||||
if [[ $FORCEBLANK ]]; then
|
||||
local opt="--force"
|
||||
for drv in $CALCDRV; do
|
||||
if [[ ! $(sfdisk -d $drv 2>&1) == "" ]]; then
|
||||
prnt I "Effacement des donnée de $drv..."
|
||||
dd if=/dev/zero of=$drv bs=1024 count 1000000
|
||||
fi
|
||||
local opt="--force"
|
||||
for drv in $CALCDRV; do
|
||||
if [[ ! $(sfdisk -d $drv 2>&1) == "" ]]; then
|
||||
prnt I "Effacement des donnée de $drv..."
|
||||
dd if=/dev/zero of=$drv bs=1024 count 1000000
|
||||
fi
|
||||
|
||||
# Empty cache and inform kernel of the change
|
||||
sync
|
||||
partprobe
|
||||
done
|
||||
# Empty cache and inform kernel of the change
|
||||
sync
|
||||
partprobe
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ $(zpool create zcalc -m $CALCMOUNTPOINT $CALCLEVEL $opt $CALCDRV) ]]; then
|
||||
# We activate lz4 compression by default
|
||||
zpool set zcalc compression=lz4
|
||||
# We activate lz4 compression by default
|
||||
zpool set zcalc compression=lz4
|
||||
|
||||
# If a VM is projected we create associated volume
|
||||
if [[ $WITH_VM == true ]]; then
|
||||
prnt I "Création du conteneur pour la future VM..."
|
||||
zfs create zcalc/vm
|
||||
fi
|
||||
if [[ $WITH_VM == true ]]; then
|
||||
prnt I "Création du conteneur pour la future VM..."
|
||||
zfs create zcalc/vm
|
||||
fi
|
||||
else
|
||||
prnt E "Erreur de création du pool zcalc ($CALCLEVEL) avec les disques $CALCDRV"
|
||||
die 3
|
||||
prnt E "Erreur de création du pool zcalc ($CALCLEVEL) avec les disques $CALCDRV"
|
||||
die 51
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -92,16 +92,16 @@ conf_disks()
|
||||
[[ -n $STOP_CONF_DISK ]] && return 0
|
||||
|
||||
if [[ ! $CALCDRV ]]; then
|
||||
prnt I "Pas de disque de calcul défini, rien à faire."
|
||||
return 0
|
||||
prnt I "Pas de disque de calcul défini, rien à faire."
|
||||
return 0
|
||||
fi
|
||||
|
||||
prnt I "Installation des outils de partitionnement..."
|
||||
pkginst parted
|
||||
|
||||
conf_$CALCTYPE && (
|
||||
prnt I "Attribution des droits sur le disque de calcul."
|
||||
chown -Rv $MAINUSER:$MAINUSER /calcul/$HOSTNAME
|
||||
prnt I "Attribution des droits sur le disque de calcul."
|
||||
chown -Rv $MAINUSER:$MAINUSER /calcul/$HOSTNAME
|
||||
)
|
||||
}
|
||||
|
||||
@@ -109,35 +109,35 @@ conf_disks()
|
||||
precheck_conf_disks()
|
||||
{
|
||||
if [[ ! $(type -t conf_$CALCTYPE) == "function" ]]; then
|
||||
prnt E "Format de disque inconnu ($CALCTYPE) !"
|
||||
die 5
|
||||
prnt E "Format de disque inconnu ($CALCTYPE) !"
|
||||
die 150
|
||||
fi
|
||||
|
||||
prnt I "Vérification des lecteurs pour disque de calcul."
|
||||
local drvcount=0
|
||||
for drv in $CALCDRV; do
|
||||
if [[ -e $drv ]]; then
|
||||
if [[ $(/sbin/sfdisk -d $drv 2>&1) == "" ]]; then
|
||||
prnt I "Le dique $drv est vierge, il sera formaté en $CALCTYPE."
|
||||
else
|
||||
prnt W "Le disque $drv n'est pas vierge !"
|
||||
if [[ $FORCEBLANK==true ]]; then
|
||||
prnt W "Le disque $drv sera réinitialisé !"
|
||||
else
|
||||
prnt E "La réinitialisation de $drv n'est pas autorisé, rien ne sera fait !"
|
||||
export STOP_CONF_DISK=1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
prnt E "Le disque $drv n'existe pas. Abandon."
|
||||
die 5
|
||||
fi
|
||||
(( drvcount+=1 ))
|
||||
if [[ -e $drv ]]; then
|
||||
if [[ $(/sbin/sfdisk -d $drv 2>&1) == "" ]]; then
|
||||
prnt I "Le dique $drv est vierge, il sera formaté en $CALCTYPE."
|
||||
else
|
||||
prnt W "Le disque $drv n'est pas vierge !"
|
||||
if [[ $FORCEBLANK==true ]]; then
|
||||
prnt W "Le disque $drv sera réinitialisé !"
|
||||
else
|
||||
prnt E "La réinitialisation de $drv n'est pas autorisé, rien ne sera fait !"
|
||||
export STOP_CONF_DISK=1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
prnt E "Le disque $drv n'existe pas. Abandon."
|
||||
die 150
|
||||
fi
|
||||
(( drvcount+=1 ))
|
||||
done
|
||||
|
||||
if [[ ! $CALCTYPE=="zfs" && drvcount -gt 1 ]]; then
|
||||
prnt E "Plusieurs diques impossibles avec Ext4 ou XFS !"
|
||||
die 5
|
||||
prnt E "Plusieurs diques impossibles avec Ext4 ou XFS !"
|
||||
die 150
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user