Как выполнить резервное копирования и восстановление таблицы разделов на Linux
Как сохранить и восстановить Linux partition table? Резервное копирования необходимо выполнять как для данных так и для таблицы разделов (partition table), это может быть полезно в таких случаях:
- Репликация раздела диска программного RAID Linux в случае сбоя диска.
- Работа с поврежденной таблицей разделов
- Работа с удаленной таблицы разделов из за ошибки, данные могут по-прежнему существовать на диске и могут быть доступны снова с правильной таблицей разделов.
Будьте крайне внимательны при выполнении следующих команд, одна ошибка и все данные могут быть потеряны.
Как просмотреть таблицу разделов (partition table))
1 2 |
# fdisk -l # fdisk -l /dev/sda |
или
1 2 |
# sfdisk -l # sfdisk -l /dev/sda |
Резервная копия с помощью команды sfdisk
1 |
# sfdisk -d /dev/sda > sda.partition.table.12-30-2015.txt |
Как восстановить таблицу разделов?
1 |
# sfdisk /dev/sda < sda.partition.table.12-30-2015.txt # sfdisk /dev/sda < /path/to/usb/pen/sda.partition.table.12-30-2015.txt |
или
1 |
# sfdisk -f /dev/sda < /media/usb/sda.partition.table.12-30-2015.txt |
Как реплицировать таблицу разделов диска с /dev/sda в /dev/sdd с той же геометрией?
Это полезно для обеспечение программного RAID Linux. Скажем, вы заменили /dev/sdd, и вы хотите, восстановить программный RAID массив Linux.
Первый шаг заключается в копировании таблицы разделов с диска на другой диск:
1 |
# sfdisk -d /dev/sda | sfdisk -f /dev/sdd |
Теперь запустите следующее, чтобы убедиться, что оба жесткие диски имеют тот же разделение:
1 2 |
# fdisk -l /dev/sda # fdisk -l /dev/sdd |
Наконец, используйте mdadm для управления и восстановления RAID:
1 2 3 4 5 |
# mdadm --manage /dev/mdX --add /dev/sdd1 # mdadm --manage /dev/mdX --add /dev/sdd2 .... .. # mdadm --manage /dev/mdX --add /dev/sddN |
Используйте следующую команду, чтобы увидеть прогресс синхронизации RAID-массива:
1 |
# watch cat /proc/mdstat |
Примечание о дисках GPT с (GUID Partition Table)
Установим Gdisk на Debian или Ubuntu Linux
1 |
$ sudo apt-get install gdisk |
Для RHEL / CentOS используйте:
1 |
# yum install gdisk |
Fedora Linux используйте команду DNF :
1 |
$ sudo dnf install gdisk |
OpenSUSE Linux используйте команду YaST:
1 |
# yast install gdisk |
Пожалуйста, обратите внимание, что команда sgdisk работает как с Linux и Unix-подобной системе.
Как сохранить /dev/sda GPT partition table в файл?
1 2 |
# sgdisk --backup={/path/to/file} {/dev/device/here} # sgdisk --backup=/root/sda_partition_table_12_30_2015 /dev/sda |
Как восстановить partition table из файла?
1 2 |
# sgdisk --load-backup={/path/to/file} {/dev/device/here} # sgdisk --load-backup=/media/usb/sda_partition_table_12_30_2015 /dev/sda |
Как реплицировать GPT схемы секционирования /dev/sda в /dev/sdd (пересоздание RAID)?
1 2 |
# sgdisk -R {SECOND-DEVICE-NAME-HERE} /dev/sda # sgdisk -R /dev/sdd /dev/sda |
Для рандомизации GUID на /dev/sdd
1 |
# sgdisk -G /dev/sdd |
Наконец, убедитесь, что оба жесткие диски имеют одинаковые схемы разбиения:
1 2 |
# sgdisk -p /dev/sda # sgdisk -p /dev/sdd |
Наконец, используйте mdadm команду, как описано ранее, чтобы восстановить массив RAID на Linux.
Если у Вас проблемы с управлением дисками в Linux системах, обращайтесь [email protected]