web-dev-qa-db-fra.com

conseil de raid avec SSD et deux disques durs

J'ai une nouvelle machine avec un SSD de 128 Go et deux disques durs de 1 To. Le système d’exploitation utilise le système d’exploitation et ma première idée était de placer les deux disques durs en RAID 1 pour les données utilisateur.

Après plus de réflexion, je suis arrivé avec deux autres configurations et maintenant je suis dans le doute :) Quelqu'un peut-il nous conseiller quelle serait la meilleure configuration?

1: SSD unique et disque dur en RAID 1 (pensée originale)

2: Créez 2 partitions sur le disque dur (128 Go et 872 Go). Placez les deux 872 Go en RAID 1 et créez un autre RAID 1 avec le SSD et une partition de disque dur de 128 Go.

3: Créez 2 partitions sur le disque dur (750/250), placez 705 Go en RAID 1, utilisez les 2 250 Go comme sauvegarde et créez des instantanés automatiques du SSD sur l'une de ces partitions.

Je pense que les 2 questions principales sont:

Est-il conseillé de créer une matrice RAID avec seulement une partie d'un lecteur et d'utiliser activement l'autre partie de ce lecteur ou devez-vous toujours utiliser le disque complet?

Est-il conseillé de créer une matrice RAID 1 avec un SSD et un disque dur ou est-ce que cela réduira tout le gain de vitesse du SSD?

2
Nin

Est-il conseillé de créer une matrice RAID avec seulement une partie d'un lecteur et d'utiliser activement l'autre partie de ce lecteur ou devez-vous toujours utiliser le disque complet?

Le conseil est toujours d'utiliser autant d'appareils similaires que possible. Je ne suis pas sûr de savoir combien de ces conseils sont de la superstition, mais regardons ceci en premier:

Est-il conseillé de créer une matrice RAID 1 avec un SSD et un disque dur ou est-ce que cela réduira tout le gain de vitesse du SSD?

Non, ne faites pas ça, vous allez faire exploser la vitesse. Mis à part le fait qu'il s'agisse de périphériques différents, etc., la seule chose dont je suis sûr est que vos vitesses vont baisser, car vous allez travailler à la vitesse du disque le plus lent -> votre combo ssd-hdd sera comme ça plus lent que votre SSD:

Vous ne devriez PAS faire cela à votre SSD. Votre première option est la meilleure. Donnez-vous simplement un espace utilisateur sécurisé et un disque système rapide. Sauvegardez ce disque. (rappelez-vous que le RAID n'est pas une stratégie de sauvegarde)

2
Nanne

La première option n'est pas complètement stupide. "Hybrid RAID1" fonctionne s'il est configuré correctement. J'ai exécuté cette configuration moi-même jusqu'à ce que mon disque SSD commence à agir bizarrement et sorte de la boîte.

Voir ces articles à titre indicatif:

http://tansi.info/hybrid/

http://www.vinsec.net/2012/05/hybrid-hdd-ssd-raid1.html

https://superuser.com/questions/293144/combining-ssd-and-hard-disk-in-software-raid1

3
humppe

J'aimerais ajouter une recommandation différente au groupe de solutions possibles. Je vous recommanderais de baser votre configuration sur btrfs 'capacités de capture et d'instantané en combinaison avec un btrbkcronjob .

Cela n’est pas nécessairement simple, mais cela dépend en grande partie de vos compétences et de votre expérience antérieure. Il existe de nombreux ouvrages sur le net qui vous aideront. En fin de compte, vous êtes récompensé par un moyen très flexible et rapide de sauvegarder régulièrement votre SSD avec de nombreuses options pour créer une solution parfaitement adaptée à vos besoins.

Attention: toute forme de raid peut et ne doit jamais remplacer des sauvegardes régulières. (Heureusement, btrbk peut facilement être étendu à des lecteurs externes ou à un hôte ssh accessible, voir son manuel )

Configuration générale

L'idée générale de ma proposition est d'utiliser le disque SSD en tant que lecteur système btrfs contenant votre racine et les sous-volumes associés ainsi que les deux disques durs d'un disque btrfs raid1 en tant que lecteur de données et de sauvegarde.

Avec btrbk, cela vous permettra d’effectuer des sauvegardes incrémentielles automatisées de votre disque SSD système sur vos disques durs de sauvegarde. Et comme les disques durs sont configurés en miroir, toutes vos sauvegardes seront conservées en miroir.

De plus, la capacité de btrfs d’envoyer et de recevoir des sous-volumes (c’est ce que btrbk utilise pour effectuer des sauvegardes) vous permet de déplacer librement vos données et vos sauvegardes entre votre système et votre lecteur de données. Cela vous permettra de modifier les données stockées sur le SSD rapide, tout en conservant des sauvegardes versionnées et en miroir de toutes vos données.

Configuration btrfs

Pour commencer, vous devez soit réinstaller Ubuntu sur le SSD et sélectionner btrfs comme système de fichiers racine, soit convertir le système de fichiers de votre installation existante en btrfs. Les deux méthodes sont décrites dans le page d'aide de la communauté Ubuntu à propos de btrfs , ce qui est une bonne lecture en général, si vous démarrez simplement avec btrfs sur Ubuntu.

Ensuite, vous devez transformer les disques durs en btrfs raid1, avec la commande suivante, où /dev/sdx et /dev/sdy sont les deux lecteurs (Toutes les données de ces lecteurs seront perdu!) :

mkfs.btrfs -d raid1 /dev/sdx /dev/sdy

Si vous êtes novice dans les instantanés ou les fichiers btrfs, je vous recommande de vous familiariser avec la différence entre les dossiers, les sous-volumes et les instantanés et d'essayer certaines des commandes avant d'écrire des données sur votre raid1.

Vous pouvez organiser vos données de plusieurs façons et vous en trouverez des exemples dans le guide sysadmin du wiki du noyau du noyau btrfs.

Une façon de le faire est de monter votre racine btrfs (subvolid0 ou 5) quelque part et de l’utiliser pour gérer vos sous-volumes et vos instantanés et en outre stocker toutes les données dans des sous-volumes appropriés, que vous montez à des emplacements pratiques dans votre système de fichiers. De cette façon, vous pouvez capturer, déplacer, récupérer et remplacer des données à votre guise.

Pour votre exemple concret, cela pourrait signifier ce qui suit (toute commande doit être exécutée en tant que root/avec Sudo):

  • Montez la racine de votre système btrfs (subvolid=0) sur /btrfs/system
  • Montez vos données btrfs raid1 root (subvolid=0) sur /btrfs/data

Au lieu de monter ces volumes à la main, ajoutez-les à votre fstab (/etc/fstab) avant de les monter, afin qu'ils soient également montés au démarrage. Je recommanderais de les monter par leur UUID, que vous pouvez récupérer en exécutant Sudo btrfs filesystem show.

UUID=<UUID of system> /btrfs/system btrfs defaults,subvolid=0 0 0
UUID=<UUID of data> /btrfs/data btrfs defaults,subvolid=0 0 0

Maintenant montez les avec:

Sudo mkdir /btrfs
Sudo mkdir /btrfs/data
Sudo mount /btrfs/data
Sudo mkdir /btrfs/system
Sudo mount /btrfs/system

Vous pouvez maintenant ajouter des sous-volumes supplémentaires à chacun des systèmes de fichiers btrfs. Ubuntu crée normalement un sous-volume pour votre racine / (subvol=@) et votre répertoire de base /home (subvol=@home) par défaut. Il est courant de transformer /var ou /tmp en leurs propres sous-volumes ou de créer des sous-volumes spécifiques à une application, par exemple. pour /var/www/.

Personnellement, je préfère garder tous mes sous-volumes à la racine de btrfs et les monter à leurs emplacements spécifiques en utilisant les entrées mount et fstab.

Par exemple, pour créer un sous-volume pour votre collection de musique sur le disque dur RAID 1, procédez comme suit:

btrfs subvolume create /btrfs/data/@music

Je le monterais ensuite avec l’entrée fstab suivante dans /music:

UUID=<UUID of data> /music btrfs defaults,subvol=@music 0 0

Configuration de btrbk

Deuxièmement, vous devrez configurer btrbk pour les sous-volumes que vous souhaitez capturer et sauvegarder sur le RAID HDD.

Comme exemple simple sur la façon de sauvegarder @ et @home régulièrement et en gardant un historique régulier de votre sauvegarde, vous pouvez écrire ce qui suit dans /etc/btrbk.conf:

# The long timestamp recommended for more then one snapshot a day
timestamp_format        long

# Set time spacing of snapshots kept on SSD
snapshot_preserve_min      2d
snapshot_preserve          7d 4w 3m

# Set time spacing of snapshots kept on HDD raid
target_preserve_min        no
target_preserve            8w *m

snapshot_dir               /btrfs/system/snapshots

volume /btrfs/system
  subvolume @
    target send-receive /btrfs/data/backup/

  subvolume @home
    target send-receive /btrfs/data/backup/

Veuillez lire le documentation de btrbk pour plus de détails. Il vous expliquera également comment récupérer vos données à partir d’un instantané.

Enfin, vous devrez ajouter btrbk à votre crontab avec Sudo crontab -e. Par exemple. pour exécuter vos instantanés et vos sauvegardes btrbk tous les jours à midi, ajoutez la ligne suivante:

0 12 * * * /path/of/btrbk run

Autres considérations

Échanger

Bien qu’en général, il est de moins en moins nécessaire d'utiliser espace d'échange dans les ordinateurs modernes dotés d'au moins 8 Go de RAM, il existe encore des cas d'utilisation où cela peut vous aider, en particulier lorsqu'ils sont situés sur un ordinateur. SSD, où la performance de swapping n'est pas aussi perceptible. Par conséquent, il est toujours généralement recommandé de configurer un fichier d'échange ou une partition.

Cela dit, btrfs ne supporte pas les fichiers d'échange . Cela signifie que vous devrez allouer une partie de votre espace SSD dans une partition de swap séparée si vous souhaitez pouvoir utiliser le swap sur votre système.

détection SSD de btrfs

Btrfs détecte automatiquement si un système de fichiers monté est situé sur un disque SSD et active la mise à niveau dans ce cas.

Toutefois, cela n’est plus nécessaire, car les disques SSD modernes se mettent automatiquement à niveau, tout en posant des problèmes de fragmentation de l’espace libre. Je vous conseillerais donc personnellement de monter votre disque SSD avec l’option nossd.

Plus de détails peuvent être trouvés dans le btrfs kernel wiki .

Compression du système de fichiers

Btrfs supporte la compression de fichier transparente. En ajoutant l’option compress à vos indicateurs de montage, elle sera activée pour tous les nouveaux fichiers écrits.

Par exemple, pour activer la compression du sous-volume @music que j’avais utilisé précédemment en exemple, je modifierais mon entrée fstab en:

UUID=<UUID of data> /music btrfs defaults,compress,subvol=@music 0 0

Pour appliquer cette modification, n'oubliez pas de remonter (démonter et remonter) le sous-volume affecté.

Avec les ordinateurs les plus récents, la compression des fichiers avant l’écriture et après la lecture est souvent négligeable. L'écriture d'un fichier volumineux mais bien compressible sur un disque lent pourrait même être plus rapide avec la compression activée.

Si vous vous inquiétez de la vitesse, vous pouvez également utiliser la compression LZO plus rapide mais moins efficace avec compress=lzo.

Plus de détails peuvent encore être trouvés dans le wiki du noyau btrfs .

Emplacement du dossier de départ

Ubuntu place votre dossier personnel dans le sous-volume @home du lecteur système par défaut. Si vous rentrez chez vous, votre disque dur miroir correspond à vos préférences personnelles. Vous pouvez également le conserver sur le SSD et l'inclure dans votre sauvegarde btrbk, comme indiqué ci-dessus.

Intervalle de temps des sauvegardes

Bien que mon exemple définisse les mêmes temps de rétention pour tous les sous-volumes, btrbk vous permet de définir cette heure individuellement pour chacun d'eux.

Vous pouvez également exécuter btrbk avec différentes configurations (voir l'option -c) à différents intervalles pour mieux contrôler le moment où le sous-volume est pris en capture par AMD/ou sauvegardé.

Comme les instantanés sont rapidement créés, grâce à la nature de la copie sur écriture de btrfs, vous pouvez même demander à btrbk de créer un instantané toutes les heures, mais ne les transférez sur le disque de sauvegarde qu'une fois par jour, pour les dossiers souvent modifiés, comme à la maison. dossier.

Détection de la pourriture

Pour utiliser la détection btrfs bit rot/corruption de données (et la réparation automatique dans le cas de votre raid1), vous devez vous assurer d’exécuter un nettoyage btrfs à intervalles réguliers, par exemple. comme travail cron, avec:

btrfs scrub start /btrfs/system
btrfs scrub start /btrfs/data
2
Florian Franzen

Première question

Ne faites pas cela pour des raisons de performances. Cela dégrade les performances lorsque les E/S sont effectuées sur l'autre partition. Toutefois, si les performances ne vous concernent pas, mais que la redondance l’est, vous pouvez en tenir compte.

Deuxième question

Non, ne fais pas ça. La chaîne est aussi forte que le maillon le plus faible ici. Votre baie fonctionnera plus comme un disque dur et vous perdrez un SSD coûteux.

Au lieu de cela, utilisez ...

dm-cache ou flashcache (assez avancé et expérimental). Il vous permet d’utiliser votre disque SSD en tant que cache (lecture et écriture) pour vos disques durs plus lents. Gain de performance énorme et ajustable pour trouver un équilibre entre durabilité et performance.

Voir aussi: Comment installer et utiliser flashcache/bcache pour mettre en cache le disque dur sur SSD?

2
gertvdijk