Сохранение файлов резервных копий

Сообщения
7
#1
Есть программа, выполняющая резервное копирование данных с нескольких машин в одно место (общий диск, подключённый к одной из машин). Возник вопрос, каким образом лучше подключить этот общий диск ко всем машинам, с которых производится резервное копирование.
Объёмы данных могут быть довольно большими, поэтому способ передачи должен быть достаточно быстрым и надёжным (операции с общим диском не должны виснуть, или терять данные). При этом одновременная работа с одним файлом с разных машин не планируется.
Операционная система - Astra Linux SE 1.5.
Я пробовал NFS, но он работает не очень быстро и часто виснет (так, что даже перемонтирование не помогает). CIFS, говорят, тоже не быстрый.
Машины подключены к SAN, поэтому можно подключить один диск к нескольким машинам. Но обычные ФС не поддерживают одновременное монтирование (даже если rw только на одной машине, а на остальных ro). Нужна какая-то специальная файловая система, поддерживающая такую возможность. Я нашёл, что есть ФС GFS2, модуль ядра в астре под него есть, но насколько хорошо там он работает и вообще насколько целесообразно использовать его для поставленной задачи, может быть, в астре есть ещё какая-то сетевая ФС, быстрее и надёжнее NFS?
 

Olej

New member
Сообщения
670
#2
Я пробовал NFS, но он работает не очень быстро и часто виснет (так, что даже перемонтирование не помогает). CIFS, говорят, тоже не быстрый.
CIFS в Linux - это как седло на корове.
NFS - это старый протокол UNIX ... но "старый, добрый" ... не до такой степени в нём должны быть проблемы. Попробуйте ещё уточнить ... там есть режимы "мягкого" и "жёсткого" монтирования, очень сильно различающиеся.
Скорость сетевых потоков, в зависимости от протоколов, могут различаться, но не так уж и сильно ... не на порядки и не в разы, возможно на десятки процентов.
 

Olej

New member
Сообщения
670
#3
Машины подключены к SAN, поэтому можно подключить один диск к нескольким машинам. Но обычные ФС не поддерживают одновременное монтирование (даже если rw только на одной машине, а на остальных ro). Нужна какая-то специальная файловая система, поддерживающая такую возможность. Я нашёл, что есть ФС GFS2, модуль ядра в астре под него есть, но насколько хорошо там он работает и вообще насколько целесообразно использовать его для поставленной задачи, может быть, в астре есть ещё какая-то сетевая ФС, быстрее и надёжнее NFS?
1. В Astra Linux есть (как асимптота) только те модули ядра (файловые системы), которые есть в коде ядра Linux - не больше ... но, возможно, меньше - как решили дистрибьюторы системы.

2. Посмотреть какие FS у вас в системе загружены:
Код:
olej@astra:~$ cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   ramfs
nodev   bdev
nodev   proc
nodev   cpuset
nodev   cgroup
nodev   cgroup2
nodev   tmpfs
nodev   devtmpfs
nodev   configfs
nodev   debugfs
nodev   tracefs
nodev   securityfs
nodev   sockfs
nodev   dax
nodev   bpf
nodev   pipefs
nodev   hugetlbfs
nodev   devpts
        ext3
        ext2
        ext4
        squashfs
        vfat
nodev   ecryptfs
        fuseblk
nodev   fuse
nodev   fusectl
nodev   pstore
nodev   mqueue
nodev   autofs
nodev   rpc_pipefs
Как видите, gfs2 в сиситеме не загружена, и её нужно ещё загрузить...

3. Посмотреть какие FS у вас в системе присутствуют:
Код:
olej@astra:~$ ls /lib/modules/$(uname -r)/kernel/fs
9p      befs            cifs    f2fs      hfs      lockd       nls        pstore    sysv
adfs    bfs             coda    fat       hfsplus  minix       ntfs       qnx4      ubifs
affs    binfmt_misc.ko  cramfs  freevxfs  hpfs     nfs         ocfs2      qnx6      udf
afs     btrfs           dlm     fscache   isofs    nfs_common  omfs       quota     ufs
aufs    cachefiles      efs     fuse      jffs2    nfsd        orangefs   reiserfs  xfs
autofs  ceph            exofs   gfs2      jfs      nilfs2      overlayfs  romfs
Здесь есть и gfs2.
А вот свыше этого ничего можете не искать - недоступно.
 

Olej

New member
Сообщения
670
#4
Код:
root@astra:/lib/modules/4.19.0-1-generic/kernel/fs/gfs2# modinfo gfs2.ko
filename:       /lib/modules/4.19.0-1-generic/kernel/fs/gfs2/gfs2.ko
license:        GPL
author:         Red Hat, Inc.
description:    Global File System
alias:          fs-gfs2meta
alias:          fs-gfs2
srcversion:     F92C72AA8D52290FAB09969
depends:        dlm,libcrc32c
retpoline:      Y
intree:         Y
name:           gfs2
vermagic:       4.19.0-1-generic SMP mod_unload
signat:         PKCS#7
signer:         
sig_key:       
sig_hashalgo:   md4
Можете загрузить:
Код:
root@astra:/lib/modules/4.19.0-1-generic/kernel/fs/gfs2# modprobe gfs2

root@astra:/lib/modules/4.19.0-1-generic/kernel/fs/gfs2# lsmod | grep gfs2
gfs2                  442368  0
dlm                   167936  1 gfs2
libcrc32c              16384  1 gfs2
Пробуйте использовать...
А детали использования ищите в документах RedHat Linux, как написано в info (это изделие не из мира Debian).
 
Сообщения
7
#5
https://www.reddit.com/r/sysadmin/comments/7ljded
Тут пишут, что у gfs2 тоже проблемы с производительностью. Есть ещё похожая ФС OCFS2.

Кроме этого я проверяю сетевые файловые системы (они проще в настройке), в Астре есть sshfs и curlftpfs. FTP на больших файлах тормозит сильно (1 Гб файл записался за 45 секунд, а 10 Гб - за 30 минут), поэтому не подойдёт, а sshfs использует шифрование, которое тут не нужно и только снижает скорость. Хотя можно попробовать запустить sshfs без ssh (через -o directport), и посмотреть, не будет ли он тормозить на больших файлах.
 

Mrshll

New member
Сообщения
56
#6
Коллеги, сомневаюсь, что проблема в NFS вполне себе нормальное решение. У себя использовал подключение NAS по 10 Гбит сети к подсистеме виртуализации (более 50 виртуальных машин, с небольшой правда нагрузкой). Перешел с iSCSI поскольку тесты производительности показали отличие практически в два раза (на сетевухах не удалось завести разгрузку iSCSI).
Также полезным оказалось руководство от VMWare.
 

Mkolomiets

New member
Сообщения
20
#7
есть ФС GFS2, модуль ядра в астре под него есть, но насколько хорошо там он работает и вообще насколько целесообразно использовать его для поставленной задачи
Вообще gfs2 под эти задачи не очень подходит, так как подразумевает настройку кластера ваших машин для возможности использования это ФС (кворум, фенсинг, механизм блокирования и разграничения доступа и т.д.). При определенных условиях ваши ноды могут вообще зависнуть, вплоть до полной перезагрузки серверов (https://access.redhat.com/documenta...tml/global_file_system_2/s1-gfs2hand-allnodes).