Merge pull request #752 from YunoHost/rework-external-storage

Rework external storage doc
This commit is contained in:
Alexandre Aubin 2018-06-23 02:44:49 +02:00 committed by GitHub
commit 2fa3b76edc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 234 additions and 156 deletions

View file

@ -30,6 +30,7 @@
* [Backup](/backup)
* Going further
* [Improving security](/security)
* [Adding an external storage](/external_storage)
* [Migrating emails to YunoHost](/email_migration)
* [Hide services with Tor](/torhiddenservice)
* [Troubleshooting guide](/troubleshooting_guide)

View file

@ -40,7 +40,7 @@
* [SFR](/isp_sfr_fr)
* [Orange](/isp_orange_fr)
* [Free](/isp_free_fr)
* [Ajouter un stockage externe](/external_storage_0_intro_fr)
* [Ajouter un stockage externe](/external_storage_fr)
* [Migrer ses emails vers YunoHost](/email_migration_fr)
* [YunoHost avec un service caché Tor](/torhiddenservice_fr)
* [Utilisation de certificats autres que Let's Encrypt](/certificate_custom_fr)

View file

@ -1,6 +1,6 @@
# Migrer les données de Nextcloud
**Remarque** : Ce qui suit suppose que vous avez un disque dur monté sur `/media/stockage`. Référez-vous à [cet article](/external_storage_0_intro_fr) pour préparer votre système.
**Remarque** : Ce qui suit suppose que vous avez un disque dur monté sur `/media/stockage`. Référez-vous à [cet article](/external_storage_fr) pour préparer votre système.
**Remarque** : Remplacez `nextcloud` par le nom de son instance, si vous avez plusieurs apps Nextcloud installées.

116
external_storage.md Normal file
View file

@ -0,0 +1,116 @@
# Adding an external storage to your server
## Introduction
If you did not allocate a large partition to `/home` before installing YunoHost, and that your apps require a lot of spaces, you can still add an external driver after setting up your system.
## Before starting
Even though these steps are relatively simple, they may appear technical. In any case, they require you to **take your time**.
You should be connected as root on your server, for instance via [SSH](/ssh). (Note: being logged as `admin`, you can upgrade to `root` with the command `sudo su`)
It can be useful to [create a backup](/backup) of your install before starting.
You should also have your external drive (plugged via USB or SATA).
## 1. Connect and identify the disk
Start by connecting your drive to the system. You shall then identify which name is used by the system to refer to the disk.
You can do this with this command :
```bash
lsblk
```
It may yield something like this :
```bash
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
└─sda1 8:1 0 931.5G 0 part
mmcblk0 179:0 0 14.9G 0 disk
├─mmcblk0p1 179:1 0 47.7M 0 part /boot
└─mmcblk0p2 179:2 0 14.8G 0 part /
```
Here, `mmcblk0` corresponds to an SD card of 16Go (the partitions `mmcblk0p1` et `mmcblk0p2` are used as the boot partition `/boot` and the system partition `/`). The external drive is `sda` which is about 1TB and has only one partition `sda1` which is not mounted (no "MOUNTPOINT").
<div class="alert alert-warning" markdown="1">
<span class="glyphicon glyphicon-warning-sign"></span> On a different setup, your system partition might be `sda` and so your external drive might be `sdb` for instance.
</div>
## 2. (Optionnal) Format the disk
If you want, you can format the disk before starting to use it. You should be aware that **formating a drive implies to erasing every data on it !** If your disk is already "clean", you may ignore this step.
To format the partition :
```bash
mkfs.ext4 /dev/YOUR_DISK
# then 'y' to validate
```
(Replace `YOUR_DISK` by the name of the disk. Be careful not to do any mistake here, as it can mean erasing data on your main system if you are using the wrong name ! In the previous example, the name of our disk was `sda`.)
Then, let's create a new partition on the disk which just got formatted :
```bash
fdisk /dev/YOUR_DISK
```
then sucessfully type `n`, `p`, `1`, `Enter`, `Enter`, then `w` to create the new partition.
Check with `lsblk` that your disk really does contain a single partition.
## 3. Mount the disk
"Mounting" a disk corresponds to making it effectively accessible in the filesystem tree. Here, we choose the arbitrary name `/media/storage` but you can choose a different name (for instance, `/media/my_disk` ... ).
Let's start by creating the directory :
```bash
mkdir /media/storage
```
Then we can manually mount the disk with :
```bash
mount /dev/YOUR_DISK1 /media/storage
```
(Here, `/dev/YOUR_DISK1` corresponds to the first partition on the disk)
Next, you should be able to create files in `/media/stockage`, and, for instance, add `/media/stockage` as an external drive in Nextcloud.
## 4. Mount the disk automatically at boot
So far, we only mounted the disk manually. But it can be nice and useful to have it being mounted automatically at each boot.
Let's start by finding the UUID (universal identifier) of the disk with :
```bash
blkid | grep "/dev/YOUR_DISK1:"
# Should return something like
# /dev/sda1:UUID="cea0b7ae-2fbc-4f01-8884-3cb5884c8bb7" TYPE="ext4" PARTUUID="34e4b02c-02"
```
Let's add a line in the file `/etc/fstab` which manages which disks are mounted at boot. We open this file with `nano` :
```bash
nano /etc/fstab
```
And add this line :
```bash
UUID="cea0b7ae-2fbc-4f01-8884-3cb5884c8bb7" /media/storage ext4 defaults,nofail 0 0
```
(this line should be adapated according to previous info and choices)
Use Ctrl+X then `y` to save.
You can then reboot the system to test if the disk is mounted automatically.

View file

@ -1,35 +0,0 @@
# Stockage externe
## Introduction
Si vous n'avez pas dédié une grande partition à `/home` avant d'installer YunoHost, et que vos applications nécessitent beaucoup d'espace disque, vous pouvez toujours ajouter un disque externe *a posteriori*.
Cet article prend l'exemple de la migration du répertoire `data` de Nextcloud. Il se veut cependant modulaire, et vous pouvez suivre les instructions qui suffisent à vos besoins. Vous pourrez ainsi suivre les étapes pour préparer un disque dur vierge, monter ce même disque dur ou un autre avec des données déjà présentes, et enfin migrer les données de Nextcloud.
## Préalables
Attention, les étapes à réaliser, même si elles sont relativement simples, peuvent parfois paraître techniques et nécessitent dans tous les cas **de prendre son temps**.
Vous devez également être root sur votre système (avec la commande su ou sudo -i).
Il est recommandé de **faire un backup** de votre installation https://yunohost.org/#/backup; ou alors de copier l'image de votre carte sd ou disque dur.
Vous devez également disposer d'un disque dur supplémentaire (branché en usb ou en sata).
## Etapes
1. [Préparer un disque dur](/external_storage_1_prep_fr)
2. [Monter un disque dur avec `/etc/fstab`](/external_storage_2_mount_fr)
3. [Migrer les données et modifier la configuration de Nextcloud](/app_nextcloud_fr)
**Sources**
[https://soozx.fr/deplacer-repertoire-donnees-data-nextcloud-sur-disque-externe/](https://soozx.fr/deplacer-repertoire-donnees-data-nextcloud-sur-disque-externe/)
[https://max-koder.fr/2017/07/19/yunohost-nextcloud-sur-un-disque-dur-externe/](https://max-koder.fr/2017/07/19/yunohost-nextcloud-sur-un-disque-dur-externe/)
[https://doc.ubuntu-fr.org/tutoriel/comment_ajouter_un_disque_dur](https://doc.ubuntu-fr.org/tutoriel/comment_ajouter_un_disque_dur)
[https://www.it-connect.fr/ajouter-un-disque-dur-sous-linux/](https://www.it-connect.fr/ajouter-un-disque-dur-sous-linux/)

View file

@ -1,61 +0,0 @@
# Préparer un disque dur
Commencez par brancher ce disque dur à votre système. Si vous souhaitez partir de zéro, si votre disque n'est pas formaté, il faut le formater.
**Attention** : Ne faites pas ces étapes s'il y a des données sur ce disque que vous souhaitez conserver. Passez directement à [l'étape de montage](/external_storage_2_mount_fr).
Commencez par trouver le nom de son disque avec la commande:
```bash
fdisk -l
```
Vous devriez avoir un retour sous la forme de:
```bash
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 8192 131071 122880 60M c W95 FAT32 (LBA)
/dev/mmcblk0p2 131072 30716288 30585217 14,6G 83 Linux
/dev/mmcblk0p3 30716289 31116287 399999 195,3M 83 Linux
Disk /dev/sda: 14,9 GiB, 16013852672 bytes, 31277056 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: 0x0975cb23
Device Boot Start End Sectors Size Id Type
/dev/sda1 0 3053567 3053568 14 0 Empty
```
La ligne qui concerne le nouveau disque est celle qui se présente sous la forme
```bash
/dev/sdaX
```
Pour créer une partition, faites *(changez le X par la lettre et le chiffre que vous avez chez vous, par exemple `sda1, sdb1, sdc1`)*:
```bash
fdisk /dev/sdaX
```
Il faudra ensuite entrer les réponses:
```bash
"m"
"n"
"p"
"w"
```
Pour formater votre disque:
```bash
mkfs.ext4 /dev/sdX
```
*Pour plus de détail sur le formatage, référez-vous à cet article [1](https://doc.ubuntu-fr.org/tutoriel/comment_ajouter_un_disque_dur) ou à celui-là [2](https://www.it-connect.fr/ajouter-un-disque-dur-sous-linux/). L'important pour la suite est de bien formater son disque en ext4, quand au nombre de partition, il est laissé à votre discrétion.*
La suite du tutoriel : [monter un disque](/external_storage_2_mount_fr).

View file

@ -1,58 +0,0 @@
# Monter un disque dur
**Remarque** : vous pouvez nommer votre point de montage comme vous le souhaitez, cet article prend l'exemple de `/media/stockage`.
Choisissez où votre système accédera au stockage externe. Créez un répertoire de montage avec la commande:
```
mkdir /media/stockage
```
Pour faire le lien entre ce répertoire de montage et le disque externe, nous avons besoin de l'identifier.
```
blkid
```
Cette commande renvoit quelque chose de ce genre:
```
root@bureauM2P:~# blkid
/dev/mmcblk0p1: SEC_TYPE="msdos" LABEL="boot" UUID="DF8E-C7AE" TYPE="vfat" PARTUUID="34e4b02c-01"
/dev/mmcblk0p2: UUID="cea0b7ae-2fbc-4f01-8884-3cb5884c8bb7" TYPE="ext4" PARTUUID="34e4b02c-02"
/dev/sdX:UUID="cea0b7ae-2fbc-4f01-8884-3cb5884c8bb7" TYPE="ext4" PARTUUID="34e4b02c-02"
```
La ligne qui concerne le disque à monter est celle qui est sous la forme de:
```
/dev/sdX:UUID="cea0b7ae-2fbc-4f01-8884-3cb5884c8bb7" TYPE="ext4" PARTUUID="34e4b02c-02"
```
Utilisez l'UUID pour modifier le fichier `/etc/fstab` qui gère le montage des partitions.
```
nano /etc/fstab
```
Dans ce fichier, ajouter à la fin cette ligne (adaptez bien l'UUID avec celui de VOTRE disque, `/media/data` avec le répertoire créé plus tôt, et `ext4` le type de partition relevé par `blkid`):
```
UUID="cea0b7ae-2fbc-4f01-8884-3cb5884c8bb7" /media/stockage ext4 defaults,nofail 0 0
```
Faites `ctrl+x` puis `o` pour sauvegarder.
Testez le montage avec la commande:
```
mount /media/stockage
```
Terminez en redémarrant votre système.
```
reboot now
```
La suite du tutoriel : [migrer les données de Nextcloud](/app_nextcloud_fr).

115
external_storage_fr.md Normal file
View file

@ -0,0 +1,115 @@
# Ajouter un stockage externe à son serveur
## Introduction
Si vous n'avez pas dédié une grande partition à `/home` avant d'installer YunoHost, et que vos applications nécessitent beaucoup d'espace disque, vous pouvez toujours ajouter un disque externe *a posteriori*.
## Avant de commencer
Les étapes à réaliser, même si elles sont relativement simples, peuvent parfois paraître techniques et nécessitent dans tous les cas **de prendre son temps**.
Vous devez également être connecté en root sur votre système, par exemple via [SSH](/ssh). (Note : en étant connecté en tant qu'utilisateur `admin`, vous pouvez passer root avec `sudo su`)
Il peut être utilise de [faire un backup](/backup) de votre installation.
Vous devez également disposer d'un disque dur supplémentaire (branché en USB ou en SATA).
## 1. Connecter et identifier le disque
Commencez par brancher ce disque dur à votre système. Il faut ensuite identifier sous quel nom est désigné le disque par le système.
Pour cela, utilisez la commande :
```bash
lsblk
```
Elle peut renvoyer quelque chose comme :
```bash
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
└─sda1 8:1 0 931.5G 0 part
mmcblk0 179:0 0 14.9G 0 disk
├─mmcblk0p1 179:1 0 47.7M 0 part /boot
└─mmcblk0p2 179:2 0 14.8G 0 part /
```
Ici, `mmcblk0` corresponds à une carte SD de 16Go (on voit que les partitions `mmcblk0p1` et `mmcblk0p2` correspondent à la partition de démarrage `/boot` et à la partition système `/`). Le disque dur branché corresponds à `sda` qui fait environ 1To, et contient une seule partition `sda1` qui n'est pas monté (pas de "MOUNTPOINT").
<div class="alert alert-warning" markdown="1">
<span class="glyphicon glyphicon-warning-sign"></span> Sur un autre système, il se peut que votre système soit installé sur `sda` et que votre disque soit alors `sdb` par exemple.
</div>
## 2. (Optionnel) Formater le disque
Si vous le souhaitez, vous pouvez formater votre disque avant de l'utiliser. Attention : **formatter un disque implique de supprimer toutes les données inscrites dessus !** Si votre disque est déjà "propre", vous pouvez passer cette étape.
Pour formater la partition :
```bash
mkfs.ext4 /dev/VOTRE_DISQUE
# puis 'y' pour valider
```
(Remplacez `VOTRE_DISQUE` par le nom du disque. Attention à ne pas vous tromper de nom, car cela peut avoir pour conséquence de formatter un autre disque que celui voulu ! Dans l'exemple donné précédemment, il s'agissait de `sda`.)
Ensuite, créons une nouvelle partition sur le disque qui viens d'être formatté :
```bash
fdisk /dev/VOTRE_DISQUE
```
puis entrez successivement `n`, `p`, `1`, `Entrée`, `Entrée`, et `w` pour créer une nouvelle partition.
Vérifiez avec `lsblk` que vous avez bien votre disque contenant une seule partition.
## 3. Monter le disque
"Monter" un disque corresponds à le rendre effectivement accessible dans l'arborescence des fichiers. Nous allons choisir arbitrairement de monter le disque dans `/media/stockage` mais vous pouvez le nommer différement (par exemple `/media/mon_disque` ...).
Commençons par cŕeer le répertoire :
```bash
mkdir /media/stockage
```
Puis nous pouvons monter le disque manuellement avec :
```bash
mount /dev/VOTRE_DISQUE1 /media/stockage
```
(Ici, `/dev/VOTRE_DISQUE1` corresponds à la première partition sur le disque)
Ensuite, vous devriez pouvoir créer des fichiers dans `/media/stockage`, et, par exemple, ajouter `/media/stockage` comme périphérique externe dans Nextcloud.
## 4. Monter le disque automatiquement au démarrage
Jusqu'ici, nous avons monté manuellement le disque. Cependant, il peut être utile de configurer le système pour qu'il monte automatiquement le disque après un démarrage.
Pour commencer, trouvons l'UUID (identifiant universel) de notre disque avec :
```bash
blkid | grep "/dev/VOTRE_DISQUE1:"
# Retourne quelque chose comme :
# /dev/sda1:UUID="cea0b7ae-2fbc-4f01-8884-3cb5884c8bb7" TYPE="ext4" PARTUUID="34e4b02c-02"
```
Ajoutons alors une ligne au fichier `/etc/fstab` qui gère le montage des disques au démarrage. On ouvre donc le fichier avec `nano` :
```bash
nano /etc/fstab
```
Puis on ajoute cette ligne :
```bash
UUID="cea0b7ae-2fbc-4f01-8884-3cb5884c8bb7" /media/stockage ext4 defaults,nofail 0 0
```
(il faut adapter cette ligne en fonction des informations et choix précédents)
Utiliser Ctrl+X puis `o` pour sauvegarder.
Vous pouvez ensuite tester de redémarrer le système pour voir si le disque est monté automatiquement.