Процедури резервного копіювання та відновлення
Залізо, що використовується.
| обладнання | характеристика |
| CPU | DualCore Intel Celeron G540; 2500 MHz (25 x 100) |
| MB | Asus P8H61-M LX (3 PCI-E x1; 1 PCI-E x16; 2 DDR3 DIMM; Audio; Video; Gigabit LAN) (Intel Cougar Point H61; Intel Sandy Bridge) |
| VIDEO | Intel(R) HD Graphics 2500 |
| RAM | 2G (DDR3-1333 DDR3 SDRAM Kingston 9905474-012.A00LF) |
| HDD | WDC WD5000AAKX-001CA0 (500 Гб; SATA II) |
| LAN | Realtek PCIe GBE Family Controller (Onboard) (Realtek RTL8111E chip) |
Підготовка завантажувального носія.
Для встановлення системи та відновлення використовувалася флешка (насправді картридер і карта microSD). На Windows XP робимо завантажувальну флешку із img образу FreeBSD-9.1-RELEASE-amd64-memstick.img за допомогою dd for windows. Вставляємо флешку в комп'ютер, визначаємо диск із флешкою командою:
У мене це був диск 2:
| . \\?\Device\Harddisk2\Partition0 link to \\?\Device\Harddisk2\DR74 Removable media other than floppy. Block size = 512 size is 15808331776 bytes . |
Виконуємо, відповідно, команду створення флешки, вказавши потрібний диск:
Звичайно, все це можна зробити тієї ж dd з-під будь-якої системи. Звичайно, можна піти класичним шляхом, затягнувши ISO образ і закатавши його на DVD (або навіть CD) матрицю і використовувати цей диск при установці та/або відновленні системи.
Процедура резервного копіювання.
Створюємо на резервованій системі каталог, наприклад "\usr\home\teg\CONFIG\BACKUP\" і в ньому файли "backup_restore_910.txt" (з цим посібником з відновлення)і файл скрипта "backup.sh".
Процедура тестового відновлення.
2 Виконуємо бакап системи. Отримуємо файли:
3 Гасимо комп'ютер, що відновлюється:
4 Беремо інший комп'ютер, який підтримує 64 бітові інструкції (amd64). У мене була машина у наступній конфігурації:
| обладнання | характеристика |
| CPU | DualCore Intel Pentium E2180; 2017 MHz (10 x 202) |
| MB | MSI 945GCM7 (MS-7507) (2 PCI; 1 PCI-E x1; 1 PCI-E x16; 2 DDR2 DIMM; Audio; Videol; LAN) (Intel Lakeport-G i945GC) |
| VIDEO | Intel(R) 82945G Express Chipset Family (128 Мб) Intel GMA 950 |
| RAM | 1G (2x512 Мб DDR2-667 DDR2 SDRAM) |
| HDD | ST330013A (30 Гб; 7200 RPM; Ultra-ATA/100) |
| LAN | Realtek RTL8168C(P)/8111C(P) PCI-E Gigabit Ethernet NIC |
Невеликий ліричний відступ або як уникнути пасток.Конфігурація оригінального комп'ютера, на якому я розгортав систему, описана вище, в розділі "Залізо". Під час встановлення системи мережевий контролер з чіпом "Realtek RTL8111E" не коректно працював, хоч і ідентифікувався системою. Допомогла заміна драйвера на "рідну" від Realtek для Freebsd. На сайті Realtek, точніше HOME > Downloads > Communications Network ICs > Network Interface Controllers > 10/100/1000M Gigabit Ethernet > PCI Express > Software забрав архів для "FreeBSD 7.x and 8.0 1.81 2012/11/16 56k". Установку провів відповідно до рекомендацій файлу "rtl_bsd_drv\Readme.txt" з цього архіву за "Методом 2" з наступним переходом до "Методу 1". Після заміни драйвера мережа запрацювала. Мені потрібні були два різнімережевий інтерфейс в системі. Мережевих карток різних у мене є в запасі, але жодної для шини PCI-E, а інших інтерфейсів у бюджетній материнській платі "Asus P8H61-M LX" не передбачено. Тому я прикупив мережеву картку з шиною PCI-E "TP-Link TG-3468" на чіпі "Realtek RTL8168E". Вона виявилася в системі як пристрій re і була підхоплена та коректно працювала, і лише завдяки оновленому драйверу. Тепер уявіть ситуацію, на оригінальному комп'ютері "помер" HDD. Беремо інший HDD, підключаємо в той самий комп'ютер, і якщо виконувати відновлення через мережу, то, природно, нічого не вийде. Тому що вантажимося ми з флешки, а там драйвер від Freebsd, він не зрозуміє ні першу ні другу мережеву. Тому - або вручну підміняти драйвер (чесно кажучи я поки не зайняти як це коректно зробити), або відновлюватися не по мережі а з флешки або іншого носія (HDD). Відповідно, необхідно внести зміни до скрипту "bsdrestor.sh". Ще як варіант, знайти зовнішню мережеву картку PCI-E, яка підтримується "голою" системою Freebsd з флешки.
5 Завантажуємося з флешки. Заходимо в "Shell", дивимося, чи на новому гвинті розділи:
Якщо є, то всі розділи видаляємо, наприклад, на ada0:
Якщо диск раніше використовувався, то, як пишуть, є сенс затерти кілька перших мегабайт диска, наприклад:
6 Підготовляємо скрипт формування файлової системи після бакапа на іншому комп'ютері. Можна зробити і на відновлюваному. Готовий варіант скрипта у файлі bsdrestor.sh. Цей файл необхідно відредагувати на початку в частині змінних. Фактично це адаптація скрипта розмітки диска під ZFS та встановлення системи. Цей скрипт обрізаний до рядка
Замість групи команд "zfs create . " введені команди налаштування мережі та відновлення пулу з архіву.Розширені можливості налаштування на початку в заголовку. Найбільш важливі: Ім'я пристрою:
Рядок дати та часу резервної копії, необхідний для визначення імен файлів для відновлення:
Ім'я мережного інтерфейсу:
7 Дивимося список пристроїв:
Вставляємо другу флешку, зі скриптом, у комп'ютер, що відновлюється. За повідомленнями на консолі визначаємо пристрій флешки, уточнюємо розділ пристрою для монтування:
Монтуємо розділ флешки, наприклад:
У мене друга флешка була розмічена в NTFS, а не FAT, тому замість "mount_msdosfs" я писав "mount_ntfs". У вас може бути не "/dev/da1s1", а, наприклад, "/dev/da0s1", якщо ви вантажитеся не з флешки, а з DVD/CD. Або інше ім'я пристрою. Копіюємо файл скрипту в "/tmp":
Обов'язково змонтуємо флешку, т.к. скрипт використовує точку монтування "/mnt":
Бачимо - залишився цей снапшот "[email protected]_1735", з якого ми робили бакап. Видаляємо його через непотрібність:
Для перевірки цілісності системи я ще виконав команду
і через якийсь час у відповідь на команду
отримав "хорошу" відповідь:
Вважатимемо завдання виконаним.
Закінчення чи історія хвороби.
nero777, 2013-03-31 о 18:52:37
Велике дякую. Перше враження - все імхо доступне. З сьогоднішнього дня запрацювали порти 9.1-Release. Так що статтю я вчасно виявив. На ноуті поставив 9.1-Release zfs Gnome2-i386. Бекап зробив улюбленим tar. Спробую тепер за Вашою статтею. tnx again 73!