Comment savoir si ses disques sont débranchables à chaud ?
Bonjour.
Comment puis-je savoir sous Linux (Ubuntu) si mes disques durs sont débranchables à chaud (hot swap) ?
Et si c'est possible, comment procéder ? ( je pense qu'il est fortement déconseillé de débrancher un disque pendant qu'il tourne par exemple ?? )
Ce sont des disques dur en SATA tout ce qu'il y a de plus classique.
Merci.
Comment puis-je savoir sous Linux (Ubuntu) si mes disques durs sont débranchables à chaud (hot swap) ?
Et si c'est possible, comment procéder ? ( je pense qu'il est fortement déconseillé de débrancher un disque pendant qu'il tourne par exemple ?? )
Ce sont des disques dur en SATA tout ce qu'il y a de plus classique.
Merci.
A voir également:
- Comment savoir si ses disques sont débranchables à chaud ?
- Friteuse à air chaud - Guide
- Comment cloner un disque dur - Guide
- Comment defragmenter disque dur - Guide
- Lister les disques cmd - Guide
- Disque de grossesse à télécharger gratuitement - Télécharger - Vie quotidienne
1 réponse
Ce qui suit n'est pas une réponse précise mais j'espère pourra te servir de point de départ dans tes recherches.
Pour commencer tu peux vérifier que toutes les partitions du disque en question ne sont pas montées, car aucun accès au disque ne devrait être fait dans ce cas si on omet les commandes bas niveau genre dd ou fdisk, qui n'ont pas besoin qu'une partition du disque soit montée pour y accéder.
En effet, quand tu retires un "périphérique en toute sécurité", le système commence par "umount" les partitions qui le concerne. Chacune d'elle est associé à un device (par exemple /dev/sda1, /dev/sda2 concernent les partitions du disque /dev/sda). Tu peux voir quels devices sont monté à un moment donné en lançant la commande suivante :
Ensuite tu peux filtrer en affichant que les lignes qui concernent /dev/sda :
Attention car si tes mounts sont faits en utilisant les UUIDs et non les notations /dev/sd... tu peux croire qu'une partition n'est pas montée alors qu'elle l'est. Tu peux retrouver ces UUIDs avec la commande suivante
Exemple :
Ensuite tu peux combiner ces deux commandes ensemble pour avoir directement la réponse.
Exemple :
Ici on voit que / (qui utilise la notation UUID), /home, /mnt/windows sont montées, donc typiquement /dev/sda est utilisé.
Une autre approche consiste à utiliser la commande lsof qui permet de voir quels fichiers sont accédés, mais ce n'est pas forcément le plus pratique sauf si tu sais que ton périphérique est par exemple exclusivement monté dans un dossier particulier (par exemple /media/toto) :
Ensuite je pense que certaines vérifications sont à faire pour voir si ton noyau support le hotplug :
Exemple : Je pars du principe que la fonctionnalité dans le noyau que l'on cherche porte dans son nom "hot"
Ensuite on peut vérifier que parmi la fonctionnalité (y) ou en module (m) l'une d'elle correspond à ton besoin en cherchant son nom sur internet.
https://cateee.net/lkddb/web-lkddb/HOTPLUG.html
Si la fonctionnalité qui t'intéresse est en module, vérifie que le module (*.ko) correspondant est chargé (avec la commande lsmod).
Bonne chance
Pour commencer tu peux vérifier que toutes les partitions du disque en question ne sont pas montées, car aucun accès au disque ne devrait être fait dans ce cas si on omet les commandes bas niveau genre dd ou fdisk, qui n'ont pas besoin qu'une partition du disque soit montée pour y accéder.
En effet, quand tu retires un "périphérique en toute sécurité", le système commence par "umount" les partitions qui le concerne. Chacune d'elle est associé à un device (par exemple /dev/sda1, /dev/sda2 concernent les partitions du disque /dev/sda). Tu peux voir quels devices sont monté à un moment donné en lançant la commande suivante :
mount
Ensuite tu peux filtrer en affichant que les lignes qui concernent /dev/sda :
mount | grep /dev/sda
Attention car si tes mounts sont faits en utilisant les UUIDs et non les notations /dev/sd... tu peux croire qu'une partition n'est pas montée alors qu'elle l'est. Tu peux retrouver ces UUIDs avec la commande suivante
Exemple :
(mando@silk) (~) $ ls -o /dev/disk/by-uuid/ | grep sda lrwxrwxrwx 1 root 10 déc. 2 11:55 4bfd4208-37e2-45af-833a-d488880d112f -> ../../sda6 lrwxrwxrwx 1 root 10 déc. 2 11:55 60863F6F863F4536 -> ../../sda1 lrwxrwxrwx 1 root 10 déc. 2 11:55 af504369-fb45-4486-9036-7c016e3c73a6 -> ../../sda5 lrwxrwxrwx 1 root 10 déc. 2 11:55 D0DA4397DA43792C -> ../../sda2 lrwxrwxrwx 1 root 10 déc. 2 11:55 ea9f3b2f-2e6c-46da-abcc-b0dadf3371c6 -> ../../sda7
Ensuite tu peux combiner ces deux commandes ensemble pour avoir directement la réponse.
Exemple :
(mando@silk) (~) $ for x in $(ls -o /dev/disk/by-uuid/ | grep sda | cut -d" " -f10); do (mount | egrep "$x"); done ; mount | grep /dev/sda /dev/disk/by-uuid/4bfd4208-37e2-45af-833a-d488880d112f on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered) /dev/sda7 on /home type ext3 (rw,relatime,errors=continue,barrier=1,data=ordered) /dev/sda2 on /mnt/windows type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
Ici on voit que / (qui utilise la notation UUID), /home, /mnt/windows sont montées, donc typiquement /dev/sda est utilisé.
Une autre approche consiste à utiliser la commande lsof qui permet de voir quels fichiers sont accédés, mais ce n'est pas forcément le plus pratique sauf si tu sais que ton périphérique est par exemple exclusivement monté dans un dossier particulier (par exemple /media/toto) :
sudo lsof | grep /media/toto
Ensuite je pense que certaines vérifications sont à faire pour voir si ton noyau support le hotplug :
grep -i hot /boot/config-$(uname -r)
Exemple : Je pars du principe que la fonctionnalité dans le noyau que l'on cherche porte dans son nom "hot"
(mando@silk) (~) $ grep -i hot /boot/config-$(uname -r) CONFIG_HOTPLUG=y CONFIG_TICK_ONESHOT=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTPLUG_SPARSE=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_HOTPLUG_CPU=y CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_ACPI_HOTPLUG_CPU=y CONFIG_ACPI_HOTPLUG_MEMORY=m CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_HOTPLUG_PCI=y CONFIG_HOTPLUG_PCI_FAKE=m CONFIG_HOTPLUG_PCI_ACPI=y CONFIG_HOTPLUG_PCI_ACPI_IBM=m CONFIG_HOTPLUG_PCI_CPCI=y CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m CONFIG_HOTPLUG_PCI_SHPC=m CONFIG_DM_SNAPSHOT=m CONFIG_USB_STORAGE_JUMPSHOT=m # CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
Ensuite on peut vérifier que parmi la fonctionnalité (y) ou en module (m) l'une d'elle correspond à ton besoin en cherchant son nom sur internet.
https://cateee.net/lkddb/web-lkddb/HOTPLUG.html
Si la fonctionnalité qui t'intéresse est en module, vérifie que le module (*.ko) correspondant est chargé (avec la commande lsmod).
Bonne chance