JavaRush /Курсы /Docker SELF /Форматирование дисков, монтирование, резервное копировани...

Форматирование дисков, монтирование, резервное копирование с `rsync`

Docker SELF
6 уровень , 6 лекция
Открыта

1. Шаг 1: Форматирование нового диска

Добро пожаловать в практическую часть нашего путешествия по файловым системам! Сегодня мы объединяем всё, что изучили в предыдущих лекциях о форматировании, монтировании и резервном копировании. А еще, если вы когда-нибудь случайно отформатируете флешку с документами своего начальника, вы точно будете знать, как это исправить. Ну или хотя бы будете готовы к переквалификации в другую профессию.

Сценарий

Представьте, что вы добавили в свой компьютер новый диск, который пока еще пустоват и никак не подготовлен для работы в вашей системе. Мы с вами займемся его форматированием.

Порядок действий:

1.1 Проверяем подключённые устройства

Сначала нужно понять, где наш новый диск. Используем команду lsblk:

lsblk

Если всё подключено правильно, вы увидите что-то вроде:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0   50G  0 part /
├─sda2   8:2    0   50G  0 part /home
sdb      8:16   0  500G  0 disk

Здесь sdb — это наш новый диск. Он пока не имеет разделов.

1.2 Создаём файловую систему на диске

Считаем, что вам подошла файловая система ext4. Для её создания используем mkfs:

sudo mkfs.ext4 /dev/sdb

После выполнения команды система будет готова работать с нашим диском. Помните, что форматирование уничтожает все данные на устройстве. Так что, если в этот момент вы завинтили диск начальника и форматируете его — остановитесь. Быстро.


2. Шаг 2: Монтирование нового диска

Теперь давайте подключим свежесформатированный диск к файловой системе.

2.1 Создаём точку монтирования

Нам нужно место, куда диск будет подключён. Обычно это папка. Например, создадим папку в /mnt:

sudo mkdir /mnt/newdisk

2.2 Монтируем диск

Подключим диск к системе:

sudo mount /dev/sdb /mnt/newdisk

Чтобы проверить, что всё работает, используем команду df:

df -h

Вы должны увидеть в списке /mnt/newdisk и ваш диск.

2.3 Настраиваем автоматическое монтирование

Чтобы каждый раз не прописывать диск вручную, добавим его в файл /etc/fstab. Для этого узнаем UUID устройства с помощью blkid:

sudo blkid /dev/sdb

В выводе будет что-то вроде:

/dev/sdb: UUID="abcd-1234-efgh-5678" TYPE="ext4"

Добавим эту строку в /etc/fstab:

UUID=abcd-1234-efgh-5678 /mnt/newdisk ext4 defaults 0 2

Теперь диск будет монтироваться автоматически при каждом запуске системы.


3. Шаг 3: Архивация данных

Предположим, на вашем диске есть папка /mnt/newdisk/data, которую вы хотите заархивировать и сжать перед резервным копированием.

3.1 Создание архива с помощью tar

Создадим архив папки data:

tar -cvf data_backup.tar /mnt/newdisk/data

3.2 Сжатие архива с помощью gzip

Сжимаем созданный архив:

gzip data_backup.tar

Теперь у вас есть файл data_backup.tar.gz. Он меньше и удобнее для переноса.


4. Шаг 4: Резервное копирование с использованием rsync

Мы готовы к резервному копированию. Используем rsync для переноса данных на другой сервер или место на диске.

4.1 Локальное копирование

Если вы хотите создать резервную копию папки data в другую директорию, выполните:

rsync -av /mnt/newdisk/data /mnt/backup/

Ключи:

  • -a активирует режим архивирования, сохраняя права доступа и структуру файлов.
  • -v включает подробный вывод.

4.2 Копирование на удалённый сервер

Если нужно перенести данные на сервер, используйте:

rsync -av /mnt/newdisk/data username@remote_server:/backup/

Не забудьте заменить username на имя пользователя на сервере и remote_server на адрес сервера.


5. Шаг 5: Простое резервное копирование с использованием scp

Иногда проще всего использовать scp. Например, если мы хотим прямо передать наш архив на сервер:

scp data_backup.tar.gz username@remote_server:/backup/

Это скопирует файл data_backup.tar.gz на удалённый сервер в папку /backup.


6. Шаг 6: Проверяем работоспособность всего процесса

Вот краткий сценарий-план, который мы реализовали:

  1. Мы создали файловую систему на новом диске.
  2. Замонтировали диск и настроили его автоматическое монтирование.
  3. Заархивировали и сжали данные из папки.
  4. Создали их резервную копию с использованием rsync и scp.

Теперь проверьте, доступны ли ваши скопированные данные. Попробуйте разархивировать data_backup.tar.gz на целевом сервере:

gunzip data_backup.tar.gz
tar -xvf data_backup.tar

Ваши данные снова здесь, живые и невредимые. Можете выдохнуть.


7. Особенности и возможные ошибки

  • Если вы видите сообщение вроде device or resource busy при размонтировании, убедитесь, что устройство не используется процессом. Для этого используйте fuser:

    fuser -m /mnt/newdisk
    
  • Если вы ошибочно настроили /etc/fstab, система может не загрузиться. Используйте режим восстановления или предварительно протестируйте изменения:

    sudo mount -a
    
  • При резервном копировании с использованием rsync не забудьте о ключе --delete, если хотите синхронизировать каталоги, удаляя лишние данные на целевой стороне.

Теперь вы вооружены знаниями, чтобы уверенно управлять дисками, монтировать их и обеспечивать безопасность данных через резервное копирование. А самое главное — вы сможете с важным видом объяснить, почему у вас на столе новый жесткий диск и зачем вы его форматируете. 😉

1
Задача
Docker SELF, 6 уровень, 6 лекция
Недоступна
Определение списка дисков и их разделов
Определение списка дисков и их разделов
1
Задача
Docker SELF, 6 уровень, 6 лекция
Недоступна
Создание файловой системы
Создание файловой системы
1
Задача
Docker SELF, 6 уровень, 6 лекция
Недоступна
Монтирование нового диска
Монтирование нового диска
1
Задача
Docker SELF, 6 уровень, 6 лекция
Недоступна
Резервное копирование данных с использованием `rsync`
Резервное копирование данных с использованием `rsync`
1
Опрос
Работа с устройствами в Linux, 6 уровень, 6 лекция
Недоступен
Работа с устройствами в Linux
Работа с устройствами в Linux
Комментарии (1)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Slevin Уровень 1
29 сентября 2025
Тест: Вопрос: Какая из команд предназначена для безопасного копирования файлов между компьютерами через SSH? -- Вообще-то rsync сработает точно также как и scp который тест ожидает услышать в ответ. --- На удивление, отличный уровень, на 7 лекций никаких раковых опухолей, да и валидатор ± вменяемый сегодня был...