Table des matières

, , ,

Odroid XU4Q: NAS

Principales fonctions:

Raid

Choix d'un raid 1 logiciel (miroir): Le plus simple à restaurer en cas de défaillance.

apt-get install mdadm

Préparer les disques

Création d'une table GPT avec une seule partition:

apt-get install parted

Pour chacun des deux disques, depuis parted en mode interactif:

(parted) mkpart primary 0% 100%
(parted) name 1 raid1
(parted) set 1 raid on

Les commandes suivantes permettent:

La commande print permet de vérifier les changements apportés:

(parted) print
Model: TOSHIBA External USB 3.0 (scsi)
Disk /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name   Flags
 1      1049kB  4001GB  4001GB               raid1  raid

Création du volume RAID

Assembler les partitions en un volume RAID1:

mdadm --create /dev/md0 --level=1 --raid-devices=2  /dev/sda1 /dev/sdb1

Déclarer le nouveau groupe RAID dans le fichier de configuration afin qu'il soit automatiquement reconstruit au prochain redémarrage:

mdadm --detail --scan --verbose >> /etc/mdadm/mdadm.conf
update-initramfs -u

Pour davantage de détails concernant la gestion du RAID logiciel sous gnu/linux confère wiki raid-logiciel.

si l’hôte est redémarré avant la fin de la synchronisation des disques et qu'elle ne reprend pas, voir wiki troubleshooting.

lvm

On définit un volume physique LVM sur le Raid logiciel:

pvcreate /dev/md0

Après cette opération, un nouveau volume physique est disponible, il doit être listé par:

pvscan

On rattache le volume physique LVM à un groupe de volume LVM:

vgcreate vgdata /dev/md0

Création de trois volumes logiques LVM: userdata, backup et log:

lvcreate --size 1T --name userdata vgdata
lvcreate --size 1T --name backup vgdata
lvcreate --size 20G --name log vgdata

Création des systèmes de fichiers

Création des systèmes de fichiers

mkfs.ext4 /dev/vgdata/userdata
tune2fs -m 0 /dev/vgdata/userdata
 
mkfs.ext4 /dev/vgdata/backup
tune2fs -m 0 /dev/vgdata/backup
 
mkfs.ext4 /dev/vgdata/log
tune2fs -m 1 /dev/vgdata/log

Montages

Centralisation des logs

rsyslog

elasticsearch

Les paquets par défaut d'elasticsearch incluent la JVM pour des architectures x86 ou amd64 non compatibles avec la Odroid XU4Q. On installe la JRE compilée pour ARM

# installation de la machine virtuelle java
apt-get install default-jre

Modifier /etc/profile

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:/bin/java::")
export PATH=$JAVA_HOME/bin:$PATH

Ici on récupère une version sans la JRE:

wget "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-no-jdk-amd64.deb"

Les dépendances du paquet peuvent être listées via:

dpkg-deb --info elasticsearch-7.7.0-no-jdk-amd64.deb

Ici nous forçons l'installation du paquet sans tenir compte de la dépendance à la libc6.

dpkg --force-all --ignore-depends=libc6 -i elasticsearch-7.7.0-no-jdk-amd64.deb

Apres installation, afin d'eviter les erreurs de dépendances lors de l'installation de nouveaux paquetages via apt, modifier le fichier /var/lib/dpkg/status

Retrouver le package elasticsearch, et supprimer la dépendance libc6 sur la ligne Depends:

mkdir /srv/elasticsearch
chmod 750 elasticsearch
chown elasticsearch:elasticsearch elasticsearch/
 
 
lvcreate --size 40G --name elasticsearch vgdata
mkfs.ext4 /dev/vgdata/elasticsearch
tune2fs -m 0 /dev/vgdata/elasticsearch

modifier le fichier configuration de l'unité systemd:



Troubleshooting

Lors du lancement du service via systemd, les journaux retournent les messages suivants:



Il est possible de récupérer le jar

wget -P /usr/share/elasticsearch/lib/ "https://repo1.maven.org/maven2/net/java/dev/jna/jna/4.5.1/jna-4.5.1.jar"

Les disques s'arrêtent après quelques minutes d'inactivité:

hdparm permet de désactiver l'economie d'energie (APM) et l'arret de la rotation des disques:

hdparm -B 255 -S 0 /dev/sdb

Partage NFS

apt-get install nfs-kernel-server 

Sécurité

création d'un compte utilisateur local et désactivation du compte odroid présent par défaut:

adduser john
usermod --append --groups adm john
le groupe adm permettra a l'utilisateur john d'accéder aux privilèges root (sudo).

Installation/activation ufw

Références