Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Disaster Recovery pour DOM HS
#1
Il m'est arrivé plusieurs fois de tomber sur des possesseurs de NAS Thecus qui crame leur DOM (NAS RESTE SUR BOOTING... sur le LCD) généralement
Après une fausse manipulation (plantage au moment d'un flash de firmware), ou encore une coupure de courant au mauvais moment.

Il existe une solution, pour restaurer ce DOM grace à des image fournit par Thecus dans un WEb Directory de leur site ( <!-- m --><a class="postlink" href="http://www.thecus.com/Downloads/DOM/">http://www.thecus.com/Downloads/DOM/</a><!-- m -->), mais cela implique un adaptateur 44pin à brancher sur un PC equipé de Linux et de lancer une commande dd de ce style

dd if=thecus_hda.dd of=/dev/sda et un reset factory derrière.

Depuis un certain moment, je me demande si il n'est pas possible de modifier le script du factory_test.sh... :mrgreen:

factory_test.sh boot depuis une clé USB bootable (FAT bien sur) et y inclure cette fameuse commande DD + l'image DOM correspondant à votre modèle qui écraserait l'image actuel du DOM par la version Saine télécharger sur le WEB Directory de Thecus

à l'origine le script inclus dans factory_test.sh à été élaboré pour flashé un firmware à partir d'une clé usb à la mise sous tension du Thecus, forcant ainsi une mise à jour (dont le fichier firmware est inclus sur cette clé USB)

exemple de fichier factory_test.sh :
Quote:#!/bin/sh
fwfile="N5200_N5200PRO_FW_2.00.15.bin"
raid_test=0
nonettest=0

function copy_otherfile() {
mountpath="/mnt"
normal=`cat /proc/scsi/scsi|awk '/Thecus:/{FS=" ";printf("%s:%s\n",$2,$3)}'|awk -F: '{if ($2>8) {printf("%s\n",$4)}}'`
for i in $normal ;do
strExec="cat /proc/partitions|awk '/${i}/{FS=\" \";print \$4}'"
mount_usbs=`eval ${strExec}`
for mount_usb in $mount_usbs ;do
#create folder
strexec="mount|awk '/\/dev\/${mount_usb}/&&/\/mnt/'"
chkmount=`eval ${strexec}`
if [ "${chkmount}" == "" ];then
/bin/mount -o iocharset=utf8,umask=0,fmask=001,uid=99,gid=99 "/dev/${mount_usb}" "${mountpath}"
if [ $? = 0 ];then
if [ -f ${mountpath}/led_test.sh ];then
cp ${mountpath}/led_test.sh /app
chmod +x /app/led_test.sh
fi
if [ -f ${mountpath}/ether-wake ];then
cp ${mountpath}/ether-wake /app
chmod +x /app/ether-wake
fi
sync
umount ${mountpath}
fi
else
if [ -f ${mountpath}/led_test.sh ];then
cp ${mountpath}/led_test.sh /app
chmod +x /app/led_test.sh
fi
if [ -f ${mountpath}/ether-wake ];then
cp ${mountpath}/ether-wake /app
chmod +x /app/ether-wake
fi
sync
umount ${mountpath}
fi
done
done
}

function copy_fw() {
mountpath="/mnt"
normal=`cat /proc/scsi/scsi|awk '/Thecus:/{FS=" ";printf("%s:%s\n",$2,$3)}'|awk -F: '{if ($2>8) {printf("%s\n",$4)}}'`
for i in $normal ;do
strExec="cat /proc/partitions|awk '/${i}/{FS=\" \";print \$4}'"
mount_usbs=`eval ${strExec}`
for mount_usb in $mount_usbs ;do
#create folder
strexec="mount|awk '/\/dev\/${mount_usb}/&&/\/mnt/'"
chkmount=`eval ${strexec}`
if [ "${chkmount}" == "" ];then
/bin/mount -o iocharset=utf8,umask=0,fmask=001,uid=99,gid=99 "/dev/${mount_usb}" "${mountpath}"
if [ $? = 0 ];then
if [ -f ${mountpath}/${fwfile} ];then
cp ${mountpath}/${fwfile} /tmp
fi
sync
umount ${mountpath}
fi
else
if [ -f ${mountpath}/${fwfile} ];then
cp ${mountpath}/${fwfile} /tmp
fi
sync
umount ${mountpath}
fi
done
done
}
##for fwupgrade
#echo "agent2 0 BTMSG Start FW upgrade" > /tmp/avrpipe
if [ ! -f /tmp/${fwfile} ];then
#echo "agent2 0 BTMSG Copy N5200 FW" > /tmp/avrpipe
copy_fw
fi
sync
ifconfig eth0 172.16.77.100 netmask 255.255.255.0 broadcast 172.16.77.255
ifconfig eth1 192.168.2.254 netmask 255.255.255.0 broadcast 192.168.2.255
sleep 3
echo "agent2 0 BTMSG Start Upgrade ..." > /tmp/avrpipe

if [ -f /tmp/${fwfile} ];then
cd /tmp
/usr/bin/des -k 2006N5200 -D /tmp/${fwfile} /tmp/${fwfile}.tar.gz
tar zxfp /tmp/${fwfile}.tar.gz
/tmp/upgrade
sh -x /tmp/upgrade/postup.sh
fi

rm -rf /app/factory_test.sh /app/ether-wake /app/led_test.sh

###Reset to factory default######
sh /img/bin/resetDefault.sh

exit

Une telle solution soulagerait le SAV de Thecus, et n'importe qu'elle possesseur de Thecus serait à même de restaurer son NAS en default factory...

Qu'en penses tu Vincent ? En France on a pas de pétrole mais on a des idées !!!!
Big Grin
Stéphane Guérithault

In a world without walls and fences, who needs Windows and Gates

PayPal Donation: https://www.paypal.me/qoolbox

My apps

##########################################################################

rolling now for competitor, i do not support anymore Thecus apllications due to lack of time

##########################################################################


voyance - Sophrologue Hypnothérapeute Essonne 
Reply
#2
Il m'est arrivé plusieurs fois de tomber sur des possesseurs de NAS Thecus qui crame leur DOM (NAS RESTE SUR BOOTING... sur le LCD) généralement
Après une fausse manipulation (plantage au moment d'un flash de firmware), ou encore une coupure de courant au mauvais moment.

Il existe une solution, pour restaurer ce DOM grace à des image fournit par Thecus dans un WEb Directory de leur site ( <!-- m --><a class="postlink" href="http://www.thecus.com/Downloads/DOM/">http://www.thecus.com/Downloads/DOM/</a><!-- m -->), mais cela implique un adaptateur 44pin à brancher sur un PC equipé de Linux et de lancer une commande dd de ce style

dd if=thecus_hda.dd of=/dev/sda et un reset factory derrière.

Depuis un certain moment, je me demande si il n'est pas possible de modifier le script du factory_test.sh... :mrgreen:

factory_test.sh boot depuis une clé USB bootable (FAT bien sur) et y inclure cette fameuse commande DD + l'image DOM correspondant à votre modèle qui écraserait l'image actuel du DOM par la version Saine télécharger sur le WEB Directory de Thecus

à l'origine le script inclus dans factory_test.sh à été élaboré pour flashé un firmware à partir d'une clé usb à la mise sous tension du Thecus, forcant ainsi une mise à jour (dont le fichier firmware est inclus sur cette clé USB)

exemple de fichier factory_test.sh :
Quote:#!/bin/sh
fwfile="N5200_N5200PRO_FW_2.00.15.bin"
raid_test=0
nonettest=0

function copy_otherfile() {
mountpath="/mnt"
normal=`cat /proc/scsi/scsi|awk '/Thecus:/{FS=" ";printf("%s:%s\n",$2,$3)}'|awk -F: '{if ($2>8) {printf("%s\n",$4)}}'`
for i in $normal ;do
strExec="cat /proc/partitions|awk '/${i}/{FS=\" \";print \$4}'"
mount_usbs=`eval ${strExec}`
for mount_usb in $mount_usbs ;do
#create folder
strexec="mount|awk '/\/dev\/${mount_usb}/&&/\/mnt/'"
chkmount=`eval ${strexec}`
if [ "${chkmount}" == "" ];then
/bin/mount -o iocharset=utf8,umask=0,fmask=001,uid=99,gid=99 "/dev/${mount_usb}" "${mountpath}"
if [ $? = 0 ];then
if [ -f ${mountpath}/led_test.sh ];then
cp ${mountpath}/led_test.sh /app
chmod +x /app/led_test.sh
fi
if [ -f ${mountpath}/ether-wake ];then
cp ${mountpath}/ether-wake /app
chmod +x /app/ether-wake
fi
sync
umount ${mountpath}
fi
else
if [ -f ${mountpath}/led_test.sh ];then
cp ${mountpath}/led_test.sh /app
chmod +x /app/led_test.sh
fi
if [ -f ${mountpath}/ether-wake ];then
cp ${mountpath}/ether-wake /app
chmod +x /app/ether-wake
fi
sync
umount ${mountpath}
fi
done
done
}

function copy_fw() {
mountpath="/mnt"
normal=`cat /proc/scsi/scsi|awk '/Thecus:/{FS=" ";printf("%s:%s\n",$2,$3)}'|awk -F: '{if ($2>8) {printf("%s\n",$4)}}'`
for i in $normal ;do
strExec="cat /proc/partitions|awk '/${i}/{FS=\" \";print \$4}'"
mount_usbs=`eval ${strExec}`
for mount_usb in $mount_usbs ;do
#create folder
strexec="mount|awk '/\/dev\/${mount_usb}/&&/\/mnt/'"
chkmount=`eval ${strexec}`
if [ "${chkmount}" == "" ];then
/bin/mount -o iocharset=utf8,umask=0,fmask=001,uid=99,gid=99 "/dev/${mount_usb}" "${mountpath}"
if [ $? = 0 ];then
if [ -f ${mountpath}/${fwfile} ];then
cp ${mountpath}/${fwfile} /tmp
fi
sync
umount ${mountpath}
fi
else
if [ -f ${mountpath}/${fwfile} ];then
cp ${mountpath}/${fwfile} /tmp
fi
sync
umount ${mountpath}
fi
done
done
}
##for fwupgrade
#echo "agent2 0 BTMSG Start FW upgrade" > /tmp/avrpipe
if [ ! -f /tmp/${fwfile} ];then
#echo "agent2 0 BTMSG Copy N5200 FW" > /tmp/avrpipe
copy_fw
fi
sync
ifconfig eth0 172.16.77.100 netmask 255.255.255.0 broadcast 172.16.77.255
ifconfig eth1 192.168.2.254 netmask 255.255.255.0 broadcast 192.168.2.255
sleep 3
echo "agent2 0 BTMSG Start Upgrade ..." > /tmp/avrpipe

if [ -f /tmp/${fwfile} ];then
cd /tmp
/usr/bin/des -k 2006N5200 -D /tmp/${fwfile} /tmp/${fwfile}.tar.gz
tar zxfp /tmp/${fwfile}.tar.gz
/tmp/upgrade
sh -x /tmp/upgrade/postup.sh
fi

rm -rf /app/factory_test.sh /app/ether-wake /app/led_test.sh

###Reset to factory default######
sh /img/bin/resetDefault.sh

exit

Une telle solution soulagerait le SAV de Thecus, et n'importe qu'elle possesseur de Thecus serait à même de restaurer son NAS en default factory...

Qu'en penses tu Vincent ? En France on a pas de pétrole mais on a des idées !!!!
Big Grin
Stéphane Guérithault

In a world without walls and fences, who needs Windows and Gates

PayPal Donation: https://www.paypal.me/qoolbox

My apps

##########################################################################

rolling now for competitor, i do not support anymore Thecus apllications due to lack of time

##########################################################################


voyance - Sophrologue Hypnothérapeute Essonne 
Reply
#3
Je verais bien une clef usb live recovery facon distrib slitaz! qui boot via http sur le site constructeur.
Je vais essayer de regarder ca de mon coté dès que possible.
@+
Device : N0503
Firmware : 5.03.01
Disk : WD5000AADS3 x WD30EZRX (27/1/2012)
RAID : JBOD RAID5
Services actifs : Samba on zfs, NTP , iSCSI, ...
Reply
#4
Je verais bien une clef usb live recovery facon distrib slitaz! qui boot via http sur le site constructeur.
Je vais essayer de regarder ca de mon coté dès que possible.
@+
Device : N0503
Firmware : 5.03.01
Disk : WD5000AADS3 x WD30EZRX (27/1/2012)
RAID : JBOD RAID5
Services actifs : Samba on zfs, NTP , iSCSI, ...
Reply
#5
Justement à ce sujet là j'essaye d'avoir des infos, mais il semblerait qu'avec la V5 soit arrivée une gestion beaucoup plus avancée des versions du DOM qui permettrait de faire des sauvegardes sur USB de manière régulière. Mais dès que j'essaye d'avoir les spécifications j'ai des réponses supra nébuleuses...
Vincent

Forum Manager / Responsable Forum

ThecusFrance sur Twitter : https://twitter.com/#!/Thecus_France
ThecusFrance sur Facebook : https://www.facebook.com/ThecusFrance
Reply
#6
Justement à ce sujet là j'essaye d'avoir des infos, mais il semblerait qu'avec la V5 soit arrivée une gestion beaucoup plus avancée des versions du DOM qui permettrait de faire des sauvegardes sur USB de manière régulière. Mais dès que j'essaye d'avoir les spécifications j'ai des réponses supra nébuleuses...
Vincent

Forum Manager / Responsable Forum

ThecusFrance sur Twitter : https://twitter.com/#!/Thecus_France
ThecusFrance sur Facebook : https://www.facebook.com/ThecusFrance
Reply
#7
Hello,

Je trouve l'idée de Stéphane génial.

Effectivement, pouvoir réinstaller le système via une clé USB en cas de crash lors d'une mise à jour du firmware serait un gros plus.

Il y a pas si longtemps, je me suis retrouvé dans ce cas à cause d'une coupure électrique en pleine mise à jour du firmware sur un N3200Pro.

Autant dire que j'étais bien dégouté.

Obligé de renvoyer le produit heureusement sous garantie au constructeur pour un échange.

En gros 2 semaines sans NAS. Dur, dur.

Stéphane, le script que tu mis dans ton poste est fonctionnel ?

Cordialement

Frank
Cordialement

Frank
Reply
#8
Hello,

Je trouve l'idée de Stéphane génial.

Effectivement, pouvoir réinstaller le système via une clé USB en cas de crash lors d'une mise à jour du firmware serait un gros plus.

Il y a pas si longtemps, je me suis retrouvé dans ce cas à cause d'une coupure électrique en pleine mise à jour du firmware sur un N3200Pro.

Autant dire que j'étais bien dégouté.

Obligé de renvoyer le produit heureusement sous garantie au constructeur pour un échange.

En gros 2 semaines sans NAS. Dur, dur.

Stéphane, le script que tu mis dans ton poste est fonctionnel ?

Cordialement

Frank
Cordialement

Frank
Reply
#9
frank569 Wrote:Hello,

Je trouve l'idée de Stéphane génial.

Effectivement, pouvoir réinstaller le système via une clé USB en cas de crash lors d'une mise à jour du firmware serait un gros plus.

Il y a pas si longtemps, je me suis retrouvé dans ce cas à cause d'une coupure électrique en pleine mise à jour du firmware sur un N3200Pro.

Autant dire que j'étais bien dégouté.

Obligé de renvoyer le produit heureusement sous garantie au constructeur pour un échange.

En gros 2 semaines sans NAS. Dur, dur.

Stéphane, le script que tu mis dans ton poste est fonctionnel ?

Cordialement

Frank

ce script est juste un exemple, qui force le flash firmware d'un N5200 via une clé USB à l'allumage du Thecus. David de Thecus me l'avait filer pour le SAV de ma boite et Peterfu l'a adapté en différentes versions sur son site...
ici c'est juste à titre d'exemple...

si un érudit arrive à créer un disaster recovery avec la commande " dd " de linux à partir d'un script contenu dans un fichier factory_test.sh :mrgreen:
Stéphane Guérithault

In a world without walls and fences, who needs Windows and Gates

PayPal Donation: https://www.paypal.me/qoolbox

My apps

##########################################################################

rolling now for competitor, i do not support anymore Thecus apllications due to lack of time

##########################################################################


voyance - Sophrologue Hypnothérapeute Essonne 
Reply
#10
frank569 Wrote:Hello,

Je trouve l'idée de Stéphane génial.

Effectivement, pouvoir réinstaller le système via une clé USB en cas de crash lors d'une mise à jour du firmware serait un gros plus.

Il y a pas si longtemps, je me suis retrouvé dans ce cas à cause d'une coupure électrique en pleine mise à jour du firmware sur un N3200Pro.

Autant dire que j'étais bien dégouté.

Obligé de renvoyer le produit heureusement sous garantie au constructeur pour un échange.

En gros 2 semaines sans NAS. Dur, dur.

Stéphane, le script que tu mis dans ton poste est fonctionnel ?

Cordialement

Frank

ce script est juste un exemple, qui force le flash firmware d'un N5200 via une clé USB à l'allumage du Thecus. David de Thecus me l'avait filer pour le SAV de ma boite et Peterfu l'a adapté en différentes versions sur son site...
ici c'est juste à titre d'exemple...

si un érudit arrive à créer un disaster recovery avec la commande " dd " de linux à partir d'un script contenu dans un fichier factory_test.sh :mrgreen:
Stéphane Guérithault

In a world without walls and fences, who needs Windows and Gates

PayPal Donation: https://www.paypal.me/qoolbox

My apps

##########################################################################

rolling now for competitor, i do not support anymore Thecus apllications due to lack of time

##########################################################################


voyance - Sophrologue Hypnothérapeute Essonne 
Reply
#11
ne touchez à riennnnn

comme je vous ai dit la solution a peut être été intégrée au firmware V5, faut que je vérifie, je vais essayer demain

en attendant, vais dormir :d
Vincent

Forum Manager / Responsable Forum

ThecusFrance sur Twitter : https://twitter.com/#!/Thecus_France
ThecusFrance sur Facebook : https://www.facebook.com/ThecusFrance
Reply
#12
ne touchez à riennnnn

comme je vous ai dit la solution a peut être été intégrée au firmware V5, faut que je vérifie, je vais essayer demain

en attendant, vais dormir :d
Vincent

Forum Manager / Responsable Forum

ThecusFrance sur Twitter : https://twitter.com/#!/Thecus_France
ThecusFrance sur Facebook : https://www.facebook.com/ThecusFrance
Reply
#13
c'est à dire qu'avec la V5, on pourrait créer à partir de l'interface WEB une clé USB Bootable avec un système de restauration usine ????
ça serait effectivement intéressant, et pas très dur à mettre en place par les ingénieurs Thecus...

Mais pour les vieux modèle ça risque de les délaisser une fois de plus ...
Stéphane Guérithault

In a world without walls and fences, who needs Windows and Gates

PayPal Donation: https://www.paypal.me/qoolbox

My apps

##########################################################################

rolling now for competitor, i do not support anymore Thecus apllications due to lack of time

##########################################################################


voyance - Sophrologue Hypnothérapeute Essonne 
Reply
#14
c'est à dire qu'avec la V5, on pourrait créer à partir de l'interface WEB une clé USB Bootable avec un système de restauration usine ????
ça serait effectivement intéressant, et pas très dur à mettre en place par les ingénieurs Thecus...

Mais pour les vieux modèle ça risque de les délaisser une fois de plus ...
Stéphane Guérithault

In a world without walls and fences, who needs Windows and Gates

PayPal Donation: https://www.paypal.me/qoolbox

My apps

##########################################################################

rolling now for competitor, i do not support anymore Thecus apllications due to lack of time

##########################################################################


voyance - Sophrologue Hypnothérapeute Essonne 
Reply
#15
J'ai un factory_test.sh un peu différent, je vais le tester vite fait.

Les ingénieurs Thecus me l'ont bricolé pour réparer un NVR que j'avais flingué :d
Vincent

Forum Manager / Responsable Forum

ThecusFrance sur Twitter : https://twitter.com/#!/Thecus_France
ThecusFrance sur Facebook : https://www.facebook.com/ThecusFrance
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)