#676: Activar automáticamente módulo para ZFS; detección correcta de ZPOOL y mostrar datos en tabla de configuración.

git-svn-id: https://opengnsys.es/svn/branches/version1.1@4727 a21b9725-9963-47de-94b9-378ad31fedc9
remotes/github/debian-pkg
ramon 2015-11-10 12:21:53 +00:00
parent 5c09bc57f9
commit 9ca55abe78
3 changed files with 11 additions and 6 deletions

View File

@ -18,6 +18,7 @@ for ((dsk=1; dsk<=$disks; dsk++)); do
MSDOS) ptt=1 ;;
GPT) ptt=2 ;;
LVM) ptt=3 ;;
ZPOOL) ptt=4 ;;
*) ptt=0 ;;
esac
# Información de disco (partición 0)
@ -38,7 +39,8 @@ for ((dsk=1; dsk<=$disks; dsk++)); do
*) soi=$(getOsVersion $dsk $par 2>/dev/null | cut -f2 -d:)
# Sistema de archivos para datos (sistema operativo "DATA")
[ -z "$soi" -a "$fsi" != "EMPTY" -a "$fsi" != "CACHE" ] && soi="DATA"
uso=$(df $(ogDiskToDev $dsk $par) | awk '{getline; printf "%d",$5}')
# Obtener porcentaje de uso.
uso=$(df $(ogMountPoint $dsk $par) | awk '{getline; printf "%d",$5}')
uso=${uso:0}
;;
esac

View File

@ -87,6 +87,8 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc)
break;
case 3: $disktable[$tbKeys[$k]["numdisk"]] = "LVM";
break;
case 4: $disktable[$tbKeys[$k]["numdisk"]] = "ZPOOL";
break;
default: $disktable[$tbKeys[$k]["numdisk"]] = "";
}
}
@ -94,7 +96,7 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc)
echo'<tr height="16">'.chr(13);
echo'<td align="center">&nbsp;</td>'.chr(13);
echo'<td align="center">'.$tbKeys[$k]["numpar"].'</td>'.chr(13);
if ($disktable[$tbKeys[$k]["numdisk"]] == "LVM") {
if ($disktable[$tbKeys[$k]["numdisk"]] == "LVM" or $disktable[$tbKeys[$k]["numdisk"]] == "ZPOOL") {
echo '<td></td>'.chr(13);
}
else {

View File

@ -683,7 +683,7 @@ fi
# Comprobar que el disco existe y listar su partición activa.
DISK="$(ogDiskToDev $1)" || return $?
parted $DISK print 2>/dev/null | awk '/boot/ {print $1}'
LANG=C parted -sm $DISK print 2>/dev/null | awk -F: '$7~/boot/ {print $1}'
}
@ -826,7 +826,8 @@ case "$(ogGetPartitionTableType $1)" in
GPT) grep -c "${DISK#/dev/}." /proc/partitions ;;
MSDOS) sfdisk -l $DISK 2>/dev/null | grep -c "^$DISK" ;;
LVM) lvs --noheadings $DISK 2>/dev/null | wc -l ;;
ZPOOL) zpool import -f -R /mnt -N -a 2>/dev/null
ZPOOL) zpool list &>/dev/null || modprobe zfs
zpool import -f -R /mnt -N -a 2>/dev/null
zfs list -Hp -o name,canmount,mountpoint -r $(blkid -s LABEL -o value $DISK) | \
awk '$2=="on" && $3!="none" {c++}
END {print c}'
@ -871,11 +872,11 @@ fi
DISK=$(ogDiskToDev $1) || return $?
# Comprobar tabla de particiones.
[ -b $DISK ] && TYPE=$(parted -sm $DISK print | awk -F: -v D=$DISK '{ if($1 == D) print toupper($6)}')
[ -b $DISK ] && TYPE=$(parted -sm $DISK print 2>/dev/null | awk -F: -v D=$DISK '{ if($1 == D) print toupper($6)}')
# Comprobar si es volumen lógico.
[ -d $DISK ] && vgs $DISK &>/dev/null && TYPE="LVM"
# Comprobar si es pool de ZFS.
[ -z "$TYPE" ] && [ -n "$(blkid -s TYPE $DISK | grep zfs)" ] && TYPE="ZPOOL"
[ -z "$TYPE" -o "$TYPE" == "UNKNOWN" ] && [ -n "$(blkid -s TYPE $DISK | grep zfs)" ] && TYPE="ZPOOL"
# Mostrar salida.
[ -n "$TYPE" ] && echo "$TYPE"