Aumentar, Agregar tamaño al disco del cache con lvm2

Publicado por alternet, Febrero 26, 2013, 03:54:01 PM

Tema anterior - Siguiente tema

rubennoboa

amigo me parece que hay un error en el script porque al coger la opcion sumar me sale la pantalla desmontar osea escojo la opcion 5 y me sale desea desmontar la particiom

firecold

Cita de: rubennoboa en Abril 22, 2015, 09:21:54 PM
amigo me parece que hay un error en el script porque al coger la opcion sumar me sale la pantalla desmontar osea escojo la opcion 5 y me sale desea desmontar la particiom

Corredigo mi amigo, si tenias razon, la opcion estaba mal en el menu, Saludos

rubennoboa

si no es mucha molestia me avisa cuando este corregido gracias por tu tiempo y la ayuda que das a todos los que estamos por el limbo  :D... y mil disculpas...

firecold

Cita de: rubennoboa en Abril 23, 2015, 08:32:19 PM
si no es mucha molestia me avisa cuando este corregido gracias por tu tiempo y la ayuda que das a todos los que estamos por el limbo  :D... y mil disculpas...

Ya corregi el script, pero si quiere mi ayuda, estare ahorita conectado hasta la 1 de la madrugada, Saludos

rubennoboa

cual es el nuevo link para copiar el script corregido amigo

firecold

Cita de: rubennoboa en Abril 24, 2015, 11:42:05 AM
cual es el nuevo link para copiar el script corregido amigo

El que te publique unos mensajes antes, lo corregi, ya que tenias razon estaba confundida la funcion, Saludos

hackwik

Cita de: firecold en Noviembre 13, 2013, 03:59:12 PM
Para todos los personas que desean agregar mas de un Disco duro a Thunder o Raptor e incrementado el script con un submenu, para agregar mas de un DD a raptor o thunder, cualquier problema comentar y sera areglado:

Código (bash) [Seleccionar]
#!/bin/bash
clear
echo "|=====================================================================|"
echo ""
echo "       _            __  __  _____ "
echo "      | |          |  \/  |/ ____|"
echo "      | | ___   ___| \  / | |  __ "
echo "  _   | |/ _ \ / _ \ |\/| | | |_ |"
echo " | |__| | (_) |  __/ |  | | |__| |"
echo "  \____/ \___/ \___|_|  |_|\_____|"
echo ""
echo "+=====================================================================+"
echo "|                    AGREGAR DISCOS DUROS CON LVM2                    |"
echo "|                     Debian, Ubuntu y Derivados                      |"
echo "|                       Cualquier Arquitectura                        |"
echo "|                            Alterserv.com                            |"
echo "+=====================================================================+"
echo ""
echo Pulsa Enter para Acceder al Menu
read -n 0 -ers
##############################
# Genera un menú de opciones #
##############################
clear;
function main_menu()
{
while :
do
echo "####################################################################"
echo "[1] Instalar Lvm2"
echo "[2] Identificacion y Creacion de Particion Lvm2"
echo "[3] Crear Grupos y Volumenes para Lvm2"
echo "[4] Formato de Particion Lvm2 en Ext4"
echo "[5] Edicion de Fstab, Creacion y Elecion de Carpeta a Montar Particion"
echo "[6] Montar Particion"
echo "[7] Agregar Mas de un DD a Thunder o Raptor - Sub-Menu"
echo "[8] Salir"
echo "####################################################################"
read -p "Elija_una_opción:" OPCION
case $OPCION in
1) sudo apt-get install lvm2;;
2) sudo fdisk -l | grep Disco;
echo "Elegir el Disco Duro a Crear con Lvm2 - Ej: /dev/sdb1";
read DD1;
sudo fdisk $DD1;;
3) sudo pvcreate $DD1 && sudo vgcreate /dev/vg0 $DD1 && sudo vgdisplay;
echo "Asignar Tamaño de Particion - Ej: 931,51GB:" | grep 931,51GB;
read TAM;
sudo lvcreate -L $TAM -n lv0 /dev/vg0;
echo "Creados el Grupo y el Volumen para Lvm2";;
4) sudo mke2fs -t ext4 /dev/vg0/lv0;
echo "TERMINADO EL FORMATO A PARTICION";;
5) echo -e "Elegir Carpeta a Montar - Ej: /thunder o /raptorcache:" | grep -e "/thunder" -e "/raptorcache";
read CARPETA;
sudo mkdir -p $CARPETA;
sudo chmod 777 -Rf $CARPETA;
sudo echo >> /etc/fstab;
sudo echo -e /dev/mapper/vg0-lv0   $CARPETA    ext4    noatime,async,nosuid   0      0 >> /etc/fstab;;
6) sudo mount $CARPETA;;
7) sub_menu ;;
8) clear; echo "Hasta Luego"; exit 0;;
*) clear; echo "Opción ingresada invalida, intentelo de nuevo";;
esac
done
}

function sub_menu()
{
while :
do
echo "####################################################################"
echo "[1] Identificacion y Creacion de Particion Lvm2"
echo "[2] Grupos y Volumenes que se Sumaran"
echo "[3] Aumentar al Tamaño Final"
echo "[4] Volver al Menu Principal"
echo "[5] Salir"
echo "####################################################################"
read -p "Elija_una_opción:" OPCION
case $OPCION in
1) sudo fdisk -l | grep Disco;
echo "Elegir el Disco Duro a Crear con Lvm2 - Ej: /dev/sdb1";
read DD2;
sudo fdisk $DD2;;
2) sudo pvcreate $DD2 && sudo vgextend vg0 $DD2 && sudo vgdisplay;
echo "Asignar Tamaño que se Sumara a la Particion - Ej: 931,51GB:" | grep 931,51GB;
read TAM1;
sudo lvextend -L +$TAM1 /dev/mapper/vg0-lv0;
echo "Agregados Grupos y Volumenes a Lvm2";;
3) sudo resize2fs /dev/mapper/vg0-lv0;;
4) main_menu;;
5) clear; echo "Hasta Luego"; exit 0;;
*) clear; echo "Opción ingresada invalida, intentelo de nuevo";;
esac
done
}

main_menu

exit 0


Siempre recordad crear un archivo de texto con extension .sh, pegar el contenido arriba descrito, darle permisos de ejecucion y ejecutarlo como Root, como nota adicional en el paso 2 es necesario seguir las indicaciones de la siguiente imagen, asi como en el paso 1 del submenu:


Espero les Sirva, Saludos

Como ejecuto el script??

subi el archivo con extension .sh a mi servidor VPS.

en ssh, escribir el codigo:
-wget http://www.seriesonline24.com/lv.sh
- chmod 700 lv.sh

y se queda no hace nada.. no hay dialogo :(

firecold

Cita de: hackwik en Abril 25, 2015, 02:39:05 PM
Como ejecuto el script??

subi el archivo con extension .sh a mi servidor VPS.

en ssh, escribir el codigo:
-wget http://www.seriesonline24.com/lv.sh
- chmod 700 lv.sh

y se queda no hace nada.. no hay dialogo :(
Cita de: rubennoboa en Abril 24, 2015, 11:42:05 AM
cual es el nuevo link para copiar el script corregido amigo

El nuevo script es este:

Código (bash) [Seleccionar]
#!/bin/bash
#################### Variables Globales#######################
DD1="/tmp/dd.txt"
TAM="/tmp/tam.txt"
carpeta="/tmp/carpeta.txt"
nombre=$(cat /tmp/dd.txt)
nombre1=$(cat /tmp/tam.txt)
disco2=$(vgdisplay | grep "VG Size" | awk '{print $3 $4}')
salida=$(fdisk -l | grep -E 'Disco|Disk')
read -d '' bienvenida << EOF
Bienvenidos al programa para agregar Discos Duros con Lvm2.

¿Desea Continuar?
EOF
disco=$(echo "p
n
p
1


t
8e
w" | fdisk "$nombre")
###############################################################
function Entrada() {
  dialog --backtitle "Alterserv.com" --title "Lvm2" --yesno "$bienvenida" 10 70 
  case $? in
    0) clear; Menu;;
    1) clear; exit 0;;
  esac
}
function Menu() {
menuitem=$(dialog --backtitle "Alterserv.com" --stdout --title "Menu" --menu "Elegir opcion requerida: " 15 80 8 \
    1 "Instalar Lvm2" \
    2 "Identificacion y Creacion de Particion Lvm2"\
    3 "Crear Grupos y Volumenes para Lvm2" \
    4 "Creacion y Elecion de Carpeta a Montar Particion" \
    5 "Sumar un HDD a Lvm2 - Sub-Menu" \
    6 "Eliminar Particion LVm2" \
    7 "Salir" )
case $menuitem in
  1) opcion1; Menu;;
  2) opcion2; Menu;;
  3) opcion3; Menu;;
  4) opcion4; Menu;;
  5) submenu;;
  6) opcion5; Menu;; 
  7) clear; exit 0;;
esac
}
function opcion1(){
  (sudo apt-get install lvm2) | pv -n 2>&1 | dialog --backtitle "Alterserv.com" --title "Instalar Lvm2" --begin 20 15 --gauge "Instalando...." 10 90 99
}
function opcion2(){
  dialog --backtitle "Alterserv.com" --title "Identificacion y Creacion de Particion Lvm2" --inputbox "Dispositivo que se desea agregar: \n
$salida \n
  Ingrese Disco Duro:" 12 55 2>"${DD1}"
  case $? in
  0) dialog --clear --no-kill --msgbox "Trabajando...." 15 50; "$disco"; Menu;;
  1) clear; Menu;;
  esac
}
function opcion3(){
  (pvcreate "$nombre[1]" 2>/dev/null && vgcreate /dev/vg0 "$nombre[1]" 2>/dev/null) | dialog --backtitle "Alterserv.com" --title "Crear Grupos y Volumenes para Lvm2" --inputbox "Asignar Tamaño de Particion:\nEspacio Disponible ( $disco2 )" 10 45 2>"${TAM}"   
  case $? in
  0) ( lvcreate -L "$nombre1" -n lv0 /dev/vg0 2>/dev/null && mke2fs -t ext4 /dev/vg0/lv0 2>/dev/null ) | dialog --backtitle "Alterserv.com" --sleep 2 --msgbox "   Creados el Grupo y el Volumen para Lvm2\n\n            Formateando Particion" 10 50; Menu;;
  1) clear; Menu;;
  esac
}
function opcion4() {
  dialog --backtitle "Alterserv.com" --title "Creacion y Elecion de Carpeta a Montar Particion" --inputbox "Elegir Carpeta a Montar - Ej: /thunder o /raptorcache:"\
  10 70 2>"${carpeta}"
  case $? in
  0) (mkdir -p "$nombre" && chmod 777 -Rf "$nombre" && echo >> /etc/fstab  && echo -e /dev/mapper/vg0-lv0   "$nombre"    ext4    noatime,async,nosuid   0      0 >> /etc/fstab && mount "$nombre") | dialog --clear --no-kill --msgbox "Trabajando...." 7 50; Menu;;
  1) clear; Menu;;
  esac
  rm $carpeta 2>/dev/null
}
function opcion5() {
  dialog --backtitle "Alterserv.com" --title "Eliminar Particion LVm2" --inputbox "Elegir Carpeta a Desmontar - Ej: /thunder o /raptorcache:" 10 70 2>"${carpeta}"
  case $? in
  0) (sudo umount "$nombre" && sudo sed -i '$d' /etc/fstab && sudo lvremove -f /dev/mapper/vg0-lv0 && sudo vgchange -a n vg0 && sudo vgremove vg0 ) | dialog --backtitle "Alterserv.com" --title "Eliminando Particion" --infobox "\n   Trabajando......" 5 25; Menu;;
  1) clear; Menu;;
  esac 
}
function submenu(){
sub_menu=$(dialog --backtitle "Alterserv.com" --stdout --title "Menu" --menu "Elegir opcion requerida: " 15 80 8 \
    1 "Identificacion y Creacion de Particion Lvm2" \
    2 "Grupos y Volumenes que se Sumaran" \
    3 "Aumentar al tamaño final" \
    4 "Salir" )
case $sub_menu in
  1) opcion6; submenu;;
  2) opcion7; submenu;;
  3) opcion8; submenu;;
  4) clear; exit 0;;
esac
}
function opcion6(){
  dialog --backtitle "Alterserv.com" --title "Identificacion y Creacion de Particion Lvm2" --inputbox "Dispositivo que se desea agregar: \n
$salida \n
  Ingrese Disco Duro:" 12 55 2>"${DD1}"
  case $? in
  0) dialog --clear --no-kill --msgbox "Trabajando...." 15 50; "$disco"; submenu;;
  1) clear; submenu;;
  esac
}
function opcion7(){
(pvcreate "$nombre[1]" && vgextend vg0 "$nombre[1]") | dialog --backtitle "Alterserv.com" --title "Crear Grupos y Volumenes para Lvm2" --inputbox "Asignar Tamaño de Particion:\nEspacio Disponible ( $disco2 )" 10 45 2>"${TAM}" 
  case $? in
  0) (lvextend -L +$TAM /dev/mapper/vg0-lv0) | dialog --backtitle "Alterserv.com" --sleep 2 --msgbox "   Creados el Grupo y el Volumen para Lvm2" 10 50; submenu;;
  1) clear; submenu;;
  esac
}
function opcion8(){
(resize2fs /dev/mapper/vg0-lv0) | dialog --backtitle "Alterserv.com" --sleep 5 --title "Sumando HDD" --infobox "   Trabajando......" 5 25; submenu;;
}

Entrada


Aparte de esto, se ejecuta, no solo se descarga y da permisos, tambien hay que ejecutarlo, por ejemplo:

Código (bash) [Seleccionar]
wget http://hosting/que/desees/lvm2.sh
chmod 700 lvm2.sh
bash lvm2.sh


Saludos

hackwik

Cita de: firecold en Abril 25, 2015, 07:21:39 PM
El nuevo script es este:

Código (bash) [Seleccionar]
#!/bin/bash
#################### Variables Globales#######################
DD1="/tmp/dd.txt"
TAM="/tmp/tam.txt"
carpeta="/tmp/carpeta.txt"
nombre=$(cat /tmp/dd.txt)
nombre1=$(cat /tmp/tam.txt)
disco2=$(vgdisplay | grep "VG Size" | awk '{print $3 $4}')
salida=$(fdisk -l | grep -E 'Disco|Disk')
read -d '' bienvenida << EOF
Bienvenidos al programa para agregar Discos Duros con Lvm2.

¿Desea Continuar?
EOF
disco=$(echo "p
n
p
1


t
8e
w" | fdisk "$nombre")
###############################################################
function Entrada() {
  dialog --backtitle "Alterserv.com" --title "Lvm2" --yesno "$bienvenida" 10 70 
  case $? in
    0) clear; Menu;;
    1) clear; exit 0;;
  esac
}
function Menu() {
menuitem=$(dialog --backtitle "Alterserv.com" --stdout --title "Menu" --menu "Elegir opcion requerida: " 15 80 8 \
    1 "Instalar Lvm2" \
    2 "Identificacion y Creacion de Particion Lvm2"\
    3 "Crear Grupos y Volumenes para Lvm2" \
    4 "Creacion y Elecion de Carpeta a Montar Particion" \
    5 "Sumar un HDD a Lvm2 - Sub-Menu" \
    6 "Eliminar Particion LVm2" \
    7 "Salir" )
case $menuitem in
  1) opcion1; Menu;;
  2) opcion2; Menu;;
  3) opcion3; Menu;;
  4) opcion4; Menu;;
  5) submenu;;
  6) opcion5; Menu;; 
  7) clear; exit 0;;
esac
}
function opcion1(){
  (sudo apt-get install lvm2) | pv -n 2>&1 | dialog --backtitle "Alterserv.com" --title "Instalar Lvm2" --begin 20 15 --gauge "Instalando...." 10 90 99
}
function opcion2(){
  dialog --backtitle "Alterserv.com" --title "Identificacion y Creacion de Particion Lvm2" --inputbox "Dispositivo que se desea agregar: \n
$salida \n
  Ingrese Disco Duro:" 12 55 2>"${DD1}"
  case $? in
  0) dialog --clear --no-kill --msgbox "Trabajando...." 15 50; "$disco"; Menu;;
  1) clear; Menu;;
  esac
}
function opcion3(){
  (pvcreate "$nombre[1]" 2>/dev/null && vgcreate /dev/vg0 "$nombre[1]" 2>/dev/null) | dialog --backtitle "Alterserv.com" --title "Crear Grupos y Volumenes para Lvm2" --inputbox "Asignar Tamaño de Particion:\nEspacio Disponible ( $disco2 )" 10 45 2>"${TAM}"   
  case $? in
  0) ( lvcreate -L "$nombre1" -n lv0 /dev/vg0 2>/dev/null && mke2fs -t ext4 /dev/vg0/lv0 2>/dev/null ) | dialog --backtitle "Alterserv.com" --sleep 2 --msgbox "   Creados el Grupo y el Volumen para Lvm2\n\n            Formateando Particion" 10 50; Menu;;
  1) clear; Menu;;
  esac
}
function opcion4() {
  dialog --backtitle "Alterserv.com" --title "Creacion y Elecion de Carpeta a Montar Particion" --inputbox "Elegir Carpeta a Montar - Ej: /thunder o /raptorcache:"\
  10 70 2>"${carpeta}"
  case $? in
  0) (mkdir -p "$nombre" && chmod 777 -Rf "$nombre" && echo >> /etc/fstab  && echo -e /dev/mapper/vg0-lv0   "$nombre"    ext4    noatime,async,nosuid   0      0 >> /etc/fstab && mount "$nombre") | dialog --clear --no-kill --msgbox "Trabajando...." 7 50; Menu;;
  1) clear; Menu;;
  esac
  rm $carpeta 2>/dev/null
}
function opcion5() {
  dialog --backtitle "Alterserv.com" --title "Eliminar Particion LVm2" --inputbox "Elegir Carpeta a Desmontar - Ej: /thunder o /raptorcache:" 10 70 2>"${carpeta}"
  case $? in
  0) (sudo umount "$nombre" && sudo sed -i '$d' /etc/fstab && sudo lvremove -f /dev/mapper/vg0-lv0 && sudo vgchange -a n vg0 && sudo vgremove vg0 ) | dialog --backtitle "Alterserv.com" --title "Eliminando Particion" --infobox "\n   Trabajando......" 5 25; Menu;;
  1) clear; Menu;;
  esac 
}
function submenu(){
sub_menu=$(dialog --backtitle "Alterserv.com" --stdout --title "Menu" --menu "Elegir opcion requerida: " 15 80 8 \
    1 "Identificacion y Creacion de Particion Lvm2" \
    2 "Grupos y Volumenes que se Sumaran" \
    3 "Aumentar al tamaño final" \
    4 "Salir" )
case $sub_menu in
  1) opcion6; submenu;;
  2) opcion7; submenu;;
  3) opcion8; submenu;;
  4) clear; exit 0;;
esac
}
function opcion6(){
  dialog --backtitle "Alterserv.com" --title "Identificacion y Creacion de Particion Lvm2" --inputbox "Dispositivo que se desea agregar: \n
$salida \n
  Ingrese Disco Duro:" 12 55 2>"${DD1}"
  case $? in
  0) dialog --clear --no-kill --msgbox "Trabajando...." 15 50; "$disco"; submenu;;
  1) clear; submenu;;
  esac
}
function opcion7(){
(pvcreate "$nombre[1]" && vgextend vg0 "$nombre[1]") | dialog --backtitle "Alterserv.com" --title "Crear Grupos y Volumenes para Lvm2" --inputbox "Asignar Tamaño de Particion:\nEspacio Disponible ( $disco2 )" 10 45 2>"${TAM}" 
  case $? in
  0) (lvextend -L +$TAM /dev/mapper/vg0-lv0) | dialog --backtitle "Alterserv.com" --sleep 2 --msgbox "   Creados el Grupo y el Volumen para Lvm2" 10 50; submenu;;
  1) clear; submenu;;
  esac
}
function opcion8(){
(resize2fs /dev/mapper/vg0-lv0) | dialog --backtitle "Alterserv.com" --sleep 5 --title "Sumando HDD" --infobox "   Trabajando......" 5 25; submenu;;
}

Entrada


Aparte de esto, se ejecuta, no solo se descarga y da permisos, tambien hay que ejecutarlo, por ejemplo:

Código (bash) [Seleccionar]
wget http://hosting/que/desees/lvm2.sh
chmod 700 lvm2.sh
bash lvm2.sh


Saludos

Solucionado Gracias :-*

firecold