Это FAS2240 8.2P3 7-Mode
Программное обеспечение для резервного копирования: EMC Networker 8.1
NDMP настроен и работает внутри vFiler.
Начнем с бэкапа. Команда резервного копирования в Networker:
nsrndmp_save -T dump
Вы также можете указать -M (DSA), но я думаю, что здесь это неявно.
Информация о приложении (на всякий случай воссоздана клиентом NDMP в Networker с помощью мастера создания нового клиента):
USE_TBB_IF_AVAILABLE=Y
DIRECT=Y
BUTYPE=dump
HIST=Y
UPDATE=Y
Полное резервное копирование выполняется на более или менее скорости провода
> sysstat -x 5
CPU NFS CIFS HTTP Total Net kB/s Disk kB/s Tape kB/s Cache Cache CP CP Disk OTHER FCP iSCSI FCP kB/s iSCSI kB/s
in out read write read write age hit time ty util in out in out
29% 0 0 0 1 485 94867 98060 11 0 0 0s 91% 0% - 90% 1 0 0 0 0 0 0
31% 0 0 0 1 502 97711 101518 490 0 0 0s 89% 13% T 90% 1 0 0 0 0 0 0
32% 0 0 0 57 530 103167 107344 251 0 0 0s 89% 5% Zf 88% 57 0 0 0 0 0 0
30% 0 0 0 41 552 107049 110286 222 0 0 0s 89% 7% : 87% 41 0 0 0 0 0 0
ОДНАКО: при восстановлении с ленты мы получаем только около 10 МБ / с в среднем. Резервное копирование на ленту было выполнено, когда больше ничего не работало, поэтому проблема не в том, что данные на ленте чередуются.
Команда и вывод Networker (восстановление на пустой том):
# nsrndmp_recover -S 1760972238 -m /vol/vfprod_xtest /vol/vfprod_x
42795:nsrndmp_recover: Performing recover from Non-NDMP type of device
85183:nsrndmp_recover: DSA is listening for an NDMP data connection on: 1.2.4.5, port = 8745
42690:nsrndmp_recover: Performing non-DAR Recovery..
86724:nsrdsa_recover: DSA listening at: host 'backupserv', IP address '1.2.4.5', port '8745'.
42937:nsrdsa_recover: Performing Immediate recover
42940:nsrdsa_recover: Reading Data...
42617:nsrndmp_recover: NDMP Service Log: RESTORE: Dump came from a SnapLock volume.
42617:nsrndmp_recover: NDMP Service Log: RESTORE: Incremental restores to SnapLock volumes are not supported.
All files will be correctly restored, but subsequent restores
of incremental backups will not recreate the file system as
it appeared during the final incremental backup.
42617:nsrndmp_recover: NDMP Service Log: RESTORE: ./.etc/gid_map: cannot create file: Read-only file system
42617:nsrndmp_recover: NDMP Service Log: RESTORE: Sat Feb 8 14:52:25 2014: Writing data to files.
42617:nsrndmp_recover: NDMP Service Log: RESTORE: Sat Feb 8 14:56:43 2014 : We have read 3361690 KB from the backup.
42617:nsrndmp_recover: NDMP Service Log: RESTORE: Sat Feb 8 15:01:43 2014 : We have read 7053433 KB from the backup.
42617:nsrndmp_recover: NDMP Service Log: RESTORE: Sat Feb 8 15:06:43 2014 : We have read 10908694 KB from the backup.
42617:nsrndmp_recover: NDMP Service Log: RESTORE: failed to find the file
42617:nsrndmp_recover: NDMP Service Log: RESTORE: Sat Feb 8 15:11:22 2014: Restoring NT ACLs.
42617:nsrndmp_recover: NDMP Service Log: RESTORE: RESTORE IS DONE
42942:nsrdsa_recover: Reading data...DONE.
42927:nsrndmp_recover: Successfully done
Вот статистика по фильтру во время восстановления
>sysstat -x 5
CPU NFS CIFS HTTP Total Net kB/s Disk kB/s Tape kB/s Cache Cache CP CP Disk OTHER FCP iSCSI FCP kB/s iSCSI kB/s
in out read write read write age hit time ty util in out in out
91% 0 0 0 35 15364 143 5369 20946 0 0 0s 98% 56% H 55% 35 0 0 0 0 0 0
91% 0 0 0 20 14668 126 5135 20617 0 0 59s 98% 56% H 56% 20 0 0 0 0 0 0
91% 2 0 0 3 14407 119 5685 20954 0 0 1 98% 53% H 52% 1 0 0 0 0 0 0
91% 0 0 0 1 15564 154 5454 20711 0 0 1 98% 56% Hf 53% 1 0 0 0 0 0 0
91% 0 0 0 2 14447 121 6502 14358 0 0 1 98% 42% Hf 56% 2 0 0 0 0 0 0
...
92% 6 0 0 6 19503 245 4696 15072 0 0 1 98% 46% : 56% 0 0 0 0 0 0 0
93% 0 0 0 3 18902 253 7667 13669 0 0 0s 98% 22% Hf 63% 3 0 0 0 0 0 0
91% 6 0 0 7 18099 216 1957 32432 0 0 0s 97% 100% :f 45% 1 0 0 0 0 0 0
91% 6 0 0 6 16111 153 4427 23419 0 0 0s 98% 55% : 56% 0 0 0 0 0 0 0
92% 7 0 0 7 15629 156 8155 0 0 0 1 98% 0% - 68% 0 0 0 0 0 0 0
91% 0 0 0 3 14226 125 4427 32453 0 0 1 99% 79% Hf 53% 3 0 0 0 0 0 0
94% 6 0 0 6 32264 594 744 38453 0 0 2 97% 100% :f 45% 0 0 0 0 0 0 0
92% 6 0 0 6 14781 127 9846 59 0 0 2 98% 7% Hn 61% 0 0 0 0 0 0 0
90% 6 0 0 63 11546 57 2073 42592 0 0 2 99% 100% :f 50% 57 0 0 0 0 0 0
Использование ЦП кажется высоким по сравнению с резервным копированием, когда загрузка диска была высокой, как и должно быть.
То же самое между двумя файловыми серверами дает около 40 МБ / с в среднем:
na1> ndmpcopy -sa root:xx -da root:xx /vol/vfprod_x/fs1 na2:/vol/test/xtest
Ndmpcopy: Starting copy [ 1 ] ...
Ndmpcopy: na1: Notify: Connection established
Ndmpcopy: na2: Notify: Connection established
Ndmpcopy: na1: Connect: Authentication successful
Ndmpcopy: na2: Connect: Authentication successful
Ndmpcopy: na1: Log: DUMP: creating "/vol/vfprod_x/../snapshot_for_backup.10825" snapshot.
Ndmpcopy: na1: Log: DUMP: Dumping from a SnapLock volume
Ndmpcopy: na1: Log: DUMP: Using subtree dump
Ndmpcopy: na1: Log: DUMP: Date of this level 0 dump: Sat Feb 8 15:23:04 2014.
Ndmpcopy: na1: Log: DUMP: Date of last level 0 dump: the epoch.
Ndmpcopy: na1: Log: DUMP: Dumping /vol/vfprod_x/fs1 to NDMP connection
Ndmpcopy: na1: Log: DUMP: mapping (Pass I)[regular files]
Ndmpcopy: na1: Log: DUMP: mapping (Pass II)[directories]
Ndmpcopy: na2: Log: RESTORE: Dump came from a SnapLock volume.
Ndmpcopy: na1: Log: DUMP: estimated 16178315 KB.
Ndmpcopy: na1: Log: DUMP: dumping (Pass III) [directories]
Ndmpcopy: na1: Log: DUMP: dumping (Pass IV) [regular files]
Ndmpcopy: na2: Log: RESTORE: Sat Feb 8 15:23:12 2014: Begin level 0 restore
Ndmpcopy: na2: Log: RESTORE: Sat Feb 8 15:23:12 2014: Reading directories from the backup
Ndmpcopy: na2: Log: RESTORE: Sat Feb 8 15:23:13 2014: Creating files and directories.
Ndmpcopy: na2: Log: RESTORE: Sat Feb 8 15:23:31 2014: Writing data to files.
Ndmpcopy: na1: Log: DUMP: Sat Feb 8 15:28:11 2014 : We have written 12577964 KB.
Ndmpcopy: na2: Log: RESTORE: Sat Feb 8 15:28:11 2014 : We have read 12575988 KB from the backup.
Ndmpcopy: na1: Log: ACL_START is '16565304320'
Ndmpcopy: na1: Log: DUMP: dumping (Pass V) [ACLs]
Ndmpcopy: na1: Log: DUMP: 16177066 KB
Ndmpcopy: na1: Log: DUMP: DUMP IS DONE
Ndmpcopy: na2: Log: RESTORE: Sat Feb 8 15:29:36 2014: Restoring NT ACLs.
Ndmpcopy: na1: Log: DUMP: Deleting "/vol/vfprod_x/../snapshot_for_backup.10825" snapshot.
Ndmpcopy: na1: Log: DUMP_DATE is '5686836680'
Ndmpcopy: na1: Notify: dump successful
Ndmpcopy: na2: Log: RESTORE: RESTORE IS DONE
Ndmpcopy: na2: Notify: restore successful
Ndmpcopy: Transfer successful [ 0 hours, 6 minutes, 41 seconds ]
Ndmpcopy: Done
Также пробовал параметры ndmpd.tcpnodelay.enable on, как предложено в https://communities.netapp.com/thread/15890, безрезультатно.
Мы даже купили фильтрующий элемент с картой 10GbE, чтобы у него, по крайней мере, был потенциал, чтобы действительно выполнить поставку, но пока я не уверен, что это так.
Том, который я использовал для тестирования, расположен на блоке snaplock с базовыми дисками SATA 10x 7200 об / мин (8 используемых, двойная четность).
День, когда нам нужно будет восстановить больший объем данных, будет в этом сценарии адом, потому что дня не хватит, чтобы восстановить несколько ТБ ...
У кого-нибудь есть полезные идеи?
Спасибо.
ОБНОВЛЕНИЕ # 1
Хорошо, это не связано с NDMP. Я почти все время читал со скоростью 10 МБ / с, так что Вот некоторые характеристики производительности, которые я получил с помощью этого скрипта
#!/bin/sh
#
if [ -z $1 ]; then
echo " "
echo "I need a filer target"
echo "An example syntax"
echo " $0 filer01.msg.dcn"
echo " "
exit 0
fi
SSH="ssh -i /root/.ssh/id_rsa-netapp"
FILER=$1
#
DATAFILE="${FILER}_$(date +%Y%m%d%H%M)"
echo "" >> $DATAFILE
date >> $DATAFILE
echo "------------------------------" >> $DATAFILE
$SSH $FILER 'priv set -q diag; statit -b' 2>/dev/null
echo "Starting statit sample" >> $DATAFILE
$SSH $FILER 'priv set -q diag; nfsstat -z' 2>/dev/null
echo "Zeroing nfsstat" >> $DATAFILE
$SSH $FILER 'priv set -q diag; nfs_hist -z' 2>/dev/null
echo "Zeroing nfs_hist" >> $DATAFILE
$SSH $FILER 'priv set -q diag; wafl_susp -z' 2>/dev/null
echo "Zeroing wafl_susp" >> $DATAFILE
$SSH $FILER 'sysstat -xs -c 30 1' >> $DATAFILE
# And we wait...
$SSH $FILER 'priv set -q diag; statit -en' >> $DATAFILE 2>/dev/null
$SSH $FILER 'priv set -q diag; nfsstat -d' >> $DATAFILE
$SSH $FILER 'priv set -q diag; nfs_hist' >> $DATAFILE
$SSH $FILER 'priv set -q diag; wafl_susp -w' >> $DATAFILE
echo " ** " >> $DATAFILE
и вывод можно найти Вот.
Обратите внимание, что этот фильтр, похоже, имеет 768 МБ NVRAM, а совокупность, над которой мы работаем, имеет 10 дисков SATA 7200 об / мин в RAID-5.
ОБНОВЛЕНИЕ # 2 10 июн
Я не уверен, почему мы достигли такого количества высоких отметок в предыдущем примере, но сейчас я обнаружил следующее с помощью поддержки:
Тем не менее, я не уверен, почему они продали нам карту 10G за макс. 100 МБ / с, но я останусь на этом. Тем более, что, насколько я понял, WAFL постоянно использует все диски, чтобы распределить записи по как можно большему количеству шпинделей, и этот фильтр, который составляет около 20 дисков, хотя они всего лишь "BSAS"
Самая интересная часть вывода выше - это систат, собранный во время дампа. Мы видим привязанный ЦП, но это может вводить в заблуждение, потому что вывод systat -x CPU показывает только наивысший привязанный ЦП, а не среднее значение по ядрам. Но мы видим кое-что еще интересное. Мы почти постоянно выполняем CP, и это H CP (высокий водяной знак). Это указывает на то, что данные в NVRAM, которые должны быть сохранены на диск, превысили верхний водяной знак. Итак, мы собираемся заблокировать клиентские запросы, чтобы попытаться сбросить данные NVRAM на диск. Но, чтобы усложнить ситуацию, мы делаем только около 20-25 МБ / с, а наши CP происходят каждую секунду, а иногда на выполнение требуется 3 секунды. Эта математика не работает. Я не уверен, какой размер NVRAM для каждого HA-партнера у 2240, но я знаю, что он составляет по крайней мере 256 МБ на голову, а возможно и больше. При 25 МБ / с это 8-10 секунд, чтобы достичь высокого уровня, и мы все равно совершаем фиксацию до этого, а это не то, что мы здесь видим.
В целом вышеприведенный вывод намекает на то, что за кулисами файловый агент делает что-то еще. Я бы посоветовал покопаться в systat -m, чтобы узнать, какой домен наиболее активен. Если это Kahuna, и одно ядро закреплено на 100%, то мы можем столкнуться с узким местом WAFL. Я бы также оценил любую другую фоновую обработку, которая может происходить (задания sis, задания snap * и т. Д.)
Если вы не можете отследить его самостоятельно, воспроизведите проблему при сборе статистики производительности и обратитесь в службу поддержки NetApp.
Хорошо, во-первых, 2240 - одна из систем нижнего уровня с оперативной памятью нижнего уровня. Тип CP «H» я считаю «высшим», и вы также получаете «f» после этого, что означает, что 1/2 NVMEM была заполнена до того, как CP закончил запись.
Суть в том, что производительность записи ограничена а) объемом NVMEM / NVRAM в системе в сочетании с количеством шпинделей, на которые система может загружать диск, чтобы как можно быстрее очистить кэш записи.
Приведенный здесь sysstat показывает, что вы постоянно находитесь в CP, поэтому может показаться, что вы, вероятно, привязаны к шпинделю. Если вы опубликовали вывод "statit -b" (подождите минутку) и "statit -e", то мы можем быть уверены. Убедитесь, что вы сначала установили "Priv set advanced".
Проверьте systat -m. Этот файлер делает что-то еще, иначе вы не смогли бы достичь контрольных точек CP так быстро, имея только 20 м / с ввода-вывода. Во время вашего теста что-то работает в фоновом режиме - или работает какая-то шаткая ошибка.
Ребятам из Perf-команды нравятся эти вещи. Захватите perfstat при выполнении ndmp и откройте кейс технических характеристик.