↩️ Назад

Категории

Как безопасно подключить диск с почтой к другой виртуалке (Proxmox + ext4)

19.08.2025 | Статья из категории: Linux

Безопасное подключение диска с почтой в Proxmox

Инструкция по безопасному бэкапу почтового сервера без риска повредить оригинальные данные.

Вы хотите сделать резервную копию почты, но боитесь повредить оригинальный диск? В этой статье я покажу, как безопасно подключить диск от почтовой виртуальной машины к другой VM в Proxmox, чтобы скопировать данные, не затрагивая живой сервер.

Цель: Сделать бэкап почты без риска. Диск подключается в режиме read-only, никакие изменения на оригинале невозможны.

📌 Сценарий

  • У вас есть виртуальная машина с почтовым сервером (например, Postfix + Dovecot)
  • Почтовые данные хранятся на отдельном разделе или диске (/var/vmail)
  • Вы хотите сделать бэкап, не останавливая сервер надолго и не рискуя повредить данные

🔧 Шаг 1: Подготовка

Убедитесь, что:

  • У вас есть доступ к хосту Proxmox (через SSH или веб-интерфейс)
  • Есть вторая виртуалка (например, Ubuntu) — будем называть её backup-vm
  • Почтовый сервер желательно остановить точнее ОБЯЗАТЕЛЬНО ОСТАНОВИТЬ. нельзя использовать один диск на две виртуалки. можно но с ооочень большой осторожность. Так что на время операции (или использовать снапшот) лучше оригинал заглушить.

⚙️ Шаг 2: Подключите диск к backup-VM через CLI

Зайдите на хост Proxmox по SSH и выполните команду:

qm set 111 -virtio1 ssd_storage:104/vm-104-disk-0.qcow2,ro=1

Где:

  • 111 — ID вашей backup-VM
  • 104 — ID почтовой VM
  • ssd_storage — имя хранилища
  • ro=1 — ключевой параметр: диск подключается только для чтения
Важно: Не используйте -unused0 — он не поддерживает опцию ro=1. Используйте -virtioX, -scsiX или -sataX.

💾 Шаг 3: Запустите backup-VM и смонтируйте диск

Запустите backup-VM и зайдите в неё:

qm start 111

Внутри backup-VM выполните:

# Создаём точку монтирования
sudo mkdir -p /mnt/mail-disk

# Проверяем, какой диск появился
sudo lsblk

# Если файловая система "грязная" (dirty), монтируем с noload
sudo mount -o ro,noload /dev/vda /mnt/mail-disk

Флаг noload позволяет смонтировать ext4 с "незавершённым журналом" без восстановления — идеально для чтения бэкапа.

🔍 Шаг 4: Найдите почтовые данные

Почта обычно лежит в:

ls /mnt/mail-disk/var/vmail
ls /mnt/mail-disk/home/*/Maildir
ls /mnt/mail-disk/opt/zimbra

Если вы используете Postfix + Dovecot — скорее всего, это /var/vmail.

🔁 Шаг 5: Сделайте бэкап с помощью rsync

Скопируйте данные на внешний диск или в облако:

rsync -av /mnt/mail-disk/var/vmail/ /mnt/backup-drive/mail-backup/

Флаги:

  • -a — архивный режим (сохраняет права, владельца, время)
  • -v — вывод в подробном режиме
  • Слеш в конце пути — копирует содержимое, а не папку целиком

🧹 Шаг 6: Отключите диск

После завершения бэкапа отмонтируйте диск и отключите его:

# На backup-VM
sudo umount /mnt/mail-disk

# На хосте Proxmox
qm set 111 -virtio1 none
Готово! Вы успешно сделали бэкап почты, не повредив оригинальный диск.

🛡️ Почему это безопасно?

  • Диск подключён в режиме read-only на уровне гипервизора
  • Монтирование выполнено с ro,noload — никакой записи
  • Оригинальный сервер не затронут
  • Даже если что-то пойдёт не так — данные на почтовом диске останутся нетронутыми

💡 Советы

  • Используйте qm shutdown 104 вместо qm stop, чтобы избежать "грязных" журналов
  • Для регулярных бэкапов создайте скрипт с автоматическим подключением и rsync
  • Рассмотрите использование borg или rclone для шифрования и дедупликации



Категории:

Категории

Комментарии

Джон Конор 28.08.2025 09:45
идея была не очень )) короч лучше так не делать, либо оригинальный сервер с почтой глушить. Очень опасно подключать один диск к двум виртуалкам. даже в режиме RO.
Джон Конор 28.08.2025 09:47
лучше по сети синхронизировать. нафига я диск стал подключать хз. короч просто расшарьте диск и засинхронить файлы по сети. чуть медленее но в разы безопаснее

Оставить комментарий

← Назад к списку статей

Посетителей сегодня: 0
о блоге | карта блога

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA