Rechercher dans la communauté
Affichage des résultats pour les étiquettes 'shutdown'.
2 résultats trouvés
-
Ce tutoriel a été originellement posté dans la partie Modifications logicielles du forum. pour plus d'informations. Tutoriel : Arrêt impossible du NAS Description du problème, Diagnostic de panne, et Mise en place d'une solution I) Symptômes Après une demande d’arrêt ou de redémarrage, le NAS se bloque dans sa phase d’arrêt. On peut le constater en voyant que le bouton de mise en route ("power") de la machine clignote, même après plusieurs (très longues) minutes, voire même plusieurs heures d’attente. Le NAS peut éventuellement conserver une activité réseau ou non, en fonction de la configuration de votre machine. Toujours est-il que tous les services sont offline (pas de DSM, pas de partage réseau, etc.), et il n’est donc plus possible de prendre le contrôle. Après avoir attendu 10min et constaté le problème tel que décrit ci-dessus, le seul moyen pour arrêter la machine est de rester appuyé sur le bouton d’alimentation jusqu’à l’extinction complète. => Vous vous êtes reconnu dans cette description des symptômes ? Passez à la partie 2 ! II) Explications et cause probable Si IPKG n’est pas installé sur votre machine, ou si vous ne savez pas s’il est installé, il y a 95% de chances pour que la solution donnée ci-après ne corresponde pas à votre problème. En effet, nous traitons ici d’un problème lié à IPKG, complètement indépendant du DSM et de la version actuelle du système… Votre problème, s’il est lié à IPKG, est sûrement dû au fait que le système n’arrive pas à démonter le point de montage d’IPKG (autrement appelé « Optware »), à savoir /opt . Ce point de montage est créé au démarrage par le script /etc/rc.optware et redirige en réalité vers /volume1/@optware . « Si le système arrive à faire le montage, pourquoi pas le démontage ? », me direz-vous. Prenons un exemple : Vous travaillez sur un document de votre clé USB : un fichier texte est ouvert dans votre éditeur, et vous souhaitez « éjecter » votre clé de l’ordinateur. Dans la plupart des cas, le système refuse en vous signifiant que certains documents sont en cours d’utilisation. En effet, l’éditeur de texte a ouvert un document de la clé ! Il est donc impossible de la « démonter », et pourtant le système a bien réussi à la « monter ». Il en est de même pour IPKG et /opt : il est probable que certains programmes « tierce-partie » s’exécutent dans /opt et ses sous-répertoires. Dans ce cas, le système est incapable de démonter /opt , et refusera purement et simplement de s’arrêter, car un programme en cours d’exécution peut avoir des bonnes raisons de l’être. C’est donc à l’utilisateur d’arrêter manuellement les programmes tiers, puisque l’installation d’IPKG ne prévoit apparemment pas l’arrêt automatique des programmes lors d’une demande d’arrêt du système. Note : Pour le diagnostic et la résolution du problème, vous allez avoir besoin d’un accès console à votre NAS (SSH, ou éventuellement Telnet), mais normalement vous êtes habitué, puisque vous avez déjà installé IPKG Pour vérifier qu’IPKG est installé sur votre machine, connectez-vous via SSH ou Telnet et tapez « ipkg list ». Cette commande renvoie normalement la liste de tous les paquets disponibles au téléchargement ; si c’est la cas, IPKG est installé, et vous pouvez être concerné par le problème décrit dans ce topic. III) Diagnostic de panne 1) Vous pouvez très simplement vérifier que votre problème est bien lié à un « démontage impossible » en regardant dans le fichier /var/log/messages et en cherchant une ligne similaire à kernel: [******.******] force umount failed! mnt_count:* 2) Si une ligne de ce type existe, vous pouvez confirmer vos soupçons en tapant umount /opt si la commande s’exécute correctement, le problème vient d’ailleurs, sinon, vous avez bien un problème de démontage. 3) Tentons donc de remonter au coupable de ce « démontage impossible ». Il est probable que des programmes s’exécutent dans « /opt/ ». Pour le vérifier, tapez : ps |grep "/opt/" |grep -v "grep" Si la commande vous renvoie une ou plusieurs lignes, chacune d'elle correspond à un programme en cours d’exécution sur /opt/ (cause de votre malheur). Sinon, aucun programme ne s’exécute sur /opt/ , et il faudra chercher une autre piste. 4) Enfin, vous pouvez essayer d’arrêter manuellement tous les programmes tournant sur /opt/, puis de démonter le volume : PNAME=`ps |grep "/opt/" |grep -v "grep" |awk -F" " '{ print $1 }'` kill $PNAME umount /opt Si la dernière commande ne renvoie pas d’erreur, tentez un arrêt ou redémarrage de votre Syno : ça devrait fonctionner. Si c’est le cas, passons à la mise en place d’une solution automatisée, à base de scripts. IV) Solution à adopter Notre problème intervient lors de la phase d’arrêt, il nous faut donc un script qui se lance automatiquement lors de l’arrêt. Après avoir fait quelques recherches, il semble que sous Linux il y ait beaucoup de répertoires prévus pour lancer des scripts au démarrage, mais pas beaucoup à l’arrêt. Il ne reste donc que /etc/rc.d/ et /usr/local/etc/rc.d/ qui correspondent à nos besoins (source : wiki FreeBSD). D’après un forum relatif à FreeBSD, il est plus sage de placer ses scripts dans /usr/local/etc/rc.d/ (en considérant que toutes les distributions adoptent le même formalisme). Maintenant que vous savez tout, passons à la mise en place. Nous pouvons considérer qu’il existe deux solutions à notre problème. En plus d’un script d’arrêt général : 1) Pour chaque script S** présent dans « /opt/etc/init.d/ », il faut créer un équivalent K** dédié à l’arrêt du service associé. 2) Pour l’ensemble des scripts S** présents dans « /opt/etc/init.d/ », nous pouvons créer un script générique K99shutdown.sh qui se chargera d’arrêter tous les programmes IPKG en fonctionnement. A mon avis, la solution 2 est plus simple et plus sûre, car elle ne nécessite qu’un seul script, et se base sur l’état réel de la machine au moment de l’arrêt (et non un état supposé). Attention : Certains scripts S** fournis par les paquets contiennent des instructions d’arrêt. Si celles-ci ont d’autres fonctions qu’un simple kill ou killall, il est impératif de placer ces instructions dans un équivalent K** (sans même prendre en compte si le fichier est lancé en mode « start » ou « stop », puisque tous les S** seront lancés avec « start » et tous les K** avec « stop »). V) Les fichiers C’est parti ! Créons un fichier optware.sh avec les droits 755 dans /usr/local/etc/rc.d/ , il nous servira de lanceur pour l’ensemble des scripts de démarrage S** et d’arrêt K** contenus dans /opt/etc/init.d/ . /usr/local/etc/rc.d/ optware.sh (chmod 755) Puis créez un autre fichier K99shutdown.sh avec les droits 755 dans /opt/etc/init.d/ , il scannera tous les programmes s’exécutant dans /opt et les arrêtera. /opt/etc/init.d/ K99shutdown.sh (chmod 755) Enfin, comme décrit précédemment, vérifiez le contenu des /opt/etc/init.d/S** pour supprimer les cas « stop », et créez des équivalents K** qui contiendront les instructions correspondantes. Ouf, maintenant, vous pouvez redémarrer ! N’hésitez pas à me faire des retours sur le fonctionnement de cette solution. Ce post sera mis à jour en conséquence, pour que tous les utilisateurs puissent en bénéficier. Ce tutoriel a été écrit en se basant sur la configuration de mon Synology DS710+, mais doit pouvoir fonctionner pour tous les modèles, et pour toutes les versions de DSM (sauf en cas de refonte profonde de l'architecture système). Merci à bud77, parisbyday et PatrickH du forum, qui m’ont permis d’élaborer cette solution, et donc de vous la faire partager.
- 17 réponses
-
- redémarrage
- arrêt
-
(et 3 en plus)
Étiqueté avec :
-
Dans le post n°34 de ce topic, vous trouverez l'ensemble des informations concernant ce problème, ainsi qu'une solution permettant de le résoudre durablement. Ne perdez pas de temps, cliquez sur le lien ! Ce topic a donné lieu à l'écriture d'un tutoriel que je vous conseille de consulter dès maintenant ! Bonjour à tous, Depuis quelques temps j'ai un problème qui m'embête pas mal, alors après quelques investigations qui m'ont apporté des infos supplémentaires, je m'en remets à la communauté des experts IPKG est installé sur mon DS710+, notamment pour Icecast et SVN (qui me sert beaucoup en ce moment). Il y a quelques mois, lors de la sortie de TimeBackup, j'avais eu des soucis : impossible de lancer l'application. Après contact du support Synology, ils m'ont dit que c'était à cause d'IPKG, qui montait /opt au démarrage, et résultat TimeBackup n'arrivait pas à faire son premier lancement. Le problème que j'ai en ce moment est du même goût (en termes de cause) : impossible d'arrêter ou de redémarrer le Syno (obligé de rester appuyé sur le bouton jusqu'à coupure de l'alimentation). J'ai donc essayé de neutraliser IPKG, et là magie : je peux arrêter la machine ! Je ré-active IPKG, et je désinstalle tous les paquets officiels dont je ne me servais pas (dont TimeBackup). Il ne me reste alors que MailStation et phpMyAdmin. Mais le problème est indemne : IPKG empêche l'arrêt de ma machine. Après extraction des logs, voici les lignes supplémentaires dans le cas ou l'arrêt ne fonctionne pas : kernel: [2484412.625955] force umount failed! mnt_count:2 kernel: [2484413.679016] device-mapper: ioctl: unable to remove open device vol1-origin syno_poweroff_task: space_snapshot_origin.c:354 Deleting snapshot-origin of /dev/md2 fail Pour info : ipkg version 0.99.163 Quelqu'un a-t-il déjà rencontré ce problème ? Peut-il être dû à un seul des paquets IPKG installé, et si oui lequel ? Un script à l'extinction pourrait-il résoudre le problème ? Merci à tous, et bonne année 2012
- 37 réponses
-
- redémarrage
- arrêt
-
(et 3 en plus)
Étiqueté avec :