logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 15-01-2020 20:46:12

NimbUx
Membre
Distrib. : Raspbian 10 (Buster)
Noyau : Linux 4.19.93-v7l+
(G)UI : LXDE-PI, OpenBox
Inscription : 15-01-2020

Disque externe pour éviter de "fusiller" la carte SD, comment faire ?

Je n'ai pas l'habitude des cartes SD, n'ayant jamais eu de téléphone, appareil photo ou ordinateur portable utilisant ces choses.
Je suis donc tout à fait novice en ce qui concerne leur usage, que je découvre avec le RPi. Je pourrais donc sûrement accepter
des conseils même basiques dabs ce domaine sans me vexer, et avec gratitude :=)

Je crois comprendre tout de même une chose : c'est qu'il faut éviter autant que possible d'écrire et réécrire à tort et à travers
sur ce type de support. Je compte donc adjoindre à mon nouveau jouet un disque sur l'USB 3 - soit SSD soit rotatif.

Questions !
1. Le problème de limitation du nombre d'écritures ne va-t-il pas se poser pour un SSD de la même manière que pour les cartes SD ? Vaut-il mieux un disque rotattif, plus lent mais pratiquement insensible au problème évoqué ici ?

2. Je ne tiens pas (pas nécessairement, pas si c'est très compliqué) à TOUT mettre sur le disque externe - je songe y monter seulement les répertoires (ou partitions) accueillant les fichiers de données évolutives par nature, et en particulier tout ce qui est fichiers temporaires.

Pouvez-vous me conseiller sur la façon d'organiser les "montages" nécessaires ou utiles dans ce scenario ? Si tout roule comme prévu, je prévois de jouer des vidéos "streamées" du Réseau, ce qui devrait être l'activité la plus pénalisante pour ce qui  est des données à écrire. A moins de faire en sorte que les tampons d'écriture (buffers), voire le "swap" du sytème,  ne soient carrément mises dans un RAMdisque; Est-ce possible ?

Comme vous pensez bien mon expérience de Linux est limitée (j'en ai utilisé plusieurs versions au cours des années, mais je ne suis jamais rentré dans ces arcanes de la configuration du système, des partitions, des swaps etc...

Dernière modification par NimbUx (15-01-2020 20:48:16)

Hors ligne

#2 15-01-2020 21:45:35

Debian Alain
Membre
Lieu : Bretagne
Distrib. : sid (unstable) / bullseye (stable)
Noyau : Linux sid 6.4.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Disque externe pour éviter de "fusiller" la carte SD, comment faire ?

pour les grandes lignes , que ce soit un rpi 3 ou un rpi 4 , on peut les configurer de la même manière .

savoir :
- boot sur la carte sd (en lecture , donc , quasi inusable)
- root (rootfs) sur le disque (le systeme , donc)

je te communique mes données (raspi 4) , en espérant que cela t'inspire :

ma config :

pi@raspberrypi:~ $ lsb_release -a


No LSB modules are available.
Distributor ID: Raspbian
Description:  Raspbian GNU/Linux 10 (buster)
Release:  10
Codename: buster


mon kernel :

pi@raspberrypi:~ $ uname -a


Linux raspberrypi 4.19.95-v7l+ #1291 SMP Tue Jan 14 14:54:26 GMT 2020 armv7l GNU/Linux


ma machine :

sudo inxi -Fz


System:
  Host: raspberrypi Kernel: 4.19.95-v7l+ armv7l bits: 32 Console: tty 0
  Distro: Raspbian GNU/Linux 10 (buster)
Machine:
  Type: ARM Device System: Raspberry Pi 4 Model B Rev 1.1 details: BCM2835
  rev: c03111 serial: <filter>
Argument "Raspberry Pi 4 Model B Rev 1.1" isn't numeric in sprintf at /usr/bin/inxi line 6969.
CPU:
  Topology: Quad Core model: ARMv7 v7l variant: cortex-a72 bits: 32
  type: MCP
  Speed: 1500 MHz min/max: 600/1500 MHz Core speeds (MHz): 1: 1500 2: 1500
  3: 1500 4: 1500
Graphics:
  Device-1: bcm2835-vc4 driver: vc4_drm v: N/A
  Device-2: bcm2835-hdmi driver: N/A
  Display: server: X.org 1.20.4 driver: modesetting unloaded: fbdev
  tty: 80x24
  Message: Advanced graphics data unavailable in console for root.
Audio:
  Device-1: bcm2835-audio driver: bcm2835_audio
  Device-2: bcm2835-hdmi driver: N/A
  Sound Server: ALSA v: k4.19.95-v7l+
Network:
  Message: No ARM data found for this feature.
  IF-ID-1: eth0 state: down mac: <filter>
  IF-ID-2: wlan0 state: up mac: <filter>
Drives:
  Local Storage: total: 506.76 GiB used: 40.09 GiB (7.9%)
  ID-1: /dev/mmcblk0 model: EC2QT size: 59.62 GiB
  ID-2: /dev/sda type: USB vendor: LDLC model: F6+ M.2 480 size: 447.13 GiB
Partition:
  ID-1: / size: 438.86 GiB used: 40.04 GiB (9.1%) fs: ext4 dev: /dev/sda2
  ID-2: /boot size: 252.0 MiB used: 52.2 MiB (20.7%) fs: vfat
  dev: /dev/mmcblk0p1
Sensors:
  Message: No sensors data was found. Is sensors configured?
Info:
  Processes: 148 Uptime: 31m Memory: 3.89 GiB used: 289.9 MiB (7.3%)
  gpu: 76.0 MiB Init: systemd runlevel: 5 Shell: bash inxi: 3.0.32


mes partitions :

pi@raspberrypi:~ $ sudo fdisk -l


Disk /dev/ram0: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram1: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram2: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram3: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram4: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram5: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram6: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram7: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram8: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram9: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram10: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram11: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram12: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram13: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram14: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/ram15: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mmcblk0: 59,6 GiB, 64021856256 bytes, 125042688 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5e3da3da

Device         Boot  Start       End   Sectors  Size Id Type
/dev/mmcblk0p1        8192    532479    524288  256M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      532480 125042687 124510208 59,4G 83 Linux


Disk /dev/sda: 447,1 GiB, 480103981056 bytes, 937703088 sectors
Disk model: M.2 480        
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa0651de2

Device     Boot  Start       End   Sectors   Size Id Type
/dev/sda1         8192    532479    524288   256M  c W95 FAT32 (LBA)
/dev/sda2       532480 937703087 937170608 446,9G 83 Linux


mon boîtier :

lsusb -d 152d:1576


Bus 002 Device 002: ID 152d:1576 JMicron Technology Corp. / JMicron USA Technology Corp.


sudo lsusb -d 152d:1576 -v


Bus 002 Device 002: ID 152d:1576 JMicron Technology Corp. / JMicron USA Technology Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         9
  idVendor           0x152d JMicron Technology Corp. / JMicron USA Technology Corp.
  idProduct          0x1576
  bcdDevice            2.04
  iManufacturer           1 JMicron
  iProduct                2 JMS579
  iSerial                 3 987654321029
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0079
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              896mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           4
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     98
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
        Command pipe (0x01)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
        MaxStreams             32
        Status pipe (0x02)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
        MaxStreams             32
        Data-in pipe (0x03)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               7
        MaxStreams             32
        Data-out pipe (0x04)
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x0016
  bNumDeviceCaps          2
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000f0e
      BESL Link Power Management (LPM) Supported
    BESL value     3840 us
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
    wSpeedsSupported   0x000e
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   1
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat          10 micro seconds
    bU2DevExitLat          32 micro seconds
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x000c
  (Bus Powered)
  U1 Enabled
  U2 Enabled


mon disque :

pi@raspberrypi:~ $ sudo smartctl -d sat -i /dev/sda


smartctl 6.6 2017-11-05 r4594 [armv7l-linux-4.19.95-v7l+] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     LDLC F6+M.2 480
Serial Number:    09042219D0059
Firmware Version: S0424A0
User Capacity:    480103981056 bytes [480 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      M.2
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Wed Jan 15 21:18:18 2020 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled



faut commencer par partitionner et formater le disque sda(par exemple) avec "gparted" éventuellement
(formater en ext4 de préférence) , ou , en cli , partitionner  avec "fdisk" et formater avec "mkfs" .

une fois le disque prêt , il faut copier le système avec rpi - clone (à installer).

ensuite , voire les uuid :

pi@raspberrypi:~ $ sudo blkid


/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="9F2D-0578" TYPE="vfat" PARTUUID="5e3da3da-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="efc2ea8b-042f-47f5-953e-577d8860de55" TYPE="ext4" PARTUUID="5e3da3da-02"
/dev/sda1: UUID="CD24-CB7B" TYPE="vfat" PARTUUID="a0651de2-01"
/dev/sda2: LABEL="RPI_4" UUID="d351d7fb-6658-4d9c-87f9-6a827b3a2202" TYPE="ext4" PARTUUID="a0651de2-02"
/dev/mmcblk0: PTUUID="5e3da3da" PTTYPE="dos"


et modifier le fstab du disque en conséquence
([sur le disque !, pas sur la carte !]faire très attention aux identifiants uuid : gare à l'erreur !) :

cat /etc/fstab


  proc                  /proc           proc    defaults          0       0
# boot sur ssd (sda 1)
# PARTUUID=a0651de2-01  /boot           vfat    defaults          0       2
# désactivation boot ssd sda 1
  PARTUUID=a0651de2-01  none            ignore  defaults          0       1  
# activation boot carte sd (mmcblk0p1)
  PARTUUID=5e3da3da-01  /boot           vfat    defaults          0       2
#
# rootfs sda 2 (RPI_4)
  PARTUUID=a0651de2-02  /               ext4    defaults,noatime  0       1
# désactivation rootfs carte sd (mmcblk0p2)
  PARTUUID=5e3da3da-02  none            ignore  defaults          0       1
#
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that


ensuite , on modifie le cmdline.txt (root=PARTUUID= ???) dans le /boot de la carte mémoire :

cat /boot/cmdline.txt


usb-storage.quirks=152d:1576:u console=serial0,115200 console=tty1 root=PARTUUID=a0651de2-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait consoleblank=0



et , pour finir , reboot .
le temps de  reconfiguration peut être long .
dans mon cas , avec un souci du protocole "uas" , çà m'a pris 30 min .
je l'ai désactivé (l' "uas" ) , et , phénoménal ! , j'ai démarré en 5 secondes .

et on obtient ceci :

pi@raspberrypi:~ $ df -h


Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/root          439G     41G  377G  10% /
devtmpfs           1,8G       0  1,8G   0% /dev
tmpfs              2,0G       0  2,0G   0% /dev/shm
tmpfs              2,0G    8,6M  1,9G   1% /run
tmpfs              5,0M    4,0K  5,0M   1% /run/lock
tmpfs              2,0G       0  2,0G   0% /sys/fs/cgroup
/dev/mmcblk0p1     253M     53M  200M  21% /boot
tmpfs              391M       0  391M   0% /run/user/1000


lsblk


NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 447,1G  0 disk
├─sda1        8:1    0   256M  0 part
└─sda2        8:2    0 446,9G  0 part /
mmcblk0     179:0    0  59,6G  0 disk
├─mmcblk0p1 179:1    0   256M  0 part /boot
└─mmcblk0p2 179:2    0  59,4G  0 part



une partie de mes logs :
(le démarrage est plus long , en fait . mais cela te montre le temps de démarrage sur le disque)

pi@raspberrypi:/var/log $ cat kern.log | grep "Jan 15 21:" | grep -iE "usb 2-2|sda" | less


Jan 15 21:13:50 raspberrypi kernel: [    2.871854] usb 2-2: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
Jan 15 21:13:50 raspberrypi kernel: [    2.903186] usb 2-2: New USB device found, idVendor=152d, idProduct=1576, bcdDevice= 2.04
Jan 15 21:13:50 raspberrypi kernel: [    2.904531] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 15 21:13:50 raspberrypi kernel: [    2.905835] usb 2-2: Product: JMS579
Jan 15 21:13:50 raspberrypi kernel: [    2.907085] usb 2-2: Manufacturer: JMicron
Jan 15 21:13:50 raspberrypi kernel: [    2.908290] usb 2-2: SerialNumber: 987654321029
Jan 15 21:13:50 raspberrypi kernel: [    2.912740] usb 2-2: UAS is blacklisted for this device, using usb-storage instead
Jan 15 21:13:50 raspberrypi kernel: [    2.914037] usb 2-2: UAS is blacklisted for this device, using usb-storage instead
Jan 15 21:13:50 raspberrypi kernel: [    3.994358] sd 0:0:0:0: [sda] 937703088 512-byte logical blocks: (480 GB/447 GiB)
Jan 15 21:13:50 raspberrypi kernel: [    3.996304] sd 0:0:0:0: [sda] Write Protect is off
Jan 15 21:13:50 raspberrypi kernel: [    3.997518] sd 0:0:0:0: [sda] Mode Sense: 47 00 00 08
Jan 15 21:13:50 raspberrypi kernel: [    3.998241] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Jan 15 21:13:50 raspberrypi kernel: [    4.003736]  sda: sda1 sda2
Jan 15 21:13:50 raspberrypi kernel: [    4.008179] sd 0:0:0:0: [sda] Attached SCSI disk
Jan 15 21:13:50 raspberrypi kernel: [    4.126612] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
Jan 15 21:13:50 raspberrypi kernel: [    6.454790] EXT4-fs (sda2): re-mounted. Opts: (null)


temps de démarrage :

systemd-analyze


Startup finished in 4.310s (kernel) + 12.932s (userspace) = 17.242s
graphical.target reached after 12.797s in userspace



voilà , c'est fini .
j'espère que tu as bien suivi .
notamment le jonglage avec les uuid ...

big_smile

Dernière modification par Debian Alain (16-01-2020 10:26:22)

Hors ligne

#3 15-01-2020 22:33:35

NimbUx
Membre
Distrib. : Raspbian 10 (Buster)
Noyau : Linux 4.19.93-v7l+
(G)UI : LXDE-PI, OpenBox
Inscription : 15-01-2020

Re : Disque externe pour éviter de "fusiller" la carte SD, comment faire ?

Super-réponse, @Alain ! un grand merci ! Je vais évidemment l'étudier ligne par ligne et tenter de m'en inspirer.
Pour ce qui est du choix entre un SSD et un disque magnétique, ai-je raison d'opter pour ce dernier, ou bien est-ce
sans importance ?
Pour ce qui est du type de partition, j'aurais tendance à m'en tenir à ext3 que je sais d'expérience monter sous Windows
tandis que je ne suis pas sûr de savoir faire cela avec ext4 (à moins que le format ext4 ne soit rétrocompatible,
et montable en tant qu'ext3 : aucune idée sur ce point, mais je peux faire une recherche bien entendu)

Merci encore et  à plus !

Hors ligne

#4 15-01-2020 22:44:02

Debian Alain
Membre
Lieu : Bretagne
Distrib. : sid (unstable) / bullseye (stable)
Noyau : Linux sid 6.4.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Disque externe pour éviter de "fusiller" la carte SD, comment faire ?

alors , pour le disque , mécanique ou flash , c'est toi qui vois ...

les disques mécaniques sont très courants et peu chers .
pour un raspi , c'est idéal , vu le prix .

les ssd sont beaucoup plus rapides et optimisent le port usb 3.0 du raspi 4
(à plus forte raison le port usb 2.0 du raspi 3)
il sont aussi plus chers mais commencent à se démocratiser .
on peut trouver des ssd de 500GB à prix intéressant .
(plus cher  que le disque mécanique qd mme) .

maintenant , rpi , c'est du linux .
donc , partitions ext n .
la dernière en date , c'est le ext4 .
ce serai trop bête de sous - utiliser le raspi .
déjà que c'est pas un foudre de guerre ! ...

je ne sais pas si ext4 est rétrocompatible ext3 ???
https://fr.wikipedia.org/wiki/Ext4

Seagate Barracuda 500 GB 2,5 pouces hdd 43 €
Sandisk Ultra 3D 500GB 2,5 pouces ssd 65 €
câble adaptateur usb / sata 10 €

si tu t'inspire de ma prose , surtout , fais très attention aux uuid
(nos  de série des partitions et des disques, changent à chaque formatage)
ne mets pas les miens . regarde bien TES UUID  avec la commande blkid .

Dernière modification par Debian Alain (16-01-2020 13:03:12)

Hors ligne

#5 16-01-2020 11:10:28

Debian Alain
Membre
Lieu : Bretagne
Distrib. : sid (unstable) / bullseye (stable)
Noyau : Linux sid 6.4.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Disque externe pour éviter de "fusiller" la carte SD, comment faire ?

une fois tout le travail fini , tu peux faire passer ton /boot (mmcblk0P1 , souvent) en read-only ,
histoire de protéger ta carte mémoire d'éventuelles fausses manips .
ceci se fait dans le fstab .

boot sur disque externe --raspi 3--

/!\ Il s’agit ici du fichier fstab qui se trouve dans la partition /dev/sda2,
pas de celui qui est sur /dev/mmcblkop2 /!\


/dev/mmcblk0p1    /boot           vfat    defaults,ro       0       2
#/dev/mmcblk0p2   /               ext4    defaults,noatime  0       1
/dev/sda2         /               ext4    defaults,noatime  0       1


Au passage, notez que j’ai mis la carte SD (partition FAT) en Read Only (ro) puisqu’on ne fait que lire les fichiers qui s’y trouvent pour les charger en mémoire. Comme la carte est limitée en nombre d’écritures mais pas en nombre de lectures, vous voici tranquille pour un moment. De plus une cinquantaine de Mo suffisent pour /dev/mmcblk0p1, ce qui fait que vous pouvez réutiliser une vieille carte SD de 1GO sans problème.

Dernière modification par Debian Alain (16-01-2020 11:20:46)

Hors ligne

#6 16-01-2020 11:29:01

Jean-Pierre Pinson
Adhérent(e)
Lieu : Orléans
Distrib. : Debian Sid 64bits Ordi.: Thinkpad T400
Noyau : de cerise
(G)UI : xfce
Inscription : 04-03-2017

Re : Disque externe pour éviter de "fusiller" la carte SD, comment faire ?

NimbUx a écrit :

Je n'ai pas l'habitude des cartes SD

Je crois comprendre tout de même une chose : c'est qu'il faut éviter autant que possible d'écrire et réécrire à tort et à travers



Ou as tu lu ça ? Ou alors qu'est-ce qui te fait dire ça ? D'ailleurs je ne sais pas si c'est comparable un ssd et une carte sd, vu que la carte SD est beaucoup plus petite que un SSD ?

Autre chose pour information, J'ai vu des cartes sd garanties à vie !

Dernière modification par Jean-Pierre Pinson (16-01-2020 11:41:21)


Debian sid
Bureau : xfce
Ordinateur : Thinkpad T400 libreboot

Hors ligne

#7 16-01-2020 11:59:12

NimbUx
Membre
Distrib. : Raspbian 10 (Buster)
Noyau : Linux 4.19.93-v7l+
(G)UI : LXDE-PI, OpenBox
Inscription : 15-01-2020

Re : Disque externe pour éviter de "fusiller" la carte SD, comment faire ?

@Debian Alain :

rpi , c'est du linux .donc , partitions ext n .

Je sais bien smile Mais puisque c'est d'un "disque" amovible que nous parlons, j'apprécierai de pouvoir le monter et y accéder sans mal sur une bobasse Windows (personne n'est parfait). Le driver dont j'ai l'habitude sait monter les partitions ext2 et ext3 (en tant qu'ext2), reste à vérifier si ext4 ne lui résiste pas : même si le lien que tu m'as donné dit que c'est "rétrocompatible"...le diable est toujours dans les détails.

@J-P Pinson : Enchanté également !... Il est absolument certain que les mémoires des "disques" SSD aussi bien que celles des "cartes" SD ne supportent qu'un nombre limité d'écritures. Je suppose que celles des SSD sont dimensionnées beaucoup plus largement, puisqu'elles sont destinées à remplacer les disques magnétiques tournants, tandis que les "cartes" sont généralement de capacité beaucoup plus faible et plutôt destinées à enregistrer et à stocker  + ou - durablement documents, photos ou vidéos...

Hors ligne

#8 16-01-2020 12:00:27

Debian Alain
Membre
Lieu : Bretagne
Distrib. : sid (unstable) / bullseye (stable)
Noyau : Linux sid 6.4.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Disque externe pour éviter de "fusiller" la carte SD, comment faire ?

j'ai lu qque part (mais où ?) que mme sandisk faisait sauter sa garantie si on mettait ses cartes sd dans un raspi .

sinon , voilà ce que j'ai trouvé :

RASPBERRY-PI: AUGMENTER LA DURÉE DE VIE DE VOS CARTES SD

http://wiki.mchobby.be/index.php?title= … _cartes_SD

http://www.magdiblog.fr/divers/comment- … pberry-pi/

https://www.raspberrypi.org/forums/view … hp?t=26048

Dernière modification par Debian Alain (16-01-2020 12:14:04)

Hors ligne

#9 16-01-2020 12:07:03

Debian Alain
Membre
Lieu : Bretagne
Distrib. : sid (unstable) / bullseye (stable)
Noyau : Linux sid 6.4.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Disque externe pour éviter de "fusiller" la carte SD, comment faire ?

Nimbux  a écrit :

Je sais bien smile Mais puisque c'est d'un "disque" amovible que nous parlons, j'apprécierai de pouvoir le monter et y accéder sans mal sur une bobasse Windows (personne n'est parfait)



ce qui est dommage , c'est que w$ et Lx n'ont rien en commun .
mais alors rien du tout .
pour contourner le problème , tu peux créer une "partiton d'échange" sur ton disque (en fat 32 ou vfat)
qui sera alors commune  aux deux systemes .

c'est la seule soluce que je vois . fat est tellement vieux , qu'il est tombé dans le domaine public .
presque tout le monde peut et sait s'en servir .

Dernière modification par Debian Alain (16-01-2020 12:08:19)

Hors ligne

#10 16-01-2020 12:19:50

raleur
Membre
Inscription : 03-10-2014

Re : Disque externe pour éviter de "fusiller" la carte SD, comment faire ?

NimbUx a écrit :

1. Le problème de limitation du nombre d'écritures ne va-t-il pas se poser pour un SSD de la même manière que pour les cartes SD ?


En théorie oui, mais de façon beaucoup moins aiguë. Un SSD embarque notamment un contrôleur plus sophistiqué qui lui confère une endurance en écriture plus élevée qu'une carte SD ou une clés USB. L'usage prévu n'est pas le même :
- SSD : remplacement d'un disque dur, avec écritures fréquentes de données temporaires
- carte SD ou clé USB : écritures épisodiques pour stockage quasi permanent

D'où le problème de durée de vie quand on utilise une carte SD ou une clé USB comme un disque dur ; ce n'est pas fait pour (sans compter la vitesse d'écriture qui est souvent médiocre).

A noter qu'il existe des systèmes de fichiers dits "structurés en log" qui sont optimisés pour limiter l'écriture et donc l'usure des supports de stockage à mémoire flash "bêtes" comme les cartes SD. Il s'agit notamment de NILFS2 et F2FS. Il me semble que F2FS est supporté par le noyau de Raspbian pour la racine, et qu'il existe une procédure pour utiliser la racine en F2FS.

NimbUx a écrit :

Pouvez-vous me conseiller sur la façon d'organiser les "montages" nécessaires ou utiles dans ce scenario ?


Cela dépend de la localisation des données évolutives (à identifier) dans l'arborescence. On peut par exemple y inclure  /tmp, /var, /home, /srv ou des sous-repertoires de ces derniers.

NimbUx a écrit :

A moins de faire en sorte que les tampons d'écriture (buffers), voire le "swap" du sytème,  ne soient carrément mises dans un RAMdisque; Est-ce possible ?


Ça dépend de quels tampons d'écriture tu parles. Les buffers du noyau sont bien évidemment déjà en RAM.
Le swap peut être mis dans un disque RAM mais pour que ça ait un intérêt il faut utiliser un disque RAM compressé géré par zram. Il existe un paquet zram-tools qui automatise cela.
On peut aussi monter /tmp comme un tmpfs (système de fichiers temporaire en mémoire virtuelle).

Debian Alain a écrit :

maintenant , rpi , c'est du linux .donc , partitions ext n .


Pas forcément. Linux peut utiliser bien d'autres systèmes de fichiers qu'ext* qui peuvent être plus adaptés à des besoins particuliers. Cf. ma remarque sur F2FS plus haut.

Debian Alain a écrit :

je ne sais pas si ext4 est rétrocompatible ext3


Ça dépend dans quel sens. Le pilote ext4 de Linux sait lire ext3 mais un pilote ext3 ne sait pas lire ext4, il y a des fonctionnalités nouvelles non supportées (notamment les extents).


Il vaut mieux montrer que raconter.

Hors ligne

#11 25-01-2020 16:32:06

NimbUx
Membre
Distrib. : Raspbian 10 (Buster)
Noyau : Linux 4.19.93-v7l+
(G)UI : LXDE-PI, OpenBox
Inscription : 15-01-2020

Re : Disque externe pour éviter de "fusiller" la carte SD, comment faire ?

Rebonjour à tous ! Histoire de faire savoir que je ne m'étais pas évanoui (mais j'ai été occupé, et pour couronner le tout la ligne téléphonique qui me dessert (tant bien que mal) et donc le service internet ADSL ont été interrompus 4 jours, victimes d'un camion fou...)

Point positif, cette interruption m'a donné l'occasion d'avancer. J'ai installé avec succès la racine (root) de mon système plus une partition de données sur une "clef" USB 3 Sandisk de 30GiB smile - Prochaine étape, maintenant que je maîtrise à peu près la manip, je passerai aux choses sérieuses : un disque USB (rotatif 2.5" Verbatim) de 500 G.

... Aux dernières infos (26/1) le passage du système du "Pi" sur le disque dur s'est fait sans difficultés particulières.

Dernière modification par NimbUx (27-01-2020 12:14:24)

Hors ligne

Pied de page des forums