GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Eine Anleitung zur Installation und Verwendung von ZFS unter CentOS 7

ZFS, die Kurzform von Zettabyte Filesystem, ist ein fortschrittliches und hochskalierbares Dateisystem. Es wurde ursprünglich von Sun Microsystems entwickelt und ist jetzt Teil des OpenZFS-Projekts. Bei so vielen Dateisystemen, die unter Linux verfügbar sind, ist es ganz natürlich zu fragen, was das Besondere an ZFS ist. Im Gegensatz zu anderen Dateisystemen ist es nicht nur ein Dateisystem, sondern auch ein logischer Volume-Manager. Einige der Funktionen von ZFS, die es beliebt machen, sind:

  • Datenintegrität - Datenkonsistenz und -integrität werden durch Copy-on-Write- und Prüfsummentechniken sichergestellt
  • Pooling von Speicherplatz - verfügbare Speicherlaufwerke können in einem einzigen Pool namens zpool zusammengefasst werden
  • Software-RAID - Das Einrichten eines raidz-Arrays ist so einfach wie die Ausgabe eines einzigen Befehls.
  • Integrierter Volume-Manager – ZFS fungiert auch als Volume-Manager.
  • Snapshots, Klone, Komprimierung – dies sind einige der erweiterten Funktionen, die ZFS bietet.

ZFS ist ein 128-Bit-Dateisystem und kann 256 Zetta-Bytes speichern! In diesem Handbuch lernen wir, wie man einige wichtige ZFS-Befehle auf einem CentOS 7-Server installiert, einrichtet und auch verwendet.

HINWEIS:Der Installationsteil ist spezifisch für den CentOS-Server, während die Befehle auf allen Linux-Systemen gleich sind

Terminologie

Bevor wir fortfahren, lassen Sie uns einige der Terminologien verstehen, die häufig in ZFS verwendet werden.

Pool

Logische Gruppierung von Speicherlaufwerken. Es ist der Grundbaustein von ZFS und von hier aus wird den Datensätzen Speicherplatz zugewiesen.

Datensätze

Die Komponenten des ZFS-Dateisystems, nämlich Dateisystem, Klone, Snapshots und Volumes, werden als Datasets bezeichnet.

Spiegel

Ein virtuelles Gerät, das identische Datenkopien auf zwei oder mehr Festplatten speichert. In Situationen, in denen eine Festplatte ausfällt, sind dieselben Daten auf anderen Festplatten dieser Spiegelung verfügbar.

Resilvering

Vorgang des Kopierens von Daten von einer Festplatte auf eine andere im Falle der Wiederherstellung eines Geräts.

Scrubben

Scrub wird zur Konsistenzprüfung in ZFS verwendet, so wie fsck in anderen Dateisystemen verwendet wird

ZFS installieren

Um ZFS auf CentOS zu installieren, müssen wir zuerst das EPEL-Repository für unterstützende Pakete und dann das ZFS-Repository einrichten, um die erforderlichen ZFS-Pakete zu installieren.

Hinweis:Bitte stellen Sie allen Befehlen sudo voran, wenn Sie nicht der Root-Benutzer sind.

yum localinstall --nogpgcheck http://epel.mirror.net.in/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el7.noarch.rpm

Installieren Sie nun die Kernel-Entwicklungs- und zfs-Pakete. Kernel-Entwicklungspakete werden benötigt, da ZFS als Modul erstellt und in den Kernel eingefügt wird.

yum install kernel-devel zfs

Überprüfen Sie, ob das zfs-Modul mit dem Befehl „lsmod“ in den Kernel eingefügt wurde, und falls nicht, fügen Sie es manuell mit dem Befehl „modprobe“ ein.

[root@li1467-130 ~]# lsmod |grep zfs

[root@li1467-130 ~]# modprobe zfs

[root@li1467-130 ~]# lsmod |grep zfs
zfs 2790271 0
zunicode 331170 1 zfs
zavl 15236 1 zfs
zcommon 55411 1 zfs
znvpair 89086 2 zfs,zcommon
spl 92029 3 zfs,zcommon,znvpair

Lassen Sie uns prüfen, ob wir die zfs-Befehle verwenden können:

[root@li1467-130 ~]# zfs list
no datasets available

Verwaltung

ZFS hat zwei Hauptdienstprogramme, zpool und zfs. Während sich zpool mit der Erstellung und Wartung von Pools unter Verwendung von Festplatten befasst, ist das Dienstprogramm zfs für die Erstellung und Wartung von Datensätzen verantwortlich.

zpool-Dienstprogramm

Pools erstellen und zerstören

Überprüfen Sie zuerst die verfügbaren Laufwerke, um einen Speicherpool zu erstellen.

[root@li1467-130 ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0  Mar 16 08:12 /dev/sda
brw-rw---- 1 root disk 8, 16 Mar 16 08:12 /dev/sdb
brw-rw---- 1 root disk 8, 32 Mar 16 08:12 /dev/sdc
brw-rw---- 1 root disk 8, 48 Mar 16 08:12 /dev/sdd
brw-rw---- 1 root disk 8, 64 Mar 16 08:12 /dev/sde
brw-rw---- 1 root disk 8, 80 Mar 16 08:12 /dev/sdf

Erstellen Sie einen Pool aus einer Reihe von Laufwerken.

zpool create <option> <pool name. <drive 1> <drive 2> .... <drive n>
[root@li1467-130 ~]# zpool create -f zfspool sdc sdd sde sdf

Der Befehl 'zpool status' zeigt den Status der verfügbaren Pools an

[root@li1467-130 ~]# zpool status
pool: zfspool
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
zfspool ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0

errors: No known data errors

Überprüfen Sie, ob die Pool-Erstellung erfolgreich war.

[root@li1467-130 ~]# df -h
Filesystem    Size   Used      Avail  Use%   Mounted on
/dev/sda      19G    1.4G        17G      8%      /
devtmpfs    488M        0      488M      0%     /dev
tmpfs          497M        0      497M      0%    /dev/shm
tmpfs          497M    50M     447M     11%   /run
tmpfs          497M         0     497M      0%   /sys/fs/cgroup
tmpfs          100M         0     100M      0%   /run/user/0
zfspool         3.7G         0       3.7G      0%  /zfspool

Wie Sie sehen können, hat zpool einen Pool namens „zfspool“ mit einer Größe von 3,7 GB erstellt und ihn auch in /zfspool gemountet.

Verwenden Sie zum Zerstören eines Pools den Befehl „zpool Destroy“

zpool destroy <pool name>

[root@li1467-130 ~]# zpool destroy zfspool
[root@li1467-130 ~]# zpool status
no pools available

Lassen Sie uns nun versuchen, einen einfachen Spiegelpool zu erstellen.

zpool create <option> <pool name> mirror <drive 1> <drive 2>... <drive n>

Wir können auch mehrere Mirrors gleichzeitig erstellen, indem wir das Mirror-Schlüsselwort gefolgt von den Laufwerken wiederholen.

[root@li1467-130 ~]# zpool create -f mpool mirror sdc sdd mirror sde sdf
[root@li1467-130 ~]# zpool status
pool: mpool
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
mpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0

errors: No known data errors

Im obigen Beispiel haben wir Spiegelpools mit jeweils zwei Festplatten erstellt.

Ebenso können wir einen Raidz-Pool erstellen.

[root@li1467-130 ~]# zpool create -f rpool raidz sdc sdd sde sdf
[root@li1467-130 ~]# zpool status
pool: rpool
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0

errors: No known data errors

Geräte in ZFS-Pools verwalten

Sobald ein Pool erstellt wurde, ist es möglich, Hotspares und Cache-Geräte zum Pool hinzuzufügen oder daraus zu entfernen, Geräte mit gespiegelten Pools zu verbinden oder von ihnen zu trennen und Geräte zu ersetzen. Aber nicht-redundante und raidz-Geräte können nicht aus einem Pool entfernt werden. Wir werden in diesem Abschnitt sehen, wie einige dieser Operationen durchgeführt werden.

Ich erstelle zuerst einen Pool namens „testpool“, der aus zwei Geräten besteht, sdc und sdd. Dieser wird dann eine weitere Geräte-sde hinzugefügt.

[root@li1467-130 ~]# zpool create -f testpool sdc sdd

[root@li1467-130 ~]# zpool add testpool sde
[root@li1467-130 ~]# zpool status
pool: testpool
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0

errors: No known data errors

Wie bereits erwähnt, kann ich dieses neu hinzugefügte Gerät nicht entfernen, da es sich nicht um einen redundanten oder raidz-Pool handelt.

[root@li1467-130 ~]# zpool remove testpool sde
cannot remove sde: only inactive hot spares, cache, top-level, or log devices can be removed

Aber ich kann diesem Pool eine Ersatzfestplatte hinzufügen und sie entfernen.

[root@li1467-130 ~]# zpool add testpool spare sdf
[root@li1467-130 ~]# zpool status
pool: testpool
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
spares
sdf AVAIL

errors: No known data errors
[root@li1467-130 ~]# zpool remove testpool sdf
[root@li1467-130 ~]# zpool status
pool: testpool
state: ONLINE
scan: none requested
config:

NAME        STATE       READ  WRITE   CKSUM
testpool    ONLINE       0          0               0
sdc            ONLINE       0           0               0
sdd            ONLINE      0            0               0
sde            ONLINE      0            0               0

errors: No known data errors

In ähnlicher Weise können wir den Befehl „attach“ verwenden, um Datenträger an einen gespiegelten oder nicht gespiegelten Pool anzuhängen, und den Befehl „distach“, um Datenträger aus einem gespiegelten Pool zu trennen.

zpool attach <options> <pool name> <device> <new device>

zpool detach <pool name> <device>

Wenn ein Gerät ausfällt oder beschädigt wird, können wir es mit dem Befehl „replace“ ersetzen.

zpool replace <options> <pool name> <device> <new device>

Wir werden dies testen, indem wir ein Gerät in einer gespiegelten Konfiguration gewaltsam beschädigen.

[root@li1467-130 ~]# zpool create -f testpool mirror sdd sde

Dadurch wird ein Spiegelpool erstellt, der aus den Festplatten sdd und sde besteht. Lassen Sie uns nun das SDD-Laufwerk absichtlich beschädigen, indem wir Nullen hineinschreiben.

[root@li1467-130 ~]# dd if=/dev/zero of=/dev/sdd
dd: writing to ‘/dev/sdd’: No space left on device
2048001+0 records in
2048000+0 records out
1048576000 bytes (1.0 GB) copied, 22.4804 s, 46.6 MB/s

Wir werden den 'scrub'-Befehl verwenden, um diese Beschädigung zu erkennen.

[root@li1467-130 ~]# zpool scrub testpool
[root@li1467-130 ~]# zpool status
pool: testpool
state: ONLINE
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-4J
scan: scrub repaired 0 in 0h0m with 0 errors on Fri Mar 18 09:59:40 2016
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdd UNAVAIL 0 0 0 corrupted data
sde ONLINE 0 0 0

errors: No known data errors

Wir werden jetzt sdd durch sdc ersetzen.

[root@li1467-130 ~]# zpool replace testpool sdd sdc; zpool status
pool: testpool
state: ONLINE
scan: resilvered 83.5K in 0h0m with 0 errors on Fri Mar 18 10:05:17 2016
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
replacing-0 UNAVAIL 0 0 0
sdd UNAVAIL 0 0 0 corrupted data
sdc ONLINE 0 0 0
sde ONLINE 0 0 0

errors: No known data errors

[root@li1467-130 ~]# zpool status
pool: testpool
state: ONLINE
scan: resilvered 74.5K in 0h0m with 0 errors on Fri Mar 18 10:00:36 2016
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdc ONLINE 0 0 0
sde ONLINE 0 0 0

errors: No known data errors

Migration von Pools

Wir können Speicherpools mithilfe von Export- und Importbefehlen zwischen verschiedenen Hosts migrieren. Dazu sollten die im Pool verwendeten Platten auf beiden Systemen verfügbar sein.

[root@li1467-130 ~]# zpool export testpool
[root@li1467-130 ~]# zpool status
no pools available

Der Befehl 'zpool import' listet alle Pools auf, die für den Import zur Verfügung stehen. Führen Sie diesen Befehl auf dem System aus, in das Sie den Pool importieren möchten.

[root@li1467-131 ~]# zpool import
pool: testpool
id: 3823664125009563520
state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:

testpool ONLINE
sdc ONLINE
sdd ONLINE
sde ONLINE

Importieren Sie nun den benötigten Pool

[root@li1467-131 ~]# zpool import testpool
[root@li1467-131 ~]# zpool status
pool: testpool
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0

errors: No known data errors

iostat

Man kann die io-Statistiken der Pool-Geräte mit dem Befehl iostat überprüfen.

[root@li1467-130 ~]# zpool iostat -v testpool
capacity          operations                        bandwidth
pool          alloc      free            read     write             read   write
----------    -----     -----            -----     -----                -----   -----
testpool    1.80M  2.86G        22            27               470K  417K
sdc             598K   975M           8              9               200K  139K
sdd             636K  975M            7              9                135K  139K
sde             610K   975M           6              9                 135K 139K
----------   -----     -----           -----          -----               -----  -----

zfs-Dienstprogramm

Wir werden nun zum Dienstprogramm zfs übergehen. Hier sehen wir uns an, wie Datensätze erstellt und zerstört werden, Dateisystemkomprimierung, Kontingente und Snapshots.

Dateisystem erstellen und zerstören

Das ZFS-Dateisystem kann mit dem Befehl zfs create

erstellt werden
zfs create <filesystem>
[root@li1467-130 ~]# zfs create testpool/students
[root@li1467-130 ~]# zfs create testpool/professors
[root@li1467-130 ~]# df -h
Filesystem                    Size             Used          Avail          Use%          Mounted on
/dev/sda                       19G              1.4G          17G             8%                     /
devtmpfs                   488M                  0      488M             0%                    /dev
tmpfs                          497M                  0       497M            0%                   /dev/shm
tmpfs                          497M            50M       447M           11%                  /run
tmpfs                          497M                 0        497M            0%                /sys/fs/cgroup
testpool                       2.8G                  0         2.8G            0%               /testpool
tmpfs                          100M                  0        100M            0%             /run/user/0
testpool/students     2.8G                   0         2.8G             0%            /testpool/students
testpool/professors  2.8G                   0         2.8G             0%           /testpool/professors

Beachten Sie bei der obigen Ausgabe, dass, obwohl zum Zeitpunkt der Dateisystemerstellung kein Einhängepunkt angegeben ist, der Einhängepunkt unter Verwendung derselben Pfadbeziehung wie die des Pools erstellt wird.

zfs create erlaubt die Verwendung von -o, wodurch wir Optionen wie Einhängepunkt, Komprimierung, Quota, Exec usw. angeben können.

Man kann das verfügbare Dateisystem mit zfs list auflisten:

[root@li1467-130 ~]# zfs list
NAME                           USED     AVAIL     REFER    MOUNTPOINT
testpool                         100M       2.67G       19K         /testpool
testpool/professors        31K     1024M   20.5K        /testpool/professors
testpool/students        1.57M     98.4M   1.57M      /testpool/students

Wir können ein Dateisystem mit der Destroy-Option

zerstören
zfs destroy <filesystem>

Komprimierung

Wir werden jetzt verstehen, wie die Komprimierung in ZFS funktioniert. Bevor wir mit der Verwendung der Komprimierung beginnen, müssen wir sie mit 'Komprimierung festlegen'

aktivieren
zfs set <compression=value> <filesystem|volume|snapshot>

Sobald dies erledigt ist, erfolgt die Komprimierung und Dekomprimierung im laufenden Betrieb transparent auf dem Dateisystem.

In unserem Beispiel werde ich die Komprimierung für das Studentenverzeichnis mit dem lz4-Komprimierungsalgorithmus aktivieren.

[root@li1467-130 ~]# zfs set compression=lz4 testpool/students

Ich werde jetzt eine Datei der Größe 15M in dieses Dateisystem kopieren und die Größe nach dem Kopieren überprüfen.

[root@li1467-130 /]# cd /var/log
[root@li1467-130 log]# du -h secure
15M secure

[root@li1467-130 ~]# cp /var/log/secure /testpool/students/

[root@li1467-130 students]# df -h .
Filesystem               Size     Used   Avail    Use%      Mounted on
testpool/students   100M   1.7M   99M        2%      /testpool/students

Beachten Sie, dass die im Dateisystem verwendete Größe nur 1,7 MB beträgt, während die Dateigröße 15 MB betrug. Wir können auch das Komprimierungsverhältnis überprüfen..

[root@li1467-130 ~]# zfs get compressratio testpool
NAME      PROPERTY         VALUE            SOURCE
testpool    compressratio     9.03x                     -

Kontingente und Reservierung

Lassen Sie mich Quoten anhand eines realen Beispiels erklären. Angenommen, wir haben in einer Universität die Anforderung, den vom Dateisystem für Professoren und Studenten verwendeten Speicherplatz zu begrenzen. Nehmen wir an, dass wir 100 MB für Studenten und 1 GB für Professoren zuweisen müssen. Wir können in ZFS „Kontingente“ verwenden, um diese Anforderung zu erfüllen. Quoten stellen sicher, dass der von einem Dateisystem belegte Speicherplatz die festgelegten Grenzen nicht überschreitet. Die Reservierung hilft bei der tatsächlichen Zuweisung und Gewährleistung, dass die erforderliche Menge an Speicherplatz für das Dateisystem verfügbar ist.

zfs set quota=<value> <filesystem|volume|snapshot>

zfs set reservation=<value> <filesystem|volume|snapshot>
[root@li1467-130 ~]# zfs set quota=100M testpool/students
[root@li1467-130 ~]# zfs set reservation=100M testpool/students
[root@li1467-130 ~]# zfs list
NAME                          USED      AVAIL    REFER    MOUNTPOINT
testpool                        100M       2.67G       19K        /testpool
testpool/professors      19K       2.67G        19K       /testpool/professors
testpool/students      1.57M       98.4M    1.57M    /testpool/students

[root@li1467-130 ~]# zfs set quota=1G testpool/professors
[root@li1467-130 ~]# zfs list
NAME                           USED     AVAIL    REFER    MOUNTPOINT
testpool                         100M     2.67G       19K          /testpool
testpool/professors       19K    1024M       19K         /testpool/professors
testpool/students       1.57M    98.4M    1.57M       /testpool/students

Im obigen Beispiel haben wir 100 MB für Studenten und 1 GB für Professoren zugewiesen. Beachten Sie die Spalte „AVAIL“ in „zfs list“. Anfangs hatten sie jeweils eine Größe von 2,67 GB und nach dem Festlegen des Kontingents haben sich die Werte entsprechend geändert.

Schnappschüsse

Snapshots sind schreibgeschützte Kopien des ZFS-Dateisystems zu einem bestimmten Zeitpunkt. Sie verbrauchen keinen zusätzlichen Speicherplatz im zfs-Pool. Wir können entweder zu einem späteren Zeitpunkt auf denselben Zustand zurücksetzen oder nur eine einzelne oder eine Gruppe von Dateien gemäß den Benutzeranforderungen extrahieren.

Ich werde jetzt einige Verzeichnisse und eine Datei unter „/testpool/professors“ aus unserem vorherigen Beispiel erstellen und dann einen Schnappschuss dieses Dateisystems machen.

[root@li1467-130 ~]# cd /testpool/professors/

[root@li1467-130 professors]# mkdir maths physics chemistry

[root@li1467-130 professors]# cat > qpaper.txt
Question paper for the year 2016-17
[root@li1467-130 professors]# ls -la
total 4
drwxr-xr-x  5  root root    6   Mar 19 10:34 .
drwxr-xr-x  4  root root    4   Mar 19 09:59 ..
drwxr-xr-x  2  root root    2   Mar 19 10:33 chemistry
drwxr-xr-x  2  root root    2   Mar 19 10:32 maths
drwxr-xr-x  2  root root    2   Mar 19 10:32 physics
-rw-r--r--     1  root root  36   Mar 19 10:35 qpaper.txt

Um einen Schnappschuss zu erstellen, verwenden Sie die folgende Syntax:

zfs snapshot <filesystem|volume@<snap>>
[root@li1467-130 professors]# zfs snapshot testpool/professors@03-2016
[root@li1467-130 professors]# zfs list -t snapshot
NAME                                             USED         AVAIL     REFER     MOUNTPOINT
testpool/professors@03-2016       0                -                20.5K          -

Ich werde jetzt die erstellte Datei löschen und aus den Snapshots extrahieren

[root@li1467-130 professors]# rm -rf qpaper.txt
[root@li1467-130 professors]# ls
chemistry maths physics
[root@li1467-130 professors]# cd .zfs
[root@li1467-130 .zfs]# cd snapshot/03-2016/
[root@li1467-130 03-2016]# ls
chemistry maths physics qpaper.txt

[root@li1467-130 03-2016]# cp -a qpaper.txt /testpool/professors/
[root@li1467-130 03-2016]# cd /testpool/professors/
[root@li1467-130 professors]# ls
chemistry maths physics qpaper.txt

Die gelöschte Datei ist wieder an ihrem Platz.

Wir können alle verfügbaren Snapshots mit zfs list auflisten:

[root@li1467-130 ~]# zfs list -t snapshot
NAME                                             USED     AVAIL    REFER    MOUNTPOINT
testpool/professors@03-2016    10.5K       -              20.5K       -

Lassen Sie uns zum Schluss den Snapshot mit dem Befehl zfs destroy zerstören:

zfs destroy <filesystem|volume@<snap>>
[root@li1467-130 ~]# zfs destroy testpool/professors@03-2016

[root@li1467-130 ~]# zfs list -t snapshot
no datasets available

Schlussfolgerung

In diesem Artikel haben Sie gelernt, wie Sie ZFS unter CentOS 7 installieren und einige grundlegende und wichtige Befehle der Dienstprogramme zpool und zfs verwenden. Dies ist keine vollständige Liste. ZFS hat viel mehr Möglichkeiten und Sie können sie auf der offiziellen Seite weiter erkunden.


Cent OS
  1. So installieren und verwenden Sie PHP Composer unter CentOS 7

  2. So installieren und verwenden Sie ifconfig unter CentOS 7

  3. So installieren und verwenden Sie Docker unter CentOS 7

  4. So installieren und verwenden Sie Docker Compose unter CentOS 7

  5. So installieren und verwenden Sie TeamSpeak Server unter CentOS 7

So installieren und verwenden Sie SSHFS unter CentOS 7

Installieren und verwenden Sie Docker Compose unter CentOS 8

Installieren und verwenden Sie NoMachine Remote Desktop unter CentOS 8

So installieren und verwenden Sie TermRecord unter CentOS 8

So installieren und verwenden Sie TermRecord unter CentOS 8

So installieren und verwenden Sie Traceroute unter CentOS 7