У меня есть два сервера, на которых работает Rocky Linux v8.4, на одном размещен рейдовый диск, который я использую для резервного копирования (очень) большого рейдового диска, установленного на сервере А как /home.
Сервер A (с большим рейдом в 70 ТБ, смонтированным как /home, для которого необходимо выполнить резервное копирование) nfs монтирует резервный диск с сервера B. Серверы подключены через коммутатор с соединением 10 ГБ. В настоящее время я делаю просто прямо:
cp -a /home/* /backup
Но скорость передачи мне кажется медленной. Я отслеживал передачу с помощью vnstat:
hour rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
2022-09-07
18:00 52.79 MiB | 9.23 GiB | 9.28 GiB | 22.15 Mbit/s
19:00 47.31 MiB | 6.14 GiB | 6.19 GiB | 14.76 Mbit/s
20:00 47.14 MiB | 6.18 GiB | 6.22 GiB | 14.85 Mbit/s
21:00 47.43 MiB | 6.24 GiB | 6.28 GiB | 14.99 Mbit/s
22:00 44.31 MiB | 4.11 GiB | 4.15 GiB | 9.91 Mbit/s
23:00 44.46 MiB | 4.04 GiB | 4.08 GiB | 9.73 Mbit/s
2022-09-08
00:00 44.90 MiB | 4.39 GiB | 4.43 GiB | 10.58 Mbit/s
01:00 44.97 MiB | 4.63 GiB | 4.67 GiB | 11.15 Mbit/s
02:00 43.82 MiB | 3.86 GiB | 3.90 GiB | 9.30 Mbit/s
03:00 54.34 MiB | 9.77 GiB | 9.82 GiB | 23.43 Mbit/s
04:00 47.28 MiB | 6.41 GiB | 6.45 GiB | 15.40 Mbit/s
05:00 47.52 MiB | 6.30 GiB | 6.35 GiB | 15.14 Mbit/s
06:00 47.63 MiB | 6.53 GiB | 6.58 GiB | 15.69 Mbit/s
07:00 46.99 MiB | 5.98 GiB | 6.03 GiB | 14.38 Mbit/s
08:00 43.95 MiB | 4.57 GiB | 4.61 GiB | 11.01 Mbit/s
09:00 44.94 MiB | 4.35 GiB | 4.39 GiB | 10.48 Mbit/s
10:00 45.17 MiB | 4.69 GiB | 4.74 GiB | 11.30 Mbit/s
11:00 44.88 MiB | 4.31 GiB | 4.35 GiB | 10.39 Mbit/s
12:00 44.80 MiB | 4.72 GiB | 4.77 GiB | 11.38 Mbit/s
13:00 47.73 MiB | 6.24 GiB | 6.29 GiB | 15.01 Mbit/s
14:00 48.13 MiB | 6.29 GiB | 6.34 GiB | 15.12 Mbit/s
15:00 45.31 MiB | 4.84 GiB | 4.89 GiB | 11.66 Mbit/s
16:00 45.89 MiB | 4.90 GiB | 4.95 GiB | 11.81 Mbit/s
17:00 7.58 MiB | 873.07 MiB | 880.66 MiB | 12.31 Mbit/s
------------------------+-------------+-------------+---------------
Сервер A монтирует /home со следующими параметрами (из /proc/mounts):
/dev/sdb1 /home xfs rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota 0 0
и автоматически монтирует /backup с сервера B nfs со следующими параметрами:
Server_B:/backup /backup nfs4 rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=172.16.33.254,local_lock=none,addr=172.16.33.250 0 0
Сервер B монтирует резервный диск со следующими параметрами:
/dev/sdb /backup xfs rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota 0 0
Есть ли лучшие варианты, которые ускорили бы передачу между этими вещами? Определенно есть сочетание как очень больших файлов (50 ГБ+), так и очень маленьких файлов, поэтому это не идеальный сценарий передачи, но все же кажется, что он должен быть быстрее, чем этот. Обе они представляют собой файловые системы xfs, работающие в конфигурации оборудования raid6 через карты Megaraid 9750-4i. Рейд на 70 ТБ состоит из 21 диска WDC WD4000FYYZ-01UL по 4 ТБ, а резервный диск — из 21 диска Seagate Ironwolf ST16000NE000-2RW103 по 16 ТБ. (Я планирую перенести меньший рейд на более крупные диски емкостью 21 16 ТБ после завершения резервного копирования).
Сеть: NIC сервера A
Settings for enp132s0f0:
Supported ports: [ FIBRE ]
Supported link modes: 10000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: No
Supported FEC modes: Not reported
Advertised link modes: 10000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: 10000Mb/s
Duplex: Full
Auto-negotiation: off
Port: Direct Attach Copper
PHYAD: 0
Transceiver: internal
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
NIC сервера B
Settings for enp132s0f0np0:
Supported ports: [ FIBRE ]
Supported link modes: 1000baseT/Full
10000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: No
Supported FEC modes: Not reported
Advertised link modes: Not reported
Advertised pause frame use: No
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Link partner advertised link modes: Not reported
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: No
Link partner advertised FEC modes: Not reported
Speed: 10000Mb/s
Duplex: Full
Auto-negotiation: off
Port: FIBRE
PHYAD: 255
Transceiver: internal
Supports Wake-on: g
Wake-on: d
Current message level: 0x000020f7 (8439)
drv probe link ifdown ifup rx_err tx_err hw
Link detected: yes
iperf3 между серверами:
Connecting to host fs01, port 5201
[ 5] local 172.16.33.254 port 49004 connected to 172.16.33.250 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 1.10 GBytes 9.43 Gbits/sec 0 673 KBytes
[ 5] 1.00-2.00 sec 1.09 GBytes 9.41 Gbits/sec 0 708 KBytes
[ 5] 2.00-3.00 sec 1.09 GBytes 9.41 Gbits/sec 0 708 KBytes
[ 5] 3.00-4.00 sec 1.09 GBytes 9.41 Gbits/sec 0 708 KBytes
[ 5] 4.00-5.00 sec 1.09 GBytes 9.41 Gbits/sec 0 708 KBytes
[ 5] 5.00-6.00 sec 1.09 GBytes 9.41 Gbits/sec 0 708 KBytes
[ 5] 6.00-7.00 sec 1.10 GBytes 9.42 Gbits/sec 0 708 KBytes
[ 5] 7.00-8.00 sec 1.10 GBytes 9.42 Gbits/sec 0 708 KBytes
[ 5] 8.00-9.00 sec 1.09 GBytes 9.41 Gbits/sec 0 708 KBytes
[ 5] 9.00-10.00 sec 1.10 GBytes 9.42 Gbits/sec 0 708 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 11.0 GBytes 9.41 Gbits/sec 0 sender
[ 5] 0.00-10.04 sec 11.0 GBytes 9.37 Gbits/sec receiver
iperf Done.
linux centos производительность рейда сетевой ресурс
драгоценность
2 ответа
Я бы начал с установки ethtool (если вы еще этого не сделали). А затем запустите ethtool для вашего сетевого адаптера. Проверка скорости соединения каждого сервера. Это 10/100/1000 и какой дуплекс?
После этого я загружал iperf (инструмент для проверки пропускной способности командной строки) на каждую машину с Linux. С iperf вы запустите его на обеих машинах с Linux. 1 машина будет сервером (прослушивающим определенный порт), а другая будет клиентом, отправляющим данные на сервер, и программа проверит фактическую пропускную способность.
Туз
По-видимому, моей самой большой проблемой были НЕ параметры монтирования, как я думал, а просто тонны и тонны операций записи на диск NFS. Я нашел здесь отличный вопрос/ответ о попытке оптимизировать передачу огромного количества данных: Как быстро скопировать большое количество файлов между двумя серверами.
драгоценность