*Drive*- Здесь рулят padonki https://drivesource.ru/ |
|
Перенос данные с одного диска на другой https://drivesource.ru/viewtopic.php?f=15&t=729 |
Страница 1 из 1 |
Автор: | The ustas [ 13 окт 2008, 00:04 ] |
Заголовок сообщения: | Перенос данные с одного диска на другой |
Здесь описан реальный опыт по переносу данных на различающиеся диски, используя только консоль и утилиты которые доступны в single mode (без использования CD-ROM). Для примера рассмотрим перенос данных для дисков: Maxtor Diamond Max-10 160Gb – далее будем называть просто Maxtor Western Digital WD1600 160Gb – далее будем называть просто WD Маркировка данных дисков говорит нам что объём дисков одинаков, но это не так. Это связанно с тем что некоторые производители считаю что 1Мб = 100000000 байт, а не 1073741824 байт как принято. Matrox оказался честнее с нами поэтому его диск больше диска Western Digital Итак, исходные данные: 1) Имеется платформа с битым диском Maxtor которая может загрузиться в single mode. (это важно, т.к. если диск настолько битый что с него невозможно загрузиться то перенос системы теряет смысл, в отличии от переноса просто важных данных с него, что намного легче) 2) Имеется новый диск WD (который как мы знаем немного меньше в объёме) Задание: Перенести систему с битого диска Maxtor на новый диск WD Решение: Подключим новый диск и загрузимся в single mode с умирающего диска. Перемонтируемся в rw режим mount -uw / Смотрим как выглядят диски с точки зрения системы ls /dev ... ad4 ad4s1 ad4s1a ad4s1b ad4s1c ad4s1d ad4s1e ad4s1f ad6 ... Видим что ad4 – системный диск Matrox ad6 – новый диск WD (без слайса и разделов) Названия дисков могут отличаться. Для SATA это “ad”, для SCSI это “da” и т.д. Это надо учитывать. Небольшая справка по БСД разметке: ad4 – означает диск на 4 порту контроллера ad4s1 – указывает на 1 слайс диска (всего может быть 4 слайса, слайс можно перевести как «отрезок») ad4s1a – всегда указывает на корневой «/» раздел на слайсе, т.е. буква «а» зарезервирована за корнем. ad4s1b – всегда swap раздел ad4s1c – зарезервированно для описания всего слайса в целом, т.е. контейнер для остальных разделов (требуется когда используестся разбивка без режима совместимости с BIOS, и в MBR сразу прописывается BSD таблица разделов. т.к. слайсов в этом режиме не создаётся то ad4s1c служит контейнером-псевдослайсом) ad4s1d,e,f – обычные разделы /usr /home /var и т.д. Запомним эту инфу, т.к. ошибка будет стоить очень дорого. Создадим один большой слайс на НОВОМ диске WD fdisk -I /dev/ad6 Если нужно создать несолько слайсов (наши хостинговые DS используют всегда 2 слайса) то поступаем так, команда fdisk /dev/ad4 выведет информацию о слайсах диска и их размерах, надо запомнить размер первого слайса. Потом запускаем интерактивный режим разбивки нового диска командой fdisk -i /dev/ad6 и следуем инструкциям. Дальнейшее описание будет на примере работы с одним слайсом, если на диске несколько слайсов то применять это для каждого слайса. После разбивки диска на слайсы продолжим. Сохраним таблицу разделов первого слайса битого диска Maxtor в файл. Для других слайсов поступаем так же, только файл назовите по другому. disklabel ad4s1 > /tmp/lab.txt Открываем файл на редактирование (используем древнейший редактор *NIX систем, потому что vi, edit и прочее барахло не работают в single mode, т.к. используют базу терминалов которая не подмонтирована, мы рассматриваем худший случай т.к. возможно у вас не будет возможности смонтировать нужный раздел из за фатальных поврждений) ed /tmp/lab.txt Просмотрим все строки в буфере редактора и сразу пронумеруем их (Здесь [ETNER] – нажатие клавиши Enter на клавиатуре) 1,$n [ENTER] ............................................................................. 1 # /dev/ad4s1: 2 8 partitions: 3 # size offset fstype [fsize bsize bps/cpg] 4 a: 4194304 0 4.2BSD 2048 16384 28552 5 b: 4194304 4194304 swap 6 c: 156248127 0 unused 0 0 # “raw” part, don't edit 7 d: 4194304 8388608 4.2BSD 2048 16384 28552 8 e: 20971520 12582912 4.2BSD 2048 16384 28552 9 f: 41943040 33554432 4.2BSD 2048 16384 28552 ...................................................................................................... Нам нужно подправить размеры раздела f и c, так как их size превышает size нового диска. (если ещё не понятно почему правим только эти разделы, то надо вернуться в начало и читать до полного усвоения материала) Делается это так: 6c [ENTER] c: * 0 unused [ENTER] . [ENTER] 9c [ENTER] f: * * 4.2BSD [ENTER] . [ENTER] Смотрим результат 1,$n [ENTER] .......................................................................... 1 # /dev/ad0s1: 2 8 partitions: 3 # size offset fstype [fsize bsize bps/cpg] 4 a: 4194304 0 4.2BSD 2048 16384 28552 5 b: 4194304 4194304 swap 6 c: * 0 unused 7 d: 4194304 8388608 4.2BSD 2048 16384 28552 8 e: 20971520 12582912 4.2BSD 2048 16384 28552 9 f: * * 4.2BSD ............................................................................... Сохраняем файл w [ENTER] Выходим q [ENTER] Запишем подправленную таблицу разделов на новый диск WD и установим загрузчик disklabel -R -B /dev/ad6s1 /tmp/lab.txt Смотрим появились ли новые разделы в /dev ls /dev ... ad6 ad6s1 ad6s1a ad6s1b ad6s1c ad6s1d ad6s1e ad6s1f ... Ок, появились, теперь создадим файловые системы на них. newfs -U -O2 -n /dev/ad6s1a newfs -U -O2 -n /dev/ad6s1d newfs -U -O2 -n /dev/ad6s1e newfs -U -O2 -n /dev/ad6s1f Создадим точки монтирования для наших новых разделов mkdir /mnt/a mkdir /mnt/d mkdir /mnt/e mkdir /mnt/f Смонтируем их mount /dev/ad6s1a /mnt/a mount /dev/ad6s1d /mnt/d mount /dev/ad6s1e /mnt/e mount /dev/ad6s1f /mnt/f Перенесём данные cd /mnt/a dump -0f – /dev/ad4s1a | restore -rf - cd /mnt/d dump -0f – /dev/ad4s1d | restore -rf - cd /mnt/e dump -0f – /dev/ad4s1e | restore -rf - cd /mnt/f dump -0f – /dev/ad4s1f | restore -rf - Это всё, выключаем, меняем диск, грузимся и лечим ФС, т.к. переносили мы заведомо битые данные. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |