Команда save в системном представлении VRP фиксирует текущую конфигурацию в файле автозагрузки, предотвращая потерю настроек после перезагрузки коммутатора. Без этого действия все изменения, сделанные в сессии, сбрасываются при потере питания или выполнении reboot. Понимание разницы между running configuration и startup configuration — база безопасного администрирования сетевого оборудования.

В операционной системе VRP (Versatile Routing Platform) используется двухступенчатая модель: активная конфигурация хранится в ОЗУ, а загрузочная — во флеш-памяти. При вводе save система запрашивает подтверждение перезаписи файла, указанного в параметре startup saved-configuration. Если файл не задан явно, используется имя по умолчанию vrpcfg.zip или .cfg в корне флеш.

Основные команды сохранения и их отличия

Базовая команда save выполняет запись с подтверждением Y/N. Для скриптов и автоматизации удобен ключ force, который подавляет диалог: save force. Это критично при работе через Ansible, Python-скрипты или ожидающие ввод утилиты типа expect. Обратите внимание: save без аргументов пишет в текущий файл автозагрузки, а save filename.cfg создает отдельный файл, не назначая его загрузочным автоматически.

Для явного назначения файла следующей загрузки служит команда startup saved-configuration filename.cfg. Она не сохраняет текущие настройки, а лишь меняет указатель next startup saved-configuration file. Типичный сценарий: сохранить чистую конфигурацию под именем clean_backup.cfg, назначить её загрузочной, а текущую «грязную» оставить в ОЗУ для тестов. После проверки — выполнить save для фиксации результата.

⚠️ Внимание: команда save перезаписывает файл без создания исторических версий. При ошибке в конфигурации откат возможен только из внешнего бэкапа или вручную.
  • 💾 save — интерактивное сохранение в текущий startup-файл.
  • ⚡ save force — бездиалоговое сохранение для автоматизации.
  • 📝 save backup.cfg — сохранение в именованный файл без смены загрузочного.
  • 🎯 startup saved-configuration backup.cfg — назначение файла для следующей загрузки.

☑️ Чек-лист перед сохранением конфигурации

Выполнено: 0 / 4

Работа с файлами конфигурации: просмотр, копирование, удаление

Файловая система коммутатора доступна через команды семейства dir, copy, delete, rename, more. Вывод dir flash: показывает атрибуты файлов: drwx для директорий, -rw- для обычных файлов, **** для системных. Конфигурационные файлы обычно имеют расширение .cfg (текстовый формат) или .zip (сжатый бинарный формат VRP). Текстовые .cfg удобны для diff-сравнения и редактирования на ПК, бинарные .zip — быстрее загружаются устройством.

Копирование между файловыми системами (флеш, sdcard, usb) выполняется командой copy flash:/vrpcfg.zip flash:/backup_20260115.zip. Удаление — delete /unreserved flash:/old.cfg (ключ /unreserved убирает файл сразу, минуя корзину recycle bin). Просмотр содержимого текстового конфига: more flash:/config.cfg. Для бинарного — только через display saved-configuration после назначения его загрузочным.

КомандаНазначениеПример использования
dir /allПоказать все файлы включая скрытые и корзинуПоиск старых бэкапов в recycle bin
copy src dstКопирование файлаСоздание резервной копии перед изменением
delete /unreservedНеобратимое удалениеОчистка места во флеш под новый образ
fixdisk flash:Проверка и ремонт ФСПосле сбоя питания при записи

Резервное копирование на внешний сервер: FTP, TFTP, SFTP, SCP

Локальное сохранение не защищает от выхода флеш-памяти из строя или физического ущерба устройству. Профессиональный подход — регулярная выгрузка конфигурации на сервер хранения. Наиболее безопасные протоколы — SFTP и SCP (по SSH), они шифруют и данные, и учетные данные. TFTP не требует аутентификации, но передает в открытом виде и не поддерживает списки директорий. FTP уязвим к перехвату паролей, используйте только в изолированных сетях управления.

Пример выгрузки по SFTP: войдите в представление пользователя, выполните sftp 192.168.1.100, введите логин/пароль, затем put flash:/vrpcfg.zip /backups/sw01_vrpcfg.zip. Для автоматизации используйте scp flash:/vrpcfg.zip user@192.168.1.100:/backups/ с предварительно настроенной авторизацией по ключу (команда ssh client generate-key на коммутаторе и добавление публичного ключа в authorized_keys сервера).

⚠️ Внимание: при копировании по TFTP/FTP убедитесь, что на сервере разрешен запись в целевую директорию и отключен фаервол для портов 69 (TFTP) или 20/21 (FTP).
Настройка SSH-ключей для беспарольного SCP

Выполните на коммутаторе:

ssh client generate-key rsa 2048

ssh client key-export rsa flash:/id_rsa.pub

Скачайте файл id_rsa.pub на сервер (TFTP/USB), добавьте содержимое в ~/.ssh/authorized_keys пользователя бэкапа. Теперь scp будет работать без пароля.

💡

Используйте именование файлов по шаблону hostname_YYYYMMDD_HHMM.cfg — это упрощает поиск нужной версии в хранилище и сортировку по времени.

Восстановление конфигурации из бэкапа

Восстановление делится на два сценария: загрузка файла как следующей загрузочной конфигурации с последующим ребутом, или слияние (merge) с текущей конфигурацией без перезагрузки. Для полной замены: startup saved-configuration flash:/backup.cfg → reboot. После загрузки проверьте display startup — там должен отображаться ваш файл.

Для частичного восстановления (например, только VLAN или ACL) удобнее использовать merge в системном представлении: merge flash:/partial.cfg. Команда применяет команды из файла к текущей конфигурации, пропуская уже существующие блоки. Конфликты (разные IP на одном интерфейсе) требуют ручного разрешения. После merge обязательно выполните save force, иначе изменения пропадут при ребуте.

  • 🔄 startup saved-configuration ... + reboot — полная замена конфигурации.
  • 🧩 merge flash:/file.cfg — наложение изменений на running-config.
  • 📥 load flash:/file.cfg — полная замена running-config без ребута (редко используется, сбрасывает сессии).

Автоматизация сохранения: планировщик и NMS

Ручное сохранение подвержено человеческому фактору. В VRP есть встроенный планировщик scheduler, позволяющий выполнять команды по расписанию. Пример: ежедневное сохранение в 03:00 с ротацией файлов. Создайте скрипт (файл .bat во флеш) с командами сохранения под уникальными именами, затем настройте scheduler job daily_save -> command 1 flash:/daily_save.bat -> schedule daily 03:00. Это создает цепочку ежедневных снапшотов.

В корпоративных сетях резервное копирование централизуют через системы управления сетью (NMS) — eSight, NetConf/YANG, Ansible. Ansible-модуль community.network.ce_config с параметром backup: yes автоматически скачивает running-config перед изменениями и сохраняет локально на контроллере. Это лучший практик: история изменений в Git, откат за секунды, аудит кто и что менял.

💡

Автоматизированное резервное копирование через Ansible или NMS исключает потерю конфигурации из-за забытого save и дает историю изменений для аудита.

⚠️ Внимание: планировщик выполняет команды с привилегиями пользователя, создавшего задачу. Убедитесь, что у учетной записи есть права на запись во флеш и выполнение save.

Типичные ошибки и диагностика проблем

Частая ошибка — сообщение Error: The specified file does not exist при назначении startup-файла. Причина: файл сохранен в другой файловой системе (например, sdcard:/ вместо flash:/) или имя с опечаткой. Проверяйте dir /all с полным путем. Другая проблема — Flash space insufficient. Лечится удалением старых логов (logfile), образов ПО (.cc) и файлов из корзины (reset recycle-bin).

Иногда после save вывод display startup показывает старый файл. Это значит, что конфигурация записалась в файл, но указатель next startup не обновился (баг старых версий VRP300/VRP500). Лечится явным startup saved-configuration имя_файла или обновлением прошивки. Также проверяйте атрибут readonly на файле — если стоит, save завершится ошибкой Permission denied.

📊 Какой способ бэкапа конфигурации вы используете основное время?
Ручное save + копирование на ПК
Автосохранение по расписанию (scheduler)
Ansible / NMS (eSight, Prime)
TFTP/FTP скрипты с cron на сервере

Лучшие практики для продакшн-среды

Внедряйте правило «ни одного изменения без бэкапа». Перед окном обслуживания: 1) save force текущей конфигурации, 2) выгрузка vrpcfg.zip на SFTP-сервер с датой в имени, 3) создание текстового дампа display current-configuration > flash:/pre_change_date.cfg для быстрого diff. После изменений — повторная выгрузка. Храните минимум 30 последних версий на сервере с ротацией.

Используйте двухуровневую стратегию: быстрые локальные снапшоты (планировщик каждые 6 часов) для отката «здесь и сейчас» и ежедневные выгрузки на защищенное хранилище для аварийного восстановления устройства. Проводите квартальные учения по восстановлению: выключите коммутатор, замените на холодную замену, загрузите конфиг по SFTP за 5 минут. Только так гарантируете, что процедура работает.

FAQ: Частые вопросы по сохранению конфигурации Huawei
Почему после save конфигурация не применяется после reboot?

Проверьте вывод display startup. Поле Next startup saved-configuration file должно совпадать с именем вашего файла. Если там другое имя — выполните startup saved-configuration ваш_файл.cfg и сохраните еще раз.

Как сохранить конфиг, если флеш переполнена логами?

Выполните delete /unreserved flash:/logfile/ для очистки логов, reset recycle-bin для удаления корзины. Если места все равно мало — выгрузите конфиг по SFTP/SCP на сервер, он не требует свободного места на устройстве для передачи.

В чем разница между .cfg и .zip конфигами?

.cfg — текстовый формат, читаемый человеком, подходит для diff и ручного редактирования. .zip (или .dat) — сжатый бинарный формат VRP, загружается коммутатором быстрее, но нечитаем без загрузки на устройство. По умолчанию save пишет в формат, заданный командой set saved-configuration backup format text|binary.

Можно ли отменить save сразу после нажатия Enter?

Нет, операция записи во флеш необратима. Если вы сохранили ошибочную конфигурацию, восстанавливайте из предыдущего бэкапа (файла на флеш или сервере). Поэтому всегда делайте копию файла перед save: copy flash:/vrpcfg.zip flash:/vrpcfg_pre_change.zip.

Как перенести конфиг на другой коммутатор той же модели?

Выгрузите конфиг на сервер (SFTP/USB), загрузите на новое устройство в флеш, выполните startup saved-configuration file.cfg и reboot. Обязательно проверьте/измените уникальные параметры: MAC-адреса (stack), IP-адреса управления, лицензии, пароли. Версии ПО на обоих устройствах должны совпадать.